10
14 www.iitp.kr * 권원옥, 오명훈 한국전자통신연구원 책임연구원 I. 서론 지난 70년간 컴퓨터는 CPU(Central Processing Unit)와 메모리를 사용하여 컴퓨터를 구동하 는 폰 노이만(Von Neumann) 구조를 사용하고 있다. CPU의 성능 향상을 위해 트랜지스터의 집적 도 증가와 컴퓨팅 능력을 향상시켜 소위 “처리 중심(processing-centric) 컴퓨팅”에 집중하였다. 그러나 큰 데이터 애플리케이션에서 메모리 계층 구조 간에 데이터를 전송하는 데 드는 비용이 더욱 커지고, 순차적으로 정보를 처리함으로 고속 병렬처리에는 부적합한 폰 노이만 병목(Von- Neumann Bottleneck) 문제가 대두되었다[1]. 더 이상 CPU 속도 또는 CPU 코어 수 증가가 전체 시스템 성능을 향상시키지 않게 되었다. CPU가 원격 서버 혹은 스토리지(SSD/HDD) 데이터를 처리할 경우, 메모리의 데이터 처리에 비해 수백~수 천 배 이상 느려진다. 이러한 폰 노이만 병목 현상을 해결하기 위해 “데이터 중심(data-centric) 컴퓨팅” 아키텍처가 제안되었다[2]-[3]. 대용량 데이터의 고속 처리를 위해 데이터 처리 성능 및 용량 한계 극복을 위한 테이터 중심 컴퓨팅을 “메모리 중심 컴퓨팅(Memory driven computing)” 이라 정의한다. IDC의 자료에 의하면 2025년 생성 데이터는 163 제타바이트(ZB=10 21 B)로 2016년의 10배 수준으로 증가하며, 그 중 5.2 제타바이트는 데이터 분석이 요구될 것으로 예측된다[4]. 따라서 차세대 메모리 중심 컴퓨팅 기술 개발이 반드시 필요하게 되었다. 메모리 중심 컴퓨팅 시스템 기술 개발을 위해 글로벌 시스템 업체들은 2016년 Gen-Z 컨소시움을 결성하였으며, 2018년 메모리 자원의 통합 패브릭 연결망, Gen-Z 규격 1.0을 발표하고 관련 기술 확보에 주력 중이다. HPE는 2017년 세계 최초로 메모리 중심 컴퓨터 프로토타입 “The Machine”을 공개하였다. * 본 내용은 권원옥 책임(☎ 042-860-1767, [email protected])에게 문의하시기 바랍니다. ** 본 내용은 필자의 주관적인 의견이며 IITP의 공식적인 입장이 아님을 밝힙니다. ***본 고는 2018년도 정부(과학기술정보통신부)의 재원으로 정보통신기술진흥센터의 지원을 받아 수행된 연구임 (No.2018-0-00503, 메모리중심 차 세대 컴퓨팅 시스템 구조 연구) 메모리 중심 컴퓨팅 기술 동향

메모리 중심 컴퓨팅 기술 동향 - ITFIND€¦ · 컴퓨팅” 아키텍처가 제안되었다[2]-[3]. 대용량 데이터의 고속 처리를 위해 데이터 처리 성능

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

14 www.iitp.kr

주간기술동향 2018. 9. 26.

*

권원옥, 오명훈

한국전자통신연구원 책임연구원

I. 서론

지난 70년간 컴퓨터는 CPU(Central Processing Unit)와 메모리를 사용하여 컴퓨터를 구동하

는 폰 노이만(Von Neumann) 구조를 사용하고 있다. CPU의 성능 향상을 위해 트랜지스터의 집적

도 증가와 컴퓨팅 능력을 향상시켜 소위 “처리 중심(processing-centric) 컴퓨팅”에 집중하였다.

그러나 큰 데이터 애플리케이션에서 메모리 계층 구조 간에 데이터를 전송하는 데 드는 비용이

