vPlacer:优化并行作业性能的协同调度器
1. 前提假设
在研究并行作业调度时,有以下几个重要假设:
- 并行作业的节点数量应小于虚拟化系统的物理节点数量。这意味着虚拟化系统要有足够的 CPU 资源来承载现实世界中的并行作业,这对于服务器提供商尤为重要。
- 非并行域假定处于繁忙运行状态。在虚拟化系统中,虚拟 CPU(vCPU)按比例共享物理 CPU(pCPU),每个 vCPU 会被分配一定时间来占用 pCPU。
- 并行作业的节点仅用于执行该并行作业。如果并行节点内存在串行作业,其作为并行工作负载的身份就无法确定。
- 假设每个虚拟机(VM)只有一个 vCPU,即单处理器机器。在传统集群中,并行作业的每个节点通常会分配一个专用核心来执行并行作业的子任务,以避免干扰。
2. 虚拟化环境下的性能问题
在虚拟化环境中,每个 VM 与同一运行队列中的其他 VM 共享 pCPU 的使用,这会导致串行作业的执行性能相较于在专用核心上运行的作业有所下降。假设一个 pCPU 的运行队列中有 n 个 VM,那么队列中的每个 VM 将被分配 1/n 的 pCPU 资源。因此,在 VM 上运行串行作业的性能是在独立机器上运行串行作业性能的 1/n,即执行时间将是独立机器的 n 倍。
并行作业会被划分为多个子任务,每个子任务将在不同的节点(或 pCPU)上执行。在虚拟化系统中,通过同步调度并行作业的节点,并行作业的最佳性能应该是在专用核心上原生性能的 1/n。
然而,并行节点的同步执行会受到三个问题的影响:
- pCPU 过度分配给 vCPU。由于信用调度器不了解并行作业,多个并行节点可能会被分配到同一个
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



