Ubuntu Weekly Topics

2019年1月7日新春特別号 2019年のUbuntuとそれを取り巻く環境

この記事を読むのに必要な時間:およそ 4 分

SSDとHDDの価格逆転,Intel Optaneと新しいメモリモデル

2019年にPC業界で生じる大きな変化として,⁠SSDとHDDの価格逆転」があります。

容量単価そのものはSSDのほうが劣る状態は続くであろうものの,順調に進むと「もっとも廉価なモデルで比較すると,HDDよりもSSDの方が安い」注7という状態が生じる可能性が高く,おそらく「市販されているPCのうち,安いモデルにはSSDが積まれている」⁠2TBや3TBといった数字のインパクトを重視して,ミッドレンジ以上の価格帯ではHDDが残る)という構図が現実になると思われます。

直接的にUbuntuに大きな影響を及ぼすものではないものの,⁠多くのユーザーがSSDを利用している」状態に切り替わることで,SSDを前提にしたメンテナンス機能がより充実していくことが考えられます。

注7
なぜこのようなことが起きるかというと,HDDを構成するモーターとプラッタと制御基板のコストは(特にモーターのせいで)1台あたりの限界コストがある程度のラインに存在するものの,SSDは本質的にNANDメモリが載った制御基板でしかないので,モーターやプラッタに比べるとより安くできる,という構造があります。これに加えて,⁠メインのストレージの容量はある程度を越えると増やす意味が薄くなる」=容量単価が安くても特に意味のない限界がある,という構造があり(たとえば,たいていの「ふつうに売られている」PCにとってはメインのストレージは1TBもあれば十分で,これよりも容量を増やしても顧客にとっての価値はあまり増えません)⁠結果として「HDDである必要性がどこにもない」という状態がやってきます。このことはSSDが投入された10年ほど前から継続して言われてきており,2018年から今年にかけて現実化すると見られます。

また,今年発生する「面白い」技術的変化の一つとして,Intelの⁠Optane⁠(3D XPoint)があります。

Intel Optane(コードネームCold Streamは,3D XPointを利用したメモリ製品に与えられているブランド名で,⁠次世代のSSD」的な立ち位置にあるメモリ技術です。

現時点において,Intel Optaneには,既存製品として大きく分けて次の3つの製品ラインが存在します。

  • 16GBライン(NVMe/M2フォームファクタ)
  • 50-120GBライン(NVMe/M2 or PCI Express x4フォームファクタ)
  • 240GB+ライン(NVMe/M2 or PCI Express x4フォームファクタ)

それぞれの用途は次のようになっています。

  • 16GBライン:NVMeデバイスとしてアクセスされるが,ソフトウェア的な支援により,HDDのキャッシュとして機能する。これにより,頻繁にアクセスされる読込主体のデータの高速化がもたらされる。
  • 50-120GBライン:NVMeデバイスとしてアクセスする。主に,OSを導入する領域として利用する。既存のNVMe SSDよりも高速。
  • 240GB+ライン:OSを導入したり,ランダムアクセス性能が要求されるストレージ(例:データベース用)として利用する。かつてのioDriveと類似する用途。

いずれもおおむね,⁠高性能なSSD」から離れるものではありません。Ubuntu的には,いずれもLinuxカーネルから見たドライバはnvme.ko(NVMeデバイス用の汎用ドライバ)で利用できる注8ため,現時点で利用できます。いずれもPCIe接続で利用できるものである,と言い換えることもできるでしょう。

注8
ただし16GBラインで利用される高速化ソフトウェアはLinux版は提供されていないので,ただの16Gドライブとして扱うことになります)⁠

2019年に投入されるであろうOptaneの新ラインであるIntel Optane DC Persistent Memoryがあります。これは既存の「PCIe接続」のストレージデバイスとは異なり,DDR4互換のNVDIMMとして投入されます。性能や容量単価はDRAMとNANDフラッシュメモリの間に位置する可能性が高く,これまでの常識をいくつか書き換える可能性があります。

……これだけだと業界の人が「あああれね」と納得して終わってしまうので,簡単にみていきましょう。

まず,NVDIMM(電源を切ってもデータを保持できるDIMM,すなわちメインメモリ)はすでにいくつか製品として投入されています。

