2009-03-02 3 views
1

私はこのシステムを、複数の異なるステージをパイプでつなぎ合わせたものです。 具体的には、私はtcp-ipを介して通信する多くの異なるプロセスを持っています。メッセージは、パケット指向のプロトコル(特定の条件が満たされている場合は、単一のワイヤプロトコルデータユニット でいっぱいにまとめることができます)を介して と交換されます。私も制御フローキューを持っています - 送信が失敗した場合、ソケットはブロックされません。 私はメッセージを待ち行列に入れたり、それらを送信待ち行列に合体させます。 もちろん、実行時に起こることはtcp ip control flowの下に依存するので、tcp ip queueもモデル化したいと思います。 質問は、私のシステムのシミュレーションを作成する方法について誰もが考えを共有することができますか? 私はそれのためのシミュレータを作るために思っている - それは次のとおりです。私は私のモデルを持っているすべてのキュー のキューデータ構造を持つプログラムは、各タイムティックのために、私は進化 すなわちsytstemの私の理解に応じてモデルを作ります私のモデルのtcpバッファのデータ構造に十分な空きがあるとすれば、出力キューにメッセージ番号 を減らし、tcpバッファモデルの空き領域カウンタをメッセージのサイズなどで減らします。 TCPリンク のための帯域幅に基づいた速度で TCPバッファが空にする(もちろん私は大量のデータをポンプてるという仮説を作ってるんだし、TCPリンク のための唯一のパラメータは帯域幅であること)。 このようなことを構築することは多くの努力のようであり、私はそれが私が必要としているものではないかと思います。 多分、私はスプレッドシートモデルを優秀なものにする方が良いかもしれませんが、どのように構造化するのかは分かりません。メッセージキューをモデル化する

答えて

0

あなたはdiscrete event simulationツールやライブラリを使用してモデルを作成するために、まだ役に立つが、単純かもしれません。モデルの理解できる形でアプリケーションの構造の大部分を複製する必要がありますが、メッセージ速度の異なる分布を注入するためのツールが用意されており、さまざまなシナリオで簡単に再生できます。

0

Ronald Szeto's TCP Simulatorを使用できます。これにはJavaインターフェイスがあります。私は、対になったキューで複雑になるようにはしません。お使いのシステムをモデル化し、このシミュレータを使用して基礎となるネットワーク条件をモデル化し、OSの場合と同じようにリンクします。私はおそらくあなたのアプリケーションのすべてのためのあなたの実際のシステム上に別のネットワークキューを持っていないと仮定しています。