  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.
