본문 바로가기

Paper Reading

(23)
[HPCA '23] Y. Kim, NOMAD: Enabling Non-blocking OS-managedDRAM Cache via Tag-Data Decoupling 1 Introduction On-package DRAM을 캐시로 사용하는데, 이것을 구현하는 방식에는 HW-based, OS-managed의 두 가지 방식이 있다. HW-based는 non-blocking cache로 동작할 수 있기 때문에 여러 개의 miss handling을 동시에 처리할 수 있다는 장점이 있으나, metadata를 추가적으로 접근해야 한다는 한계점이 있다. OS-managed는 address translation mechanism을 활용해 tag를 저장하여 metadata overhead가 없어지지만, blocking으로 인해 miss 시의 penalty가 높다. 이에, 여기서는 non-blocking으로 동작하는 OS-managed DRAM cache design을 제안한다. 이는..
[HPCA '20] T.J. Ham, A^ 3: Accelerating attention mechanisms in neural networks with approximation 이번 포스팅에서는 transformer 및 attention 가속과 관련된 유명한 논문인 A3를 정리 및 리뷰해본다. 1. Introduction Brief Background CNN, RNN을 지원하는 FPGA/ASIC-based accelerator는 많은 선행 연구가 있어 왔지만, attention mechanism을 사용하는 neural network에 대해서는 HW 가속기 지원이 충분하지 않다. (물론 지금은 많지만, A3 논문은 2020년에 발표되었다) Attention mechanism은 content-based similarity search를 통해, 현재 processing 중인 정보와 연관이 많은 것이 무엇인지를 결정한다. 이러한 특성 덕분에 현재 CV, NLP 등 deep learni..
[HPCA '23] J. Stojkovic, Memory-Efficient Hashed Page Tables 1 Introduction 현재 널리 사용되는 radix-tree page table은 메모리를 효율적으로 사용하고 caching 구조에 최적화되어 있지만, scalability가 떨어진다는 한계점이 있다. Tree 계층 구조를 따라 sequential한 메모리 접근을 해야 하므로, memory-level parallelism을 활용할 수 없다. 이에 대한 하나의 대안은 hashed page table (HPT) 이다. VPN을 hashing한 값을 table의 index로 하여 entry를 접근하고, collision이 없는 효율적인 hashing을 사용한다는 전제 하에 이상적으로 1번의 메모리 접근만으로 address translation을 할 수 있다. 그러나 HPT는 크게 4가지의 이유로 인해 그..
[ISCA '23] Y. Qin, FACT: FFN-Attention Co-optimized Transformer Architecture with Eager Correlation Prediction 1. Introduction Transformer 모델은 NLP, 컴퓨터 비전 등 DL의 여러 분야에서 높은 성능을 보이고 있는데, 그 핵심 매커니즘은 attention mechanism이다. 이는 모델이 input 간 문맥의 correlation을 학습하도록 하는 의미를 갖는다. CNN과 같은 이전의 딥 러닝 모델에 비해 정확도가 높은 대신 power과 latency의 cost가 높다. Latency Component & Power Breakdown Transformer 모델은 Figure 1의 (a)와 같이 N개의 block으로 이루어지며, 각 block 내에는 3가지 component로 구성된다. QKV generation, Attention, FFN이 그것이다. Figure 1의 (b)는 powe..
[HPCA '21] (2/2) H. Wang, SpAtten: Efficient Sparse Attention Architecture with Cascade Token and Head Pruning 지난 포스팅에 이어서 이번 포스팅에서는 SpAtten의 알고리즘 및 HW 구현에 관한 detail을 다룬다. 3. Algorithmic Optimizations 3.1 Cascade Token Pruning Human language에는 필수적이지 않은 token들이 여러 개 존재하기 때문에, 이러한 token들을 찾아 제거한다면 보다 효율성을 높일 수 있을 것이다. 각 token들의 중요도의 판단 기준인 importance score는 attention layer를 통과할 때마다 attention probability를 누적해서 더한 것으로 계산된다. Figure 5에서 'fun'에 해당하는 key vector를 보면, probability 값이 높은데, 이것은 다른 token들과의 연관성이 높다는 것..
[ISCA '22] (2/2) S. Shukla, Register File Prefetching 3. Register File Prefetch (RFP) RFP의 목표는 load 명령어의 data를 prefetch 함으로써 L1 캐시 latency를 줄이는 것이다. 예측된 주소를 이용해 prefetch를 하고, load 명령어가 실행되면서 예측된 주소가 실제 load 주소와 일치하는지를 검사한다. 예측이 성공한 경우 dependent 명령어에게 바로 값을 공급하며 캐시 접근을 우회할 수 있다. 예측이 실패했다면 일반적인 OoO pipeline과 같이 동작한다. (1) Timeliness 먼저, 기존 방법에서와 같이 명령어 fetch와 동시에 prefetch를 시작할 수 있다. 그러나, 이 경우 prefetch의 correctness를 보장하기 위해 모든 in-flight store 명령어를 검사해야..
[ISCA '22] (1/2) S. Shukla, Register File Prefetching 1. Introduction 현대의 OoO (Out-of-Order) 프로세서의 성능을 제한하는 주요 요인은 load 명령어의 latency이며, 이를 memory wall이라고도 부른다. 현대의 프로세서는 Figure 1과 같이 multi-level 캐시 계층 구조를 갖고 있다. Latency를 보면 LLC (Last-level cache)에 비해 메인 메모리 DRAM에 접근하는 latency가 훨씬 큰데, 이로 인한 bottleneck을 해결하기 위해 그동안 메인 메모리로부터의 효율적인 prefetching과 캐시 management에 대한 많은 연구들이 이루어져 왔다. Figure 1은 각 캐시 계층의 performance headroom을 나타내는데, 이것은 각 계층 사이의 prefetching이..
[Micro '22] R. Bera, Hermes: Accelerating Long-Latency Load Request via Perceptron-Based Off-Chip Load Prediction 1. Introduction (1) Topic of the paper On-chip 캐시에서 miss가 일어나는 load request는 off-chip의 메인 메모리로 가게 되고, 이것은 고성능 OoO(Out-of-Order) 프로세서의 성능을 제한하는 요소로 작용한다. (2) Current related works and limitations 이것을 해결하기 위한 기존의 시도는 크게 2가지로 분류할 수 있다. 첫째, HW prefetcher를 구현해 메모리 주소 패턴을 학습하도록 하여 코어에서 load request를 요청하기 이전에 미리 메인 메모리로부터 데이터를 가져오는 것이다. 둘째, on-chip 캐시 계층 구조를 확장시킨다. 그러나, 이러한 접근법에는 한계점이 존재한다. 첫째, HW pref..