世界のスーパーコンピュータとそれを動かす人々


7月 16, 2024

ポイント・アンド・クリックHPC:高性能デスクトップ

HPCwire Japan

Doug Eadline オリジナル記事「Point and Click HPC: High-Performance Desktops

最近、Arxiv に「高性能研究用デスクトップの使用事例」という興味深い論文が掲載された。ここでいう「デスクトップ」とは、コンピュータそのものを指すのではなく、コンピューティングのデスクトップ環境を指す。

一見すると、HPC デスクトップという概念は、大規模なデータセンター HPC クラスタとは相反するもののように思えるかもしれない。しかし、HPC ユーザーの実際のワークフローを考慮すると、高性能デスクトップは現在の HPC 手法の自然な進化である。

一般的に、HPC ユーザーには 2 種類の環境が考えられる。1 つ目は、大規模なコンピューティングシステムにジョブを投入できるバッチ環境(Slurm など)である。バッチリクエストでは、ユーザーはリソース(CPU コア数、GPU、メモリ、ソフトウェアライセンスなど)を指定し、アプリケーション(ジョブ)を大規模システムに投入する必要がある。バッチジョブが送信されると、ユーザーは他の作業を行うことが可能である(この待ち時間には、ジョブが実行される前に待ちキューでも待機時間も含まれることが多い)。2つ目の環境は、ワークブックや可視化ツールなど、インタラクティブな環境を提供する、よりローカルなものだ。 (例えば、MATLAB、RStudio、VMDなどのインタラクティブなグラフィカルアプリケーションを実行する) 実際に、タンパク質を折りたたんだら、それをどのように見るだろうか?

論文では、「HPCデスクトップのすべての実装の背後にある統一コンセプトは、ユーザーが継続的にLinuxデスクトップにアクセスでき、デスクトップに組み込まれたすべてのツールを使用して研究を整理し実施できることである」と述べられている。さらに、論文では、HPCデスクトップの指針として、「ユーザーにノートパソコンやデスクトップ(この場合、デスクトップコンピュータ)と同等の性能を持つ便利で安定した環境を提供することで、HPCシステムへの参入障壁を下げる」ことが挙げられている。

管理されたスケジュールベースの HPC 環境とは対照的に、HPC デスクトップは複数のユーザーが同じ計算、ストレージ、ソフトウェア環境を共有する共有リソースとして存在するため、使用ポリシーに制約が加わる。論文にもあるように、複数の HPC センターや研究用コンピューティング組織が HPC デスクトップを導入している。繰り返しになるが、これらはクラスタサーバー上で稼働するリモートデスクトップである。

HPCデスクトップとしては、ThinLincNoMachineFastXなどのリモートアクセスソリューションがいくつか使用されている。これらのツールのいずれかを活用することで、HPCデスクトップはユーザーに、すべての組み込みツールにアクセスできる継続的なLinuxデスクトップを提供している。例えば、グラフィカルファイルブラウザ、グラフィカルエディタ、グラフィカルメニューへのアクセスなどのツールにより、アプリケーションを簡単に起動できる。これに対し、より伝統的な HPC 環境では、アプリケーションやファイルの管理はコマンドライン(SSH 接続)で行う必要がある場合が多い。

リモートソフトウェアツールで HPC デスクトップを導入するもう 1 つの利点は、ユーザーが数日あるいは数週間の間、HPC デスクトップへの接続を切断し、再接続できることである。この機能により、ノートパソコンでは難しい長時間のアプリケーション実行が容易になる。

ハードウェア環境が図に示されている。ユーザーは、ローカルLANまたはインターネット経由でHPCデスクトップサーバーに接続する。クラスタの一部として、デスクトップサーバーは通常、クラスタストレージおよびネットワークに接続されている。さらに、特定のクラスタノードは「対話型」に割当られており、対話型アプリケーションを実行するアプリケーションサーバーとして使用されている。通常、バッチスケジューラがこれらを管理しており、ジョブの実行を待たせることはないが、対話型セッションの数に制限を設けることができる。クラスタノードの大半は、依然としてパーティションに分割され、HPCバッチジョブに使用されている。

多くのクラスタは汎用サーバーで構成されるため、HPCデスクトップ環境の構築は、サーバーの役割を再割り当てし、ソフトウェアを設定するだけという簡単な作業で済む。実際、クラスタのリフレッシュやアップグレード後に、古いクラスタノードをこの目的で使用することも可能である。

