DOE OSTI · 1113613
Enhancing the Performance of Assisted Execution Runtime Systems through Hardware/Software Techniques
Abstract
To meet the expected performance, future exascale systems will require programmers to increase the level of parallelism of their applications. Novel programming models simplify parallel programming at the cost of increasing runtime overheard. Assisted execution models have the potential of reducing this overhead but they generally also reduce processor utilization. We propose an integrated hardware/software solution that automatically partition hardware resources between application and auxiliary threads. Each system level performs well-defined tasks efficiently: 1) the runtime system is enriched with a mechanism that automatically detects computing power requirements of running threads and drives the hardware actuators; 2) the hardware enforces dynamic resource partitioning; 3) the operating system provides an efficient interface between the runtime system and the hardware resource allocation mechanism. As a test case, we apply this adaptive approach to STM2, an software transactional memory system that implements the assisted execution model. We evaluate the proposed adaptive solution on an IBMPOWER7 system using Eigenbench and STAMP benchmark suite. Results show that our approach performs equal or better than the original STM2 and achieves up to 65% and 86% performance improvement for Eigenbench and STAMP applications, respectively.
Keep this discovery
Explore connections, maps & timelines
Kestor, Gokcen, Gioiosa, Roberto, Unsal, Osman, Cristal, Adrian, Valero, Mateo. 2012-06-01. Enhancing the Performance of Assisted Execution Runtime Systems through Hardware/Software Techniques. https://doi.org/10.1145/2304576.2304598
Cite the original work for its findings. Save a collection to share your selection of sources.