• DocumentCode
    564078
  • Title

    Flexible scheduling and thread allocation for synchronous parallel tasks

  • Author

    Kessler, Christoph W. ; Hansson, Erik

  • Author_Institution
    IDA, Linkoping Univ., Linkoping, Sweden
  • fYear
    2012
  • fDate
    28-29 Feb. 2012
  • Firstpage
    1
  • Lastpage
    7
  • Abstract
    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 in the 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 runtime overhead per task.
  • Keywords
    concurrency theory; dynamic scheduling; formal languages; multi-threading; parallel architectures; parallel languages; parallel machines; resource allocation; shared memory systems; SBPRAM simulator; SPMD-programmable PRAM machine; SPMD-programmed synchronous shared-memory MIMD parallel architectures; automatic performance tuning; dynamic scheduling; flexible scheduling; fork-join parallelism; parallel random access machines; resource allocation mechanism; resource binding; run-time predictions; strict memory consistency; synchronous parallel tasks; task model; thread allocation; thread allocation control; two-tier programming model; unit-time memory access; Arrays; Containers; Hardware; Instruction sets; Payloads; Phase change random access memory; Vectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    ARCS Workshops (ARCS), 2012
  • Conference_Location
    Muenchen
  • Print_ISBN
    978-1-4673-1913-3
  • Electronic_ISBN
    978-3-88579-294-9
  • Type

    conf

  • Filename
    6222202