Table of Contents
Fetching ...

Host-Based Allocators for Device Memory

Oren Bell, Ashwin Kumar, Chris Gill

TL;DR

This paper poses a model where the allocation algorithm runs on host memory but allocates device memory and so incur the following constraint: the allocator can't read the memory it is allocating.

Abstract

Memory allocation is a fairly mature field of computer science. However, we challenge a prevailing assumption in the literature over the last 50 years which, if reconsidered, necessitates a fundamental reevaluation of many classical memory management algorithms. We pose a model where the allocation algorithm runs on host memory but allocates device memory and so incur the following constraint: the allocator can't read the memory it is allocating. This means we are unable to use boundary tags, which is a concept that has been ubiquitous in nearly every allocation algorithm. In this paper, we propose alternate algorithms to work around this constraint, and discuss in general the implications of this system model.

Host-Based Allocators for Device Memory

TL;DR

This paper poses a model where the allocation algorithm runs on host memory but allocates device memory and so incur the following constraint: the allocator can't read the memory it is allocating.

Abstract

Memory allocation is a fairly mature field of computer science. However, we challenge a prevailing assumption in the literature over the last 50 years which, if reconsidered, necessitates a fundamental reevaluation of many classical memory management algorithms. We pose a model where the allocation algorithm runs on host memory but allocates device memory and so incur the following constraint: the allocator can't read the memory it is allocating. This means we are unable to use boundary tags, which is a concept that has been ubiquitous in nearly every allocation algorithm. In this paper, we propose alternate algorithms to work around this constraint, and discuss in general the implications of this system model.
Paper Structure (23 sections, 3 equations, 5 figures, 6 algorithms)

This paper contains 23 sections, 3 equations, 5 figures, 6 algorithms.

Figures (5)

  • Figure 1: Demonstration of Boundary Tags
  • Figure 2: TLSF Data Structuremasmano2003dynamic
  • Figure 3: Latency of malloc and free
  • Figure 4: Memory usage during benchmark
  • Figure 5: Structure of Hybrid Array List