2016-04-17 23 views
0

ホストのネットワークでSimGridの異常な状況をモデル化する方法とは何ですか?たとえば、リンクルートの破損をモデル化する方法はありますか? Masterは、taskdsendを作業者に作成します。しかし、リンクが切れた場合、この作業は失われます。しかし、masterは壊れたリンクを知らず、dsendの新しいtaskからworkerに続く場合があります。SimGrid。モデルの異常状況

を更新し

私はplatform.xmlのstate_file属性に.failファイルを追加しました。

PERIODICITY 10.0 
1.0 1 
2.0 0 

workerが機能しなくなるとエラーが発生します。 これを処理する方法は何ですか?

** SimGrid: UNCAUGHT EXCEPTION received on java(2): category: action canceled; value: 0 
** �; 
** Thrown by LHCb.Tier1() in this process 
[Tier1_1:LHCb.Tier1:(2) 2.000000] /builds/workspace/SimGrid-Multi/build_mode/Debug/node/simgrid-ubuntu-trusty-64/build/SimGrid-3.13/src/xbt/ex.c:140: [xbt_ex/CRITICAL] �; 

** In _ZN7simgrid4java11JavaContext4stopEv() at /builds/workspace/SimGrid-Multi/build_mode/Debug/node/simgrid-ubuntu-trusty-64/build/SimGrid-3.13/src/bindings/java/JavaContext.cpp:144 
** In SIMIX_process_yield() at /builds/workspace/SimGrid-Multi/build_mode/Debug/node/simgrid-ubuntu-trusty-64/build/SimGrid-3.13/src/simix/smx_process.cpp:1014 
** In simcall_execution_wait() at /builds/workspace/SimGrid-Multi/build_mode/Debug/node/simgrid-ubuntu-trusty-64/build/SimGrid-3.13/src/simix/libsmx.cpp:276 
** In MSG_parallel_task_execute() at /builds/workspace/SimGrid-Multi/build_mode/Debug/node/simgrid-ubuntu-trusty-64/build/SimGrid-3.13/src/msg/msg_gos.cpp:90 
** In MSG_host_del_task() at /builds/workspace/SimGrid-Multi/build_mode/Debug/node/simgrid-ubuntu-trusty-64/build/SimGrid-3.13/src/msg/msg_vm.cpp:521 
** In ExceptionOccurred() at /usr/lib/jvm/java-7-openjdk-amd64/include/jni.h:825 
** In ?? at [0x7f7aa8e09d98] 

答えて

2

あなたはそのために必要なすべてが障害の名の下に、SimGridに存在するが、残念ながら少しまばらに文書化。ホストまたはリンクに状態トレースファイルを追加する必要があります。

the documentationまたはplatform tutorialを参照してください。使用例は、アーカイブexamples/platforms/faulty_host.xmlにあります。

ホストの障害について説明していますが、リンクの障害についてはまったく同じですが、これもXMLで状態ファイルを指定することができます。

+0

私は質問を更新しました。 –

2

メッセージにエラーが発生したとは言わず、捕捉されずに例外が発生した(UNCAUGHT EXCEPTION)。次に、「それを処理する方法は何ですか?」という質問に対する答えです。 try/catchブロックを追加することです。 catchブロックで何をするかは、シミュレートされたアプリケーションの一部であるため、シミュレーションツールキットの責任ではなく、あなた次第です(再送信、中止、メッセージの表示など)。

+0

問題は、Cの例外で、バインディングの内部のバグのためにJavaシミュレーションが終了するということです。 –