Hoard: a scalable memory allocator for multithreaded applications

By Emery D. Berger, Kathryn S. McKinley, R. Blumofe, P. Wilson. 2000

577 citations recorded by the source corpus.

Parallel, multithreaded C and C++ programs such as web servers, database managers, news servers, and scientific applications are becoming increasingly prevalent. For these applications, the memory allocator is often a bottleneck that severely limits program performance and scalability on multiprocessor systems. Previous allocators suffer from problems that include poor performance and scalability, and heap organizations that introduce false sharing. Worse, many allocators exhibit a dramatic increase in memory consumption when confronted with a producer-consumer pattern of object allocation and freeing. This increase in memory consumption can range from a factor of P (the number of processors) to unbounded memory consumption.This paper introduces Hoard, a fast, highly scalable allocator that largely avoids false sharing and is memory efficient. Hoard is the first allocator to simultaneously solve the above problems. Hoard combines one global heap and per-processor heaps with a novel discipline that provably bounds memory consumption and has very low synchronization costs in the common case. Our results on eleven programs demonstrate that Hoard yields low average fragmentation and improves overall program performance over the standard Solaris allocator by up to a factor of 60 on 14 processors, and up to a factor of 18 over the next best allocator we tested.

Subfields: Computer Networks and Communications, Hardware and Architecture, ML Systems & Hardware

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Computer Networks and Communications

  1. Steven Swanson
  2. Jian Xu
  3. Moran Tzafrir
  4. Itai Incze
  5. Danny Hendler
  6. Jason Evans April
  7. Ranjit Jhala
  8. Rajesh K. Gupta

In Hardware and Architecture

  1. Ali Ayub
  2. Alan R. Wagner
  3. Steven Swanson
  4. Jian Xu
  5. De-chuan Zhan
  6. Da-Wei Zhou
  7. Jason Evans April
  8. Ranjit Jhala

In ML Systems & Hardware

  1. Ali Ayub
  2. Alan R. Wagner
  3. Yoshua Bengio
  4. De-chuan Zhan
  5. Da-Wei Zhou
  6. Hinrich Schütze
  7. Timo Schick
  8. Allan Hanbury

Citations in the corpus