模拟网格。模拟异常情况

SimGrid. Model abnormal situations

用主机网络对异常情况进行建模的SimGrid方法是什么?例如,如何为 link 路线的中断建模? Master 创建了一些 task 并将其 dsend 发送给工人。但是如果link坏了,这个任务就会丢失。但是 master 不知道损坏的 link 并且可能会继续 dsend 新的 taskworker

已更新

我将 .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]

SimGrid 中存在您需要的一切,名称为 failures,但不幸的是,文档很少。您想要将状态跟踪文件添加到您的主机或链接。

请参考the documentation or the platform tutorial。您可以在存档文件 examples/platforms/faulty_host.xml.

中找到使用示例

请注意,它描述的是主机的故障,但对于链接的故障也是完全一样的,也可以在 XML.

中给它一个状态文件。

消息并没有说发生了错误,而是说在没有被捕获的情况下引发了异常(UNCAUGHT EXCEPTION)。那么"What is the way to handle it?"题的答案就是加一个try/catch块。在 catch 块中做什么由您决定(重新发送、中止、显示消息,...),因为它是模拟应用程序的一部分,而不是模拟工具包的责任。