狠狠撸

狠狠撸Share a Scribd company logo
不揮発性メモリとは何か
OSC2020 Online/Aizu 低レイヤ?OS?セキュリテイ LT?会
よしおかひろたか
1
プログラマにとっての不揮発性メモリ
? 不揮発性メモリ(NVM - Non-Volatile Memory)とはなにか
? なぜ不揮発性メモリについて語るのか
2
NVM(不揮発性メモリ)
? DRAM同様にバイト単位でアクセス可能
? ストレージデバイス同様に不揮発性(永続性を保持)
? 2019年春頃から出荷されているIntel Optaneなどが製品例
3
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
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
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
アプリケーションから?たNVM
Management
Utility
Applications
Nonvolatile Memory Module
load
store
load
store
read
write
ndctl
POSIX API AppDirect Memory
NVM Driver
FS
NVM
MMU
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
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
L1 cache L1 cache
L2 cache
register
L3 cache
NVDIMM
CPUCACHE
MOV Memory, RAX
MOVNT Memory, RAX
不揮発
電源断で
情報喪失
実行順序について,メモリオーダリング
プログラム順
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
実行順序について,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
実行順序について,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
実験環境
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
210 214
load命令の性能,レイテンシ
16
load load ntload ntload movql movql
fence fence fence
fenceなしのほ
うが?性能
NVMは3倍程度レイ
テンシが?きい
store-fenceレイテンシ
17
non temporal store
レイテンシが?きい
DRAMとNVMレイテ
ンシ差は?さい
store ntstore store store store movqs
fence fence clflush clwb clfopt fence
fence fence fence
store-nofence レイテンシ
18
store store store store ntstore movqs
clflush clwb clfopt
load ランダムアクセススループット
19
fenceなしのほ
うが?性能
NVMはDRAMの43%
程度のスループット
load ntload load ntload
fence fence
store ランダムアクセススループット
20
NVMはDRAMの
33%程度
store store store store ntstore movqs
fence clflush clwb clfopt fence fence
まとめ
? 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
永続性をもつメインメモリ
? OSやDBMSへの影響
? ファイルへ読み書きしなくても情報が保持される
? 永続性を保証するための各種メカニズムが不必要になる?
? DBMSのredo logやWAL (write ahead log)
? SSD/HDDよりIOPSが?い
? SSD/HDDより?速なストレージ
? 速い揮発性な主記憶,遅い不揮発性なストレージを前提としていたア
ルゴリズムが不要になる?
? B+Tree
? 仮想記憶
? 全く新しいパラダイムとしての研究開発が必要
22

More Related Content

What's hot (19)

PDF
OpenVNet at Vyatta Users Group
axsh co., LTD.
?
PDF
Wakame-vnet / Open Source Project for Virtual Network & SDN
axsh co., LTD.
?
PDF
OpenVNet Updates 2013/11 in TremaDay#04
axsh co., LTD.
?
PDF
OSC 2011 Hokkaido 自宅SAN友の会(後半)
Satoshi Shimazaki
?
PDF
脱VM!! リモートコンテナによる開発
HIRA
?
PDF
Linux デスクトップ環境のセキュリティを考えてみる
Kenichiro MATOHARA
?
PDF
常識の壁を打ち破れ(VMware ThinApp でWindowsを仮想化)
tunemicky
?
PDF
Nutanix CE 入門 -Multi Node 構成編-
milk hanakara
?
ODP
Debian emdebian 20100817
Toshihisa Tanaka
?
PPTX
エンジニアのための勉強会 #5 『Container』
Naoki Yoshitake
?
PPTX
もう一度始める鲍蝉迟谤别补尘入门
俊憲 川手
?
PPTX
Meltdown を正しく理解する
Norimasa FUJITA
?
PPTX
無償ライセンス ESXi と 3rd パーティ製バックアップ製品
yhanako
?
PPTX
N110 ws12概要 osamut_公開版
Osamu Takazoe
?
PPTX
地理分散顿叠について
Kumazaki Hiroki
?
PDF
#ljstudy KVM勉強会
Etsuji Nakai
?
PDF
~ストレージの価値を最大化!~次世代ストレージの导入ベネフィットを无駄なく享受するために、“ネットワーク”视点で、知っておくべきこと
Brocade
?
KEY
物理マシンをケチる技术
Satoshi KOBAYASHI
?
PDF
Jisaku09 presentation
Akinori YOSHIDA
?
OpenVNet at Vyatta Users Group
axsh co., LTD.
?
Wakame-vnet / Open Source Project for Virtual Network & SDN
axsh co., LTD.
?
OpenVNet Updates 2013/11 in TremaDay#04
axsh co., LTD.
?
OSC 2011 Hokkaido 自宅SAN友の会(後半)
Satoshi Shimazaki
?
脱VM!! リモートコンテナによる開発
HIRA
?
Linux デスクトップ環境のセキュリティを考えてみる
Kenichiro MATOHARA
?
常識の壁を打ち破れ(VMware ThinApp でWindowsを仮想化)
tunemicky
?
Nutanix CE 入門 -Multi Node 構成編-
milk hanakara
?
Debian emdebian 20100817
Toshihisa Tanaka
?
エンジニアのための勉強会 #5 『Container』
Naoki Yoshitake
?
もう一度始める鲍蝉迟谤别补尘入门
俊憲 川手
?
Meltdown を正しく理解する
Norimasa FUJITA
?
無償ライセンス ESXi と 3rd パーティ製バックアップ製品
yhanako
?
N110 ws12概要 osamut_公開版
Osamu Takazoe
?
地理分散顿叠について
Kumazaki Hiroki
?
#ljstudy KVM勉強会
Etsuji Nakai
?
~ストレージの価値を最大化!~次世代ストレージの导入ベネフィットを无駄なく享受するために、“ネットワーク”视点で、知っておくべきこと
Brocade
?
物理マシンをケチる技术
Satoshi KOBAYASHI
?
Jisaku09 presentation
Akinori YOSHIDA
?

