从here复制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
UPDATED2
我添加了comm.test()但是当我希望第一个工作核心必须从master获得任务而第一个工作核心正在执行任务时,它对情况没有帮助。
commReceived = Task.irecv("Tier1_" + num);
if (commReceived.test()){
commReceived.waitCompletion();
task = commReceived.getTask();
commReceived = null;
task.execute()}
答案 0 :(得分:1)
将参数传递给进程的经典解决方案是将args序列化为字符串,并将它们作为部署文件的参数传递。该过程将把它们放在其主函数的参数中。
你真的不想搞乱平台文件的现有结构,比如核心属性,因为它们实际上意味着什么。如果增加核心属性,主机将变为多核,能够一次运行多个任务。这可能是你想要的,如果你想建模存储,那么你应该使用标签。
但是,如果您只想将任意数据(对资源的性能没有影响)附加到任意平台元素(例如主机,链接,集群或其他),那么请转到属性。有几个使用归档中的属性的示例。