ECOOP 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
co-located with ISSTA/ECOOP 2024

This program is tentative and subject to change.

Mon 16 Sep 2024 11:45 - 12:00 at EI 7 - Compilation and Runtimes

While programmers know that the low-level memory representation of data structures can have significant effects on performance, compiler support to optimize the layout of those structures is an under-explored field. Prior work has optimized the layout of individual, non-recursive structures without considering how collections of those objects in linked or recursive data structures is laid out. This work introduces Marmoset, a compiler that optimizes the layouts of algebraic data types, with a special focus on producing highly optimized, packed data layouts where recursive structures can be traversed with minimal pointer chasing. Marmoset performs an analysis of how a recursive ADT is used across functions to choose a global layout that promotes simple, strided access for that ADT in memory. It does so by building and solving a constraint system to minimize an abstract cost model, yielding a predicted efficient layout for the ADT. Marmoset then builds on top of Gibbon, a prior compiler for packed, mostly-serial representations, to synthesize optimized ADTs. We show experimentally that Marmoset is able to choose optimal layouts across a series of microbenchmarks and case studies, outperforming both Gibbon’s baseline approach, as well as the mature GHC compiler with its traditional, pointer-heavy, non-compact data representations.

This program is tentative and subject to change.

Mon 16 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 12:00
Compilation and RuntimesTechnical Papers at EI 7
10:30
15m
Talk
Static Basic Block Versioning
Technical Papers
Manuel Serrano Inria; University of Côte d'Azur, Olivier Melançon Université de Montréal, Marc Feeley Université de Montréal
10:45
15m
Talk
Cross Module Quickening - The Curious Case of C Extensions
Technical Papers
Felix Berlakovich μCSRL, CODE Research Institute, University of the Bundeswehr Munich, Stefan Brunthaler Bundeswehr University Munich
11:00
15m
Talk
Compiling with Arrays
Technical Papers
David Richter Technical University of Darmstadt, Timon Böhler Technical University of Darmstadt, Pascal Weisenburger University of St. Gallen, Mira Mezini TU Darmstadt
Pre-print
11:15
15m
Talk
The Performance Effects of Virtual-Machine Instruction Pointer Updates
Technical Papers
11:30
15m
Talk
Taking a Closer Look: An Outlier-Driven Approach to Compilation-Time Optimization
Technical Papers
Florian Huemer JKU Linz, David Leopoldseder Oracle Labs, Aleksandar Prokopec Oracle Labs, Raphael Mosaner JKU Linz, Hanspeter Mössenböck JKU Linz
11:45
15m
Talk
Optimizing Layout of Recursive Datatypes with Marmoset
Technical Papers
Vidush Singhal Purdue University, Chaitanya S. Koparkar Indiana University, Joseph Zullo Purdue University, Artem Pelenitsyn Purdue University, Michael Vollmer University of Kent, Mike Rainey Carnegie Mellon University, Ryan R. Newton Purdue University, Milind Kulkarni Purdue University
Pre-print