はじめに
2018年4月9日から13日に米コロラド州ボルダーで開催された「14th Annual OpenFabrics Alliance Workshop (以下OFAWS)」に参加した。
筆者の OFAWS 参加は 3度目か 4度目のはずである。当社 (VA Linux Systems Japan K.K.) に来てからは最初なので、10年振り近い。前回参加したときは組織の名前が現在の OpenFabrics Alliance (OFA) ではなく OpenIB Alliance だったように思う。
IB は InfiniBand である。InfiniBand 機器ベンダーとそのビックユーザの集まりである。OpenIB Alliance 結成に至る話は今回のキーノートで紹介があった。以下に抜粋を意訳したものを示す。なお、文字起こしと翻訳の過程で内容は不正確な可能性があるが悪しからず。
インテルの中から見ていると、業界は契約が切れて消えかねないように見えました。私たちは、組む必要を感じている同志を、会話を通して見つけ、組織を作りました。それが OpenIB の誕生だと思います。当時、DoE が非常に活発で、オラクルが非常に積極的でした。 Mellanox, Topspin, Silverstorm (Infinicon) といった業界パートナーが一緒になって、人々が InfiniBand を使用できるようにソフトウェアインターフェースを標準化するためのコミュニティとして、どのようなことができるか話し合いました。 2004年の春に OpenIB が結成され、組織は長年にわたり拡大しました。エキサイティングな旅でした。興味深いのは、この組織がいかに成功したかということです。 2003年、我々は InfiniBand あるいは RDMA クラス・ファブリックを使ったシステムから始めました。NCSAの最新のリストでは、トップ 500 の 60% 以上が OpenFabrics ソフトウェアによるネットワークを使用しています。これは注目に値します。 |
ウィキペディアによると、サポートネットワーク媒体として iWARP が加わって 2006年に OpenFabrics になったとある。
OpenIB Alliance については OSDN の記事 (https://mag.osdn.jp/04/07/05/1440246) が詳しいのでそちらを見て頂きたい。
当時筆者は InfiniCon という InfiniBand 機器ベンダーの代理店からいろいろと機材をお借りして Linux 上のネットワークファイルシステムを InfiniBand 上で動かしたりしていた。
InfiniBand のソフトウェアスタックがベンダー毎にあって、特定のベンダーの機材でしか動かない状況だったように思う。
それが OpenIB のソフトウェアスタック、OpenFabrics Enterprise Distribution (OFED) の登場のおかげで改善された。基本的に、OpenIB Verbs 上で実装しておけばよくなったのである。
その後、OFA とそのプロダクトがどのような変遷を遂げたのか筆者は知らない。「これまでは単調なものです。」とあるので、いろいろあったのだろうと想像する。
参加の目的
今回筆者が久方ぶりに OFAWS に来ようと思ったのは、リモートパーシステントメモリ (以下RPM) に関する新しい情報を仕入れるためである。
結果を先に言うと、これまで SNIA がパーシステントメモリのプログラミングモデル (SNIA NVM Programming Model) を推進してきたが、今後これに OFA の OFIWG が加わる。
詳しい話は “OFA Think Tank Session: Remote Persistent Memory” セッションが YouTube (https://youtu.be/WmvVIdBgZQY) で公開されているので参照して欲しい。
OFI というのは OpenFabrics Interface で、OpenIB Verbs (libibverb) を InfiniBand 以外のファブリックにも拡張したもの(libfabric) という理解である。つまり各種ファブリックを抽象化し、その上のソフトウェアのポータビリティを高めるものである。
OFI および libfabric については Sean Hefty 氏のプレゼンテーションを YouTube (https://youtu.be/VApk4lkXsDg) で見てほしい。論文もある (https://alln-extcloud-storage.cisco.com/ciscoblogs/libfabric-hoti-2015-final-submission.pdf)。
OFI は、ユースケースを出発点に必要な API を抽出する開発手法をとっており、アプリケーションセントリックと呼んでいる。リモートパーシステントメモリ (RPM) についてもユースケースを募り、必要な API を設計、実装していこうという計画である。
今回の OFAWS で Think Tank と呼ばれる、プレワーキンググループのようなものが組織され、期間中議論されたアウトプットが上述の “OFA Think Tank Session: Remote Persistent Memory” のセッションである。
一方、そもそもパーシステントメモリ、リモートと区別してローカルパーシステントメモリ (以下 LPM) はどう使うのかという話から、RPM に向けてファブリック側に必要な機能拡張の話に至る一連のセッションもあったので、YouTube のリンクを記載する。
- Overview of Persistent Memory Programming (https://www.youtube.com/watch?v=ZH8rCwjvQ9I)
- Persistent Memory Programming – the Remote Access Perspective (https://www.youtube.com/watch?v=oeBPzUyZbXo)
- Persistent Memory over Fabrics – Beyond High Availability (https://www.youtube.com/watch?v=00rRCfUmZNI)
また、PM 含め、いろんなメモリに関する話もあって、こちらも紹介したかったが諸般の事情でまだ和訳が出来ていない。時間が出来たら上記リストに追加したいと思う。
OFAWS の雰囲気その他
参加者は司会者に直接質問したところ 100人という話だったが、そこまで居たかなという感じである。日本人の参加者は少ない (確認できたのは 3名)。前回もそんな感じだったがもう少し多かった気がする。
セッションが 40近くあり、聴衆の半分はスピーカーでもあるので、全体から受ける印象としてはいわゆる「中の人」ばかりである。私より高齢の人が沢山いる。これは前回も同じ。
話の内容は、AI とか Big Data 関連の話題の比率が HPC を上回っている。キーノートでもそんな話があった。HPC に対してHPDA (High Performance Data Analysis) と言うらしい。ほぼ全て技術的な話で、マーケティング的な内容はほぼない。
各セッションの概要は (https://www.openfabrics.org/images/2018workshop/OFA-Workshop-Abstracts_2018_4_9.pdf) を参照してほしい。
感想
リモートパーシステントメモリの登場はメモリセントリックアーキテクチャへの移行を加速するだろうと皆思っているようではある。
これは再びOS屋に仕事が来る良い兆しかもしれない。ただ、それがすぐに来るという感じはしなかった。SNIA にくらべて OFA は冷静な印象である。
メモリセントリックといえば HPE の The Machine が有名だが、The Machine が採用しているといわれるメモリセマンティックインタコネクト Gen-Z も OFI (libfabric) に対応するという話である。
ソフトウェア資産の継承という意味では当然かもしれない。
メモリセマンティックインタコネクトの登場で今後 OFI がどう変わっていくのか、このあたりの技術動向を注視しようと思う。