Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Syste 2020
DOI: 10.1145/3373376.3378525
|View full text |Cite
|
Sign up to set email alerts
|

Learning-based Memory Allocation for C++ Server Workloads

Abstract: Modern C++ servers have memory footprints that vary widely over time, causing persistent heap fragmentation of up to 2× from long-lived objects allocated during peak memory usage. This fragmentation is exacerbated by the use of huge (2MB) pages, a requirement for high performance on large heap sizes. Reducing fragmentation automatically is challenging because C++ memory managers cannot move objects.This paper presents a new approach to huge page fragmentation. It combines modern machine learning techniques wit… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
11
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
7
1
1

Relationship

0
9

Authors

Journals

citations
Cited by 39 publications
(11 citation statements)
references
References 35 publications
0
11
0
Order By: Relevance
“…Machine learning for resource management. A number of works have leveraged ML to optimize server applications and cloud infrastructures [2,10,11,16,18,25]. We focus here on the most closely related to our work.…”
Section: Related Workmentioning
confidence: 99%
“…Machine learning for resource management. A number of works have leveraged ML to optimize server applications and cloud infrastructures [2,10,11,16,18,25]. We focus here on the most closely related to our work.…”
Section: Related Workmentioning
confidence: 99%
“…But the performance improvements that they reported were negligible (0.1-6%). Nevertheless, there is a growing trend in using ML techniques to solve storage and OS problems: predicting index structures in key-value stores [17,38], memory allocation [47], TCP congestion control [24], offline black-box optimization for storage parameters [8], database query optimization [37], local and distributed caching [60,66] and cloud resource management [16,19,20].…”
Section: Related Workmentioning
confidence: 99%
“…Machine learning techniques have produced early but successful results in computer systems, replacing well-tuned index structures for data retrieval [29], predicting hardware device state for better management [24], and managing C++ object memory efficiently [39]. Zhang and Huang [54] have argued that ML should be applied to the OS kernel as well.…”
Section: Motivationmentioning
confidence: 99%
“…ML for systems. ML has found applications in index retrieval [29], bloom filter queries [29], CPU scheduling [14], C++ memory management [39], and many other contexts. Zhang and Huang [54] argue for its use to optimize OS kernels.…”
Section: Related Workmentioning
confidence: 99%