Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Locality allocator for related Atoms #2756

Open
linas opened this issue Aug 17, 2020 · 0 comments
Open

Locality allocator for related Atoms #2756

linas opened this issue Aug 17, 2020 · 0 comments

Comments

@linas
Copy link
Member

linas commented Aug 17, 2020

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant