서지주요정보
Energy-Efficient DRAM System Design via Memory Traffic Reshaping and Partial Data Writes = 메모리 트래픽 조정 및 부분 데이터 쓰기를 통한 에너지 효율적인 DRAM 시스템 설계에 관한 연구
서명 / 저자 Energy-Efficient DRAM System Design via Memory Traffic Reshaping and Partial Data Writes = 메모리 트래픽 조정 및 부분 데이터 쓰기를 통한 에너지 효율적인 DRAM 시스템 설계에 관한 연구 / Yebin Lee.
발행사항 [대전 : 한국과학기술원, 2017].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8031120

소장위치/청구기호

학술문화관(문화관) 보존서고

DCS 17013

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Performance of modern computing systems have been dramatically improved in the past four decades due to the continued scaling of CMOS process technology. With the generalization of multi-core processors, multi-threaded and multi-programmed workloads have become prevalent in today's computing systems. Following this trend, memory traffic has become heavier and more random, which necessitates faster and larger memory for the improvement of system performance and throughput. Owing to the continuous growing demand for high-speed and large-capacity memory in modern computing systems, DRAM accounts for a major portion of entire power and energy consumptions of computing systems. Recent studies demonstrate that the memory system accounts for 25%~57% of the total power consumption of a system. Therefore, reducing DRAM power and energy consumptions have big potential for improving the power and energy efficiencies of the computing systems. This dissertation proposes the effective techniques to reduce the power and energy consumptions of DRAM systems such as embedded systems and servers, where the power and energy efficiencies are critical and primary concern. The power consumption of DRAM system can be classified into several consuming factors such as row activation (with bank precharge), I/O (read and write), refresh, and background (idle). Among them, this dissertation focuses on reducing row activation, background, and I/O power consumptions which are major contributors to DRAM power consumption. The first proposal of this dissertation, called CLAP (clustered look-ahead prefetching), targets row activation and background power/energy saving by exploiting stride-based memory access patterns which can be commonly observable in the programs. Because stride memory accesses originate mainly from array references in looping structures of a program code, such stride-based memory accesses exhibit stable patterns and access timing. Thus, future memory accesses that have strides can be accurately predicted. Clustering future memory accesses with on-demand memory accesses can significantly increase the probability of row buffer hits and idle periods of DRAM. Therefore, a large number of row activations and a significant amount of idle energy consumption can be reduced. The second proposal, called RAMS (rank-aware memory scheduling), utilizes the cache block replacement policy of the last-level cache (LLC) and the memory request scheduling of the memory controller with the awareness of the DRAM rank states for reducing idle and power state transition energy consumptions. RAMS utilizing the LLC reduces the write requests to DRAM and thus the number of state transitions to/from low-power states by selecting victim cache blocks upon cache misses through the use of clean cache block first replacement and DRAM rank-aware cache block replacement policies. RAMS utilizing the memory controller increases rank idling and decreases the number of state transitions by deferring the write requests and batch-writing the postponed write requests by considering rank power states. Thus, DRAM write traffic and rank state transitions are noticeably reduced and DRAM can reside in low-power states for a longer period of time. The third proposal, called skinflint DRAM system (SDS), minimizes write accesses at DRAM chip level by exploiting interesting phenomena of memory accesses such as silent stores and narrow width value characteristics. DRAM system is inherently partitioned into chips which are accessed simultaneously in the conventional DRAM system. However, DRAM chips do not need to be accessed when data heading to them are the same as those data stored in them. Preventing chips from being accessed can reduce row activations and lengthen idle period. In this scheme, DRAM chips can be accessed selectively by re-architecting the conventional DRAM system while it inherits advantages of the conventional DRAM organization. The last proposal, called partial row activation (PRA), dynamically adjusts row activation granularity ranging from a one-eighth row to a full row and transfers only a part of cache line data that must be written to DRAM rather than transferring a full cache line data. PRA exploits the inherent fine-grained structures of DRAM (i.e., MATs) and makes them activated or deactivated on a row activation request without sacrificing the bandwidth of DRAM through the asymmetric row activation mechanism for read and write accesses. Thus, large amount of row activation and I/O power consumptions which are major contributors to DRAM power consumption can be reduced.

