- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to find details about how the scalable allocator works. I found some material at:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.8289&rep=rep1&type=pdf
but this is a little outdated (2007). It would be good to have some updated resource which explains the data structures used and the memory size bins used in the current (or rather recent) implementation of the allocator. For memory allocations >8KB, does TBB request directly the OS virtual memory or has this been changed?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Unfortunately such text has not been written yet, while things are changed since 2007. Sources are here, but they are bad replacement to high-level overview.
As for objects >8KB, they are split from big “regions” (if less than 1 MB) or received directly from OS via mmap/VirtualAlloc, later they are subject to per-thread caching (up to 4 MB) at first, and then to global large object caching (up to 129 MB).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you please point me to the sources?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please find most recent: https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb44_20160526oss_src.tgz
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page