Planned intervention: On Wednesday April 3rd 05:30 UTC Zenodo will be unavailable for up to 2-10 minutes to perform a storage cluster upgrade.
Published January 23, 2018 | Version v1
Conference paper Open

Learning-based Dynamic Pinning of Parallelized Applications in Many-Core Systems

  • 1. Software Competence Center Hagenberg GmbH
  • 2. University of St Andrews

Description

This paper introduces a resource allocation framework specifically tailored for addressing the problem of dynamic placement (or pinning) of parallelized applications to many-core systems. Under the proposed setup each thread of the parallelized application constitutes an independent decision maker, which autonomously decides on which processing unit to run next. Decisions are updated recursively for each thread by a resource manager which runs in parallel to the application’s threads and periodically records their performances and assigns to them new CPU affinities. We extend prior work of the authors by introducing a two-level decision making process that is more appropriate to handle many-core systems under Non-Uniform Memory Access architectures (NUMA). In particular, the first level may handle pinning of
threads or memory over the available NUMA nodes, while the second level may handle pinning over the available CPU cores of the selected NUMA nodes. Under such framework, a learning process updates current estimates and decisions separately for each one of the two decision levels. Additionally, a novel performance-based learning dynamics is   introduced which is more appropriate to handle measurement noise and rapid variations in the performance of the threads. Experiments are performed in a many-core Linux platform.

Files

2017_HLPGPU18_NUMAAdaptivePinning.pdf

Files (1.2 MB)

Name Size Download all
md5:402f131e418f93d0f69e505d4c49b24c
1.2 MB Preview Download

Additional details

Funding

RePhrase – REfactoring Parallel Heterogeneous Resource-Aware Applications - a Software Engineering Approach 644235
European Commission