Hierarchical decomposition algorithm for hardware/software partitioning

  • Authors:
  • Brennon Meals

  • Affiliations:
  • University of Alabama in Huntsville, Huntsville, AL

  • Venue:
  • Proceedings of the 44th annual Southeast regional conference
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper proposes a novel fast technique for partitioning a system into hardware and software components and scheduling the resulting components for execution. The technique maps hierarchical task graphs onto a heterogeneous architecture containing a single sequential processing engine for executing software components and programmable logic for implementing hardware components. The technique uses an iterative improvement algorithm to evaluate placement of components in the hardware and software partitions. It also uses a decomposition phase to alter the number and granularity of tasks evaluated. By doing so, the algorithm can perform early evaluations on fewer, coarse grained tasks and only evaluate smaller granularities as needed to achieve the desired execution time of the task system. The suitability of this technique in finding a solution which meets a given timing constraint on the system is evaluated by comparing it to a iterative improvement algorithm on a typical non-hierarchical task graph where the task granularities are fixed. To show robustness of the approach, the comparison is done for a large number of synthetic task graphs and the results are normalized so that statistical analysis can be performed on the large sample set.