開発とコントリビューションを通じ Lustreの進歩を促進
この記事は、HPCwireに掲載された "Fostering Lustre Advancement Through Development and Contributions" の内容の日本語編集版となります。
この寄稿された文章において、DDNシニアプロダクトマネージャーのCarlos Aoki Thomazが、昨年4月にIntelが商用バージョンを終了し、Lustreの活動をオープンソース化して以来のLustreの進路についての展望を示しています。技術的に詳細な説明により、ThomazはLustreの開発においてDDNが行っているいくつかの戦略的投資を語ります。
はじめに
Intelのハイパフォーマンス・データ(HPDD)部門で組織変更が行われてから6ヵ月後、Lustreのコミュニティの大部分は、Lustreの開発に影響を与えたり、混乱させたりする可能性がある潜在的な変更について、初期の不安を解消しました。この技術を主な並列ファイルシステムとして採用した顧客は、世界で最も利用されている並列ファイルシステムの未来をより明確に把握できるようになりました。 Lustreは依然として強力であり、少なくとも予見可能な将来においては、永続的な並列ファイルシステムの分野を支配し続けるでしょう。
新しいLustreの開発と採用戦略は、予想よりも驚くほど単純で、より明確で一貫性があることが判明しました。古いWhamcloudの時代と同様に、Lustreの開発は単一コードの流れに戻ってきたので、さまざまなディストリビューション、機能、およびソースコードの差別化に関する混乱や認識の欠如を避けることができます。 2017年7月に静かにリリースされたバージョン2.10は、LustreのLTS(Long Term Support)リリースであり、2019年の初期から中期の段階で主流バージョンとなるはずです。
Lustreコミュニティの主要なコントリビュータとして、DataDirect Networks(DDN)は、2016年にLustreのすべての機能がLustreマスターブランチに統合されると発表しました。この統合により、コミュニティ全体がコードに透過的にアクセスできるようになり、コード開発管理のオーバーヘッドが削減され、Lustre 2.10でリリースされた新機能との整合性が向上します。
Lustre2.10 新機能
プログレッシブ・ファイルレイアウト/Progressive File Layouts(PFL)、プロジェクトクオータ、IB Multi-rail、NRS Delay Policyなど、Lustre 2.10では非常に洗練された機能が発表されました。
プログレッシブ・ファイルレイアウト/Progressive File Layouts(PFL)
PFLにより、システム管理者やユーザはファイルレイアウトやファイルのストライプ方法を調整できます。ストライプ数やストライプブロックサイズはファイルサイズによって異なる場合があります。プロセスでのストレージ管理を簡素化しながらPFLを活用することに大きな利点があるユースケースがいくつかあります。ストレージ管理者は、ファイルの種類ごとに標準のデフォルトレイアウトを定義して、ユーザがファイルレイアウトを自分で操作する必要性を最小限に抑えることができます(ただし、ユーザは依然として独自のレイアウトを定義できます)。ハイブリッド並列ファイルシステム(標準のHDDと混在するSSD/NVMeデバイス)でのフラッシュ技術の利用の増加に伴い、PFLおよびOSTプールを使用してデータの場所を最適化する洗練されたメカニズムを作成することが可能になりました。
プロジェクトクォータ
現在のLustreユーザの中で潜在的に最も必要性が高いもう1つの機能は、プロジェクトクォータです。プロジェクトクォータは、例えば特定のディレクトリに関連付けることができる「プロジェクト」ごとのクオータ定義を可能にします。以前は、Lustreは標準のPOSIXユーザとグループのQuotaしか許可していませんでした。 プロジェクトクォータでは、ユーザ、グループ、プロジェクト間の容量を管理し、容量と拡張を計画するという領域を一歩前進させます。プロジェクトクォータは、OST、サブディレクトリ、ファイルセットに基づいて、容量の制限を追加し、いくつかの異なるユースケースを管理するために必要な細やかさを提供します。
プロジェクトクォータに関連するパフォーマンスの影響については、さまざまなテストの結果は素晴らしく、標準のPOSIX Quotaと比較して劣化は見られませんでした。 プロジェクトクォータは、LustreがLDISKFSバックエンドで実行する機能です。
この機能は、Lustre 2.10にのみ搭載されていますが、この機能を担当するディベロッパであるDDNはEXAScaler 3.2(Lustre 2.7ベース)にバックポートしています。歴史的に言えば、Lustreの最新かつ最高のバージョンは、通常は最先端の技術を提供しますが、テストや検証されておらず安定化するために通常は数サイクルかかる、コードのチャンクという形で代償を支払うことになります。 プロジェクトクォータは現在Lustre 2.10に移行する準備ができていない膨大な数の顧客から必要とされているため、Lustre 2.7ユーザでもプロジェクトクォータを実行してフルサポートを受けることができるようになりました。 Lustre 2.7でプロジェクトクォータを実行している顧客がLustre 2.10にアップグレードする場合、データは完全に保存されます(2.7より前のLustreバージョンからLustre 2.10へアップグレードし、プロジェクトクォータを有効にするユーザは、ファイルシステムのリフォーマットが必要になります)。
IB Multi-rail
LNET IB Multi-railを使用すると、複数のInfiniBandアダプタを利用でき、Lustre LNETの帯域幅を集約できます。この技術は、イーサネットボンディングを通じてイーサネットユーザーに広く使用されています。以前は、InfiniBandユーザはインターフェイスを「結合」できず、1つのIBカードのパフォーマンスに何らかの形で制限されていました。特にクライアント側では帯域幅を増やす必要がありました。 HPE UVなどの新しいアーキテクチャには、複数のソケットと、複数のより大規模な計算ジョブを実行できる膨大なメモリがあります。これらのシナリオでは、CPU/メモリ対I/O比が不均衡になり、100Gbpsで動作するIB EDRでもボトルネックになる可能性があります。
IB Multi-railは、Lustreをより大きなSMPのようなノードで活用し、ネットワーク帯域幅のパフォーマンスを集約し、CPU/メモリとI/Oのバランスを保ちます。サーバ側では、最大の利点は高可用性機能です。複数のIBリンクを持つと冗長性が得られ、IBの障害によってサーバのフェイルオーバーが発生するシナリオを回避できます。ネットワーク障害のシナリオでは、障害とその復旧がパフォーマンスを損なうことなく透過的に処理されます。
NRS Delay Policy
負荷の下でLustreの復元力を検証する方法として高いサーバ負荷をシミュレートするNRS Delay Policyは、Lustre 2.10で導入されたもう1つの機能です。これは、フォルトインジェクションと負荷シミュレーションを実行するための有効な方法の1つです。通常、安定化フェーズ、パフォーマンスの特性評価、および全体的なデバッグ手法では非常に重要です。
最近発表されたこれらの機能に加えて、Lustreのポリシーエンジン(LiPE)の新しいアプローチが提案されています。ストレージポリシーを実行し管理する際のインストールとデプロイメントの複雑さを軽減します。 LiPEは、エンジンが次のことを可能にする一連のコンポーネントに依拠しています。
- Lustreメタデータターゲット(MDT)をすばやくスキャン
- ファイルシステムのオブジェクトのメモリ内マップを作成
- マッピングされた情報に基づいてデータ管理ポリシーを実装
このアプローチにより、ユーザは、Lustre HSMフックまたは外部データ管理(コピーツールなど)メカニズムを介してデータ自動化をトリガするポリシーを定義できます。
今後の開発計画
開発の次の段階では、LiPEをFile Heat Mapメカニズムと統合して、より自動化された透過的なデータ管理が可能になり、並列ストレージインフラストラクチャの利用効率が向上します。
Lustreのパフォーマンスに関して、コミュニティ内の新しいイニシアチブは、Lustreのサービス品質(QoS)の利用と構成を改善する可能性のある高度なツール(おそらくユーザーレベル)の実装を調査しています。これらの努力を支援するために、OSTレベルのToken Bucket Filterアルゴリズムに基づく新しいQoSアプローチが開発されました。システム管理者は、特定のOSTに対するユーザ/グループまたはジョブIDによって発行されるRPCの最大数を定義できます。スロットル・パフォーマンスはI/O制御と帯域幅の予約を提供し、より高い優先度のジョブをより予測可能な時間に実行し、I/O遅延によるパフォーマンスの変動を回避します。
新しいHPCの傾向に合わせて、LinuxコンテナベースのワークロードとLustreの統合に多大な労力が費やされ、コンテナ内にネイティブのLustreファイルシステム機能が提供され、新しいカーネルや専門的なAI/マシンラーニング・アプライアンスがサポートされます。
2017年は、Lustreコミュニティが非常に活発で成長していることが示され、Lustreを多くのHPCユーザ組織やデータセンタの「選択肢」として位置づけた、生産的な年でした。 2018年は、セキュリティ、パフォーマンス、リモートアクセスサービス(RAS)、データ管理機能の強化、さらにエンタープライズクラスの機能の追加を予定しているLustreのロードマップによって、このポジションが固まっていくことにご期待ください。
出典:HPCwire "Fostering Lustre Advancement Through Development and Contributions" January 17, 2018
筆者:Carlos Aoki Thomaz, DDN Senior Product Manager
リンク:
・Lustre 特集ページ(別ウィンドウ)
・Lustre 関連情報(別ウィンドウ)