Characterizing and mitigating work time inflation in task parallel programs

Characterizing and mitigating work time inflation in task parallel programs
复制标题

描述和减轻任务并行程序中的工作时间膨胀

DOI:
--
复制
发表时间:
2012
期刊:
International Conference for High Performance Computing, Networking, Storage and Analysis
影响因子:
--
通讯作者:
J. Prins
J. Prins
中科院分区:
--
文献类型:
--
作者:
Stephen L. Olivier;B. Supinski;M. Schulz;J. Prins

文献摘要

被引文献

相似文献

任务并行提高了共享内存并行编程的抽象级别,从而简化了复杂应用程序的开发。然而,由于线程空闲、调度开销和工作时间膨胀(多线程计算中线程花费的额外时间超过顺序计算中执行相同工作所需的时间),任务并行应用程序可能会表现出较差的性能。我们确定了每个因素的贡献,在各种任务并行的OpenMP应用程序的效率损失,并诊断在这些应用程序的工作时间膨胀的原因。增加的数据访问延迟会导致NUMA系统中的工作时间显著增加。我们的任务并行OpenMP程序的本地化框架减轻了工作时间膨胀的原因。我们对Qthreads库的扩展表明,与英特尔OpenMP任务调度器相比,本地感知调度可将性能提高3倍。
Task parallelism raises the level of abstraction in shared memory parallel programming to simplify the development of complex applications. However, task parallel applications can exhibit poor performance due to thread idleness, scheduling overheads, and work time inflation -- additional time spent by threads in a multithreaded computation beyond the time required to perform the same work in a sequential computation. We identify the contributions of each factor to lost efficiency in various task parallel OpenMP applications and diagnose the causes of work time inflation in those applications. Increased data access latency can cause significant work time inflation in NUMA systems. Our locality framework for task parallel OpenMP programs mitigates this cause of work time inflation. Our extensions to the Qthreads library demonstrate that locality-aware scheduling can improve performance up to 3X compared to the Intel OpenMP task scheduler.