HPCデスクトップの位置と、高性能コンピューティングおよびストレージシステムとの位置関係。 (出典: https://arxiv.org/pdf/2404.03298)

 

新規ユーザーを支援する

Linux のコマンドラインは、多くの HPC ユーザーにとって「参入障壁」となり得る。Linux と HPC 環境においてグラフィカルなファイルマネージャを使用できることは、習得のハードルが低いことを意味する。MacOS Finder や Windows File Explorer とは同じではないが、新しいユーザーでも Linux デスクトップ環境に「GUI」の概念を素早く適用できる。本論文では、グラフィカルなファイルマネージャを使用することで、多くの「難しい」コマンドライン操作をどのように実行できるかを説明している。

  • アーカイブファイルは、マウスでファイルを選択し、ファイルのコンテキストメニューから「ここに解凍」を選択することで簡単に解凍できる。
  • ディレクトリツリーからアーカイブを作成するには、ディレクトリのコンテキストメニューから「圧縮」を選択する。
  • ディレクトリツリーのプロパティを確認するか、ディスク使用量分析ツールを使用して、ディレクトリツリー全体が消費するストレージ容量を確認する。
  • 「コピー&ペースト」または「ドラッグ&ドロップ」を使用して、ファイルを保存場所から別の場所に移動させる(例えば、HOMEからSCRATCHへ)。
  • ファイルの削除は、ファイルを「ゴミ箱」に移動するか、右クリックしてポップアップメニューから「削除」を選択することで行う。ユーザーがファイルを簡単に復元できるように、「ゴミ箱」機能を用意する。
  • ファイルマネージャーでディレクトリをブックマークしておくと、ユーザーは異なるファイルシステムのマウントポイント(HOME、SCRATCH、PROJECTなど)を簡単に覚えることができる。
  • 「サーバーに接続」機能を使用して「外部」ストレージに接続する。この機能により、Windows ファイル共有からのデータ移動やクラウドストレージプロバイダーへの接続が容易になる。

HPC ジョブ管理

ファイル管理に加えて、HPCデスクトップはHPCジョブ管理をより簡単に実行できる環境を提供する。リストにあるように、多くの作業はグラフィカルな環境により適している。

  • ユーザーのマシンと HPC デスクトップ間でファイルを簡単に移動できる。
  • HPC デスクトップのウェブブラウザを使用して、ウェブ認証が必要なダウンロードの場合、ソフトウェアやデータセットを HPC ファイルシステムに直接ダウンロードできる。
  • rsync やテープアーカイブへのファイル移動など、長時間にわたるデータ移動操作。
  • ポストプロセッサ、可視化パッケージ、ノートブックなどの対話型アプリケーションで GfxLauncher を使用。
  • X-Forwarding を使用して HPC デスクトップに転送する対話型ジョブからグラフィカルデバッガを使用。
  • グラフィカルな統合開発環境を使用して、実行先となる HPC 環境と同じような環境でコードの記述、テスト、デバッグを行う。
  • Vampir、MAP、gprofng GUI、エヌビディア Nsight などのグラフィカルな HPC パフォーマンス解析ツールの実行。
  • HPC バッチスクリプトの作成と編集を行うグラフィカルエディタ。
  • 画像ビューアを使用して、HPCジョブで作成された視覚化をすばやく確認する。

さらなるHPC作業へ

HPCデスクトップは、グラフィカル・アプリケーションを長時間実行するのに便利な環境を提供する(セッションをブックマークして後で戻ることも可能)。この機能は、アプリケーションの実行時間が長いシリアルアプリケーションや、共有環境でうまく動作するような並列アプリケーションの場合に特に有用である。これらのアプリケーションは、データをコピーすることなく、大規模な中央ファイルシステム上のデータにアクセスすることができる。

ライセンスされたソフトウェアに関しては、HPCデスクトップは、個々のシステムにソフトウェアをインストールしてライセンスを取得することなく、限定されたライセンス数の集中共有が可能である。論文では、以下のようなHPC以外の利点についても言及している。

  • Jupyter NotebooksやR-Studioセッションを長時間実行できる。
  • SPSS、SAS、STATAのような統計ソフトウェアへのアクセス(並列ではないが長期間実行する必要がある統計スクリプトをサポートする)。
  • セントラルシステムでのみライセンスされるアプリケーションを実行する。(MATLAB、SPSS、Photoscan、その他のベンダーソフトウェアパッケージの共有ライセンスモデル)
  • VirtualGLを使用してローカルまたはリモートでGPUを使用する可視化ソフトウェア。
  • 大容量データを扱うが、集中的なCPUや過剰なメモリ使用を必要としないアプリケーションを実行する。

この論文では、教育と学習、クライアント・サーバー・アプリケーション、セキュア・エンクレーブなど、HPCデスクトップについてさらに多くの側面から言及している。

この論文では、HPC デスクトップが HPC システムに新しいユーザーを引き付け、従来の「ssh 専用」HPC システムを超えて、多くの機関のユーザー基盤を広げることに成功したことを指摘している。HPCデスクトップは、HPCエコシステムに対する独自の貢献により、すべての計算研究を実行するための単一の環境をユーザーに提供する。HPCがさらに主流になるにつれ、HPCデスクトップに関する活気あるコミュニティを形成することは、ベストプラクティス、イノベーション、経験を共有し、HPCデスクトップが科学的発見とイノベーションの実現に貢献し続けるために不可欠である。