더욱 커지고, 순차적으로 정보를 처리함으로 고속 병렬처리에는 부적합한 폰 노이만 병목(Von-

Neumann Bottleneck) 문제가 대두되었다[1].

더 이상 CPU 속도 또는 CPU 코어 수 증가가 전체 시스템 성능을 향상시키지 않게 되었다. CPU가

원격 서버 혹은 스토리지(SSD/HDD) 데이터를 처리할 경우, 메모리의 데이터 처리에 비해 수백~수

천 배 이상 느려진다. 이러한 폰 노이만 병목 현상을 해결하기 위해 “데이터 중심(data-centric)

컴퓨팅” 아키텍처가 제안되었다[2]-[3]. 대용량 데이터의 고속 처리를 위해 데이터 처리 성능 및

용량 한계 극복을 위한 테이터 중심 컴퓨팅을 “메모리 중심 컴퓨팅(Memory driven computing)”

이라 정의한다.

IDC의 자료에 의하면 2025년 생성 데이터는 163 제타바이트(ZB=1021B)로 2016년의 10배

수준으로 증가하며, 그 중 5.2 제타바이트는 데이터 분석이 요구될 것으로 예측된다[4]. 따라서

차세대 메모리 중심 컴퓨팅 기술 개발이 반드시 필요하게 되었다. 메모리 중심 컴퓨팅 시스템 기술

개발을 위해 글로벌 시스템 업체들은 2016년 Gen-Z 컨소시움을 결성하였으며, 2018년 메모리

자원의 통합 패브릭 연결망, Gen-Z 규격 1.0을 발표하고 관련 기술 확보에 주력 중이다. HPE는

2017년 세계 최초로 메모리 중심 컴퓨터 프로토타입 “The Machine”을 공개하였다.

* 본 내용은 권원옥 책임(☎ 042-860-1767, [email protected])에게 문의하시기 바랍니다.** 본 내용은 필자의 주관적인 의견이며 IITP의 공식적인 입장이 아님을 밝힙니다.***본 고는 2018년도 정부(과학기술정보통신부)의 재원으로 정보통신기술진흥센터의 지원을 받아 수행된 연구임 (No.2018-0-00503, 메모리중심 차

세대 컴퓨팅 시스템 구조 연구)

메모리 중심 컴퓨팅 기술 동향

ICT신기술

정보통신기술진흥센터 15

본 고 2장에는 메모리 중심 컴퓨팅의 출현 배경과 특징을 다루며, 3장에서는 HPE사의 “The

Machine”을, 4장에서는 메모리 패브릭 프로토콜인 Gen-Z의 특징에 대해서 살펴보고, 끝으로 5장

에서는 결론 및 시사점을 제시한다.

II. 메모리 중심 컴퓨팅

1. CPU 코어 당 메모리 용량 한계

[그림 1]의 좌측 그래프는 2012~2019년간 CPU의 코어, CPU 핀, DDR 채널, PCIe 레인의

변화를 정규화시킨 그래프이다[5]. 지난 8년간 CPU 코어의 개수가 8배 증가하는 동안 DDR 채널과

PCIe 레인의 수는 2배만 증가하였다. 따라서 [그림 1]의 우측 그래프와 같이 CPU 코어 당 메모리

와 I/O의 대역폭은 계속 감소하고 있다. 2012년에 비해서 2019년의 코어 당 메모리 대역폭은

1/2, I/O 대역폭은 1/5에 불과하다. 즉, CPU와 메모리, I/O의 불균형이 계속해서 증가하고 있다.

2. SCM 메모리의 발전

[그림 2]는 메모리와 스토리지의 계층을 나타내고 있다. 기존의 시스템은 휘발성, 바이트(Byte)

접근 가능한 DRAM 메모리와 비휘발성, 블록 스토리지의 SSD 혹은 HDD의 구조였다. DRAM에

<자료> Gen-Z consortium

[그림 1] CPU 코어, DDR 채널, PCIe 레인 수의 변화

