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...

Full description

Bibliographic Details
Main Author: George, Robert Tyler
Other Authors: Lewis, Theodore
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