GPFS

GPFS
開発者IBM
フルネームIBM スペクトラムスケール
紹介された1998AIX (1998年
制限
最大ボリュームサイズ8 YB
最大ファイルサイズ8 EB
最大ファイルファイルシステムあたり2 64
特徴
ファイルシステムの権限POSIX
透過的な暗号化はい
他の
サポートされているオペレーティングシステムAIXLinuxWindowsサーバー

GPFSGeneral Parallel File System、ブランド名はIBM Storage Scale、旧称IBM Spectrum Scale[ 1 ]は、 IBMが開発した高性能なクラスター化ファイルシステムソフトウェアです。共有ディスクまたは共有なしの分散並列モード、もしくはこれらの組み合わせで導入できます。世界の大手商業企業の多くや、Top 500 Listにランクインしているスーパーコンピュータの一部で使用されています。[ 2 ] 例えば、2019年11月のトップ500リストで世界最速のスーパーコンピュータ1位となったオークリッジ国立研究所Summit [ 3 ]のファイルシステムです。 [ 4 ] Summitは、 9,000基を超えるPOWER9プロセッサーと27,000基のNVIDIA Volta GPUで構成された200ペタフロップスのシステムです。ストレージファイルシステムはAlpineと呼ばれています。[ 5 ]

一般的なクラスタファイルシステムと同様に、GPFSはクラスタの複数ノードで実行されるアプリケーションへの高速な同時ファイルアクセスを提供します。AIXクラスタLinuxクラスタ、[ 6 ] 、 Microsoft Windows Server 、またはx86PowerIBM Zプロセッサアーキテクチャ 上で動作するAIX、Linux、Windowsノードの異機種混在クラスタで使用できます。

歴史

GPFSは、1993年にIBMアルマデン研究所の研究プロジェクトであるTiger Sharkファイルシステムとして始まりました。Tiger Sharkは当初、高スループットのマルチメディアアプリケーションをサポートするために設計されました。この設計は、科学計算にも非常に適していることが判明しました。[ 7 ]

もう一つの祖先は、1992年から1995年にかけてIBMのトーマス・J・ワトソン研究所の研究プロジェクトとして開発されたIBMのVestaファイルシステムである。 [ 8 ] Vestaは、並列I/Oサブシステムを備えた高性能マルチコンピュータ上で実行される並列アプリケーションのニーズに対応するために、ファイルパーティショニングの概念を導入した。パーティショニングでは、ファイルはバイト列ではなく、並列にアクセスできる複数の分離したシーケンスになる。パーティショニングは、ファイルシステムをホストするI/Oノードの数と種類を抽象化し、I/Oノード内のデータの物理的な分布に関係なく、ファイルのさまざまな論理的に分割されたビューを可能にする。分離したシーケンスは並列アプリケーションの個々のプロセスに対応するように配置されるため、スケーラビリティが向上する。[ 9 ] [ 10 ]

Vesta は 1994 年頃に PIOFS ファイルシステムとして商品化され、[ 11 ]、1998 年頃に GPFS に引き継がれました。[ 12 ] [ 13 ]古いファイルシステムと新しいファイルシステムの主な違いは、GPFS では Vesta/PIOFS によって提供されていた特殊なインターフェースが標準のUnix APIに置き換えられたことです。つまり、高性能な並列 I/O をサポートする機能はすべてユーザーから隠され、裏で実装されていました。[ 7 ] [ 13 ] GPFS は関連製品の IBM Multi-Media Server や IBM Video Charger と多くのコンポーネントを共有していたため、多くの GPFS ユーティリティの名前がmm (マルチメディア) で始まっています。[ 14 ] : xi

2010年、IBMはGPFSのバージョンをプレビューしました。これにはGPFS-SNCと呼ばれる機能が含まれています。SNCはShared Nothing Clusterの略です。これは2012年12月にGPFS 3.5で正式にリリースされ、現在はFPO [ 15 ](File Placement Optimizer)と呼ばれています。

建築

これはクラスター化されたファイルシステムです。ファイルを1MB未満の設定されたサイズのブロックに分割し、複数のクラスターノードに分散させます。

このシステムは標準的なブロックストレージボリュームにデータを保存しますが、RAIDブロックストレージシステムと同様に、これらのボリュームを仮想化して冗長性と並列アクセスを実現するRAIDレイヤーを内蔵しています。また、上位ファイルレベルでボリューム間のレプリケーション機能も備えています。

アーキテクチャの特徴は次のとおりです。

  • ディレクトリツリーを含む分散メタデータ。ファイルシステムを管理する単一の「ディレクトリコントローラ」や「インデックスサーバー」は存在しません。
  • 非常に大きなディレクトリのディレクトリ エントリの効率的なインデックス作成。
  • 分散ロック。これにより、排他的ファイルアクセスのロックを含む、完全なPOSIXファイルシステムセマンティクスが可能になります。
  • パーティション対応。ネットワーク障害が発生すると、ファイルシステムが2つ以上のノードグループに分割され、各ノードはグループ内のノードのみを参照できるようになります。これはハートビートプロトコルによって検出され、分割が発生した場合、形成された最大のパーティションについてはファイルシステムは稼働状態を維持します。これにより、ファイルシステムのグレースフルデグレードが可能になり、一部のマシンは動作を継続します。
  • ファイルシステムのメンテナンスはオンラインで実行できます。ファイルシステムのメンテナンス作業のほとんど(新しいディスクの追加、ディスク間のデータの再バランス調整など)は、ファイルシステムが稼働している間に実行できます。これにより、ファイルシステムの可用性が最大化され、ひいてはスーパーコンピュータクラスタ自体の可用性も最大化されます。

その他の機能には、高可用性、異機種クラスタでの使用機能、災害復旧、セキュリティ、DMAPIHSMILMなどがあります。

Hadoop分散ファイルシステム(HDFS)と比較して

Hadoopの HDFS ファイルシステムは、RAIDディスクやストレージ エリア ネットワーク(SAN) のないデータセンターなどの汎用ハードウェアに、同等またはそれ以上の量のデータを保存できるように設計されています。

  • HDFS はファイルをブロックに分割し、異なるファイルシステム ノードに保存します。
  • GPFSは完全なPosixファイルシステムのセマンティクスを備えています。[ 16 ]
  • GPFSはディレクトリインデックスやその他のメタデータをファイルシステム全体に分散します。一方、Hadoopは、これらのメタデータをプライマリネームノードとセカンダリネームノードという大規模なサーバー上に保存するため、すべてのインデックス情報をRAM内に保存する必要があります。
  • GPFSはファイルを小さなブロックに分割します。Hadoop HDFSは、ネームノードのストレージ要件を削減するため、 64MB以上のブロックを推奨します。小さなブロックや多数の小さなファイルはファイルシステムのインデックスを急速に埋め尽くすため、ファイルシステムのサイズを制限してください。

情報ライフサイクル管理

ストレージプールを使用すると、ファイルシステム内のディスクをグループ化できます。管理者は、パフォーマンス、局所性、信頼性などの特性に基づいてディスクをグループ化することで、ストレージ階層を作成できます。例えば、1つのプールに高性能なファイバーチャネルディスクを、もう1つのプールに経済的なSATAストレージを配置するといったことが可能です。

ファイルセットはファイルシステム名前空間のサブツリーであり、名前空間をより小さく管理しやすい単位に分割する手段を提供します。ファイルセットは管理境界を提供し、クォータの設定に使用したり、ポリシーで指定して初期データ配置やデータ移行を制御したりすることができます。1つのファイルセット内のデータは、1つ以上のストレージプールに格納できます。ファイルデータの格納場所と移行方法は、ユーザー定義ポリシーの一連のルールに基づいて決定されます。

ユーザー定義ポリシーには、ファイル配置とファイル管理の2種類があります。ファイル配置ポリシーは、ファイルの作成時にファイルデータを適切なストレージプールに送信します。ファイル配置ルールは、ファイル名、ユーザー名、ファイルセットなどの属性によって選択されます。ファイル管理ポリシーでは、ファイルのデータの移動や複製、あるいはファイルの削除が可能です。ファイル管理ポリシーを使用すると、ディレクトリ構造内のファイルの場所を変更せずに、あるプールから別のプールにデータを移動できます。ファイル管理ポリシーは、ファイルの最終アクセス時刻、パス名、サイズなどのファイル属性によって決定されます。

ポリシー処理エンジンはスケーラブルで、複数のノードで同時に実行できます。これにより、数十億個のファイルを含む単一のファイルシステムに管理ポリシーを適用し、数時間で完了させることができます。

参照

参考文献

  1. ^ 「GPFS (General Parallel File System)」 IBM。2022年9月23日時点のオリジナルよりアーカイブ2020年4月7日閲覧。
  2. ^ Schmuck, Frank; Roger Haskin (2002年1月). 「GPFS: 大規模コンピューティングクラスタ向け共有ディスクファイルシステム」(PDF) . FAST'02 Conference on File and Storage Technologies 議事録. カリフォルニア州モントレー: USENIX. pp.  231– 244. ISBN 1-880446-03-0. 2011年4月9日にオリジナルからアーカイブ(PDF)されました。 2008年1月18日閲覧
  3. ^ 「Summit compute systems」 . オークリッジ国立研究所. 2018年11月21日時点のオリジナルよりアーカイブ2020年4月7日閲覧。
  4. ^ “2019年11月 top500 リスト” . top500.org. 2020年1月2日時点のオリジナルよりアーカイブ2020年4月7日閲覧。
  5. ^ 「Summit FAQ」オークリッジ国立研究所2020年4月7日閲覧。
  6. ^ Wang, Teng; Vasko, Kevin; Liu, Zhuo; Chen, Hui; Yu, Weikuan (2014年11月). 「BPAR: 分離I/O実行のためのバンドルベースの並列集約フレームワーク」. 2014 International Workshop on Data Intensive Scalable Computing Systems . IEEE. pp.  25– 32. doi : 10.1109/DISCS.2014.6 . ISBN 978-1-4673-6750-9. S2CID  2402391 .
  7. ^ a b May, John M. (2000).高性能コンピューティングのための並列I/O . Morgan Kaufmann. p. 92. ISBN 978-1-55860-664-7. 2008年6月18日閲覧
  8. ^ Corbett, Peter F.; Feitelson, Dror G.; Prost, J.-P.; Baylor, SJ (1993). 「Vestaファイルシステムにおけるファイルへの並列アクセス」. 1993 ACM/IEEE スーパーコンピューティング会議論文集 - Supercomputing '93 . オレゴン州ポートランド、アメリカ合衆国: ACM/IEEE. pp.  472– 481. doi : 10.1145/169627.169786 . ISBN 978-0818643408. S2CID  46409100 .
  9. ^ Corbett, Peter F.; Feitelson, Dror G. (1996年8月). 「Vesta並列ファイルシステム」(PDF) . ACM Transactions on Computer Systems . 14 (3): 225– 264. doi : 10.1145/233557.233558 . S2CID 11975458. 2012年2月12日時点のオリジナルよりアーカイブ. 2008年6月18日閲覧 {{cite journal}}: CS1 maint: bot: 元のURLステータス不明(リンク
  10. ^ Teng Wang; Kevin Vasko; Zhuo Liu; Hui Chen; Weikuan Yu (2016). 「クロスバンドル集約による並列入出力の強化」. The International Journal of High Performance Computing Applications . 30 (2): 241– 256. doi : 10.1177/1094342015618017 . S2CID 12067366 . 
  11. ^ Corbett, PF; DG Feitelson; J.-P. Prost; GS Almasi; SJ Baylor; AS Bolmarcich; Y. Hsu; J. Satran; M. Snir; R. Colao; BD Herr; J. Kavaky; TR Morgan; A. Zlotek (1995). 「IBM SPコンピュータ向け並列ファイルシステム」(PDF) . IBM Systems Journal . 34 (2): 222– 248. CiteSeerX 10.1.1.381.2988 . doi : 10.1147/sj.342.0222 . 2004年4月19日時点のオリジナルよりアーカイブ。 2008年6月18日閲覧 {{cite journal}}: CS1 maint: bot: 元のURLステータス不明(リンク
  12. ^ Barris, Marcelo; Terry Jones; Scott Kinnane; Mathis Landzettel Safran Al-Safran; Jerry Stevens; Christopher Stone; Chris Thomas; Ulf Troppens (1999年9月). Sizing and Tuning GPFS (PDF) . IBM Redbooks, International Technical Support Organization. 1ページ目(「GPFSはPIOFSファイルシステムの後継です」)を参照。2010年12月14日時点のオリジナルよりアーカイブ。 2022年12月6日閲覧{{cite book}}: CS1 maint: bot: 元のURLステータス不明(リンク
  13. ^ a bマーク、スニール (2001 年 6 月)。「スケーラブルな並列システム: 貢献 1990 ~ 2000 年」(PDF)。カタルーニャ工科大学コンピュータ アーキテクチャ学部の HPC セミナー。2008 年 10 月 15 日にオリジナルからアーカイブ(PDF)されました2008 年 6 月 18 日に取得
  14. ^一般並列ファイルシステム管理およびプログラミングリファレンスバージョン3.1 (PDF)。IBM。2006年4月。
  15. ^ 「IBM GPFS FPO (DCS03038-USEN-00)」(PDF) . IBM Corporation. 2013 . 2012年8月12日閲覧
  16. ^ Stender, Jan; Kolbeck, Björn; Hupfeld, Felix; Cesario, Eugenio; Focht, Erich; Hess, Matthias; Malo, Jesús; Martí, Jonathan (2008年6月22日~27日). 「Striping without Sacrifices: Maintenanceing POSIX Semantics in a Parallel File System」(PDF) . 2008 USENIX Annual Technical Conference . 2025年8月12日閲覧.