Parallel partitioning for distributed systems using sequential assignment - Spacey, Simon; Luk, Wayne; Kuhn, Daniel; Kelly, Paul H.J. (Journal of parallel and distributed computing, 2013)
This paper introduces a method to combine the advantages of both task parallelism and fine-grained co-design specialisation to achieve faster execution times than either method alone on distributed heterogeneous architectures. The method uses a novel mixed integer linear programming formalisation to assign code sections from parallel tasks to share computational components with the optimal trade-off between acceleration from component specialism and serialisation delay. The paper provides results for software benchmarks partitioned using the method and formal implementations of previous alternatives to demonstrate both the practical tractability of the linear programming approach and the increase in program acceleration potential deliverable. ► A formal multi-level model for assigning parallel tasks to distributed hardware. ► Insights that allow optimal timing solutions to be found using standard solvers. ► Experimental results for a suite of real software benchmarks on the Axel cluster. ► Robust timing improvements over previous parallel approaches (up to 2.021 times faster).