16 www.iitp.kr

주간기술동향 2018. 9. 26.

비해 SSD/HDD는 접근속도가 수천~수만 배 느리다. 그러나 플래시 메모리의 비휘발성 특성과

DRAM의 특징인 고속 데이터 쓰기/읽기 지원이 가능하며 Byte 단위 접근이 가능한 SCM(Storage

Class Memory) 장치들이 확대되고 있다. SCM 메모리로 ReRAM, PRAM, STT-MRAM 등이

존재하고 이들은 DRAM 보다 쓰기/읽기의 지연시간이 2~10배 정도이며 비휘발성 특성을 가지고

있다. 앞으로 SCM 소재의 발전과 더불어 기존의 메모리와 스토리지를 통합한 새로운 컴퓨터 하드

웨어 및 소프트웨어 기술이 발전될 것으로 예상된다. 궁극적으로 [그림 2]와 같이 오프칩 DRAM은

사라지며, SCM 메모리가 주류로 사용될 것으로 예상된다.

3. 메모리 중심 컴퓨팅

[그림 3]은 기존 프로세서 중심 컴퓨팅 구조와 SCM 메모리 풀을 사용한 메모리 중심 컴퓨팅의

개념도를 비교해서 나타내고 있다[6]. 기존 컴퓨팅은 각각의 서버에 메모리를 가지며 다른 서버의

메모리를 접근하기 위해서는 반드시 네트워크를 통해야만 가능하다. 그러나 메모리 중심 컴퓨팅

구조에서는 엄청난 SCM 메모리 풀을 다수의 서버가 공유하는 구조를 보여준다. 이를 통해 기존의

CPU들의 비효율적인 메모리 접근 문제가 해결되며, 스케일아웃(scale-out)이 용이한 시스템을

구성할 수 있다.

<자료> Gen-Z consortium

[그림 2] 메모리와 스토리지의 계층

ICT신기술

정보통신기술진흥센터 17

메모리 중심 컴퓨팅을 위해서는 크게 다음과 같은 세 기술이 필요하다. 즉, ➀ SCM 하드웨어

개발, ➁ 메모리 패브릭 네트워크 프로토콜 및 하드웨어 개발, ➂ 메모리 중심 컴퓨팅 OS 및 소프트

웨어 개발이 필요하다. SCM 디바이스는 삼성, SK하이닉스, 마이크론, 인텔 등 다수의 기업들이

제품을 개발 중이며, 일부 제품이 출시 중이다. 메모리 패브릭 네트워크 프로토콜의 경우 다수의

컴퓨터 업체들이 컨소시움을 형성하여 Gen-Z, OpenCAPI, CCIX 프로토콜을 개발 중이며, 그

중 Gen-Z 프로토콜이 가장 유력한 프로토콜로 부상하고 있다[7]. 컴퓨팅 OS 및 소프트웨어는

HPE사의 경우 “The Machine” 프로젝터를 통해 메모리 중심 컴퓨팅을 위한 리눅스 커널 수정

및 애플리케이션 개발이 이루어지고 있다.

<자료> ⓒ HPE

[그림 3] 프로세서 중심 컴퓨팅(좌) vs. 메모리 중심 컴퓨팅(우) 개념도

18 www.iitp.kr

주간기술동향 2018. 9. 26.

III. HPE “The Machine”

2014년부터 HPE사는 “The Machine” 프로젝트를 통해 메모리 중심 컴퓨팅을 연구 중이다.

[그림 4]는 HPE가 2017년에 공개한 “The Machine”의 프로토타입(prototype) 보드이다. 보드에

는 하나의 CPU 노드와 4TB 메모리 풀, 패브릭 메모리 제어기, 메모리 패브릭 스위치가 존재한다.

HPE가 공개한 전체 시스템은 [그림 4]의 보드 40개를 실리콘 포토닉(Silicon photonics) 패브릭

