An augmented approach to task allocation: combining simulated annealing with list-based heuristics

Static task allocation is concerned with the assignment, scheduling, and mapping of individual units of execution among a set of parallel processors in a manner that results in near-optimal performance. Two types of heuristics often applied individually to the allocation problem are list-based methodologies and simulated annealing. This paper describes the results of combining these two approaches to create an improved heuristic that produces quality allocations for certain types of real-time and deterministic systems. The resulting methodology performs static allocations of non-preemptive executable tasks to the available set of processors that are interconnected to one another via an arbitrarily-linked static message-passing topology. Its effectiveness is analyzed empirically by applying it to randomly-generated task systems that span a wide range of inherent concurrency, and by applying it to the task system of a simulation of a Space Shuttle main rocket engine.<<ETX>>