Efficient dynamic pinning of parallelized applications by distributed reinforcement learning

Authors Georgios C. Chasparis
Michael Rossbory
Editors
Title Efficient dynamic pinning of parallelized applications by distributed reinforcement learning
Type article
Journal International Journal of Parallel Programming, Special Issue on High-Level Programming for Heterogeneous Parallel Systems
Number 1
Volume 47
DOI 10.1007/s10766-017-0541-y
ISSN 1573-7640 (Online)
Month November
Year 2017
Pages 24-38
SCCH ID# 17037
Abstract

This paper introduces a resource allocation framework specifically tailored for addressing the problem of dynamic placement (or pinning) of parallelized applications to processing units. Under the proposed setup each thread of the parallelized application constitutes an independent decision maker (or agent), which (based on its own prior performance measurements and its own prior CPU-affinities) decides on which processing unit to run next. Decisions are updated recursively for each thread by a resource manager/scheduler which runs in parallel to the application’s threads and periodically records their performances and assigns to them new CPU affinities. For updating the CPU-affinities, the scheduler uses a distributed reinforcement-learning algorithm, each branch of which is responsible for assigning a new placement strategy to each thread. The proposed resource allocation framework is flexible enough to address alternative optimization criteria, such as maximum average processing speed and minimum speed variance among threads. We demonstrate analytically that convergence to locally-optimal placements is achieved asymptotically. Finally, we validate these results through experiments in Linux platforms.