링크로 연결하여 구성하였다. 따라서 전체 시스템은 최대 4TB×40노드, 총 160TB 공유 메모리

풀을 가지고 있다. 노드에 사용된 CPU는 ARM 기반의 Cavium ThunderX2 SoCs(32-core

ARM CPU)가 사용되었으며 로컬 메모리로 256GB DDR4 메모리를 사용하였다. 또한, 메모리

풀에 사용된 메모리는 SCM 디바이스가 아닌 DDR4 혹은 플래시 디바이스가 사용되었다. 보드

내부에는 메모리 패브릭 스위치가 있어 노드와 메모리 풀의 연결은 물론 다른 노드의 메모리 풀의

접근을 위한 패브릭 연결을 지원한다. 패브릭 연결을 위해서 X1 실리콘 포토닉 모듈을 사용하여

링크 연결을 지원하고 있다. OS는 리눅스 기반의 OS를 사용하였으며, Persistent 메모리를 지원하

기 위한 소프트웨어 프로그램 툴도 제공하고 있다. HPE는 “The Machine”의 프로토타입이 대규모

인 메모리(In-memory) 분석, 대규모 그래픽 인터페이스 분석, 유사성 검색, 금융 모델 등의 애플리

케이션에 적합하다고 밝혔다.

HPE의 “The Machine”의 정확한 인터페이스, 프로토콜 등은 공개되지 않았다. [그림 5]에 “The

Machine” 프로토타입 보드의 추정된 블록도를 나타내었다. HPE는 메모리 풀에 멤리스터(Memristor)

SCM을 사용할 예정이었으나, 미완의 멤리스터 대신 기존의 DDR4 혹은 플래시 메모리를 사용한

것으로 추정된다. 보드 외부 메모리 패브릭 연결망은 100Gbps급 실리콘 포토닉 기술을 사용하여

구현하였으며, 메모리 프로토콜은 HPE 독자 프로토콜 혹은 Gen-Z 프로토콜을 사용한 것으로 추정

<자료> ⓒ HPE

[그림 4] HPE “The Machine” 프로토타입 보드

ICT신기술

정보통신기술진흥센터 19

된다. 사용한 운영체제는 리눅스 OS를 수정하였으며, ‘카본(Carbon)’이라는 신형 운영체제가 탑재

되었다.

노드 CPU는 HPE와 인텔의 협업이 원활하지 못해 ARM 계열의 ThunderX2가 사용된 것으로

추정된다. CPU가 메모리 풀에 접근하기 위해서는 CPU의 메모리 관리 유닛(MMU)의 변경이 필요

하며 따라서 CPU사의 협업이 반드시 필요하다. CPU와 메모리 패브릭 스위치의 연결은 PCIe 같은

I/O 버스로 연결할 경우 대역폭이 부족하여 시스템 버스로 연결되었을 것으로 추정된다. Cavium

ThunderX2 경우 CCPI2(Cavium Coherent Processor Interconnect) 시스템 버스가 사용되며

최대 480Gbs 대역폭을 가진다. 메모리 풀은 1TB 당 하나의 패브릭 연결 메모리 컨트롤러(FPGA2)

가 장착되어 있으며 총 4개의 컨트롤러가 있어 보드 내부에 메모리 풀은 최대 4TB의 용량을 가진다.

패브릭 연결 메모리 컨트롤러(FPGA2)의 역할은 노드 CPU가 요청하는 데이터 작업을 메모리에

전달하는 역할이다. 즉, Gen-Z 프로토콜을 DDR4 메모리 혹은 플래시 메모리 프로토콜로 전환하

는 역할을 담당한다. 메모리 패브릭 스위치(FPGA1)는 4개의 패브릭 연결 메모리 컨트롤러와 하나

의 CPU, 2개의 패브릭 네트워크, 총 7개의 인터페이스를 지원하며, Gen-Z 프로토콜 스위치 역할

을 수행한다.

