Optimal hardware/software partitioning for concurrent specification using dynamic programming

Aviral Shrivastava, Hardeep Kumar, Sanjiv Kapoor, S. Kumar, S. Balakrishnan · 2002

An important aspect of hardware-software co-design is partitioning of tasks to be scheduled on the hardware and software resources. Existing approaches separate partitioning and scheduling in two steps. Since partitioning solutions affect scheduling results and vice versa, the existing sequential approaches may lead to sub-optimal results. In this paper, we present an integrated hardware/software scheduling, partitioning and binding strategy. We use dynamic programming techiques to devise an optimal solution for partitioning of a given concurrent task graph which models the co-design problem, for execution on one software (single CPU) and several hardware resources (multiple FPGAs), with the objective of minimizing the total execution time. Our implementation shows that we can solve problem instances where the task graph has 40 nodes and 600 edges in less than a second.

Read the paper · More papers on PaperTik