arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2007.07977cs.DC
收藏

一种自适应自调度循环调度器

An Adaptive Self-Scheduling Loop Scheduler

Joshua Dennis Booth, Phillip Lane

摘要:

许多共享内存的并行不规则应用程序,如稀疏线性代数和图形算法,依赖于有效的循环调度(LS)在fork-join方式,尽管每个循环迭代的工作可以根据应用程序和输入有很大的不同。由于其重要性,许多不同的方法,例如,工作负载感知自调度和参数,例如,块大小,以实现需要关于应用和输入的专家先验知识的合理性能。这项工作提出了一种新的LS方法,需要很少的专家知识,以实现加速接近那些调整LS方法的自我管理块大小的基础上的启发式的工作量的变化和使用工作窃取。该方法名为\ichunk,已在libgomp中实现以供测试。它针对OpenMP的引导,动态和taskloop方法进行了评估,并针对BinLPT和一系列应用程序的通用工作窃取进行了评估,这些应用程序包括:合成基准,广度优先搜索,K-Means,分子动力学代码LavaMD和稀疏矩阵向量乘法。在28线程Intel系统上,\ichunk是唯一一个始终是三大LS方法之一的方法。在所有应用程序中,平均而言,\ichunk是最好的方法的5.4%以内,甚至能够优于其他LS方法的广度优先搜索和K均值。

英文摘要:

Many shared-memory parallel irregular applications, such as sparse linear algebra and graph algorithms, depend on efficient loop scheduling (LS) in a fork-join manner despite that the work per loop iteration can greatly vary depending on the application and the input. Because of its importance, many different methods, e.g., workload-aware self-scheduling, and parameters, e.g., chunk size, have been explored to achieve reasonable performance that requires expert prior knowledge about the application and input. This work proposes a new LS method that requires little to no expert knowledge to achieve speedups close to those of tuned LS methods by self-managing chunk size based on a heuristic of workload variance and using work-stealing. This method, named \ichunk, is implemented into libgomp for testing. It is evaluated against OpenMP's guided, dynamic, and taskloop methods and is evaluated against BinLPT and generic work-stealing on an array of applications that includes: a synthetic benchmark, breadth-first search, K-Means, the molecular dynamics code LavaMD, and sparse matrix-vector multiplication. On 28 thread Intel system, \ichunk is the only method to always be one of the top three LS methods. On average across all applications, \ichunk is within 5.4% of the best method and is even able to outperform other LS methods for breadth-first search and K-Means.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