메모리계의 새바람

지난번 단위 컴퓨터를 연결하는 내부연결망(Interconnect)에 대해 알아본 데 이어서 이번에는 CPU, 메모리 및 디스크 간에 데이터의 움직임에 대하여 살펴보기로 하자.

컴퓨터의 CPU가 연산을 수행하는데 필요한 데이터는 메모리로부터 충분히 공급되어야 한다. 그리고 그 계산 결과가 다시 메모리에 저장되는 작업이 원활하게 이루어져야 한다. 그렇다면 현재의 컴퓨터에서는 이러한 데이터의 흐름이 원활한가? 답은 “그렇지 않다.”

이를 정량적으로 측정하기 위해 컴퓨터의 한 주기당 수행하는 연산의 양을 메모리 입출력 속도로 나눈 값을 ‘기계균형(Machine Balance)’이라 정의한다. 기계균형이 1보다 작으면 컴퓨터의 연산성능이 상대적으로 부족하고, 1보다 크면 메모리 전송속도가 부족하다. 이 값이 1에 가까운 경우 컴퓨터의 균형이 잡혀있다고 말할 수 있다.

그렇다면 실제의 컴퓨터에서 이 값은 얼마일까? 미 버지니아 대학교의 맥칼핀(McCalpin) 교수에 따르면, SGI사의 슈퍼컴퓨터 UV 3000의 경우 이 값이 59.7이고, 델의 고성능 서버 파워엣지 R630은 59.6, 인텔의 수치가속기 제온 파이(Xeon Phi) 7120은 54.3, 초소형 PC인 라즈베리 파이(Raspberry Pi) 2는 9.5다.

이렇게 균형이 깨지게 된 근본적인 이유는 메모리의 지연시간(Latency)과 대역폭(Bandwidth)이 CPU의 연산성능을 따라가지 못하기 때문이다. 즉, 무어의 법칙에 따라 향상되는 CPU를 데이터의 움직임이 쫓아가지 못한다는 것이다.

메모리에 있는 데이터가 CPU에 도달하는데 걸리는 지연시간은 100나노 초로 짧다고 생각할 수 있지만 CPU에서 연산을 수행하는 데 소요되는 0.5나노 초의 수백 배에 달한다. 또한 CPU와 메모리 사이에 1초당 최대 수 기가바이트(GByte)의 데이터를 보낼 수 있는 것에 비해 CPU는 1초에 수십 기가플롭(GFLOPS)의 연산을 수행할 수 있다. 

디스크에서 데이터를 주고받는 경우를 살펴보면 문제는 더욱 심각하다. 그 지연시간은 수 밀리 초에 달하고 대역폭은 0.1 기가바이트에 불과하다. 다시 말하면 디스크에서 CPU로 데이터 하나 보내는 시간에 CPU는 백만 번의 연산을 수행할 수 있다는 것이다. 

시스템 설계자들은 이러한 구조에서 발생하는 문제를 완화시키기 위하여 다양한 방법을 개발해 왔다. 그 한 방법은 하드디스크를 플래시 메모리(Flash Memory)로 이루어진 SSD(Solid State Drive)로 대체하는 것이다. 하드디스크의 경우 디스크가 물리적으로 회전해야 하기에 지연시간의 개선이 쉽지 않다. SSD는 하드디스크에 비해 대역폭은 수배 빠른 수준이지만 지연시간의 개선은 수백 배에 달한다.

최근 SSD를 보다 효율적으로 활용하기 위해서 HCI(Host Controller Interface) 표준을 하드디스크에서 출발한 SATA(Serial ATA) 등이 아니라 SSD에 보다 최적화된 NVMe(Non-Volatile Memory Express)를 활용하는 경우가 증가하고 있다.

삼성 NVMe SSD: 2015년 발표된 950 Pro M.2 Solid State Drive는 NVMe 표준을 채택하여 2500MB/s의 읽기속도와 1500MB/s의 쓰기속도를 자랑한다 (출처: 삼성전자)
삼성 NVMe SSD: 2015년 발표된 950 Pro M.2 Solid State Drive는 NVMe 표준을 채택하여 2500MB/s의 읽기속도와 1500MB/s의 쓰기속도를 자랑한다 (출처: 삼성전자)

NVMe는 SATA와 비교해 전송능력 6배, 지연시간 절반, CPU 효율성 2배라는 장점이 있다. 바꾸어 말하면 SATA SSD 하나가 하드디스크 20개 성능에 맞먹고, NVMe SSD 하나가 SATA SSD 다섯 개를 대체할 수 있다는 것이다. 

인텔, 삼성, 마이크론 등 60여개 기업이 참여하는 NVM Express Inc는 2011년 버전 1.0을, 2014년 버전 1.2을 발표하였고, 삼성, 인텔, Silicon Mechanics 등이 관련 제품을 출시하였다. 또한 이를 인피니밴드(Infiniband), 이더넷(Ethernet), 파이버 채널(Fiber Channel) 등의 내부연결망에 적용하려는 노력이 진행되고 있다.

최근 주목할만한 다른 제품은 인텔과 마이크론이 합작해 발표한 ‘3D XPoint’ 메모리다. 이 제품은 현재 플래시 메모리에 비해서 전송성능이 1000배 향상되고, 내구성이 1000배 늘었으며, 메모리 집적도도 10배 이상 개선된 진정한 혁신적인 제품이다.


 

인텔의 3D XPoint 메모리: 현재의 플래시 메모리에 비해 1000배의 전송성능, 1000배의 내구성, 10배의 집적도를 자랑하는 혁신적인 제품이다 (출처: 인텔)
인텔의 3D XPoint 메모리: 현재의 플래시 메모리에 비해 1000배의 전송성능, 1000배의 내구성, 10배의 집적도를 자랑하는 혁신적인 제품이다 (출처: 인텔)


이 제품은 DRAM과 SSD의 성격을 모두 가지고 있어 SSD보다 성능이 우수한 디스크로 활용될 수도 있지만 상황에 따라 DRAM을 대체하는 것도 가능하리라 판단된다. 이러한 ‘괴물’의 출현으로 컴퓨터 시스템 구조에 또 하나의 근본적인 변화가 예상된다.

인텔은 옵태인(Optane)이라는 이름으로 2016년 제품을 출시할 예정이다. 디스크 형태의 제품은 한 시연에서 SSD에 비해 지연시간이 6배 이상 개선됨을 보였다.

또한 인텔이 DIMM(Dual Inline Memory Module) 형태의 3D XPoint 제품을 준비하고 있다는 소문도 들린다. 그렇다면 인텔은 과연 1985년에 떠난 메모리 시장에 화려하게 복귀하게 될까?


 

관련기사