SimGrid。模型异常情况

时间:2016-04-17 16:46:53

标签: java simgrid

什么是使用主机网络对异常情况进行建模的SimGrid方法?例如,如何模拟链接路由的中断? Master为工作人员创建了一些taskdsend。但是如果链接断开,此任务将丢失。但是,master并不了解已损坏的链接,可能会继续dsendtaskworker

已更新

我将.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 个答案:

答案 0 :(得分:2)

您需要的所有东西都存在于SimGrid中,名称为失败,但不幸的是有点稀疏记录。您想要将状态跟踪文件添加到主机或链接。

请参阅the documentationplatform tutorial。您可以在文件examples / platforms / faulty_host.xml中找到存档中的使用示例。

请注意,它描述了主机的故障,但对于链路的故障则完全相同,也可以在XML中为状态文件提供。

答案 1 :(得分:2)

该消息并未表示发生了错误,但是已经引发了异常而未被捕获(UNCAUGHT EXCEPTION)。然后回答问题"处理它的方法是什么?"是添加一个try / catch块。 catch块中的操作取决于您(重新发送,中止,显示消息,......),因为它是模拟应用程序的一部分,而不是模拟工具包的责任。