Sergei Vinogradov
Sergei Vinogradov
The idea is to add abstraction layer for heterogeneous memory. The interface is built on top of C++ 17 std::pmr::memory_resource interface.
### Description Reducing cache coherency traffic under contention ### Type of change - [x] bug fix - _change which fixes an issue_ - [ ] new feature - _change which...
It is not possible to support cross-pool swap in concurrent_hash_map and in concurrent_skip_list because we do not support cross-pool transactions.
# FEAT: concurrent_multimap, concurrent_set, concurrent_multiset ## Rationale We have a concurrent_map implemented using concurrent_skip_list. The concurrent_skip_list designed in a way to share the same implementation between concurrent_multimap, concurrent_set, concurrent_multiset. So,...
It would be good to reserve some space + add feature flags similarly as we have in concurrent_hash_map. The reserved space should be calculated so that hash_map is aligned to...
We need to decide how ```destroy()``` method has to work with transactions.
This set of changes allows binding particular memory segments to the specified NUMA node(s).
The new algorithm relies on the moving bit and does not require external synchronization. Data movement happens transparently for the client: if the client thread attempts to get a handle...
This PR adds NUMA binding support for private memory. I tried to align the implementation with shared memory approach and introduced `PrivateMemoryManager`. By current design, `SlabAllocator` allocates and owns private...
The `pool_proxy` implementation is straightforward and simply proxies all allocation/deallocation requests to the underlying memory provider. The `proxy_free()` function just calls the `umfMemoryProviderFree()` function which requires the `size` of the...