独立行政法人 産業技術総合研究所【理事長 吉川 弘之】(以下「産総研」という)グリッド研究センター【センター長 関口 智嗣】は、ネットワークの精密な帯域制御とトラフィックの平滑化を行うソフトウェアPSPacer1.0を公開しました。PSPacer1.0は、従来専用ハードウェアを用いなければ実現できなかった精密な帯域制御・平滑化を、Linuxが動作する一般のPC上で実現しています。バーストトラフィックの発生を抑え、インターネットを用いた遠距離広帯域通信の効率化や、ストリーム配信の品質向上に寄与します。
|
PSPacerを使用しない通常の通信では、パケット送信間隔にかたより(バーストトラフィック)が発生し、スイッチやルータのバッファオーバーフローを引き起すためにパケット消失が生じる。
PSPacerを使用するとパケットを等間隔に送信するため安定した通信が可能。 |
インターネットで用いられるIP通信では、短時間に多くのパケットがまとまって送られるバーストトラフィックが発生して利用可能な帯域を一時的に超えてしまうことがあります。すると、ネットワークの中間にあるスイッチやルータのバッファオーバーフローを引き起こし、パケット消失が生じて実効通信性能が著しく低下する可能性があります。通常のPCやストリーミングサーバなどでは、バーストトラフィックの発生が避けられず、通信品質が低下してしまいます。これを抑えるためには、利用可能な帯域に応じてパケットを等間隔に送信する平滑化処理が必要です。
産総研グリッド研究センターでは、平滑化によりバーストトラフィックを抑えることで効率よく通信が行えることに注目し、ハードウェアを用いた平滑化装置を開発・利用してきました。この技術をさらに広く利用できるようにするために、ソフトウェアで平滑化を実現するPSPacerの開発を行いました。
なお、本ソフトウェアの開発の一部は、文部科学省「経済活性化のための重点技術開発プロジェクト」の一環として実施している超高速コンピュータ網形成プロジェクト(NAREGI: National Research Grid Initiative)により行われました。
従来、ソフトウェアによりパケットの送信間隔を制御する場合、タイマ割り込みが用いられてきました。Linux等のオペレーティングシステムが提供するタイマ割り込みは通常1~10ms程度の間隔であり、送信間隔の制御を精密に行うことはできませんでした。一方、タイマ割り込みの間隔を短くすると、プロセッサの負荷が大きくなり、計算機の計算性能や通信性能に悪影響を与えるという問題がありました。
PSPacer1.0では、タイマ割り込みではなく、パケットとパケットの間に別のパケット(ギャップパケット)を送信するという手法により送信間隔を制御しています。ギャップパケットの数や大きさを制御することにより、送信間隔を精密に制御することができるようになりました。ギャップパケットは、スイッチやルータの入力ポートで破棄されるため、ネットワークに影響を与えることはありません。
一般的なPCを用いて100以上のコネクションを別々に帯域制御・平滑化できます。ギガビットイーサネットの場合、IP通信のコネクションごとに8Kbps~930Mbpsの範囲で送信帯域を設定でき、帯域に合わせてパケットの送信間隔を1バイトのデータ送信に要する時間単位の高い精度で制御します。
PSPacer1.0は、Linuxのローダブルカーネルモジュールとして実装されており、簡単に導入可能で、デバイスドライバにも依存しません。PSPacer1.0を導入した後、IPアドレスやポート番号によるパケット振り分けルールを記述し、帯域制御・平滑化を行う通信のインタフェースと帯域を指定するだけで動作します。ネットワークを利用するアプリケーションの変更も不要です。また、IPv6にも対応しています。
PSPacer1.0を用いると、送信帯域の変動が最小限に抑えられ、バッファオーバーフローの可能性を低減します。このため、ネットワークの物理帯域の利用効率を飛躍的に増大させることができます。
PSPacer1.0は、以下のような用途で有効です。
-
遠距離広帯域のTCP/IP通信
インターネットの通信で広く用いられているTCP/IPでは、往復遅延時間ごとに送信可能なデータの最大量を制御しています。このため、遅延が大きい遠距離ネットワークでは、バーストトラフィックが発生しやすくなります。PSPacer1.0を用いれば、大陸間のような遅延が非常に大きな環境でもネットワークの帯域の9割以上を利用できます。
-
同一経路を通して複数の通信が行われる場合
ストリーム配信などで、ネットワーク上の同一の経路を用いて複数の通信を行う場合、それぞれの通信のバーストトラフィックが重なって、利用可能な帯域を簡単に超えてしまうことがあります。PSPacer1.0を用いれば、それぞれの通信の帯域が設定値を超えることはなくなり、ネットワークの帯域を最大限に利用できます。
PSPacer1.0は、GNU GPL(General Public License)に従ったオープンソース・ソフトウェアとして配布され、GridMPI (http://aist-itri.github.io/gridmpi/)からダウンロード可能です。