Flexible scheduling and thread allocation for synchronous parallel tasks
2012 (English)In: ARCS-2012 Workshops / [ed] G. Mühl, J. Richling, A. Herkersdorf, Gesellschaft für Informatik , 2012, 517-528 p.Conference paper (Refereed)
We describe a task model and dynamic scheduling and resource allocation mechanism for synchronous parallel tasks to be executed on SPMD-programmed synchronous shared memory MIMD parallel architectures with uniform, unit-time memory access and strict memory consistency, also known inthe literature as PRAMs (Parallel Random Access Machines). Our task model provides a two-tier programming model for PRAMs that flexibly combines SPMD and fork-join parallelism within the same application. It offers flexibility by dynamic scheduling and late resource binding while preserving the PRAM execution properties within each task, the only limitation being that the maximum number of threads that can be assigned to a task is limited to what the underlying architecture provides. In particular, our approach opens for automatic performance tuning at run-time by controlling the thread allocation for tasks based on run-time predictions.By a prototype implementation of a synchronous parallel task API in the SPMD-based PRAM language Fork and experimental evaluation with example programs on the SBPRAM simulator, we show that a realization of the task model on a SPMD-programmable PRAM machine is feasible with moderate runtimeoverhead per task.
Place, publisher, year, edition, pages
Gesellschaft für Informatik , 2012. 517-528 p.
, Lecture Notes in Informatics, ISSN 1617-5468 ; 29
Malleable tasks, mapping, PRAM, parallel computing, scheduling, thread allocation, run-time system, parallel task queue
IdentifiersURN: urn:nbn:se:liu:diva-91572ISBN: 978-1-4577-2145-8OAI: oai:DiVA.org:liu-91572DiVA: diva2:618372
10th Workshop on Parallel Systems and Algorithms (PASA 2012), Munich, Germany, February 29, 2012