서지주요정보
Architectural techniques to reduce DRAM latency = DRAM 레이턴시를 줄이기 위한 아키텍처 연구
서명 / 저자 Architectural techniques to reduce DRAM latency = DRAM 레이턴시를 줄이기 위한 아키텍처 연구 / Wongyu Shin.
발행사항 [대전 : 한국과학기술원, 2017].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8034380

소장위치/청구기호

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

DEE 17086

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

For decades, the growing speed gap between processors and main memories has given rise to inefficiency in computing systems. In order to prevent the performance loss caused by the inefficiency, many architectural techniques such as cache, out-of-order, and prefetch have been employed. These techniques have played a role for a long time. However, with the advent of multi-core era, the effectiveness of the technologies have decreased, making multi-core systems undergo serious inefficiency in terms of memory accesses. This is because co-running programs in a processor can break memory-access locality which is a fundamental rationale of the traditional technologies. For this reason, main memory systems themselves became crucial to multi-core computations. The inefficiency caused by main memory systems cannot be covered by other techniques anymore. Hence, we decided to focus on improving main memory systems, which is the subject of this dissertation. A main memory system consists of memory controllers and DRAMs. A processor sends memory requests to memory controllers, and then an appropriate command sequence is created by the memory controllers. The generated commands are issued to DRAMs sequentially, and the DRAMs operate according to the commands, finally to transfer the requested data to the processor. Usually, the performance of main memory systems depends on the command sequence and the data transfer rate. In other words, main memory systems have been developed by improving the command scheduling method and the interface bandwidth. However, the effectiveness of these conventional methodologies have declined because of the long DRAM access latency. Ideally, DRAM latency can be hidden by command scheduling, but in reality it is impossible to hide all DRAM latencies due to program's diversity and system's complexity. If schedulers fail to hide DRAM access latency, the effective bandwidth decreases, resulting in performance degradation. However, for 20 years, DRAM latency has been decreased only by 20\% while bandwidth has been grown by 20 times, which implies that DRAM latency has been more and more critical as time goes on. In fact, current main memory systems severely suffer from the long DRAM latency. The tardy progress concerning DRAM latency is mainly due to DRAM manufacturing cost. To reduce DRAM latency, the manufacturing cost must escalate.That is, the cost burden makes DRAM vendors hesitate to provide low latency. That's why we set our goal as building a new main memory system which has a low-latency but not incurring cost-impact on DRAM implementation. In general, there are two approaches to relieve the impact of the long DRAM latency: 1) reducing DRAM latency itself and 2) increasing DRAM access parallelism. For each approach, we figured out several ideas, which are briefly explained below. 1) Reducing DRAM latency itself. DRAM latency is determined by the speed of a DRAM-internal circuitry. The core of the circuitry is sense-amplifiers, the role of which is to distinguish between '0' and '1'. Specifically, a sense-amplifier is able to sense the charge stored in a cell. We observed that the sensing speed depends on the amount of charge stored in the cell, and the amount of charge changes periodically with refreshes. As a result, the sensing speed varies periodically according to the refresh timing. We exploit this observation to design a non-uniform access time memory controller (NUAT). 2) Increasing DRAM access parallelism. DRAM is hierarchically organized: Channel - Rank - BankGroup - Bank. A channel is connected to multiple ranks, and each rank has multiple bank-groups, and each bank-group has multiple banks. This hierarchical structure facilitates creating parallelism in DRAM. However, the current DRAM architecture only supports bank-level parallelism. We leverage the other hierarchies to create new parallelisms in DRAM. Particularly, we propose bank-group level parallelism (BGLP) and rank-level parallelism (RLP). To sum up, we exploit already implemented circuits and structures in DRAM. For this reason, the proposed architectural techniques are cost-effective and dovetails with the existing implementation skills, which is a great advantage when it comes to DRAM. In this dissertation, we also exhibit the quantitative benefit of our proposals through cycle-accurate system simulations to prove architectural usefulness. In addition, many analyses will follow so that we argue that the proposed work also has a merit in terms of other factors like energy and compatibility.

