レッスン:ソケット・ダイレクト・プロトコルの理解


レッスン:ソケット・ダイレクト・プロトコルの理解このセクションは、近く予定されているJava SE 7リリースの機能と表記規則を反映するために更新されています。 最新のJDK7スナップショットはjava.netからダウンロードできます。


ハイパフォーマンス・コンピューティング環境では、ネットワーク上で素早く効率的にデータを移動する機能が不可欠です。 このようなネットワークには、一般に高いスループットと短い待機時間が要求されます。 高いスループットとは、長期的に大量の処理能力を提供できる環境を指します。 また短い待機時間とは、リアルタイム・アプリケーションに求められる環境のように、入力を処理してから出力を提供するまでの遅延が最小化されていることを意味します。

このような環境では、ソケット・ストリームを使用した従来のネットワーキングによってデータの移動時にボトルネックが生じる可能性があります。 1999年にInfiniBand Trade Associationによって市場投入されたInfiniBand(IB)は、ハイパフォーマンス・コンピューティングへのニーズに対応するために開発された製品です。 IBが提供するもっとも重要な機能の1つに、リモート・ダイレクト・メモリ・アクセス(RDMA)があります。 RDMAを使用すると、コンピュータのオペレーティング・システムをバイパスすることで、コンピュータ間でメモリからメモリへと直接データを移動することができます。その結果、大幅なパフォーマンス向上が達成されます。

ソケット・ダイレクト・プロトコル(SDP)は、InfiniBandファブリックを介したストリーム接続をサポートするために開発されたネットワーキング・プロトコルです。 SDPのサポートは、Solarisオペレーティング・システム("Solaris OS")に配置されたアプリケーションを対象に、Java SE 7のJava Platform, Standard Edition("Java SE Platform")で導入されました。 SDPとInfiniBandは、Solaris 10 5/08以降のSolaris OSでサポートされています。