Simgrid-java。 Master 向 Worker 发送指令

Simgrid-java. Sending instructions from Master to Worker

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

但是当所有数据都存储在 worker1 主机上时呢?我们如何从调度系统(Master)向worker1发送指令开始处理一些task(name, compSize, commSize)(当任务数据存储在worker1上时)。或者比如这样的情况,我们如何从调度系统发送指令到worker1——首先从worker2下载数据,然后(从worker2获取数据后)开始执行它们(在工人 1 上)?

我认为你的问题有两个问题。

首先,你想让worker1给worker2发送任务。这是完全合法的,没有什么可以阻止您这样做。例子中有很多这样的例子,比如token_ring.

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