Downloads provided by UsageCounts
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.
10 pages, 5 figures, conference
FOS: Computer and information sciences, Task-based programming models, I/O, Operating Systems (cs.OS), D.4.1, D.3.3, Multiprocessadors, D.4.1; D.3.3, Linux kernel, Computer Science - Operating Systems, multi-core, Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors, Computer Science - Distributed, Parallel, and Cluster Computing, [INFO.INFO-OS] Computer Science [cs]/Operating Systems [cs.OS], HPC, Multiprocessors, Superordinadors, scheduling, High performance computing, Distributed, Parallel, and Cluster Computing (cs.DC), Linux kernel scheduler, :Informàtica::Arquitectura de computadors [Àrees temàtiques de la UPC]
FOS: Computer and information sciences, Task-based programming models, I/O, Operating Systems (cs.OS), D.4.1, D.3.3, Multiprocessadors, D.4.1; D.3.3, Linux kernel, Computer Science - Operating Systems, multi-core, Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors, Computer Science - Distributed, Parallel, and Cluster Computing, [INFO.INFO-OS] Computer Science [cs]/Operating Systems [cs.OS], HPC, Multiprocessors, Superordinadors, scheduling, High performance computing, Distributed, Parallel, and Cluster Computing (cs.DC), Linux kernel scheduler, :Informàtica::Arquitectura de computadors [Àrees temàtiques de la UPC]
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 1 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 45 | |
| downloads | 78 |

Views provided by UsageCounts
Downloads provided by UsageCounts