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

构建可移植的分层多处理器线程调度器:BubbleSched框架

Building Portable Thread Schedulers for Hierarchical Multiprocessors: the BubbleSched Framework

Samuel Thibault, Raymond Namyst, Pierre-André Wacrenier

摘要:

利用当前越来越多的分层多处理器机器的全部计算能力需要在底层非统一架构中非常仔细地分配线程和数据。不幸的是,大多数操作系统只提供了一个较差的调度API,它不允许应用程序向系统传输有价值的调度提示。在之前的文章中,我们展示了使用基于气泡的线程调度器可以以可移植的方式显著提高应用程序的性能。然而,由于多线程应用程序有各种调度要求,没有通用的调度程序可以满足所有这些需求。在本文中,我们提出了一个框架,允许调度专家实现和实验定制的线程调度器。它提供了一个强大的API,用于以高级、可移植和有效的方式在机器之间动态分发气泡。几个例子展示了专家如何开发、调试和调整他们自己的便携式气泡发生器。

英文摘要:

Exploiting full computational power of current more and more hierarchical multiprocessor machines requires a very careful distribution of threads and data among the underlying non-uniform architecture. Unfortunately, most operating systems only provide a poor scheduling API that does not allow applications to transmit valuable scheduling hints to the system. In a previous paper, we showed that using a bubble-based thread scheduler can significantly improve applications' performance in a portable way. However, since multithreaded applications have various scheduling requirements, there is no universal scheduler that could meet all these needs. In this paper, we present a framework that allows scheduling experts to implement and experiment with customized thread schedulers. It provides a powerful API for dynamically distributing bubbles among the machine in a high-level, portable, and efficient way. Several examples show how experts can then develop, debug and tune their own portable bubble schedulers.

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

↑