2016-04-17 35 views
0

什麼是模擬異常情況與主機網絡的SimGrid方式?例如,如何建模鏈接路線的中斷? Master創建一些taskdsend它的工人。但是如果鏈接斷開,這個任務將會丟失。但master不知道有關斷開的鏈接,並可能繼續dsendtaskworkerSimGrid。模型異常情況

修訂

我添加.fail文件platform.xml的state_file屬性。

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 documentationplatform tutorial。您可以在文件examples/platforms/faulty_host.xml中找到存檔中使用的示例。

請注意,它描述了主機的故障,但鏈路故障完全相同,在XML中也可以給出狀態文件。

+0

我更新了問題。 –

2

該消息並未說明發生了錯誤,但發現了一個異常但未被捕獲(未發現異常)。然後回答「處理它的方式是什麼?」是添加一個try/catch塊。由於它是模擬應用程序的一部分,而不是模擬工具包的責任,所以在catch塊中做什麼取決於您(重新發送,中止,顯示消息...)。

+0

問題是,這是一個C異常,因爲綁定中的內部錯誤而導致java仿真死亡。 –

相關問題