SPLASH 2021
Sun 17 - Fri 22 October 2021 Chicago, Illinois, United States
Tue 19 Oct 2021 14:30 - 15:05 at Currents - Afternoon 1

State-of-the-art managed runtimes apply aggressive optimizations often based on the speculative assumption that programs have low variability. However, literature shows that program behavior may evolve at run time and experience different execution “phases”. This variable behavior may hide optimization opportunities from the compiler. Taking such phases into account may thus help improving performance when applied to phase-sensitive optimizations such as lookup caches, that may generate monomorphization bottlenecks when they contain entries that are phase-specific.

In this project, we introduce Phase-based splitting, an experimental compiler optimization that utilizes phases to guide monomorphization based on splitting. Preliminary results on micro-benchmarks show our first prototype reaches promising speedups ranging from 10 to 20% on average, peaking up to 47.6% at phase granularity. In the next steps, we aim at further evaluating the potential benefits of our approach on a richer set of benchmarks and real-world applications as well as defining heuristics to better guide phase-based splitting.

Tue 19 Oct

Displayed time zone: Central Time (US & Canada) change

13:50 - 15:10
13:55
35m
Doctoral symposium paper
Towards Deep Learning SpecificationVirtual
Doctoral Symposium
Shibbir Ahmed Iowa State University
Pre-print
14:30
35m
Doctoral symposium paper
Avoiding Monomorphization Bottlenecks with Phase-based SplittingVirtual
Doctoral Symposium
Sophie Kaleba University of Kent
Pre-print