개인 공부/논문

Basic Performance Measurements of the Intel Optane DC Persistent Memroy Module

RyoTTa 2021. 5. 7. 16:20
반응형

Abstract

NVM은 마침내 Intel Optane DC Persistent Memory의 출시로 상용화 되었다.

Optane DC MemoryLatency(346ns)이고, DRAMSSD 계층 사이에 위치한다.

Memory Mode(or Cache Mode)에서 사용될 때 Memory Footprints가 작은 App에 대해서는 영향을 거의 미치지 않는다. 대신 큰 App에 대해서는 DRAM에 비해 속도가 다소 느려질 수 있지만, 더 많은 데이터를 메모리에 저장 할 수 있다.

 

How to Use this Documnet

Optane DC Memory에 대한 기본 특성이 필요하다면 Sec 3에 주목.

대량 메모리 사용하는 App 개발자는 Sec 4에 주목

File System, Storage 연구는 Sec 5에 주목

Persistent Memory에 대한 수행, 에뮬레이션와의 비교는 Sec 6에 주목.

 

Executive Summary

Intel은 지난 10년 동안 새로운 프로그래밍 모델 및 파일 시스템 등 NVDIMM이 제공하기로 약속한 성능과 유연성을 활용하기 위해 구축된 기타 도구를 제공하는 많은 논문을 작성했다. 드디어 Optane DC가 등장해 Complexity, Idiosyncrasies 등의 특이성에 대해 연구할 수 있게되었다.

 

Background(Section2)

기존 DRAM DIMM과 마찬가지로 Optane DCPMM은 메모리 버스에 위치한다. Memory ControllerDDR4와 기계적으로 호환되지만 Variable-latency memory transaction을 지원하는 Custom Protocol을 통해 Optane DCPMM과 통신한다.

IntelCascade Lake에는 Optane DC에 대한 store명령에 대해 제약이 존재한다. 예를들어 clwb는 캐시라인을 무효화 하지않고 캐시라인을 다시 Write한다.

Optane DC PMMMemory or App Direct Mode를 지원한다.

Memory Mode에서는 Optane DC를 사용해 Persistence 특성을 사용하지 않고 메모리를 확장한다. Optane DCDirect-mapped Cache 로 사용되는 DRAM을 같이 사용한다. Cache Block 크기는 64Byte이며, CPUOSCacheTransparent하게 관리한다.

App Direct modeOptane DCStorage System을 구축하는데 유용하다. 즉 별도의 영구 메모리 장치로 인식한다.

위의 두 가지를 제외할 경우, Main Memory로 직접 사용할 수 있고, File System의 기반이 되는 Storage로 사용할 수도 있다.

 

(Optane DCPMMNVMM-F, -N, or PJEDEC 표준을 준수하지 않기 때문에 기술적으로 NVDIMM이 아니다)

 

Basic Optane DC Performance(Sec3)

Optane DCDRAM에서 가장 중요한 차이점은 Optane DCLatency 가 길고 Band width 가 낮다는 것이다. Load-Store 성능또한 비대칭이다.

Latency 측정을 위해 DRAM Cache를 사용하지 않고 Cold Cache를 사용해 단일 Load 명령을 실행했다.

평균적으로 Random Load305ns가 소요되며 동일 플랫폼에서 DRAM81ns가 소요된다. Sequential Load의 경우 169nsOptane DCPMM 내부의 버퍼링 또는 캐싱으로 인해 작아진다. Write Latency94ns 이고 DRAM의 경우 86ns이다.

Band-width의 경우 특히 Store 명령에서 DRAM보다 낮다.

아래의 그림은 1~23개의 Thread에 대해 6개의 Optane DCPMM에 대한 Sequential Access 대역폭을 나타낸다. 해당 대역폭을 6개의 DRAM DIMM(Local, Remote)와 비교한다. Read의 경우 최대 39.4GB/s이며, Store의 경우 13.9GB/s이다.(4 Thread 상황)

단일 Optane DCPMM의 경우 Read 경우 최대 6.6GB/s 이며 Write 경우 최대 2.3GB/s 이다.

 

아래 그림은 하나의 스레드에서 Issue된 단일 DIMM에 대한 다양한 크기의 Random Access에 대한 Bandwidth를 보여준다.

Read, Write 성능은 256B에 도달할 때 까지 빠르게 상승하고 Store의 경우 최대 1.5GB/s, Load의 경우 최대 2.8 GB/s 천천히 올라간다

 

 

Optane DC vs Main Memory(Sec4)

SPEC2017에서는 일반 DRAM 대신 Cached Optane DC를 사용해도 정수 워크로드 성능에 영향을 주지 않는다. Cache가 없다면 38%성능 저하가 관찰된다. 부동 소수점의 경우 Cached Optane DC가 대역폭 제한으로 15% 저하된다. Uncached61% 저하된다.

 

Cache mode의 성능 저하는 근본 원인을 정확히 알 수가 없다. 대신 가능한 후보중 하나는 Optane DC의 제한적인 Write Bandwidth때문이라 생각한다.

 

아래 그림은 각각 96GB Data set을 관리하는 Memcached, Redis의 성능이다. App의 경우 DRAMUncached Optane DC로 교체하면 20.1%, 23%가 성능 감소하며. Caced Opatane DC를 사용하게되면 8.6%, 19.2% 성능 감소가 나타난다.

하지만 Optane DC는 밀도가 높아 DRAM에 유지할 수 있는 워크로드보다 더 큰 워크로드를 실행할 수 있다.

 

Optane DC as Persistent Storage(Sec 5)

Optane DC as PErsistent Memory(Sec 6)

 

Conclusion

IntelOptane DCDRAM이후 프로세서의 메모리 계층에 도입된 최초의 새로운 메모리 기술이다. 이를 활용하고 새롭게 프로그램을 제작하려면 수년이 걸릴 것이다.

 

 

반응형