并行计算的亲和性驱动分布式调度算法
在多核架构时代,高效调度并行计算以提高生产力和性能变得至关重要。分布式调度并行计算需要考虑亲和性,并实现高效的空间、时间和消息复杂度。本文将介绍一种新颖的亲和性驱动、在线、分布式调度算法,该算法能有效解决这些挑战。
1. 背景与问题提出
随着多核架构的发展,高效的局部性导向调度成为运行时系统面临的重要挑战。大规模并行多核架构具有非均匀内存访问(NUMA)特性,本地和远程内存延迟差距较大,若不能有效利用,会影响可扩展性。
X10、Chapel 和 Fortress 等语言基于分区全局地址空间(PGAS)范式,内置了线程和数据结构的初始放置支持,但运行时系统仍需提供高效的并行计算调度算法。
并行计算的调度面临诸多挑战,包括分布式调度、在线调度以适应动态执行图,以及遵循计算中的亲和性以减少通信开销。因此,需要解决的问题是:给定一个表示并行多线程计算的输入计算有向无环图(DAG)和一个由多个对称多处理器(SMP)组成的目标架构,确定一个分布式的在线调度方案,确保节点精确映射到指定位置,并实现低空间、时间和消息复杂度的执行。
2. 相关工作
- Cilk :推广了随机工作窃取策略,证明了在 SMP 平台上调度完全严格计算的空间和时间复杂度界限,但未考虑分布式环境中的局部性导向调度。
- 工作窃取与数据局部性 :在计算过程中动态发现和维护数据局部性,但不总是遵循亲和性,且仅限于 SMP 环境,未分析时间复杂度。
- 分布式内存环境中的工作窃取算法 </
超级会员免费看
订阅专栏 解锁全文
1324

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



