日本SGI 株式会社
[会社情報][ソリューション][サービス&サポート][製品情報]-
用語集

Beowulfクラスタ (Beowulf cluster):市販の小規模な標準システムから構築される大規模なコンピュータシステム。オープンソースのオペレーティングシステム(通常はLinux(R))を搭載し、並列処理が行なわれるノードを単位として、相互にネットワーク接続されます。システム全体の管理は1つのマスターノード(または"ヘッドノード")で行われます。Beowulfクラスタは1994年に、元NASAの研究者Donald BeckerとThomas Sterlingによって紹介され、以降着実に普及してきています。クラスタ(cluster)クラスタノード(cluster node)を参照

バイナリ互換 (binary compatibility):あるコンピュータやオペレーティングシステムで動作するアプリケーション(あるいは"バイナリデータ")を他のコンピュータやOSに移植する場合、修正やリコンパイルの必要なく動作可能であること。

ブリック (brick):SGI(R) Altix(R) 3000システムあるいはSGI(R) Origin(R) 3000システムを構成するモジュラー・コンポーネント。SGI(R) NUMAflexTMアーキテクチャによって接続されます。

キャッシュ・コヒーレンシ (cache coherency):専用のハードウェア機能を有するマルチプロセッサシステムによって保持されている状態のことで、全てのメモリとキャッシュ・データのコピーに対しての一貫性を保証します。キャッシュ・コヒーレントなシステムの場合、共有メモリあるいはキャッシュのデータ更新は、システム全体にわたる全てのデータのコピーに自動的に反映され、同一データの値が食い違うことを防ぎます。

クラスタ (cluster):複数の独立したシステムあるいはノードの集合体。全体で1つの共有されたリソースとして動作し、一般的にはインターコネクトで接続され、MPI(メッセージ・パッシング・インタフェースmessage-passing interface)のような分散プログラミング・モジュールを使用します。

クラスタノード (cluster node):クラスタ内の個々のコンポーネントシステム。クラスタノードは一般的に独自のプロセッサ、メモリ、ディスク、I/Oリソースを使用します。アプリケーションの一部を実行し、クラスタリング・スイッチを通してその結果を他のノードに通信します。ファットノード(fat node)シン・ノード(thin node)を参照

ドメイン (domain):オペレーティングシステムおよびメモリアドレス空間における単一のインスタンスのことで、ソフトウェアに単一システムとしての動作環境を提供します。SGI(R) スーパークラスタでは、必要に応じてドメインのサイズを拡張したり、縮小したりすることが可能です。また、メモリ、I/Oリソースを他のドメインと共有させることもできます。他のクラスタシステムの場合、ドメインのサイズはクラスタノードのサイズによって固定され、一般的には再構成することができません。また、他のドメインとリソースを共有することもできません。

Extreme Linux:Linuxコミュニティのメンバーによって推進された、特定分野専用のLinux開発を促進するプロジェクト。その対象範囲は、内蔵デバイスからスーパーコンピュータレベルのインストレーションにわたります。SGI ではLinux環境におけるプロセッサ数の拡張や、グローバル共有メモリクラスタ、I/Oやメモリハンドリングなどによるオペレーティングシステムのパフォーマンスによる拡張にフォーカスして、Extreme Linuxの活動を支援しています。

ファブリック (fabric):インターコネクトファブリック(interconnect fabric)を参照

ファットノード (fat node):ノード内に多数のコンピュータ、メモリ、I/Oリソースを収容する1つのクラスタノード。通常"ファット"とみなされるには、用途にかかわらず1ノードあたり少なくとも16個以上のプロセッサで構成されている必要があります。SGI Altix 3000スーパークラスタは、Linuxクラスタとして初めてファットノードに対応したシステムです。1ノードあたり最大で64プロセッサ、512GBメモリをサポートしています。

グローバル共有メモリ (global shared memory):全ノードのマイクロプロセッサやI/O装置を含む全てのシステムリソースから参照可能な、単一のメモリアドレス空間。グローバル共有メモリを持つシステムは、I/Oおよびネットワーク接続でボトルネックを生じることなく、システムメモリの全てのデータに直接、迅速にアクセスすることが可能となります。複数ノードで構成されるシステムでグローバル共有メモリを実装していない場合は、データのコピー(通常はメッセージ形式をとる)の受け渡しが必要になるため、プログラミングが非常に複雑になり、データ待ちによるプロセスの待ち時間を増大させ、パフォーマンスのスローダウンを引き起こします。グローバル共有メモリを実現するには、SGI(R) NUMAlinkTMのような精巧なシステムメモリのインターコネクトや、共有メモリを呼び出すためのSGI のMPTおよびXpmemなどアプリケーションライブラリが必要になります。

