如果不对计算任务(Task)进行并行加速,大部分计算任务将以串行方式执行,如图1.2所示。这里的Worker可以是一个计算核心,也可以是集群中的一个节点。
图1.2 串行执行的时间轴示意图
集群和异构计算提供了更多可用的计算核心,并行计算将计算任务分配到多个Worker上,如图1.3所示。无论是在单机多核编程还是集群多机环境中,都需要一个调度器(Scheduler)将计算任务合理分配到不同的Worker上。随着更多Worker的参与,任务的总执行时间缩短,节省的时间可用于其他任务。
图1.3 并行执行的时间轴示意图