Presentation
Dynamic Tracing: Memoization of Task Graphs for Dynamic Task-Based Runtimes
SessionTask-Based Programming
Authors
Event Type
Paper
TP
Algorithms
Architectures
Memory
Networks
Parallel Programming Languages, Libraries, and Models
Power
Programming Systems
Scheduling
TimeWednesday, November 14th10:30am - 11am
LocationC146
DescriptionMany recent programming systems for both supercomputing and data center workloads generate task graphs to express computations that run on parallel and distributed machines. Due to the overhead associated with constructing these graphs the dependence analysis that generates them is often statically computed and memoized, and the resulting graph executed repeatedly at runtime. However, many applications require a dynamic dependence analysis due to data dependent behavior, but there are new challenges in capturing and re-executing task graphs at runtime. In this work, we introduce dynamic tracing, a technique to capture a dynamic dependence analysis of a trace that generates a task graph, and replay it. We show that an implementation of dynamic tracing improves strong scaling by an average of 4.9X and up to 7.0X on a suite of already optimized benchmarks.
Download PDF
Archive