Skip to content (access key 's')
Logo of Technion
Logo of CS Department
Logo of CS4People
Events

The Taub Faculty of Computer Science Events and Talks

Static Huge-Page Allocation Guided by Execution Profiles
event speaker icon
Niv Kaminer (M.Sc. Thesis Seminar)
event date icon
Wednesday, 04.12.2024, 17:00
event location icon
Taub 601
event speaker icon
Advisor: Prof. Dan Tsafrir, Dr. Nadav Amit

Dynamic algorithms to construct huge pages can improve the performance of big-memory workloads but might introduce latencies during page construction. Some workloads may benefit from static algorithms that utilize offline profiling information to predetermine memory allocations. But while such algorithms are more predictable, they are: (1) unsuitable for setups with limited physical memory contiguity; (2) ineffective whenever program call sites allocating memory are invoked via different code paths; and (3) vulnerable to minor configuration and input changes.

We propose Salloc, a profile-guided static allocator that addresses these drawbacks by: (1) prioritizing huge page allocations that matter most; (2) defining allocation sites using their full call stack; and (3) cumulatively supporting multiple offline execution profiles. We show Salloc is effective across similar application datasets and different contiguity limitations. For example, it achieves up to 90% of the maximal speedup when backing only 5% of application memory with huge pages (rather than all application memory). Nevertheless, we find that static huge page allocation is inevitably ineffective if different program inputs trigger substantially different allocation policies within the application, because the offline profile might align with a different policy than the running program.