You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Atoms are small, and the memory allocations for atoms are likely to be highly fragmented, all over RAM.
This will result in graph-crawls (pattern-searches) that have very high d-cache and d-tlb and pte misses. One way to minize some of this is the use HUGE PAGES (this works, and gives a 30% boost on the genomics datasets).
Another way would be to allocate atomspace atoms out of a different heap than "ordinary" allocations, and to use a locality-allocator for that heap. That is, it should work like the block-allocator for modern file-systems: nearby atoms should be allocated on the same page, and unrelated atoms should be allocated from distant pages. Do such allocators exist?
Atoms are small, and the memory allocations for atoms are likely to be highly fragmented, all over RAM.
This will result in graph-crawls (pattern-searches) that have very high d-cache and d-tlb and pte misses. One way to minize some of this is the use HUGE PAGES (this works, and gives a 30% boost on the genomics datasets).
Another way would be to allocate atomspace atoms out of a different heap than "ordinary" allocations, and to use a locality-allocator for that heap. That is, it should work like the block-allocator for modern file-systems: nearby atoms should be allocated on the same page, and unrelated atoms should be allocated from distant pages. Do such allocators exist?
This is in reference to the email chain w/ Predrag Radović here
The text was updated successfully, but these errors were encountered: