제 12장: GPU 설계에서의 미래 동향과 새로 등장하는 기술
GPU 아키텍처가 병렬 컴퓨팅 작업 수요 증가에 맞춰 지속적으로 발전함에 따라, 여러 가지 새로운 동향과 기술이 GPU 설계의 미래를 형성할 것으로 예상됩니다. 이 장에서는 이러한 주요 동향, 즉 이기종 컴퓨팅과 가속기, 3D 적층 및 칩렛 기반 설계, AI와 기계 학습을 위한 도메인별 아키텍처, 그리고 GPU 아키텍처와 관련된 연구 문제와 기회들을 살펴보겠습니다.
이기종 컴퓨팅과 가속기
성능과 에너지 효율성을 높이기 위해 다양한 유형의 프로세서 또는 가속기를 결합하는 이기종 컴퓨팅이 최근 들어 점점 더 보편화되고 있습니다. GPU는 이런 동향의 선두에 있어 왔으며, CPU와 함께 사용되어 병렬 작업을 가속화하고 있습니다. 그러나 가속기 분야는 빠르게 확장되고 있으며, 특정 애플리케이션 도메인을 위해 새로운 유형의 특화 하드웨어가 개발되고 있습니다.
주목할 만한 예로 Google의 Tensor Processing Units(TPU)와 같은 AI 가속기를 들 수 있습니다 [Jouppi et al., 2017]. 이러한 가속기는 기계 학습 작업 가속화를 위해 특별히 설계되었으며, 저감된 정밀도 산술 연산, 특화된 메모리 계층 구조, 데이터 흐름 아키텍처 등을 통해 높은 성능과 에너지 효율성을 달성하고 있습니다.
또 다른 새로운 가속기 범주는 그래프 처리 및 분석에 중점을 두고 있습니다. 소셜 네트워크 분석, 추천 시스템, 과학적 시뮬레이션 등에서 나타나는 그래프 처리 작업은 불규칙한 메모리 접근 패턴과 미세한 동기화를 보이므로, 기존 CPU와 GPU 아키텍처에 어려움이 있습니다. Graphicionado [Ham et al., 2016] 및 GraphCore Intelligence Processing Unit(IPU) [GraphCore, 2020] 등의 특화 그래프 처리 가속기는 이러한 문제를 해결하기 위해 효율적인 그래프 처리를 위한 하드웨어 지원을 제공하고 있습니다.이 마크다운 파일의 한국어 번역은 다음과 같습니다. 코드의 경우 코드 자체는 번역하지 않고 주석만 번역했습니다.
효율적인 그래프 탐색, 동기화 및 로드 밸런싱.
가속기의 다양성이 증가함에 따라 이를 통합된 시스템에 통합하는 과제가 더욱 복잡해지고 있습니다. AMD의 이기종 시스템 아키텍처(HSA) [AMD, 2015]와 NVIDIA의 CUDA 통합 메모리 [NVIDIA, 2020]와 같은 이기종 시스템 아키텍처는 다양한 유형의 프로세서와 가속기 간에 통일된 프로그래밍 모델 및 메모리 공간을 제공하는 것을 목표로 합니다. 이러한 아키텍처를 통해 CPU, GPU 및 기타 가속기 간의 seamless 협업이 가능해져 개발자들은 데이터 이동 및 장치 간 동기화의 복잡성에 신경 쓰지 않고 알고리즘 설계에 집중할 수 있습니다.
이 분야의 연구는 이기종 장치 간 효율적인 작업 분할 및 스케줄링, 통합 메모리 관리, 이기종 시스템을 위한 고성능 상호 연결과 같은 주제를 탐구합니다. 가속기 landscape가 계속 진화함에 따라 GPU 설계에도 다른 유형의 특수 하드웨어와의 seamless 통합 요구사항이 반영될 것으로 보입니다.
3D 적층 및 칩릿 기반 설계
3D 적층 및 칩릿 기반 설계는 GPU 아키텍처 혁신을 위한 새로운 기회를 제공하는 emerging 패키징 기술입니다. 이러한 기술을 통해 단일 패키지 내에 여러 개의 다이 또는 레이어를 통합할 수 있어 전통적인 2D 패키징에 비해 더 높은 대역폭, 더 낮은 대기 시간 및 더 효율적인 전력 공급이 가능합니다.
3D 적층, 즉 through-silicon vias(TSVs) 또는 하이브리드 메모리 큐브(HMC) 기술 [Jeddeloh and Keeth, 2012]을 통해 논리 또는 메모리의 여러 레이어를 수직으로 통합할 수 있습니다. 이 기술은 기존 GDDR 메모리에 비해 훨씬 더 높은 메모리 대역폭과 더 낮은 전력 소비를 제공하는 high-bandwidth memory(HBM) [Lee et al., 2014]에 사용되고 있습니다. AMD의 Radeon R9 Fury X와 NVIDIA의 Tesla P100 등의 GPU는 이미 HBM을 채택하여 메모리 집약적 workload의 메모리 대역폭 병목 현상을 해결했습니다.여기는 한국어 번역본입니다. 코드 부분은 번역하지 않고, 코멘트만 번역했습니다.
Chiplet 기반 설계는 실리콘 중간층(interposer) 또는 내장형 다중 IC 상호 연결 브리지(EMIB) 등의 고밀도 상호 연결을 사용하여 단일 패키지 내에 여러 개의 더 작은 다이(chiplet)를 통합하는 방식입니다[Demir et al., 2018]. 이 접근 방식을 통해 서로 다른 공정 기술을 혼합하고 일치시킬 수 있어, 각 chiplet의 특정 기능에 맞게 최적화할 수 있습니다. 예를 들어, 컴퓨팅 집약적인 chiplet은 첨단 공정 노드를 사용하여 제조할 수 있고, 메모리 집약적인 chiplet은 더 오래되고 비용 효율적인 공정 노드를 사용할 수 있습니다.
Chiplet 기반 설계의 모듈식 특성은 GPU 아키텍처의 유연성과 확장성도 높일 수 있습니다. 예를 들어, 컴퓨팅 chiplet의 수를 변경하여 성능과 전력 특성이 다른 GPU를 만들 수 있으며, GPU 컴퓨팅 chiplet과 함께 특수 목적 가속기 또는 메모리 기술을 통합할 수도 있습니다.
이 분야의 연구에서는 3D 적층 GPU 아키텍처, chiplet 기반 GPU 설계, 다중 다이 통합을 위한 새로운 상호 연결 기술 등의 주제를 다루고 있습니다. 공정 기술의 스케일링이 점점 더 어려워지고 비용이 증가함에 따라, 3D 적층 및 chiplet 기반 설계는 GPU 아키텍처에서 성능과 에너지 효율을 계속 향상시킬 수 있는 유망한 방향이 될 것입니다.
AI/ML을 위한 도메인 특화 아키텍처
인공지능(AI) 및 기계 학습(ML) 애플리케이션의 급속한 성장은 이러한 워크로드에 최적화된 도메인 특화 아키텍처 개발을 이끌었습니다. GPU가 최근 수년 간 AI/ML 가속에 주력해왔지만, 특정 AI/ML 작업에 더 높은 성능과 에너지 효율을 제공할 수 있는 보다 특화된 하드웨어에 대한 관심이 증가하고 있습니다.
이러한 특화 하드웨어의 한 예가 바로 딥 신경망 가속을 위해 특별히 설계된 뉴럴 처리 장치(NPU)입니다.인공지능 딥 러닝 모델의 추론과 훈련을 위한 NPU (Neural Processing Unit)의 사용. NPU는 종종 감소된 정밀도 산술, 특화된 메모리 계층 구조, 그리고 딥 러닝 워크로드의 고유한 특성에 맞춰 설계된 데이터 흐름 구조를 활용합니다. NPU의 예로는 구글의 Tensor Processing Units (TPUs) [Jouppi et al., 2017], 인텔의 Nervana Neural Network Processors (NNPs) [Rao, 2019], 그리고 화웨이의 Ascend AI 프로세서 [Huawei, 2020] 등이 있습니다.
AI/ML을 위한 도메인 특화 아키텍처의 또 다른 새로운 추세는 메모리 내 연산 (in-memory computing) 및 아날로그 컴퓨팅 기술의 사용입니다. 메모리 내 연산 아키텍처는 메모리 내에서 직접 연산을 수행함으로써 데이터 이동에 따른 에너지와 지연 시간을 줄이는 것을 목표로 합니다. 멤리스터 기반 가속기 [Shafiee et al., 2016]에서 사용되는 아날로그 컴퓨팅 기술은 디지털 회로와 비교하여 더 에너지 효율적인 방식으로 연산을 수행합니다.
AI/ML 워크로드가 계속해서 발전하고 다양해짐에 따라, 변화하는 요구 사항에 적응할 수 있는 유연하고 프로그래밍 가능한 도메인 특화 아키텍처에 대한 필요성이 증가하고 있습니다. 이러한 유연성을 달성하는 한 가지 접근 방식은 코스 그레인 재구성 가능 아키텍처 (Coarse-Grained Reconfigurable Architectures, CGRAs) [Prabhakar et al., 2017]의 사용입니다. CGRAs는 프로그래밍 가능한 처리 요소의 배열을 제공하여 다양한 데이터 흐름 패턴과 알고리즘을 지원할 수 있습니다.
이 분야의 연구는 새로운 AI/ML 가속기 아키텍처, 메모리 내 및 아날로그 컴퓨팅 기술, 그리고 AI/ML을 위한 프로그래밍 가능하고 재구성 가능한 아키텍처 등의 주제를 탐구합니다. GPU가 AI/ML 가속에 여전히 중요한 역할을 하는 가운데, 미래의 GPU 아키텍처 설계는 이러한 워크로드의 고유한 요구 사항을 충족하기 위해 더 많은 특화된 하드웨어를 통합하는 방향으로 발전할 것으로 보입니다.
개방형 연구 문제 및 기회
최근 수년간 GPU 아키텍처와 병렬 컴퓨팅의 큰 발전에도 불구하고, 여전히 많은 개방형 연구 문제가 존재합니다.여기는 코드 및 추가적인 혁신을 위한 기회가 포함된 마크다운 파일입니다. 이러한 과제와 기회 중 일부는 다음과 같습니다:
-
에너지 효율성: GPU의 성능과 복잡성이 계속 증가함에 따라 에너지 효율성 향상이 점점 더 중요해지고 있습니다. 이 분야의 연구 기회에는 근접 임계값 컴퓨팅, 전력 게이팅, 동적 전압 및 주파수 조절과 같은 전력 소모 감소를 위한 새로운 회로 및 아키텍처 기법이 포함됩니다.
-
확장성: GPU를 더 많은 코어와 스레드로 확장하면서도 높은 성능과 프로그래밍 가능성을 유지하는 것이 중요한 과제입니다. 이 분야의 연구에서는 계층적이고 분산된 GPU 아키텍처, 확장 가능한 메모리 시스템, 미래 GPU의 병렬성을 효과적으로 활용할 수 있는 프로그래밍 모델 등을 다룰 수 있습니다.
-
신뢰성 및 복원력: GPU가 점점 더 중요한 임무와 안전 필수 애플리케이션에 사용되면서, 신뢰성과 복원력을 보장하는 것이 필수적입니다. 이 분야의 연구 기회에는 알고리즘 기반 오류 내성, 체크포인트 및 복구 메커니즘, 복원력 있는 아키텍처 설계와 같은 새로운 오류 내성 및 오류 정정 기술이 포함됩니다.
-
가상화 및 멀티 테넌시: 클라우드 컴퓨팅 및 데이터 센터 환경에서 여러 애플리케이션과 사용자 간에 GPU 리소스를 효율적으로 공유할 수 있게 하는 것이 필수적입니다. 이 분야의 연구에서는 GPU 가상화 기술, 서비스 품질(QoS) 관리, 멀티 테넌트 GPU 시스템을 위한 리소스 할당 및 스케줄링 알고리즘 등을 다룰 수 있습니다.
-
프로그래밍 모델 및 도구: 프로그래머 생산성을 유지하면서 미래 GPU 아키텍처의 성능을 효과적으로 활용할 수 있는 프로그래밍 모델 및 도구를 개발하는 것은 지속적인 과제입니다. 이 분야의 연구 기회에는 GPU를 위한 도메인 특화 언어 및 컴파일러, 자동 조정 및 최적화 프레임워크, 병렬 프로그래밍을 위한 디버깅 및 프로파일링 도구 등이 포함됩니다.여기는 한국어 번역본입니다. 코드 부분은 번역하지 않고, 주석만 번역했습니다.
GPU 구조가 계속 발전하고 새로운 응용 분야가 등장함에 따라, 연구자와 엔지니어들은 이러한 과제들을 해결하여 병렬 컴퓨팅의 full potential을 unlock해야 할 것입니다. 새로운 아키텍처 설계, 프로그래밍 모델, 소프트웨어 도구를 탐구함으로써, 연구 커뮤니티는 GPU 컴퓨팅의 미래를 형성하고 과학 컴퓨팅, 인공 지능, 데이터 분석 등의 분야에서 새로운 혁신을 가능하게 할 수 있습니다.
더 읽을거리
이 장에서 다룬 주제에 대해 더 자세히 알고 싶으신 분들을 위해 다음과 같은 자료를 추천드립니다:
-
Jouppi, N. P., Young, C., Patil, N., Patterson, D., Agrawal, G., Bajwa, R., ... & Yoon, D. (2017). In-datacenter performance analysis of a tensor processing unit. In Proceedings of the 44th Annual International Symposium on Computer Architecture (pp. 1-12). https://dl.acm.org/doi/abs/10.1145/3079856.3080246 (opens in a new tab)
-
Ham, T. J., Wu, L., Sundaram, N., Satish, N., & Martonosi, M. (2016). Graphicionado: A high-performance and energy-efficient accelerator for graph analytics. In 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO) (pp. 1-13). IEEE. https://ieeexplore.ieee.org/abstract/document/7783759 (opens in a new tab)
-
AMD. (2015). AMD Heterogeneous System Architecture (HSA). https://www.amd.com/en/technologies/hsa (opens in a new tab)
-
NVIDIA. (2020). CUDA Unified Memory. https://developer.nvidia.com/blog/unified-memory-cuda-beginners/ (opens in a new tab)
-
Jeddeloh, J., & Keeth, B. (2012). Hybrid memory cube new DRAM architecture increases density and performance. In 2012 symposium on VLSI technology (VLSIT) (pp. 87-88). IEEE. https://ieeexplore.ieee.org/abstract/document/6243767 (opens in a new tab)
-
Lee, J. H., Lim, D., Jeong, H.,Here is the Korean translation of the markdown file, with the code comments translated:
Kim, H., Song, T., Lee, J., ... & Kim, G. (2014). 1.2 V 8 Gb 8채널 128 GB/s 고대역폭 메모리(HBM) 적층 DRAM과 29 nm 공정 및 TSV를 사용한 효과적인 마이크로범프 I/O 테스트 방법. 2014 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC) (pp. 432-433). IEEE. https://ieeexplore.ieee.org/abstract/document/6757501 (opens in a new tab)
-
Demir, Y., Pan, Y., Song, S., Hardavellas, N., Kim, J., & Memik, G. (2018). Galaxy: 광섬유 상호 연결을 사용하는 고성능 에너지 효율적인 멀티칩 아키텍처. Proceedings of the 28th ACM International Conference on Supercomputing (pp. 303-312). https://dl.acm.org/doi/abs/10.1145/2597652.2597664 (opens in a new tab)
-
Rao, T. (2019). Intel Nervana 신경망 프로세서(NNP)가 AI 실리콘을 재정의하다. https://www.intel.com/content/www/us/en/artificial-intelligence (opens in a new tab)