java - Simgrid-java。 Master 向 Worker 发送指令

标签 java scheduled-tasks scheduling job-scheduling simgrid

想象一下这样的情况,我们有一个调度系统(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。 Master 向 Worker 发送指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36485083/

相关文章:

java - 为什么 javax MimeType 不实现 equals?

Java java.util.Stack 多弹出

scheduled-tasks - 如何使用 Windows 任务调度程序执行 cscript?

python - 安排运行脚本的时间和日期

java - 批处理作业 - 防止并发

java - 优化java 8流操作

java - java中如何将EL值赋给变量

java - 使用 ScheduledExecutorService 安排 Applet 启动

java - 通过Key区分优先级队列堆的时间复杂度

jakarta-ee - 多次运行的 Java 定时器服务