SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal
Sun 22 Oct 2023 16:45 - 17:00 at Room II - MPLR Session 4 Chair(s): Stefan Marr

The main goal of dynamic memory allocators is to minimize memory fragmentation. Fragmentation stems from the interaction between workload behavior and allocator policy. There are, however, no works systematically capturing said interaction. We view this gap as responsible for the absence of a standardized, quantitative fragmentation metric, the lack of workload dynamic memory behavior characterization techniques, and the absence of a standardized benchmark suite targeting dynamic memory allocation. Such shortcomings are profoundly asymmetric to the operation's ubiquity.

This paper presents a trace-based simulation methodology for constructing representations of workload-allocator interaction. We use two-dimensional rectangular bin packing (2DBP) as our foundation. 2DBP algorithms minimize their products' makespan, but virtual memory systems employing demand paging deem such a criterion inappropriate. We see an allocator's placement decisions as a solution to a 2DBP instance, optimizing some unknown criterion particular to that allocator's policy. Our end product is a data structure by design concerned with events residing entirely in virtual memory; no information on memory accesses, indexing costs or any other factor is kept.

We bootstrap our contribution's utility by exploring its relationship to maximum resident set size (RSS). Our baseline is the assumption that less fragmentation amounts to smaller peak RSS. We thus define a fragmentation metric in the 2DBP substrate and compute it for both single- and multi-threaded workloads linked to 7 modern allocators. We also measure peak RSS for the resulting pairs. Our metric exhibits a monotonic relationship with memory footprint $94%$ of the time, as inferred via two-tailed statistical hypothesis testing with at least $99%$ confidence.

Sun 22 Oct

Displayed time zone: Lisbon change

16:00 - 17:30
MPLR Session 4MPLR at Room II
Chair(s): Stefan Marr University of Kent
16:00
22m
Talk
Comparing Rapid Type Analysis with Points-To Analysis in GraalVM Native Image
MPLR
David Kozak Brno University of Technology, Vojin Jovanovic Oracle Labs, Codrut Stancu Oracle Labs, Tomáš Vojnar Brno University of Technology, Christian Wimmer Oracle Labs
DOI
16:22
23m
Talk
Unified Shared Memory: Friend or Foe? Understanding the Implications of Unified Memory on Managed Heaps
MPLR
Juan Fumero University of Manchester, Florin Blanaru Axelera AI, Athanasios Stratikopoulos University of Manchester, Steve Dohrmann Intel, Sandhya Viswanathan Intel, Christos Kotselidis University of Manchester
DOI Pre-print
16:45
15m
Talk
Beyond RSS: Towards Intelligent Dynamic Memory Management (Work in Progress)
MPLR
Christos Lamprakos National Technical University of Athens; KU Leuven, Sotirios Xydis National Technical University of Athens, Peter Kourzanov IMEC, Manu Perumkunnil IMEC, Francky Catthoor IMEC; KU Leuven, Dimitrios Soudris National Technical University of Athens
DOI
17:00
15m
Talk
Towards Safe HPC: Productivity and Performance via Rust Interfaces for a Distributed C++ Actors Library (Work in Progress)
MPLR
John Parrish Georgia Institute of Technology, Nicole Wren Block; Georgia Institute of Technology, Tsz Hang Kiang Georgia Institute of Technology, Akihiro Hayashi Georgia Institute of Technology, Jeffrey Young Georgia Institute of Technology, Vivek Sarkar Georgia Institute of Technology
DOI
17:15
15m
Talk
Generating Java Interfaces for Accessing Foreign Objects in GraalVM (Work in Progress)
MPLR
Julian Garn JKU Linz, Florian Angerer Oracle Labs, Hanspeter Mössenböck JKU Linz
DOI