SimGrid.如何向master worker模型添加附加参数



从这里开始,使masterWorker模型复杂化的最佳方法是什么?

如何添加以下功能:每个工作人员可以同时执行任务的n(除了在deployment.xml文件中部署n processes之外,还有其他方法吗?也许可以在platform.xml中使用core属性?

如何为每个工人分配CPUGPURAMstorage?如何使任务的执行时间取决于以上所有参数?

更新

我使用这样的代码:但我看不到多执行。

commReceived = Task.irecv("Tier1_" + num);
commReceived.waitCompletion();
task = commReceived.getTask();
commReceived = null;
task.execute

更新2

我添加了comm.test(),但当我期望worker的第二个核心必须从master接收任务,而worker的第一个核心正在执行任务时,这对这种情况没有帮助。

commReceived = Task.irecv("Tier1_" + num);
if (commReceived.test()){
    commReceived.waitCompletion();
    task = commReceived.getTask();
    commReceived = null;
    task.execute()}
向进程传递参数的经典解决方案是将参数序列化为字符串,并将其作为部署文件的参数传递。该过程将把它们放在其主要函数的参数中。

您真的不想破坏平台文件的现有结构,例如核心属性,因为它们实际上有意义。如果增加核心属性,主机将变成多核心,能够同时运行多个任务。当然,这可能是您想要的,如果您想对存储进行建模,那么您应该使用标记。

但是,如果您只想将任意数据(对资源的性能没有影响)附加到任意平台元素(如主机、链接、集群或其他),那么就选择属性。有几个使用归档中属性的示例。

最新更新