沟通工作是指员工在评估任务时可以相互沟通的工作。一个通信作业只包含一个任务,该任务同时运行在几个worker上,通常使用不同的数据。更具体地说,任务在每个worker上是重复的,因此每个worker可以在不同的数据集上执行任务,或者在大数据集的特定段上执行任务。每个worker可以在执行任务时相互通信。任务运行的功能可以利用工作人员的感知能力,即有多少工作人员正在运行该任务,哪些工作人员正在运行该任务,以及允许工作人员彼此通信的特性。
原则上,您创建和运行通信作业的方式与您创建和运行通信作业的方式类似项目独立工作:
定义并选择一个集群配置文件。
找到一个集群。
创建一个沟通工作。
创建一个任务。
提交要运行的作业。有关每个工作人员在评估任务时的表现的详细信息,请参见向作业队列提交作业。
检索结果。
下表总结了独立作业和通信作业之间的区别。
独立的工作 |
沟通工作 |
---|---|
MATLAB®工人们执行任务,但彼此之间不进行交流。 |
MATLAB工作人员可以在运行他们的任务时相互通信。 |
您可以在一个作业中定义任意数量的任务。 |
在作业中只定义一个任务。该任务的副本在运行通信作业的所有工作程序上运行。 |
任务不需要同时运行。当工人可用时,任务被分配给工人,因此一个工人可以在一个作业中执行几个任务。 |
任务同时运行,因此您只能在运行时可用的工人数量上运行作业。作业的开始可能会被推迟,直到有了所需的工人数量。 |
通信作业及其任务的一些细节可能取决于您使用的调度器的类型。下面几节讨论不同的调度器并解释编程注意事项: