首页> 外文会议>International Conference on High Performance Computing, Data, and Analytics >A Linux Kernel Scheduler Extension for Multi-core Systems
【24h】

A Linux Kernel Scheduler Extension for Multi-core Systems

机译:多核系统的Linux内核调度器扩展

获取原文

摘要

The Linux kernel is mostly designed for multi-programed environments, but high-performance applications have other requirements. Such applications are run standalone, and usually rely on runtime systems to distribute the application's workload on worker threads, one per core. However, due to current OSes limitations, it is not feasible to track whether workers are actually running or blocked due to, for instance, a requested resource. For I/O intensive applications, this leads to a significant performance degradation given that the core of a blocked thread becomes idle until it is able to run again. In this paper, we present the proof-of-concept of a Linux kernel extension denoted User-Monitored Threads (UMT) which tackles this problem. Our extension allows a user-space process to be notified of when the selected threads become blocked or unblocked, making it possible for a runtime to schedule additional work on the idle core. We implemented the extension on the Linux Kernel 5.1 and adapted the Nanos6 runtime of the OmpSs-2 programming model to take advantage of it. The whole prototype was tested on two applications which, on the tested hardware and the appropriate conditions, reported speedups of almost 2x.
机译:Linux内核主要为多编程环境设计,但高性能应用具有其他要求。此类应用程序是独立的,通常依赖于运行时系统,以将应用程序的工作负载分发在工作线程,每个核心。但是,由于当前的ISS限制,跟踪工人是否实际运行或阻止是不可行的,这是由于例如请求的资源。对于I / O密集型应用,这导致了显着的性能下降,因为封锁线程的核心变得闲置,直到它能够再次运行。在本文中,我们介绍了Linux内核扩展的概念验证,表示用于解决此问题的用户监控线程(UMT)。我们的扩展允许通知所选线程被阻止或未阻止的用户空间进程,使运行时可能会在空闲核心上安排其他工作。我们在Linux内核5.1上实现了扩展,并调整了OMPSS-2编程模型的Nanos6运行时以利用它。在两种应用中测试了整个原型,在测试硬件和适当的条件下,报告了近2倍的加速。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号