我有简单的配置系统,其中有两个主机和它们之间的链接。
<link id="1" bandwidth="1Bps" latency="0"/>任务从一个主机发送到另一个主机:
msg_task_t task = MSG_task_create("name", 1, 1, NULL);
MSG_task_send(task, "worker");后一个主机在接收任务时计算时间:
XBT_INFO("time %g", MSG_get_clock());
MSG_task_receive(&task, "worker");
XBT_INFO("time %g", MSG_get_clock());我预计发送任务将持续1秒,但我有1.08247:
[worker:worker:(2) 0.000000] [example/INFO] time 0
[worker:worker:(2) 1.082474] [example/INFO] time 1.08247为什么会这样呢?
发布于 2017-12-03 21:31:59
这是因为默认的网络模型通过欺骗用户提供的BW和延迟值来考虑现实中观察到的内容。
检查http://hal.inria.fr/hal-00646896/PDF/rr-validity.pdf中的rational (也在TOMACS上发布)。
在代码中,您想要阅读cm02.cpp#L23,您将看到,如果您想要的模型可能不是大型系统的代表,但更容易理解,您应该通过在命令行中添加--cfg= not / model : CM02 02来切换到CM02。
https://stackoverflow.com/questions/47574779
复制相似问题