Распределитель памяти
Оригинальный автор(ы) | Эмери Бергер, Кэтрин С. МакКинли , Роберт Д. Блюмоф, Пол Р. Уилсон |
---|---|
Разработчик(и) | Эмери Бергер |
Первоначальный выпуск | 29 сентября 1999 г. |
Стабильная версия | 3.13 / 1 января 2019 г |
Репозиторий | |
Операционная система | Linux , OS X , Microsoft Windows |
Доступно в | С++ |
Тип | Распределение памяти |
Лицензия | Лицензия Apache v2 |
Веб-сайт | копить |
Распределитель памяти Hoard , или Hoard , — это распределитель памяти для Linux , OS X и Microsoft Windows . Hoard спроектирован таким образом, чтобы быть эффективным при использовании многопоточных приложений на многопроцессорных компьютерах. Hoard распространяется по лицензии Apache версии 2.0.
История
[ редактировать ]В 2000 году его автор Эмери Бергер протестировал некоторые известные распределители памяти и заявил, что Hoard повышает производительность многопоточных приложений, предоставляя быстрые и масштабируемые управления памятью функции ( malloc и free ). В частности, это уменьшает конкуренцию за кучу (центральную структуру данных, используемую при динамическом распределении памяти ), возникающую, когда несколько потоков выделяют или освобождают память, и позволяет избежать ложного совместного использования , которое может быть вызвано распределителями памяти. В то же время у Hoard есть строгие ограничения на фрагментацию . [1]
Hoard продолжает поддерживаться и улучшаться, а также используется в ряде проектов с открытым исходным кодом и коммерческих проектов. [2] [3]
Это также вдохновило на изменения в других распределителях памяти, например, в OS X с февраля 2008 года (впервые выпущено в Mac OS X Snow Leopard ). [4] [5]
См. также
[ редактировать ]- Динамическое распределение памяти C
- Ручное управление памятью
- Динамическое распределение памяти
- мималлок
Ссылки
[ редактировать ]- ^ Бергер, Эд; Мак-Кинли, Канзас ; Блюмофе, РД; Уилсон, PR (ноябрь 2000 г.). Hoard: масштабируемый распределитель памяти для многопоточных приложений (PDF) . АСПЛОС -IX. Материалы девятой международной конференции по Архитектурной поддержке языков программирования и операционных систем . стр. 117–128. CiteSeerX 10.1.1.1.4174 . дои : 10.1145/378993.379232 . ISBN 1-58113-317-0 .
- ^ «Альтернативный распределитель памяти для стандартного glibc» . 16 сентября 2007 г. Архивировано из оригинала 7 октября 2011 г.
- ^ «Загрузка GNU Common C++» .
- ^ «Я Mac (или «Эмери внутри»)» . 26 октября 2010 г.
- ^ «Взгляд на то, как malloc работает на Mac» .
Внешние ссылки
[ редактировать ]- Веб-страница клада .
- Эмери Бергер , автор Хоарда и профессор Массачусетского университета в Амхерсте .