현재 “The Machine”은 HPE에서 계속해서 개발 중에 있으나 멤리스터 개발 지연, Intel CPU와

의 협업, 애플리케이션 개발 등의 많은 문제들이 존재하여 상용화에는 상당한 시간이 소요될 것으로

추정된다.

<자료> ETRI

[그림 5] HPE “The Machine” 프로토타입 보드 블록도

20 www.iitp.kr

주간기술동향 2018. 9. 26.

IV. Gen-Z 프로토콜

본 장에서는 메모리 중심 컴퓨팅에서 가장 유력한 Gen-Z 프로토콜에 관해서 살펴본다. 2016년

Gen-Z 연결망 개발을 위해 Gen-Z 컨소시움이 설립되었으며, 2018년 8월 현재 AMD, ARM,

IBM, IDT, Dell, HPE, Samsung, SK Hynix, Xilinx, ETRI 등 50개 이상의 세계 유수의 서버업체

와 반도체업체들이 멤버로 가입되어 있다.

Gen-Z 연결망은 컴퓨팅 자원, 메모리 자원, 가속기 자원 등을 유연하게 연동시키고 이들 가운데

에 대용량 공유 메모리 풀을 구현하기 위한 메모리 중심 컴퓨팅 구조를 지향하는 기술이다. 메모리

풀은 DRAM과 SCM 등을 혼합하여 구성하고 Gen-Z 연결망 내 각 디바이스들이 각 메모리 미디어

를 독립적으로 접근 가능한 애플리케이션과 시멘틱(Semantic) 통신을 제공한다.

[그림 6]은 Gen-Z 연결망의 구조를 나타내고 있다. 컴퓨터 노드와 가속기 노드(GPU, FPGA)들

은 Gen-Z 연결망을 통해 대용량 메모리 풀에 접근할 수 있고 다양한 입출력 장치 역시 Gen-Z

연결망을 통해 접근이 가능하다. 또한, Gen-Z는 메모리 시멘틱 프로토콜을 사용함으로 기존 스토

리지 스택에 비해서 낮은 지연시간(Low-latency)의 접근이 가능하다. Gen-Z 프로토콜을 사용하

면 CPU의 ISA 명령어인 Load, Store, Atomic 동작들로 통신이 가능하여 기존의 스토리지, 네트

워크의 블록접근 기반의 복잡하고, 높은 소프트웨어 스택들이 모두 사라지게 된다.

[그림 7]은 Gen-Z 패브릭 토폴로지 구성을 나타내고 있다. 단일 마더보드에서 새시, 랙 스케일,

<자료> Gen-Z consortium

[그림 6] Gen-Z 패브릭 구조

ICT신기술

정보통신기술진흥센터 21

클러스터 스케일에 이르기까지 다양하고 유연한 토폴로지 구성이 가능하다. Gen-Z의 물리계층은

IEEE 802.3 표준을 사용하며, 일대일(point-to-point), 데이지체인(daisy-chain), 스위치 같이

다양한 토폴로지를 제공한다. 특히, Gen-Z의 서브넷은 2개부터 최대 4,096개의 장치 연결이 가능

한 어드레싱을 지원하고 있다. 유연한 네트워크 구조 및 다양한 기능을 제공하기 위해 Gen-Z는

수신단과 송신단의 레인 설정이 대칭, 비대칭 두 가지 모두 사용 가능하다. Gen-Z는 최대 256

레인을 지원하고 PAM4(Pulse Amplitude Modulation)를 사용할 경우 최대 112GT/s의 대역폭,

NRZ(Non-Return to Zero)를 사용할 경우 최대 28GT/s의 대역폭을 지원한다[8]. 뿐만 아니라

<자료> Gen-Z consortium

[그림 7] Gen-Z 패브릭 토폴로지 구성

<자료> Gen-Z consortium

[그림 8] Gen-Z 소프트웨어 스택

22 www.iitp.kr

주간기술동향 2018. 9. 26.