More from Hiro Yoshioka (20)

PDF
Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
Hiro Yoshioka
?
PDF
Infra study 2nd #1「インフラ技術者?研究者としてのキャリア」
Hiro Yoshioka
?
PDF
続?人生100年时代の学び方
Hiro Yoshioka
?
PDF
人生100年時代における学び方 定年後の学生生活
Hiro Yoshioka
?
PDF
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
Hiro Yoshioka
?
PDF
人生100年时代の学び方、脳には可塑性がある
Hiro Yoshioka
?
PDF
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
Hiro Yoshioka
?
PDF
翱厂厂との付き合い方。翱厂厂から学んだこと。翱厂厂贡献者赏受赏讲演
Hiro Yoshioka
?
PDF
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
Hiro Yoshioka
?
PDF
未経験プログラマがコボルコンパイラを作った話 #compiler_study
Hiro Yoshioka
?
PDF
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
Hiro Yoshioka
?
PDF
海外から見た東京 ?人生100年時代の働き方? #efsta56
Hiro Yoshioka
?
PDF
理科系の作文技术
Hiro Yoshioka
?
PDF
Agile Software Development advanced course (PBL) at AIIT, 2015
Hiro Yoshioka
?
PDF
质问される力 #罢别肠丑骋颈谤濒蝉
Hiro Yoshioka
?
PDF
Oracle vs Google API 著作権裁判を考える
Hiro Yoshioka
?
PDF
Using oss at an internet company and hacker culture
Hiro Yoshioka
?
PDF
Be Hacker
Hiro Yoshioka
?
PDF
Project Based Learning using by PaaS
Hiro Yoshioka
?
PDF
IT勉強会 Anatomy of IT Study groups, seminars, conferences in Japan
Hiro Yoshioka
?
Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
Hiro Yoshioka
?
Infra study 2nd #1「インフラ技術者?研究者としてのキャリア」
Hiro Yoshioka
?
続?人生100年时代の学び方
Hiro Yoshioka
?
人生100年時代における学び方 定年後の学生生活
Hiro Yoshioka
?
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
Hiro Yoshioka
?
人生100年时代の学び方、脳には可塑性がある
Hiro Yoshioka
?
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
Hiro Yoshioka
?
翱厂厂との付き合い方。翱厂厂から学んだこと。翱厂厂贡献者赏受赏讲演
Hiro Yoshioka
?
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
Hiro Yoshioka
?
未経験プログラマがコボルコンパイラを作った話 #compiler_study
Hiro Yoshioka
?
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
Hiro Yoshioka
?
海外から見た東京 ?人生100年時代の働き方? #efsta56
Hiro Yoshioka
?
理科系の作文技术
Hiro Yoshioka
?
Agile Software Development advanced course (PBL) at AIIT, 2015
Hiro Yoshioka
?
质问される力 #罢别肠丑骋颈谤濒蝉
Hiro Yoshioka
?
Oracle vs Google API 著作権裁判を考える
Hiro Yoshioka
?
Using oss at an internet company and hacker culture
Hiro Yoshioka
?
Be Hacker
Hiro Yoshioka
?
Project Based Learning using by PaaS
Hiro Yoshioka
?
IT勉強会 Anatomy of IT Study groups, seminars, conferences in Japan
Hiro Yoshioka
?
Ad

Recently uploaded (6)

PPTX
[Liberaware] Engineer Summer Internship.pptx
koyamakohei
?
PDF
音学シンポジウム2025 招待讲演 远隔会话音声认识のための音声强调フロントエント?:概要と我々の取り组み
Tsubasa Ochiai
?
PDF
AWS BedrockによるIoT実装例紹介とAI進化の展望@AWS Summit ExecLeaders Scale Session
Osaka University
?
PDF
【础滨罢搁滨翱厂】人惫蝉生成础滨でジェスチャーゲームを础滨罢滨搁翱厂を使ってしてみた
ueda0116
?
PDF
フィシ?カル础滨时代のセキュリティ:ロホ?ティクスと础滨セキュリティの融合のあり方
Osaka University
?
PDF
React Native vs React Lynx (React Native Meetup #22)
Taiju Muto
?
[Liberaware] Engineer Summer Internship.pptx
koyamakohei
?
音学シンポジウム2025 招待讲演 远隔会话音声认识のための音声强调フロントエント?:概要と我々の取り组み
Tsubasa Ochiai
?
AWS BedrockによるIoT実装例紹介とAI進化の展望@AWS Summit ExecLeaders Scale Session
Osaka University
?
【础滨罢搁滨翱厂】人惫蝉生成础滨でジェスチャーゲームを础滨罢滨搁翱厂を使ってしてみた
ueda0116
?
フィシ?カル础滨时代のセキュリティ:ロホ?ティクスと础滨セキュリティの融合のあり方
Osaka University
?
React Native vs React Lynx (React Native Meetup #22)
Taiju Muto
?
Ad

不挥発性メモリ(狈痴惭)とはなにか