Из бумаги Hoard выделяет внутреннюю память в суперблоки , как того требует куча на процессор .Когда эти кучи нуждаются в суперблоке, они запрашивают у глобальной кучи пустую.Поскольку суперблоки полностью освобождаются кучей для каждого процессора, они высвобождаются в глобальную кучу для повторного использования в другом месте, что накладывает ограничение на выделенную память.
С точки зрения конкуренции за потоки суперблоки используются только активнов одной куче на процессор за раз.Затем Hoard обслуживает только память от одного суперблока до одного потока .Используя эту стратегию, Хоард может избежать наиболее активного ложного совместного использования:
Когда несколько потоков делают одновременные запросы к памяти, запросы всегда будут удовлетворяться из разных суперблоков, избегая активно вызванного ложного совместного использования.
Существует вероятность того, что когда суперблок станет относительно пустым (определяется внутренним фактором), он станет доступным для другой кучи, что может привести к пассивному ложному совместному использованию, поскольку другой поток все еще может сохранять ссылки на суперблок,Однако, учитывая размер суперблоков, они не нашли это распространенным на практике:
Кроме того, мы заметили, что на практике суперблоки, высвобождаемые в глобальную кучу, часто бывают совершенно пустыми,устранение возможности ложного совместного использования.
Hoard обрабатывает фрагментацию с помощью довольно распространенной стратегии распределителя, объединяющей общие размеры выделения и объединяющей освобожденное пространство.