다중링크, 다중경로 지원과 링크 당 32개의 가상채널(VC)이 지원되어 높은 대역폭과 다양한 라우팅

이 지원된다. 다중경로 사용 시 데이터의 손실을 막으면서 각 디바이스의 데이터 접근 경로가 탄력적

으로 변경 가능하여 연결망 내부 트래픽 제어가 용이해진다.

[그림 8]은 Gen-Z 소프트웨어 스택을 나타내고 있다. 블록 스토리지의 경우 Gen-Z NVMz

블록 드라이버를 통해 NVMe 드라이버와 동일 접근을 수행할 수 있다. DRAM의 경우 기존의

DRAM과 동일하게 동작하며, SCM 디바이스의 경우 Gen-Z SCM driver와 Persistent Memory

File system을 통해 애플리케이션과 통신하게 된다. Ethernet의 경우 Emulated NIC(eNIC) 드

라이버를 통해 기존의 이더넷 스택을 지원한다. 또한, 저지연, 고성능 통신을 위해 OFI/Libfabric

소프트웨어를 통해 HPC 스택을 지원한다. [표 1]은 Gen-Z 프로토콜의 특징을 기능별로 요약하여

나타내었다.

[표 1] Gen-Z 프로토콜의 특징

V. 결론 및 시사점

본 고를 통해 메모리 중심 컴퓨팅의 필요성과 특징, 필요기술을 살펴보았다. 또한, 메모리 중심

컴퓨팅을 가장 먼저 구현하여 프로토타입을 공개한 HPE의 “The Machine”의 하드웨어 구조에

대해서 개략적으로 살펴보았다. 마지막으로 메모리 중심 컴퓨팅 프로토콜로 Gen-Z 프로토콜의

특징에 대해서 살펴보았다.

SCM 디바이스의 성능과 가격, 서버 CPU 시장을 장악한 Intel CPU의 Gen-Z 지원 문제, 대규

모 SCM 풀을 효율적으로 사용할 OS 및 애플리케이션의 개발 등 프로세서 중심 컴퓨팅에서 메모리

중심 컴퓨팅으로의 전환에 해결해야 될 문제는 많다. 2018년부터 국내에서도 메모리 업체뿐 아니라

ETRI에서 메모리 중심 컴퓨팅을 위한 컴퓨터 구조와 프로토콜 연구를 시작하고 있다. 미래의 컴퓨

팅 분야에서 앞서 나가기 위해 메모리 중심 컴퓨팅에 관한 연구와 지원이 필요한 때이다.

구분 특징

물리계층 IEEE 802.3 Short and Long Haul PHY

지원 토폴로지 Point-to-Point, Daisy-Chain, Switched

지원 링크/레인 Symmetric and Asymmetric Interface and Link 지원 / 최대 256 lanes

대역폭 Unidirectional, 16, 25, 28(NRZ), 56, 112(PAM4) GT/s

확장성 244/266 addressable resources, 1~4096 component, 2~212 subnet

<자료> Gen-Z consortium

ICT신기술

정보통신기술진흥센터 23

[ 참고문헌 ]

[1] Ken Takeuchi, “Memory system architecture for the data centric computing,” Chuo University,

Bunkyo, Tokyo 112-8551, Japan, February 2016.

[2] C. Keable, Data Centric Deep Computing(DC2), http://www2.epcc.ed.ac.uk/downloads/lectures/CrispinKeable.pdf

[3] The Machine: The Future of Computing, http://www.hpl.hp.com/

[4] Data Age 2025: The Evolution of Data to Life-Critical, IDC White paper, April 2017.

[5] Michael krause, HPE Fellow, “Gen-Z: Communicatin at the speed of memory,” Supercomputing

2017.

[6] HPE, The Machine, The future of technology

[7] Brad Benton, “CCIX, Gen-Z, OpenCAPI overview and comparison,” AMD, March 2017.

[8] Gen-Z Core Specification, ver.1.0, 2018.