Publication | Closed Access
Throughput-optimizing Compilation of Dataflow Applications for Multi-Cores using Quasi-Static Scheduling
12
Citations
20
References
2015
Year
Unknown Venue
Cluster ComputingHeterogeneous ComputingEngineeringComputer ArchitectureSoftware EngineeringParallel SoftwareHigh-performance ArchitectureParallel ComputingCompilersManycore ProcessorDynamic CompilationQuasi-static SchedulesParallelizing CompilerComputer EngineeringComputer ScienceDataflow ApplicationsActor BindingProgram AnalysisParallel Performance EvaluationCloud ComputingDynamic Dataflow GraphsMany-core ArchitectureParallel Programming
Application modeling using dynamic dataflow graphs is well-suited for multi-core platforms. However, there is often a mismatch between the fine granularity of the application and the platform. Tailoring this granularity to the platform promises performance gains by (a) reducing dynamic scheduling overhead and (b) exploiting compiler optimizations. In this paper, we propose a throughput-optimizing compilation approach that uses Quasi-Static Schedules (QSSs) to combine actors of static dataflow subgraphs. Our proposed approach combines core allocation, QSSs, and actor binding in a Design Space Exploration (DSE), optimizing the throughput for a number of available cores. During the DSE, each implementation candidate is compiled to and evaluated on the target hardware---here an Intel i7 and an ARM Cortex-A9. Experimental results including synthetic benchmarks as well as a real-world control application show that our proposed holistic compilation approach outperforms classic DSEs that are agnostic of QSS as well as a DSE that employs QSS as a post-processing step. Amongst others, we show a case where the compilation approach obtains a speedup of 9.91 x for a 4-core implementation, while a classic DSE only obtains a speedup of 2.12 x.
| Year | Citations | |
|---|---|---|
Page 1
Page 1