Static scheduling of conditional branches in parallel programs
Approved for public release; distribution is unlimited === The problem of scheduling parallel program tasks on multiprocessor systems is known to be NP-complete in its general form. When non-determinism is added to the scheduling problem through loops and conditional branching, an optimal solution i...
Main Author: | |
---|---|
Other Authors: | |
Language: | en_US |
Published: |
Monterey, California. Naval Postgraduate School
2012
|
Online Access: | http://hdl.handle.net/10945/9007 |
id |
ndltd-nps.edu-oai-calhoun.nps.edu-10945-9007 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-nps.edu-oai-calhoun.nps.edu-10945-90072015-06-20T16:02:35Z Static scheduling of conditional branches in parallel programs George, Robert Tyler Lewis, Theodore Pratt, Dave Naval Postgraduate School Department of Computer Science Approved for public release; distribution is unlimited The problem of scheduling parallel program tasks on multiprocessor systems is known to be NP-complete in its general form. When non-determinism is added to the scheduling problem through loops and conditional branching, an optimal solution is even harder to obtain. The intractability of obtaining an optimal solution for the general scheduling problem has led to the introduction of a large number of scheduling heuristics, These heuristics consider many real world factors, such as communication overhead, target machine topology, and the tradeoff between exploiting the parallelism in a parallel program and the resulting scheduling overhead. We present the probabilistic merge heuristic--in which a unified schedule of all possible execution instances is generated by successively scheduling tasks in order of their execution probabilities. When a conditional task is scheduled, we first attempt to merge the task with the time slot of a previously scheduled task which is a member of a different execution instance. We have found that the merge scheduler produces schedules which are 10% faster than previous techniques. More importantly, however, we show that the probabilistic merge heuristic is significantly more scalable -- being able to schedule branch and precedence graphs which exceed 50 modes. 2012-08-09T19:23:53Z 2012-08-09T19:23:53Z 1996-12 Thesis http://hdl.handle.net/10945/9007 en_US This publication is a work of the U.S. Government as defined in Title 17, United States Code, Section 101. As such, it is in the public domain, and under the provisions of Title 17, United States Code, Section 105, it may not be copyrighted. Monterey, California. Naval Postgraduate School |
collection |
NDLTD |
language |
en_US |
sources |
NDLTD |
description |
Approved for public release; distribution is unlimited === The problem of scheduling parallel program tasks on multiprocessor systems is known to be NP-complete in its general form. When non-determinism is added to the scheduling problem through loops and conditional branching, an optimal solution is even harder to obtain. The intractability of obtaining an optimal solution for the general scheduling problem has led to the introduction of a large number of scheduling heuristics, These heuristics consider many real world factors, such as communication overhead, target machine topology, and the tradeoff between exploiting the parallelism in a parallel program and the resulting scheduling overhead. We present the probabilistic merge heuristic--in which a unified schedule of all possible execution instances is generated by successively scheduling tasks in order of their execution probabilities. When a conditional task is scheduled, we first attempt to merge the task with the time slot of a previously scheduled task which is a member of a different execution instance. We have found that the merge scheduler produces schedules which are 10% faster than previous techniques. More importantly, however, we show that the probabilistic merge heuristic is significantly more scalable -- being able to schedule branch and precedence graphs which exceed 50 modes. |
author2 |
Lewis, Theodore |
author_facet |
Lewis, Theodore George, Robert Tyler |
author |
George, Robert Tyler |
spellingShingle |
George, Robert Tyler Static scheduling of conditional branches in parallel programs |
author_sort |
George, Robert Tyler |
title |
Static scheduling of conditional branches in parallel programs |
title_short |
Static scheduling of conditional branches in parallel programs |
title_full |
Static scheduling of conditional branches in parallel programs |
title_fullStr |
Static scheduling of conditional branches in parallel programs |
title_full_unstemmed |
Static scheduling of conditional branches in parallel programs |
title_sort |
static scheduling of conditional branches in parallel programs |
publisher |
Monterey, California. Naval Postgraduate School |
publishDate |
2012 |
url |
http://hdl.handle.net/10945/9007 |
work_keys_str_mv |
AT georgeroberttyler staticschedulingofconditionalbranchesinparallelprograms |
_version_ |
1716806082972614656 |