SCALO Scalability-Aware Parallelism Orchestration for Multi-Threaded Workloads

SCALO Scalability-Aware Parallelism Orchestration for Multi-Threaded Workloads
复制标题

适用于多线程工作负载的 SCALO 可扩展性感知并行编排

DOI:
10.1145/3158643
复制
发表时间:
2017
影响因子:
1.6
通讯作者:
Georgakoudis G
Georgakoudis G
中科院分区:
计算机科学3区
文献类型:
--
作者:
Georgakoudis G

文献摘要

相似文献

通过额外的内核和复杂的内存层次结构增加更多的并行性,共享内存机器的规模不断扩大。通常,同时执行多个应用程序(将它们划分为硬件线程)比执行具有大量线程的单个应用程序可提供更高的效率。然而,共享资源的争用可能会限制并发应用程序执行的改进:编排每个应用程序使用的线程数量,这是至关重要的。在本文中,我们贡献了 SCALO,一个编排并发应用程序执行以提高吞吐量的解决方案。 SCALO 在运行时监视共同执行的应用程序以评估其可扩展性。其优化线程分配器分析这些可伸缩性估计,以适应每个程序的并行性。与以前的方法不同,SCALO 的不同之处在于包括对可伸缩性的动态争用影响以及在并行区域执行期间控制并行性。因此,当其他最先进的方法失败时,它可以提高吞吐量;当其他最先进的方法成功时,它的性能比它们高出 40%。
Shared memory machines continue to increase in scale by adding more parallelism through additional cores and complex memory hierarchies. Often, executing multiple applications concurrently, dividing among them hardware threads, provides greater efficiency rather than executing a single application with large thread counts. However, contention for shared resources can limit the improvement of concurrent application execution: orchestrating the number of threads used by each application and is essential.In this article, we contribute SCALO, a solution to orchestrate concurrent application execution to increase throughput. SCALO monitors co-executing applications at runtime to evaluate their scalability. Its optimizing thread allocator analyzes these scalability estimates to adapt the parallelism of each program. Unlike previous approaches, SCALO differs by including dynamic contention effects on scalability and by controlling the parallelism during the execution of parallel regions. Thus, it improves throughput when other state-of-the-art approaches fail and outperforms them by up to 40% when they succeed.