"Much Ado About Offset Vectors" Artifact

Read full text
Authors: Hayley Patton, Stephen Blackburn
Cited by: 1

Abstract

"Much Ado About Offset Vectors" Artifact Dependencies You will need to install running-ng to run the benchmarks. The provided script clone.sh will download all the other dependencies. Or you can download them manually: you will need these repositories: mmtk-core/ is my fork of mmtk-core. mmtk-openjdk/ is my fork of mmtk-openjdk. openjdk/ is the MMTk fork of OpenJDK 21. probes/ is the DaCapo probes for MMTk. And you will finally need DaCapo 23.11 Chopin in the same directory. Building We use two builds of OpenJDK, as the choice between using Compressor-style/clmul marking and CCL-style marking is done by a compile-time feature. The script build.sh will build OpenJDK both ways. You will need to build the probes in probes/ after adjusting the Makefile to suit your system. Running Each benchmark in configs/*.yml (but configs/common.yml is common configuration data and not a benchmark) can be run by $ running runbms configs/ .yml We ran each benchmark (other than table3.yml) across 8 heap sizes, which takes about one week on a Ryzen 9 7950X-based machine. We implement three collectors (plans) for MMTk: Compressor: the parallel/regional two-pass offset-vector compactor (OVC) OnePass: the parallel/regional One Pass Compactor (OP) OldPass: the serial/contiguous One Pass Compactor (SOP) You can use these collectors by running e.g. MMTK_PLAN=Compressor jdk/jdk/bin/java -XX:+UseThirdPartyHeap The feature compressor_art_marking enables CCL-style marking for Compressor and OnePass, whereas disabling the feature (the default) will use Compressor-style/clmul marking. (CCL-style marking isn't fully implemented for OnePass and will cause runtime panics.) Setting the environment variable MMTK_COMPRESSOR_USE_CLMUL=false forces these collectors to use the branchy algorithm when not using CCL-style marking. The collectors will otherwise use feature detection, and will use the clmul algorithm when supported on x86-64. (The variable has no effect when using CCL-style marking.)

Publication details

Journal / source
Zenodo (CERN European Organization for Nuclear Research)
Publication date
20 May 2026