Speicherallokations-Frage

22/06/2013 - 18:56 von Gerald Breuer | Report spam
Hallo!

Ich habe gerade einen Artikel über den Speicherallocator jemalloc
gelesen ([1]). Das ist ein Memory-Allocator der zwar etwas verschen-
derisch mit dem Speicher umgeht aber wenn konnkurrierend mit mehre-
ren Threads allokiert wird sehr effizient ist.
jemalloc allokiert seinen Speicher aus sog. Runs die jeweils eine
Allokations-Größenklasse abdecken. Diese Runs liegen in einem Chunk
und dieser Chunk ist nach dem Binary-Buddy-Algorithmus in die besag-
ten Chunks aufzuteilen. Um sehr schnell die Startadrese eines Chunks
ermitteln zu können ist die Startadresse aller Chunks ein Vielfaches
der selben Größe (der Default sind 2MB, was auch die Größe eines
Chunks ist).
Jetzt ist meine Frage: wie allokiert man mit Posix-Mitteln Speicher
der ein solches Alignment hat? Ich habe keine Lust den Source von
jemalloc dazu zu lesen, denn unter Umstànden gibt's dazu ja ne knap-
pe Antwort die hier jemand aus der Pistole schießen kann.

[1] http://people.freebsd.org/~jasone/jemalloc/bsdcan2006/jemalloc.pdf
 

Lesen sie die antworten

#1 Gerald Breuer
22/06/2013 - 19:01 | Warnen spam
Am 22.06.2013 18:56, schrieb Gerald Breuer:

Jetzt ist meine Frage: wie allokiert man mit Posix-Mitteln Speicher
der ein solches Alignment hat? Ich habe keine Lust den Source von
jemalloc dazu zu lesen, denn unter Umstànden gibt's dazu ja ne knap-
pe Antwort die hier jemand aus der Pistole schießen kann.



Oh, hab's schon gefunden in "Linux System Programming" von O'Reilly:
posix_memalign ([1])
http://pubs.opengroup.org
/onlinepubs/009696699/functions/posix_memalign.html

Ähnliche fragen