현재 컴퓨팅 시스템의 성능은 지난 40년동안 미세 공정 기술의 지속적인 발전으로 인해 비약적으로 향상되어왔다. 또한, 복수개의 코어를 가지는 멀티코어 프로세서의 등장으로 인해 멀티스레드 작업, 여러 프로그램을 동시에 실행시키는 작업이 보편화되었다. 이러한 흐름은 많은 양의 메모리 트래픽과 메모리 접근의 무작위화 (randomization)를 초래하고 있으며 이를 극복하고 시스템 성능과 처리량을 향상시키기 위해 보다 빠르고 더 큰 용량의 메모리를 요하고 있다. 최근 연구에 따르면 메모리 시스템은 전체 시스템 전력과 에너지 소비의 약 25%~57%를 차지한다고 밝혀졌다. 따라서 DRAM 전력과 에너지 소비를 줄이는 것은 전체 시스템 전력과 에너지소비를 줄이는데 큰 영향을 줄 수 있고 매우 효과적임을 알 수 있다. 본 학위논문에서는 에너지 효율이 매우 중요한 임베디드 시스템, 서버와 같은 컴퓨팅 시스템에서의 DRAM 에너지 소비를 효과적으로 감소시킬 수 있는 기법들을 제안한다. DRAM 전력 소비는 크게 row activation, I/O (읽기와 쓰기), refresh, 그리고 background (유휴) 전력소비로 나눌 수 있다. 이중 본 학위논문에서는 DRAM 전력소비의 상당부분을 차지하는 row activation과 background 전력소비를 줄이는데 초점을 맞추고 있다. 첫 번째로는, 프로그램에서 흔히 일어나는 특정 간격 (stride)을 가지는 메모리 접근 패턴을 이용하여 미래에 일어날 메모리 접근들을 예측하고 이들을 응집 (clustering) 시킴으로써 DRAM의 row activation과 background 전력 및 에너지 소비를 줄이는 기법을 논의한다. 특정 간격을 가지는 메모리 접근들은 프로그램 코드내의 반복 문 (loop)과 배열 참조 (array reference)에 의해 대부분 발생하기 때문에 메모리 접근 타이밍과 주소 간격에 있어 안정적인 패턴을 보인다. 따라서 이러한 메모리 접근들은 높은 정확도로 미리 예측이 가능하다. 미래에 발생할 메모리 접근들을 즉시 요구되는 메모리 접근들과 응집하여 처리하면 DRAM의 row buffer hit와 유휴시간을 늘릴 수 있게 된다. 이로 인해 많은 횟수의 row activation 동작과 이에 따른 에너지 소비를 그리고 유휴 에너지 소비를 줄일 수 있다. 두 번째로는, 캐쉬 메모리 (LLC)의 캐쉬 블록 교체 정책 (cache block replacement policy)과 메모리 컨트롤러의 메모리 요청 스케쥴링 (memory request scheduling)을 DRAM의 rank 상태를 참조하도록 하여 DRAM의 유휴 에너지 소비와 전력 상태 전이 (power state transition)에 따른 에너지 소비를 줄이는 방법을 논의한다. 본 기법에서 제안하는 캐쉬 블록 교체 정책은 캐쉬 블록 교체 발생시 클린 블록 (clean block)을 최우선으로 교체하고 클린 블록이 없다면 DRAM rank 상태를 참조하여 가장 적은 에너지 소비가 일어나는 캐쉬 블록을 선택하여 교체한다. 또한 본 기법에서 제안하는 메모리 컨트롤러의 기법에서는 메모리 쓰기 요청들을 지연시키고 DRAM rank 상태에 따라 일괄 쓰기 (batch-writing)를 수행함으로써 rank 유휴 시간을 증대시키고 전력 상태 전이를 줄인다. 따라서, 많은 양의 DRAM 쓰기 트래픽과 rank의 전력 상태 전이를 줄일 수 있어 DRAM이 보다 오랜 시간 동안 저전력 상태에 있을 수 있도록 한다. 세 번째로는, 메모리 접근에서 흔히 발생하는 현상인 silent stores와 narrow width value 특성을 이용하여 DRAM 칩 (chip)수준에서의 메모리 쓰기 접근을 최소화하는 기법을 논의한다. 본질적으로 DRAM 시스템의 구성은 chip 단위로 이루어져 있다. 하지만 기존의 DRAM 시스템에서는 메모리 접근 시 온전한 데이터를 읽고 쓰기 위해 rank 내의 모든 칩을 사용해야 한다. 본 기법에서는 기존의 DRAM 시스템을 재구성하여 rank 내의 각 칩을 선택적으로 사용 가능토록 지원하고 메모리 쓰기 시 반드시 쓰기가 필요한 칩만 활성화하여 사용함으로써 비활성화된 칩들의 row activation을 줄이고 유휴시간을 늘린다. 이를 통해 많은 양의 DRAM row activation 에너지와 유휴 에너지 소비를 줄일 수 있다. 마지막으로는, row activation을 full row에서부터 1/8 row까지 조절 가능한 DRAM 아키텍처와 cache line내의 data에서 반드시 DRAM에 저장되어야 하는 부분만을 저장하도록 하여 row activation과 write I/O 전력 및 에너지 소비를 줄이는 기법을 논의한다. 본 기법은 fine-grained한 DRAM의 본질적인 구조 (MATs)를 활용하여 row activation시 필요한 MAT들만 활성화 혹은 비활성화 시키고 cache hierarchy에서 word 수준의 data 수정이 일어나는 것을 추적하여 DRAM 쓰기 발생시 쓰기가 필요한 부분의 data만 부분적으로 활성화된 row에 저장되도록 한다. 또한 read시에는 full row를 활성화하고 write시에는 row를 부분적으로 활성화하는 방법을 통해 DRAM 대역폭 감소를 방지한다. 이를 통해 시스템 성능저하를 최소화함과 동시에 많은 양의 row activation과 write I/O 전력 및 에너지 소비를 줄일 수 있다.

서지기타정보

서지기타정보
청구기호 {DCS 17013
형태사항 vii, 95 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 이예빈
지도교수의 영문표기 : Soontae Kim
지도교수의 한글표기 : 김순태
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 84-93
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서