什么是使用主机网络对异常情况进行建模的SimGrid方法?例如,如何模拟链接路由的中断? Master
为工作人员创建了一些task
和dsend
。但是如果链接断开,此任务将丢失。但是,master
并不了解已损坏的链接,可能会继续dsend
新task
到worker
。
已更新
我将.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]
答案 0 :(得分:2)
您需要的所有东西都存在于SimGrid中,名称为失败,但不幸的是有点稀疏记录。您想要将状态跟踪文件添加到主机或链接。
请参阅the documentation或platform tutorial。您可以在文件examples / platforms / faulty_host.xml中找到存档中的使用示例。
请注意,它描述了主机的故障,但对于链路的故障则完全相同,也可以在XML中为状态文件提供。
答案 1 :(得分:2)
该消息并未表示发生了错误,但是已经引发了异常而未被捕获(UNCAUGHT EXCEPTION)。然后回答问题"处理它的方法是什么?"是添加一个try / catch块。 catch块中的操作取决于您(重新发送,中止,显示消息,......),因为它是模拟应用程序的一部分,而不是模拟工具包的责任。