论文标题

任务处理计划扩展,以进行有效的同步和通信

Task-Graph Scheduling Extensions for Efficient Synchronization and Communication

论文作者

Bak, Seonmyeong, Hernandez, Oscar, Gates, Mark, Luszczek, Piotr, Sarkar, Vivek

论文摘要

数十年来,已经研究了任务图,以安排不规则并行应用程序,并将其整合到OpenMP等编程模型中。尽管许多高性能并行库基于任务图,但它们也具有其他调度要求,例如来自数据并行性的内部级别和内部阻止通信的同步。在本文中,我们将任务编程计划扩展为支持任务内的有效同步和通信。我们的调度程序避免了工人线程的僵局和过度检查,并完善了受害者的选择以增加同胞任务的重叠。据我们所知,我们的方法是第一个将帮派策划和窃取工作策划的方法。我们的方法已在板岩高性能线性代数库上进行了评估。相对于LLVM OMP运行时,我们的运行时分别显示了LU,QR和Cholesky的性能提高,高达13.82%,15.2%和36.94%,对不同配置进行了评估。

Task graphs have been studied for decades as a foundation for scheduling irregular parallel applications and incorporated in programming models such as OpenMP. While many high-performance parallel libraries are based on task graphs, they also have additional scheduling requirements, such as synchronization from inner levels of data parallelism and internal blocking communications. In this paper, we extend task-graph scheduling to support efficient synchronization and communication within tasks. Our scheduler avoids deadlock and oversubscription of worker threads, and refines victim selection to increase the overlap of sibling tasks. To the best of our knowledge, our approach is the first to combine gang-scheduling and work-stealing in a single runtime. Our approach has been evaluated on the SLATE highperformance linear algebra library. Relative to the LLVM OMP runtime, our runtime demonstrates performance improvements of up to 13.82%, 15.2%, and 36.94% for LU, QR, and Cholesky, respectively, evaluated across different configurations.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源