Efficient Compilation to Event-Driven Task Programs
Benoit Meister, Muthu Baskaran, Benoit Pradelle, Thomas Henretty,, Richard Lethin

TL;DR
This paper introduces an efficient compilation method for generating event-driven task graphs from polyhedral representations, optimizing runtime performance and overhead management for extreme-scale computing.
Contribution
It presents a novel compilation technique that efficiently generates task graphs for event-driven runtimes from polyhedral programs, analyzing overheads and synchronization models.
Findings
Reduced compilation and execution time for task graphs.
Identified overhead sources in different synchronization models.
Provided cost analysis applicable to automatic code generation.
Abstract
As illustrated by the emergence of a class of new languages and runtimes, it is expected that a large portion of the programs to run on extreme scale computers will need to be written as graphs of event-driven tasks (EDTs). EDT runtime systems, which schedule such collections of tasks, enable more concurrency than traditional runtimes by reducing the amount of inter-task synchronization, improving dynamic load balancing and making more operations asynchronous. We present an efficient technique to generate such task graphs from a polyhedral representation of a program, both in terms of compilation time and asymptotic execution time. Task dependences become materialized in different forms, depending upon the synchronization model available with the targeted runtime. We explore the different ways of programming EDTs using each synchronization model, and identify important sources of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Software System Performance and Reliability
