从这里开始,使masterWorker模型复杂化的最佳方法是什么?
如何添加以下功能:每个工作人员可以同时执行任务的n
(除了在deployment.xml文件中部署n
processes
之外,还有其他方法吗?也许可以在platform.xml中使用core
属性?
如何为每个工人分配CPU
、GPU
、RAM
和storage
?如何使任务的执行时间取决于以上所有参数?
更新
我使用这样的代码:但我看不到多执行。
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()}
您真的不想破坏平台文件的现有结构,例如核心属性,因为它们实际上有意义。如果增加核心属性,主机将变成多核心,能够同时运行多个任务。当然,这可能是您想要的,如果您想对存储进行建模,那么您应该使用标记。
但是,如果您只想将任意数据(对资源的性能没有影响)附加到任意平台元素(如主机、链接、集群或其他),那么就选择属性。有几个使用归档中属性的示例。