ソフトウェア アーキテクチャ
上の図に示されるように、SCore クラスタシステムソフトウェアは次のコンポーネントから構成されます:
- PMv2
PMv2 はクラスタ コンピューティング用低レベル通信ライブラリです。
PMv2 API (Application Program Interface) は、クラスタ コンピューティングにおいて多くの種類のネットワークや共有メモリに同一の方法でアクセスできるように慎重に設計されています。
Myrinet、Ethernet、Shmem用の PMv2 ドライバが実装済みです。
- SCore-D
プロセッサやネットワークのような、クラスタのリソースを利用する
ユーザ レベルのグローバル オペレーティング システムです。
種々の PM ネットワーク デバイスは SCore-D によって管理され、利用されます。
SMP クラスタや異種混在クラスタも、単一種クラスタと同様にサポートされます。
SCore-D は柔軟な並列ジョブ スケジューリング機構を提供します。
ユーザの並列ジョブは同時にかつ効率的に時間と空間が共有されます。
SCore-D によって先制的で一貫したチェックポイントが提供され、
チェックポイントの間隔時間を指定するだけで、どんなユーザ プログラムでもチェックポイントされます。
- SCASH
PMv2 を用いたソフトウェア DSM (Distributed Shared Memory) システムです。
update と invalidate の両方のプロトコルを用いた Lazy Release Consistency
モデルを採用しています。
- MPICH-SCore
MPICH-SCORE は MPICH をベースとした、
プロセス間通信に PM II を用いた MPI のライブラリです。
MPICH-SCore はワークステーションや PC、SMP クラスタでの高性能な MPI です。
詳細は MPICH-SCoreドキュメントを参照してください。
- YAMPI-SCore
YAMPIは、東京大学石川研究室が中心となって開発されたMPI通信ライブラリです。YAMPI環境で作成されたアプリケーションバイナリは、SCore環境だけでなく通常のLinux上でも稼働します。GridMPIの実装のコア部にも使われています。
- MPC++
C++ のテンプレート機能を用いた、C++ のマルチスレッド拡張です。
これによって同期/非同期リモート関数の呼び出し機構、同期構造体、
グローバルポインタや、ほかにも様々な機能が提供されます。
詳細は MPC++ Level0: Multi-Threaded
Template Library のページを参照してください。
SCore-D は MPC++ で記述されています。
- SCOUT
scout(1) プログラムは SIMD スタイルのリモート UNIX シェル環境を提供します。どのような UNIX コマンドも、クラスタのホスト上で並列に実行できます。
SCoreでは、次のサーバがシステムの保持のために実行されます:
- クラスタ データベース サーバ
SCore クラスタ システム ソフトウェアが要求する全てのクラスタの情報は
scoreboard(8) サーバによって保持されます。
- 計算ホストロックサーバ
計算ホストロックサーバ (msgbserv(8)) は、他のユーザがクラスタの
ホストを使うのを阻止する、ロック機構を提供します。
msgb コマンドはクラスタのユーザに、現在のクラスタの状態を見ることを
許します。
並列アプリケーション プログラムのユーザは msgbserv サーバを通して、
ホストを専有します。
このロックの管理は SCore ランタイム ライブラリとリンクされたユーザ
プログラムによって自動的に行われます。
- システム情報サーバ
scbcast(8) サーバーは SCore-D オペレーティング システムによって
生成されたシステムの情報を取得し、それをクライアントに配布します。
scbcast は SCore-D オペレーティング システムとクライアントが
開始するより前に呼び出されなければなりません。
利用可能な環境の紹介については以下の節を参照してください: