Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

不揮発性メモリ(NVM)とはなにか

294 visualizaciones

Publicado el

OSC2020 Online/Aizu 低レイヤ・OS・セキュリテイ LT大会
2020/10/25開催
不揮発性メモリとDRAMのレイテンシ,スループットについて

Publicado en: Ingeniería
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

不揮発性メモリ(NVM)とはなにか

  1. 1. 不揮発性メモリとは何か OSC2020 Online/Aizu 低レイヤ・OS・セキュリテイ LT⼤会 よしおかひろたか 1
  2. 2. プログラマにとっての不揮発性メモリ • 不揮発性メモリ(NVM - Non-Volatile Memory)とはなにか • なぜ不揮発性メモリについて語るのか 2
  3. 3. NVM(不揮発性メモリ) • DRAM同様にバイト単位でアクセス可能 • ストレージデバイス同様に不揮発性(永続性を保持) • 2019年春頃から出荷されているIntel Optaneなどが製品例 3
  4. 4. 4 10-0 10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 10-10 L1 レジスタ L2 L3 DRAM SSD HDD レ イ テ ン シ ︵ 秒 ︶ 揮発性 不揮発性 Tape メモリ・ストレージ階層 レイテンシギャップ 100 101 102 103 104 105 106 107 108 109 1010 1011 1012 1013 1014 容量 (bytes)
  5. 5. 5 10-0 10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 10-10 レジスタ L2 L3 DRAM SSD HDD レ イ テ ン シ ︵ 秒 ︶ 揮発性 不揮発性 Tape メモリ・ストレージ階層 100 101 102 103 104 105 106 107 108 109 1010 1011 1012 1013 1014 容量 (bytes) NVM L1
  6. 6. 6 10-0 10-1 10-2 10-3 10-4 10-5 10-6 10-7 10-8 10-9 10-10 レジスタ L2 L3 DRAM SSD HDD レ イ テ ン シ ︵ 秒 ︶ 揮発性 不揮発性 Tape メモリ・ストレージ階層 100 101 102 103 104 105 106 107 108 109 1010 1011 1012 1013 1014 容量 (bytes) NVM • NVM • バイト単位アクセス可 能な不揮発性メモリ • 動作特性が不明 L1
  7. 7. 7 アプリケーションから⾒たNVM Management Utility Applications Nonvolatile Memory Module load store load store read write ndctl POSIX API AppDirect Memory NVM Driver FS NVM MMU
  8. 8. 8 L1d cache L1i cache L2 cache register L3 cache WPQ NVDIMM CPUCACHE CLWB + fence or CLFLUSHOPT + fence or CLFLUSH + fence or NT stores + fence MOV RAX, Memory 不揮発 電源断で 情報喪失
  9. 9. 9 L1 cache L1 cache L2 cache register L3 cache WPQ NVDIMM CPUCACHE CLWB + fence or CLFLUSHOPT + fence or CLFLUSH + fence or NT stores + fence MOV RAX, Memory MOVNT RAX, Memory 不揮発 電源断で 情報喪失
  10. 10. 10 L1 cache L1 cache L2 cache register L3 cache NVDIMM CPUCACHE MOV Memory, RAX MOVNT Memory, RAX 不揮発 電源断で 情報喪失
  11. 11. 実行順序について,メモリオーダリング プログラム順 1. load-m1 2. load-m2 11 プログラム順 実⾏1 実⾏2 load-m1 load-m2 プログラム順 1. store-m1 2. store-m2 プログラム順 実⾏1 実⾏2 store-m1 store-m2 プログラム順 1. store-m1 2. load-m1 プログラム順 実⾏1 実⾏2 store-m1 load-m1
  12. 12. 実行順序について,out of order実行,同期命令 12 プログラム順 1. store-m1 2. load-m2 プログラム順 1. store-m1 2. SFENCE 3. load-m2 プログラム順 実⾏1 実⾏2 実⾏3 store-m1 SFENCE load-m2 実⾏1 実⾏2 store-m1 load-m2
  13. 13. 実行順序について,CLFLUSH,CLFLUSHOPT プログラム順 1. store-m1 2. CLFLUSH 3. load-m2 13 プログラム順 プログラム順 1. store-m1 2. CLFLUSHOPT 3. load-m2 プログラム順 実⾏1 実⾏2 実⾏3 store-m1 CLFLUSHOPT load-m2 実⾏1 実⾏2 実⾏3 store-m1 CLFLUSH load-m2
  14. 14. 実験環境 CPU model Intel Xeon Silver 2.5GHz 8 core, 2 socket No. of Nodes 2 Cache L1d 32 KiB, L1i 32 KiB, L2 1MiB, L3 11 MiB (shared) DRAM 32 GiB * 12 (384 GiB) DCPMM 128 GiB * 12 (1536 GiB) OS CentOS 7.7.1908, Linux kernel 3.10 14
  15. 15. 実験結果,レイテンシ 15 210 214
  16. 16. load命令の性能,レイテンシ 16 load load ntload ntload movql movql fence fence fence fenceなしのほ うが⾼性能 NVMは3倍程度レイ テンシが⼤きい
  17. 17. store-fenceレイテンシ 17 non temporal store レイテンシが⼤きい DRAMとNVMレイテ ンシ差は⼩さい store ntstore store store store movqs fence fence clflush clwb clfopt fence fence fence fence
  18. 18. store-nofence レイテンシ 18 store store store store ntstore movqs clflush clwb clfopt
  19. 19. load ランダムアクセススループット 19 fenceなしのほ うが⾼性能 NVMはDRAMの43% 程度のスループット load ntload load ntload fence fence
  20. 20. store ランダムアクセススループット 20 NVMはDRAMの 33%程度 store store store store ntstore movqs fence clflush clwb clfopt fence fence
  21. 21. まとめ • NVMとDRAMの性能差 • レイテンシ,loadでは3倍ほど,storeは同程度 • スループット,storeはNVMがDRAMの1/3程度,loadは1/2程度. • NVMの命令ごとの性能差 • レイテンシ • load,fenceあり,なし,命令の組合せでの性能差は⼩ • store,fenceなし,flushはどれも⼩(40数ns).fenceありのflushは⼤(300ns程度), • スループット • load,fenceありなしで⼤きな差,ランダムアクセスのスループットは低 • store,命令ごとに性能差あり,CLFLUSHOPTはfence付storeに⽐べ3割ほど⼤ 21
  22. 22. 永続性をもつメインメモリ • OSやDBMSへの影響 • ファイルへ読み書きしなくても情報が保持される • 永続性を保証するための各種メカニズムが不必要になる? • DBMSのredo logやWAL (write ahead log) • SSD/HDDよりIOPSが⾼い • SSD/HDDより⾼速なストレージ • 速い揮発性な主記憶,遅い不揮発性なストレージを前提としていたア ルゴリズムが不要になる? • B+Tree • 仮想記憶 • 全く新しいパラダイムとしての研究開発が必要 22

×