Enhancing the performance of assisted execution runtime systems through hardware/software techniques

  • Authors:
  • Gokcen Kestor;Roberto Gioiosa;Osman Sabri Unsal;Adrian Cristal;Mateo Valero

  • Affiliations:
  • Barcelona Supercomputing Center, Barcelona, Spain;Pacific Northwest National Laboratory, Richland, WA, USA;Barcelona Supercomputing Center, Barcelona, Spain;IIIA - CSIC - Spanish National Research Council, Barcelona, Spain;Universitat Politecnica de Catalunya, Barcelona, Spain

  • Venue:
  • Proceedings of the 26th ACM international conference on Supercomputing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

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 IBM POWER7 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.