SimGrid:如何检查主机是否正在执行任务?

SimGrid: How check Host is executing task or not?

在MasterWorker模拟中,Master有什么方法可以查看Worker的Host现在是否正在执行任务?

最简单的好像是用host.getHost()检查机器的负载。

另一个解决方案是检索主机的 cpu 资源,并检查 isUsed()。但是您不应该直接访问 cpu,因此检查负载会更好。

问题不清楚。想知道是机器(Host)还是进程(Worker)在忙什么?

对于工人来说,您处于 Java 世界。添加一个 "boolean busy" 字段及其 set/get 函数可以达到目的。当 worker 开始执行任务时,它会将此布尔值(针对其自身或其主机)设置为 true,并在完成后将其设置为 false。模拟中的任何其他对象都可以调用 getter 来了解您的要求。

对于宿主来说,也可以做类似的事情,但需要付出更多的努力。