Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applicatio 2015
DOI: 10.1145/2814270.2814294
|View full text |Cite
|
Sign up to set email alerts
|

Fast, multicore-scalable, low-fragmentation memory allocation through large virtual memory and global data structures

Abstract: We demonstrate that general-purpose memory allocation involving many threads on many cores can be done with high performance, multicore scalability, and low memory consumption. For this purpose, we have designed and implemented scalloc, a concurrent allocator that generally performs and scales in our experiments better than other allo-cators while using less memory, and is still competitive otherwise. The main ideas behind the design of scalloc are: uniform treatment of small and big objects through so-called … Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
41
0

Year Published

2016
2016
2022
2022

Publication Types

Select...
4
3

Relationship

0
7

Authors

Journals

citations
Cited by 25 publications
(41 citation statements)
references
References 23 publications
0
41
0
Order By: Relevance
“…This is typically the case for the pages corresponding to thread stacks, but 3 2017/3/6 also for the pages that host a data structure only accessed by the thread that allocated the structure. The first-touch policy is, however, particularly inefficient if a single thread allocates and initializes the memory for all the other threads.…”
Section: The First-touch Policymentioning
confidence: 99%
See 3 more Smart Citations
“…This is typically the case for the pages corresponding to thread stacks, but 3 2017/3/6 also for the pages that host a data structure only accessed by the thread that allocated the structure. The first-touch policy is, however, particularly inefficient if a single thread allocates and initializes the memory for all the other threads.…”
Section: The First-touch Policymentioning
confidence: 99%
“…The interconnect load is defined as the average of the percentage of the bandwidth used on the most loaded interconnect links during each second. 3 We can classify the applications in three groups (column imbalance level of Table 1). The 11 "low" applications exhibit a low memory access imbalance of less than 85% with the first-touch policy in Linux.…”
Section: Analysis Of the Behaviorsmentioning
confidence: 99%
See 2 more Smart Citations
“…These allocators can be used with existing simulator code by dynamic preloading of or static linking against the allocator library. We do not consider allocators that are in a research or prototype stage, such as streamflow (Schneider et al, 2006), ssmalloc (Liu and Chen, 2012), sfmalloc (Seo et al, 2011), SuperMalloc (Kuszmaul, 2015), or scalloc (Aigner et al, 2015). …”
Section: Methodsmentioning
confidence: 99%