Hoard memory allocator: Difference between revisions

Content deleted Content added
Updated for newest release
See also: annlink
 
(14 intermediate revisions by 13 users not shown)
Line 1:
{{short description|Memory allocator}}
{{Infobox software
|name = Hoard
|logoauthor = Emery Berger, [[Kathryn S. McKinley]], Robert D. Blumofe, Paul R. Wilson =
|screenshotdeveloper = Emery Berger
|caption released = {{Start date|1999|09|29}}
|latest release version = 3.1113
|collapsible =
|latest release date = {{Start date and age|20152019|81|51}}
|author = Emery Berger <br> [[Kathryn S. McKinley]] <br> Robert D. Blumofe<br> Paul R. Willson
|operating system = [[Linux]], [[OS X]], [[Microsoft Windows]], [[Solaris (operating system)|Solaris]] and others
|developer = Emery Berger <!-- ; Martin Bachtold ; Trey Boudreau ; John Calcote ; Robert Fleischman ; Bo Granlund ; John Hickin ; Paul Larson ; Maged Michael ; Kevin Mills ; Ganesan Rajagopal ; Benoit Rignault -->
|released = {{Start date|1999|09|29}} <!-- {{Start date|1998|08|01}} -->
|discontinued =
|latest release version = 3.11
|latest release date = {{Start date and age|2015|8|5}}
|latest preview version =
|latest preview date = <!-- {{Start date and age|YYYY|MM|DD}} -->
|frequently updated = yes
|programming language =
|operating system = [[Linux]], [[OS X]], [[Microsoft Windows]], [[Solaris (operating system)|Solaris]] and others
|platform = [[Cross-platform]]
|size =
|language = [[C++]]
|status = Active
|genre = [[Memory allocation]]
|license = [[GNU General PublicApache License|GPL]] v2 and another one for [[proprietary software]]
|website = {{URL|http://www.hoard.org/}}
}}
The '''Hoard memory allocator''', or '''Hoard''', is a [[memory allocation|memory allocator]] for [[Linux]], [[SolarisOS (operating system)|SolarisX]], and [[Microsoft Windows]] and other [[operating systems]]. Hoard is designed to be efficient when used by [[Multithreading (computer architecture)|multithreaded]] applications on [[multiprocessor]] computers. Hoard is distributed under the [[GPLApache License]], butversion can be purchased for [[proprietary software]]2.0.
{{Portal|Free software}}
The '''Hoard memory allocator''', or '''Hoard''', is a [[memory allocation|memory allocator]] for [[Linux]], [[Solaris (operating system)|Solaris]], [[Microsoft Windows]] and other [[operating systems]]. Hoard is designed to be efficient when used by [[Multithreading (computer architecture)|multithreaded]] applications on [[multiprocessor]] computers. Hoard is distributed under the [[GPL]], but can be purchased for [[proprietary software]].
 
==History==
In 2000, its author [[Emery Berger]] benchmarked some famous memory allocators and stated Hoard improves the performance of multithreaded applications by providing fast, [[scalable]] [[memory management]] functions ([[malloc]] and [[Free (programming)|free]]). In particular, it reduces contention for the heap (the central data structure used in [[dynamic memory allocation]]) caused when multiple threads allocate or free memory, and avoids the [[false sharing]] that can be introduced by memory allocators. At the same time, Hoard has strict bounds on [[fragmentation (computer)|fragmentation]].<ref name=Berger2000>{{citeCite conference doi| doi = 10.1145/378993.379232| title = Hoard: A Scalable Memory Allocator for Multithreaded Applications| work = Proceedings of the ninth international conference on Architectural support for programming languages and operating systems| conference = [[International Conference on Architectural Support for Programming Languages and Operating Systems|ASPLOS]]-IX| pages = 117–128| date=November 2000 | last1 = Berger | first1 = E. D. | last2 = McKinley | first2 = K. S. |author2-link = Kathryn S. McKinley| last3 = Blumofe | first3 = R. D. | last4 = Wilson | first4 = P. R. | isbn = 1-58113-317-0| url = http://www.cs.umass.edu/~emery/pubs/berger-asplos2000.pdf| citeseerx = 10.1.1.1.4174}}</ref>
 
Hoard continues to be maintained and improved, and is in use by a number of open source and commercial projects.<ref>{{cite web |title=An alternative Memory Allocator for the standard glibc |date=2007-09-16 |url=http://ineluttabile.it/node/6 |archiveurl=https://web.archive.org/web/20111007180846/http://ineluttabile.it/node/6 |archivedate=2011-10-07}}</ref><ref>{{cite web |title=GNU Common C++ Downloading |url=http://www.gnutelephony.org/index.php?title=GNU_Common_C%2B%2B&oldid=1105#Downloading}}</ref>
In 2000, its author [[Emery Berger]] benchmarked some famous memory allocators and stated Hoard improves the performance of multithreaded applications by providing fast, [[scalable]] [[memory management]] functions ([[malloc]] and [[Free (programming)|free]]). In particular, it reduces contention for the heap (the central data structure used in [[dynamic memory allocation]]) caused when multiple threads allocate or free memory, and avoids the [[false sharing]] that can be introduced by memory allocators. At the same time, Hoard has strict bounds on [[fragmentation (computer)|fragmentation]].<ref name=Berger2000>{{cite doi|10.1145/378993.379232}}</ref>
 
HoardIt continueshas also inspired changes to beother maintainedmemory andallocators improved,such andas the isone in use[[OS byX]] asince numberFebruary of2008 (first released in open[[Mac sourceOS andX commercialSnow projectsLeopard]]).<ref>{{cite web |title=AnI'm alternativea MemoryMac Allocator(or, for"Emery the standard glibcInside") |date=2007-09-1626 October 2010|url=http://ineluttabileemeryblogger.itcom/node2010/6 |archiveurl=http:10/26/web.archive.org/web/20111007180846/http://ineluttabile.it/node/6 |archivedate=2011im-10a-mac-07or-emery-inside/}}</ref><ref>{{cite web |title=GNUA Commonlook C++at Downloadinghow malloc works on the Mac |url=http://www.gnutelephonycocoawithlove.orgcom/index2010/05/look-at-how-malloc-works-on-mac.php?title=GNU_Common_C%2B%2B&oldid=1105#Downloadinghtml}}</ref>
 
==See also==
It has also inspired changes to other memory allocators such as the one in [[OS X]] since February 2008 (first released in [[Mac OS X Snow Leopard]]).<ref>{{cite web |title=I’m a Mac (or, “Emery Inside”) |url=http://emeryblogger.com/2010/10/26/im-a-mac-or-emery-inside/}}</ref><ref>{{cite web |title=A look at how malloc works on the Mac |url=http://www.cocoawithlove.com/2010/05/look-at-how-malloc-works-on-mac.html}}</ref>
{{Portal|Free and open-source software}}
*{{annotated link|C dynamic memory allocation}}
*{{annotated link|Manual memory management}}
*{{annotated link|Dynamic memory allocation}}
*{{annotated link|mimalloc}}
 
==References==
Line 41 ⟶ 35:
* [http://www.hoard.org/ The Hoard web page].
* [http://www.cs.umass.edu/~emery Emery Berger], Hoard's author and a professor at the [[University of Massachusetts Amherst]].
 
{{Memory management}}
 
{{DEFAULTSORT:Hoard Memory Allocator}}