Subject Hoard Memory Allocator
Author Jim Starkey
Having been through the "hoard" paper and thought about it some,
I don't think it has much to offer a multi-threaded database

The problem that hoard addresses is thread based memory allocation
on multi-processors to minimize avoidable processor cache contention.
The main idea is that it maintains separate per-processor memory
heaps, each feed large blocks from a global super-heap. The per-
processor heaps are organized to respect hardware cache frame

While I'm sure there are many applications where the hoard technology
is applicable, I'm quite sure multi-threaded database server are
among them. The problem is that a database server has a large
collection of shared data structures. Without regard to how the
memory is allocated, once allocated, it is shared across all threads.
To put it another way, since the memory allocated outlives individual
thread activity (threads, of course, are recycled), any benefit
from systematic per-processor allocation rapid disappears into the

The suggestion that hoard could eliminate or reduce lock overhead
on the memory heap by per-thread heaps doesn't work since any piece
of memory can be released by any thread, requiring a lock to release
memory which must be respected to allocate memory.

Jim Starkey