Artifact of SSBSE '25 Challenge: GreenMalloc: Allocator Optimisation for Industrial Workloads
Abstract
1. Abstract This is the artifact of the paper GreenMalloc: Allocator Optimisation for Industrial Workloads. It contains the code of GreenMalloc and the results of the evaluation on gem5 with glibc malloc and tcmalloc. The GitHub of the project is available online as open source: https://github.com/dakaidan/SSBSE25-GreenBenchmark. 2. Optimised Values glibc: - mmap_max - mmap_threshold - perturb - top_pad - trim_threshold - arena_test - arena_max tcmalloc: - TCMALLOC_SAMPLE_PARAMETER - TCMALLOC_RELEASE_RATE - TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES - TCMALLOC_AGGRESSIVE_DECOMMIT - TCMALLOC_OVERRIDE_PAGESIZE - TCMALLOC_HEAP_LIMIT_MB - TCMALLOC_SKIP_MMAP - TCMALLOC_SKIP_SBRK - TCMALLOC_MEMFS_LIMIT_MB - TCMALLOC_MEMFS_ABORT_ON_FAIL - TCMALLOC_MEMFS_IGNORE_MMAP_FAIL - TCMALLOC_MEMFS_MAP_PRIVATE - TCMALLOC_MEMFS_DISABLE_FALLBACK Specifically, we tune: TUNABLE_SPECS: ClassVar[Dict[str, Dict[str, Any]]] = { "mmap_max": {"type": "int", "low": 0, "high": 16 * 1024 * 1024}, "mmap_threshold": {"type": "int", "low": 0, "high": 1 << 20}, "perturb": {"type": "int", "low": 0, "high": 255}, "top_pad": {"type": "int", "low": 0, "high": 1 << 20}, "trim_threshold": {"type": "int", "low": 0, "high": 1 << 20}, "arena_test": {"type": "int", "low": 0, "high": 1 << 20}, "arena_max": {"type": "int", "low": 0, "high": 128},} TUNABLE_SPECS: ClassVar[Dict[str, Dict[str, Any]]] = { "TCMALLOC_SAMPLE_PARAMETER": {"type": "int", "low": 0, "high": 1 << 20}, "TCMALLOC_RELEASE_RATE": {"type": "int", "low": 0, "high": 1 << 20}, "TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES": {"type": "int", "low": 0, "high": 1 << 30}, "TCMALLOC_AGGRESSIVE_DECOMMIT": {"type": "bool", "low": 0, "high": 1}, "TCMALLOC_OVERRIDE_PAGESIZE": {"type": "int", "low": 4096, "high": 1 << 20}, "TCMALLOC_HEAP_LIMIT_MB": {"type": "int", "low": 0, "high": 1 << 20}, "TCMALLOC_SKIP_MMAP": {"type": "bool", "low": 0, "high": 1}, "TCMALLOC_SKIP_SBRK": {"type": "bool", "low": 0, "high": 1}, "TCMALLOC_MEMFS_LIMIT_MB": {"type": "int", "low": 0, "high": 1 << 20}, "TCMALLOC_MEMFS_ABORT_ON_FAIL": {"type": "bool", "low": 0, "high": 1}, "TCMALLOC_MEMFS_IGNORE_MMAP_FAIL": {"type": "bool", "low": 0, "high": 1}, "TCMALLOC_MEMFS_MAP_PRIVATE": {"type": "bool", "low": 0, "high": 1}, "TCMALLOC_MEMFS_DISABLE_FALLBACK": {"type": "bool", "low": 0, "high": 1}, }