NVDIMMを利用するメリットは,⁠電源を切ってもデータが失われないメインメモリ」という,新しい概念を利用できることにあります。ごく単純にNVDIMMを利用するには,メインメモリの一部をRAMベースのファイルシステムとしてマッピングします。これにより,⁠広帯域・低レイテンシの高速なストレージ」として扱うことができます。

また,DIMM上にあるデータは電源を切ると失われてしまうので,インメモリデータベースのような「メモリ上にデータが存在する」ことが前提のワークロードを実行するには,ストレージからデータを読み込むというある種の「余熱」が必要になります。NVDIMMはデータが保持されるので,⁠余熱」不要なメインメモリ,という使い方もできます。

これだけでもストレージの遅さに困らされている業界人を喜ばせるには十分なのですが,Optane Persistent Memoryが業界の常識を変える可能性があるのは,こうした使い方だけではありません。NVDIMMの存在を前提としてOSがメモリアクセスのあり方を変えることで,⁠これまで」のPCの常識の何割かが書き換わる可能性があります。

CPUから見た「メインメモリ」は,DIMM(DRAM)で構成された「高速だが電源が切れると失われる」ものと,NVDIMM(Optaneやその類似デバイス)で構成された「そこまで高速では無いが,電源が切れても保持される」ものの2種類に分かれることになります。現時点のWindowsやLinuxはこの前提を織り込んだものになっていませんが,実装が上手く進めば,早ければ2019年中にはこの前提が取り込まれ,⁠2種類のメモリを使い分ける」状態が実現されることになります。

これはUbuntuを含めた,各種デスクトップ環境に大きな影響を与える変化になります。

たとえば,そもそも「ストレージ」という概念が必要な理由は「電源を切るとメモリにあるデータは失われてしまう」ことにあります。⁠メモリにあるデータが消えない」という前提が導入されると,⁠PCのシャットダウン」という操作は,単にCPUや周辺デバイスを不活性化することを意味するようになるかもしれません。サスペンド(メモリへの通電は維持したままデバイスを不活性化する)や,ハイバネート(メインメモリの中身をストレージに書き出してデバイスを不活性化する)も,この文脈では大きく形を変えることになるでしょう。スイートスポット以外はできるだけNVDIMM側にデータを置いておき,性能が要求される領域だけをDRAM上に保持する,といったモデルになると,⁠シャットダウン」は,DRAM上にある領域をNVDIMMに書き出す処理が中心になるはずです。

もちろんOptaneは現状で(DRAM比では廉価なものの)NANDフラッシュメモリよりも数倍高価なので,ただちに世界が変わるほどの変化がやってくるわけではありませんが,徐々に常識が書き換わっていくことになるでしょう。また,これに併せてストレージとしてのOptaneも量産効果で価格が落ちていくことになる可能性が高く,⁠とにかく高性能なストレージが欲しい」という用途にも適合していくことになります。

UbuntuがNVDIMM Readyになる時期を正確に予測することは困難ですが,20.04 LTSでの搭載は業界動向から見てほぼ必須であり,逆算すると19.10に搭載されることを期待できそうに思えます。

その他の傾向

  • 今年は5G通信が実用化される最初の年でもあり(日本国内では2020年が主戦場になります)⁠さまざまな通信が無線にシフトしはじめる年になります。
  • 2018年は,Steam PlayProtonによって,⁠Linuxでゲームをプレイする」ことが現実的になった年でした。ここから今年,Linuxでのゲーミング事情がどのように変化するかを予測することは困難ではありますが,この2, 3年のゲーミング市場の拡大を考えると,Ubuntuにも何らかの変化が訪れるかもしれません。
  • 2019年の技術的トレンドとして,SGXSEVを前提にしたメモリの中身を保護するメカニズムがあります。これらはハイエンドな動画コンテンツやブロックチェーンのような,⁠利用者にもメモリの中身を見せたくない」タイプの処理に使われるはずです。Ubuntuからもこれらが利用できるようになる可能性は高いと思われます。
  • 2018年に業界を騒がせた⁠Spectre⁠の,Variant 2対策になる⁠Enhanced IBRS⁠をハードウェアサポートしたプロセッサがおそらく2019年前半にはリリースされるはずです。

著者プロフィール

吉田史(よしだふみひと)

システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。