想象这样的情况,我们有一个调度系统(1个主机),例如,有6台计算机(工人)打算从调度系统执行指令。
在典型情况下,我们可以使用task = new Task(name, computingSize, communicationSize)。如果我们希望worker1开始处理任务,我们通常使用task.send(mailboxOfWorker1)

但是,当所有数据都存储在worker1主机上时,情况又如何呢?我们如何从调度系统(Master)向worker1发送指令以开始处理某些task(name, compSize, commSize)(当任务数据存储在worker1上时)。还是例如这种情况,我们如何像这样从调度系统向worker1发送指令-首先从worker2下载数据,然后(从worker2检索数据之后)开始在worker1上执行它们?

最佳答案

我认为您的问题中有两个问题。

首先,您想让worker1将任务发送到worker2。这是完全合法的,没有任何事情可以阻止您这样做。在示例中有很多示例,例如token_ring

然后,您希望在任务中附加一些其他信息。这也是完全合法的。在Java中,最好是声明一个派生Task的新类,并添加所需的额外字段。这也可以在许多示例中完成,例如bittorrentchordkademlia ...

关于java - Simgrid-java。将指令从船长发送给 worker ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36485083/

10-11 20:15