프로세서는 필요한 데이터를 메인 메모리에서 연산기로 들고와서 작업을 진행 하고, 작업이 끝나면 다시 메인 메모리에 결과를 저장해 놓는 방식으로 연산을 진행해 나간다. 따라서, 메인 메모리의 데이터 전송 속도가 프로세서의 연산속도를 따라가지 못한다면 프로세서의 대기 시간이 길어지게 되고 프로세서의 효율성은 떨어지게 된다. 실제로 지난 수 십년간 프로세서와 메인 메모리간의 속도차이는 점점 커져 왔고, 이를 극복하기 위해 프로세서는 캐시, 비순차연산, 프리패치 등 다양한 아키텍처 기술들을 적용해 왔다. 하지만, 멀티코어 프로세서가 컴퓨팅환경에 주류를 이루게 되면서 싱글코어 기반에서 고안되었던 기존 방법들의 효율성이 떨어지게 되었다. 결과적으로, 메인 메모리 속도가 컴퓨팅 전반의 성능을 결정하는 경우가 늘어나고, 그에 따라 메인 메모리의 중요성이 더욱 부각되고 있다. 메인 메모리 시스템은 크게 DRAM과 메모리 컨트롤러로 구성된다. 프로세서가 필요한 데이터를 메모리 컨트롤러에 요청하면 메모리 컨트롤러는 DRAM 명령어 조합을 생성한다. DRAM은 메모리 컨트롤러가 보내온 명령어에 따라 정해진 동작을 하며, 최종적으로 해당 데이터를 프로세서로 전송해 준다. 지금까지 메인 메모리 성능은 효율적인 DRAM 명령어 조합을 생성하고 (스케쥴링), DRAM 데이터 전송 속도 (대역폭)를 높이면서 발전해 왔다. 하지만, 이러한 기존의 방법은 한계를 보이고 있는 상황이다. 현대 메인 메모리 시스템의 성능을 하락시키는 주된 원인은 DRAM 레이턴시이다. 이상적으로는 명령어 조합을 통해 DRAM 레이턴시를 완전히 감출 수 있지만, 프로그램의 다양성과 시스템의 복잡도 때문에 현실적으로는 불가능 하다. DRAM 레이턴시가 감춰지지 않는다면 DRAM이 제공하는 높은 전송 속도도 의미가 줄어들게 된다. 그런데, 지난 20년간 DRAM 전송 속도는 20배 이상 증가한데 반해 DRAM 레이턴시는 20\%정도 개선되는데 그쳤다. DRAM 레이턴시를 줄이기 위해서는 DRAM 제조 비용이 과도하게 증가해야 하기 때문이다. 따라서, 본 논문에서는 DRAM 제조 비용의 증가를 최소화 하며 DRAM 레이턴시를 줄이고자 한다. 또한, 기존의 방법이 아닌 아키텍처 관점에서 메모리 컨트롤러와 DRAM을 개선 시킬 수 있는 방법을 찾아 메인 메모리 발전에 새로운 방법론을 도입해 보고자 한다. DRAM 레이턴시의 영향을 줄이기 위한 방법은 크게 두가지로 나눌 수 있다. 첫 번째는 레이턴시 자체를 줄이는 방법이고, 두 번째는 병렬화를 향상시켜 레이턴시를 감추는 방법이다. 본 논문에서는 두 가지 방법 모두를 채택하고 있다. 레이턴시를 줄이는 방법은 DRAM 회로 특성을 활용한다. DRAM 레이턴시를 결정하는 요소는 결국 DRAM 내부 회로와 관련 된다. DRAM 내부 회로의 핵심은 DRAM 셀이 갖고 있는 전하를 감지하여 '0'과 '1'을 구분 할 수 있게 해주는 센스 엠프이며, 센스 엠프의 속도는 셀 내부 전하량에 따라 달라진다. 그리고, 셀 내부의 전하량은 리프레시 타이밍을 기준으로 주기적으로 변한다. 결과적으로, 센스 엠프의 속도는 리프레시 타이밍을 기준으로 변하게 된다. 메모리 컨트롤러는 해당 특성을 이용하여 최적화된 레이턴시로 DRAM에 접근 할 수 있다. 즉, 시간에 따른 비균등 DRAM 접근이 가능해 지게 되고, 평균적으로 DRAM 레이턴시를 줄일 수 있다. 병렬화를 향상시키는 방법은 DRAM에 존재하는 계층 구조를 활용한다. DRAM은 채널, 랭크, 뱅크그룹, 뱅크 순서의 계층적 구조를 갖고 있다. 하지만, 현재 DRAM 아키텍처는 오로지 뱅크 수준의 병렬화만을 지원하고 있다. 본 논문에서는 랭크, 뱅크그룹 계층에서도 병렬성을 지원하는 DRAM 아키텍처를 제안한다. 추가적인 병렬성을 활용하여 메모리 컨트롤러는 DRAM 레이턴시를 더욱더 효과적으로 가릴 수 있다. 정리하면, 본 학위논문에서는 DRAM이 갖고 있는 회로적 현상 및 구조를 활용하여 DRAM 레이턴시를 줄이고 감출 수 있음을 보이고자 한다. 아키텍처관점에서 활용 가능한 기술들을 제안하는 것을 기본 전제로 두었고, 따라서 어떻게 활용 할 수 있는지도 함께 보이고자 한다. 시스템 시뮬레이션을 통해 궁극적으로 컴퓨팅 시스템이 갖게 되는 이득을 정량적으로 보이고, 다양한 환경의 시뮬레이션 결과를 분석하여 의미있는 아키텍처적 결론을 도출한다. 뿐만 아니라, 제조비용, 에너지, 확장성 측면에서도 어떤 장점을 가지게 되는지도 기술 한다.

서지기타정보

서지기타정보
청구기호 {DEE 17086
형태사항 viii, 117 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 신원규
지도교수의 영문표기 : Lee-Sup Kim
지도교수의 한글표기 : 김이섭
학위논문 학위논문(박사) - 한국과학기술원 : 전기및전자공학부,
서지주기 References : p. 104-112
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서