PlanetSim とは

PlanetSimは、オーバレイネットワークとサービスのためのオブジェクト指向シミュレーションフレームワークです。このフレームワークは、古典的なデザインパターンを使用して文書化された、明確に定義されたホットスポットを持つ階層化されたモジュラーアーキテクチャを提示します。 PlanetSimでは、開発者はChordやPastryのような新しいオーバーレイアルゴリズムの作成とテスト、既存のオーバーレイの上に新しいサービスの作成とテスト(DHT、CAST、DOLRなど)の2つの主要なレベルで作業できます。
PlanetSimはまた、シミュレーションコードからインターネットで実行される実験コードへのスムーズな移行を可能にすることを目指しています。このため、ネットワーク通信を処理するラッパーコードを提供し、PlanetLabなどのネットワークテストベッドで同じコードを実行することができます。さらに、シミュレータ内の分散サービスは、構造化オーバーレイのための共通APIを使用します。これにより、シミュレータまたはネットワークに対して実行されているサービスへの完全な透過性が可能になります。
PlanetSimは、Java言語で開発され、複雑さを軽減し、フレームワークの学習曲線を円滑にします。しかし、合理的な時間にスケーラブルなシミュレーションを可能にするためにコードをプロファイリングし、最適化しました。このアプローチの有用性を検証するために、2つのオーバーレイ(Chord and Symphony)と、CAST、DHT、オブジェクトミドルウェアなどのさまざまなサービスを実装しました。私たちはPlanetSimがこれらの環境の測定値を再現し、ネットワーク実装においても効率的であることを証明しました。