ハイプロダクティビティ・コンピューティング (high-productivity computing):理論のみで持続できないパフォーマンスレートに目を向けた"ハイパフォーマンス・コンピューティング"に対して、実際のアプリケーションでの持続できる高いパフォーマンスとワークフローの完結を推進することに注力するために使われるようになった用語。ハイプロダクティビティ・コンピューティングの実現には、ハイパフォーマンスなメモリシステムを通して演算、データ管理、可視化といった機能を緊密に統合するバランスのとれたアーキテクチャが必要となります。これにより、疎結合システムに顕著なワークフローのボトルネックを解消することができます。

インターコネクトファブリック (interconnect fabric):データ転送用ハードウェアで、システムやクラスタを構成するコンポーネントやノードを接続します。インターコネクトファブリックでは、シンプルな従来のネットワークから、特殊用途のクラスタインターコネクトおよびスイッチ、ハイエンドメモリチャネルおよびスイッチ(SGI NUMAlinkの場合)までをサポートします。インターコネクトファブリックの特性は、ハードウェアおよびアプリケーションのレイテンシ(ハードウェアインタフェース間とアプリケーション間でのデータシグナルの伝播時間)とバンド幅(ノード間で同時に転送できるデータ量の合計)によって決まります。

レイテンシ (latency):データシグナルの伝播にかかる時間の合計で、通常はラウンドトリップタイムとして測定されます。低レイテンシはプロセッサのデータ待ち時間が少なく、アプリケーションの処理速度が速いことを意味します。メモリレイテンシMPI レイテンシスイッチレイテンシを参照

メモリレイテンシ (memory latency):プロセッサがメモリやキャッシュからデータを取り出す際にかかるレイテンシの合計。メモリレイテンシには、ローカルメモリレイテンシとリモートメモリレイテンシの2種類があります。ローカルメモリレイテンシはシングルノードに対して測定されます。一方、リモートメモリレイテンシは、共有メモリシステムを使用して、1つのノードのプロセッサから他のノードのメモリへアクセスする場合に測定されます。リモートメモリレイテンシを算出するには、ローカルメモリレイテンシとスイッチレイテンシを加算する必要があります。

モジュール (module):システム内で容易に増設、削除、交換することができるシステムコンポーネント。ブリック(brick)参照

MPI(メッセージ・パッシング・インタフェースmessage-passing interface):特にクラスタのようなマルチプロセッサシステムで使用されるプログラミング・モデル。MPIを通して、一定間隔で個々のノードでの大規模な問題のサブセットの計算結果をノード間で通信します。

MPIレイテンシ (MPI latency):通常、クラスタ内でMPIモデルを使用して、ネットワークスイッチを介してソフトウェアがデータを送信するのに要するレイテンシ。MPIスイッチレイテンシを参照

ノード (node):クラスタノード(cluster node)を参照

非均一メモリアクセス(NUMA) (Nonuniform memory access (NUMA)):システム全体を通して必要に応じてメモリにアクセスすることを可能にすると同時に、プロセッサに隣接した("ローカル")メモリを極めて高速に割り当てることを実現するシステムアーキテクチャ。NUMAアーキテクチャは、プログラミング・モデルを変更することなく、真のアプリケーションの拡張性を実現できるため、技術計算アプリケーションを取り扱うシステムに共通して実装されます。

NUMAflex (SGI NUMAflexアーキテクチャ):業界をリードするスケーラビリティと大規模メモリハンドリングを提供する、独自のSGI(R) NUMAシステムアーキテクチャ。NUMAflexアーキテクチャは、容易な拡張性を実現するSGI "ブリック"つまり"モジュール"によって物理的に分割されたコンポーネントを相互接続して、単一のシステムとして構成します。

NUMAlink:SGI NUMAflexシステムのための高バンド幅、低レイテンシのインターコネクトファブリック。

パーティション (partition):分割されたオペレーティングシステムイメージが動作するドメインのこと。ノードに似ていますが、通常パーティションはサイズを自由に再構成できるのに対し、一般的なノードではサイズは固定されています。他のドメインと同様に、パーティションはシステムの他の部分とは独立して走行可能となります。

SGI ProPackTM (SGI ProPackTM for Linux(R)):Linux用のSGI のオーバーレイで、ハイパフォーマンス・コンピューティングのためにミドルウェアや機能を、ユーザーアプリケーションのバイナリ互換を損なうことなく、標準のLinuxディストリビューションに付加しています。付加機能には、ハイパフォーマンスI/Oインフラストラクチャ、MPI、その他最適化された科学技術計算用ライブラリ、ハイパフォーマンス・ファイルシステム(XFSTM)などが含まれています。

スケーラビリティ (scalability):システムにコンポーネントを追加し、それらコンポーネントをシングルリソースとして効果的に使用できる能力。"スケーラビリティ"は通常、ハードウェアプラットフォームによってサポートされるCPUやI/Oチャネルなどの数を指しますが、スケーラビリティを実質的に図る尺度は、システム全体としてのパフォーマンス(シングルタスクの実行に複数のコンポーネントを統合した結果としてのパフォーマンス)、あるいは効率(ノードやチャネルの追加に応じたパフォーマンスの向上)によって表されます。パフォーマンスのスケーラビリティとは、ソリューションのROIや対価格性能比に最も顕著に反映される要素です。これは、システム内の最速のコンポーネンツによって決まるのではなく、システムのボトルネックの制限によって決まります。つまり、クラスタにおいては、一般的にインターコネクトファブリックやシステムI/Oによって決まります。

共有メモリ (shared memory):グローバル共有メモリ(global shared memory)を参照

シングルオペレーティングシステム(OS)イメージ (single operating system (OS) image):単一のオペレーティングシステムのインスタンス。1パーティション、あるいは1つのOSが稼動される1システムのいずれかの形態をとります。SGI Altix 3000では、最大64個のIntel(R) Itanium(R) 2 プロセッサで単一のLinuxオペレーティングシステムイメージを構成可能です。

シングルシステムイメージ (single system image):通常、単一のオペレーティングシステムイメージ。"シングルシステムイメージ"は、"シングル管理イメージ"というべきシステムに用いられることもあります。1つのシステムで共有メモリなしに、オペレーティングシステムの複数のインスタンスを稼動し、システム管理者によってノード間のシステムトラフィックの監視あるいはスケジューリングを実行することを可能にします。 "シングルシステムイメージ"という用語が使われている場合、どちらの定義を指しているのか注意する必要があります。

SMP(対称型マルチプロセッシングsymmetric multiprocessing):複数のCPUが完全に独立して同時に処理することで、高速な処理パフォーマンスを実現するコンピュータアーキテクチャ。非対照型マルチプロセッシングと異なり、空きプロセッサにあらゆるタスクをアサインすることが可能で、CPUの追加によってパフォーマンスを向上させ、負荷増加に対応できます。SMPは単一のオペレーティングシステムを使用し、共通のメモリ、ディスク、I/Oのリソースを共有します。NUMAアーキテクチャは、一般的にはSMPを特化されたものとみなされます。

スイッチレイテンシ (switch latency):データがノード間のスイッチを横断する際のレイテンシ。コードにMPIを使用した場合、スイッチレイテンシはスイッチ自体のハードウェアレイテンシとMPIレイテンシの合計になります。SGI スーパークラスタのスイッチレイテンシは、従来のクラスタリング・インターコネクトファブリックを使用したシステムに比べて数倍から数十倍の速さを記録しています。

スーパークラスタ (supercluster):SGI NUMAflexアーキテクチャと業界標準のコンポーネントを統合したことで、Linuxシステムのスケーラビリティとパフォーマンスを新たな次元へ到達させたSGI Altix 3000システムのこと。SGI Altix 3000は、1ノードあたり最大64プロセッサまで接続可能な、業界初のファットノードを実現するLinuxシステムで、また同時にクラスタとしては初めてクラスタノード間でグローバル共有メモリの使用を可能にしています。SGI Altix 3000スーパークラスタは、クラスタの物理的特性を持つ一方、スーパーコンピュータに用いられるSGI NUMAlinkインターコネクトファブリックを使用することで、Linuxを新しい次元へと進化させています。

シン・ノード (thin node):少数のコンピュータ、メモリ、I/Oリソースで構成される1つのクラスタノード。通常シン・ノードとはその用途にかかわらず、2台までのプロセッサで構成されているものを指します。

ベクトル処理 (vector processing):1980年代から1990年代初頭にかけて一般的であったシステムプロセッサおよびアーキテクチャの手法。アプリケーションのコーディングで"ループ"オペレーションを繰り返すことで、メモリのデータ配列(あるいは"ベクトル")をシーケンシャルにプロセッサに読み込み、書き出します。ベクトル処理を行うには、メモリとプロセッサの間に高バンド幅が必要で、他にアプリケーションのアルゴリズムとループに応じたサイズ、ベクトルシステム用に最適化されコンパイルされたコードが必要になります。独自の仕様を持ついくつかのスーパーコンピュータでは、現在でも特定のアプリケーションにベクトル処理を用いています。

ワークフロー (workflow):エンドユーザが業務を遂行するための一連のタスクのサイクル。例えばワークフローには、データの収集、データからインフォメーション・プロダクトへの加工、コンセプトやアイデアの基点になる最終版の配布、プロトタイプの作成、プロダクトデザインの確認、最終的な製品化などがあります。単純にワークフローの1ステップの処理を速めることとは対照的に、ワークフローの最適化に焦点をあてたコンピュータソリューションは、プロセス全体に費やされるコストや時間の削減に焦点をあてています。ワークフローを向上させる最も効果的な方法は、フローをスローダウンさせるボトルネックを解消することです。共有メモリの実装は、データやビジュアライゼーション、コンピュータリソースのボトルネックを解消する最も効果的な方法となっています。