Abstract

We present a compiler optimization approach that uses the simulated evolution (SE) paradigm to enhance the finish time of heuristically scheduled computations with communications. This is especially beneficial to the class of synchronous dataflow computations which are generally compiled once and run many times over different data sets. Unlike genetic approaches which generally use task swapping to create differential variations, our approach consists of adding pseudo-edges to the task graph to guide the scheduler in the alignment and clustering of dominant tasks. Added edges alter only the task graph without modifying the scheduler, which provides useful flexibility in the implementation of compiler optimization options. The intelligence of iterative methods is used by SE to reduce the run-time and to avoid local minima by using the hill-climbing property of search-based methods. Evaluation is carried out on a wide variety of computation graphs which are studied for different levels of communication granularities and task parallelisms. A statistical analysis of results shows that edge-addition SE is capable of finding near-optimum schedules as well as outperforming other known heuristics such as ETF, DLS and GLS. Moreover, this approach is useful in complementing heuristics whose solution finish time cannot be guaranteed for arbitrary communication and parallelism. Since the performance of most scheduling heuristics is profile-sensitive, optimizing the heuristic solutions through edge-addition SE provides increased confidence in the quality of the solution.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call