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

Dynamic growth of slab pool for concurrent_map #22

Open
wants to merge 61 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
5b20e97
updated SlabAlloc to place super blocks on separate arrays
Jun 11, 2020
7da2ae7
buildBulk now reports which keys were successfully inserted
Jun 11, 2020
e5257c0
buildBulk function can detect if allocation pool needs to be resized
Jun 12, 2020
a314c19
Added support for resizing dynamic allocation pool
Jun 12, 2020
49161a2
removed prints
Jun 12, 2020
ff5ba41
added pool growth support for unique bulk insert and temporarily remo…
Jun 15, 2020
44ab2f5
added support for preemptive pool growth
Jun 16, 2020
48b21df
added preemptive resizing for non unique build kernel
Jun 17, 2020
1978da6
decreased suberblock size
Nicolas-Iskos Sep 27, 2020
01c972b
updated gitmodules
Nicolas-Iskos Dec 28, 2020
c3c9bcc
removed explicit checks for need to resize
Nicolas-Iskos Dec 28, 2020
c1f8e7b
removed dead code
Nicolas-Iskos Dec 29, 2020
a4f6ba0
resizing parameter tuning
Nicolas-Iskos Dec 29, 2020
b29b988
added cub
Nicolas-Iskos Dec 30, 2020
e3c6463
added block reduce key counting for buildBulkWithUniqueKeys
Nicolas-Iskos Dec 31, 2020
36ee554
bug fixes in insert unique call
Nicolas-Iskos Dec 31, 2020
610af7b
removed print
Nicolas-Iskos Dec 31, 2020
8b006f9
37.5 split
Nicolas-Iskos Jan 1, 2021
c1fb642
resize at 70% lf
Nicolas-Iskos Jan 1, 2021
d2d2926
prints
Nicolas-Iskos Jan 1, 2021
de70e25
changes to SlabAlloc
Nicolas-Iskos Jan 1, 2021
b090ece
prints
Nicolas-Iskos Jan 1, 2021
5769e20
capacity calculation correction
Nicolas-Iskos Jan 1, 2021
90909ee
removed prints
Nicolas-Iskos Jan 1, 2021
855db99
87.5% splut
Nicolas-Iskos Jan 5, 2021
b82f0aa
37.5% split
Nicolas-Iskos Jan 6, 2021
df66adc
prints
Nicolas-Iskos Jan 6, 2021
12d4d9c
bug fix in insertUnique device function
Nicolas-Iskos Jan 6, 2021
1f08535
bug fix in build
Nicolas-Iskos Jan 7, 2021
7c51175
bug fix in insert unique function
Nicolas-Iskos Jan 7, 2021
d1a116c
changes to SlabAlloc
Nicolas-Iskos Jan 7, 2021
854b1f9
resize at 70%
Nicolas-Iskos Jan 7, 2021
34afe70
87.5 split
Nicolas-Iskos Jan 7, 2021
57c0133
resize at 50%
Nicolas-Iskos Jan 7, 2021
79eccec
prints
Nicolas-Iskos Jan 7, 2021
8314c45
resize at 60% occupancy
Nicolas-Iskos Jan 7, 2021
3a73666
resize at 65% lf
Nicolas-Iskos Jan 7, 2021
31d7a0f
prints
Nicolas-Iskos Jan 8, 2021
8f7b436
prints
Nicolas-Iskos Jan 8, 2021
42d2568
prints
Nicolas-Iskos Jan 8, 2021
1911889
prints
Nicolas-Iskos Jan 8, 2021
c2db909
resize at 90%
Nicolas-Iskos Jan 8, 2021
c1df972
changes to SlabAlloc
Nicolas-Iskos Jan 8, 2021
32558d2
changes to SlabAlloc
Nicolas-Iskos Jan 8, 2021
936ae45
SlabAlloc
Nicolas-Iskos Jan 8, 2021
7053d9c
fixes to SlabAlloc
Nicolas-Iskos Jan 8, 2021
b6ae38e
reisze at 75
Nicolas-Iskos Jan 9, 2021
ba0b0c3
prints
Nicolas-Iskos Jan 9, 2021
946aa03
changes to SlabAlloc
Nicolas-Iskos Jan 9, 2021
a217079
resize 60
Nicolas-Iskos Jan 9, 2021
f5f6f00
resize at 55%
Nicolas-Iskos Jan 16, 2021
d9f39f9
resize 60
Nicolas-Iskos Apr 2, 2021
6a57ca8
resize 90
Nicolas-Iskos Apr 2, 2021
38b5a03
SlabAlloc changes
Nicolas-Iskos Apr 2, 2021
b24b998
number of mem blocks and super blocks configurable from user code
Nicolas-Iskos Apr 18, 2021
10c0074
user configurable threshold resizing lf
Nicolas-Iskos Apr 18, 2021
148f1b8
minor changes
Nicolas-Iskos Apr 18, 2021
e701dbf
SlabAlloc changes
Nicolas-Iskos Apr 18, 2021
b44ccde
style fixes
Nicolas-Iskos Apr 19, 2021
c956e08
style fixes
Nicolas-Iskos Apr 19, 2021
cd2319d
Update README.md
Nicolas-Iskos Apr 20, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
prints
Nicolas-Iskos committed Jan 6, 2021
commit df66adc0a86a578674ce10f977596e97665a29eb
4 changes: 2 additions & 2 deletions src/concurrent_map/cmap_implementation.cuh
Original file line number Diff line number Diff line change
@@ -25,11 +25,11 @@ void GpuSlabHash<KeyT, ValueT, SlabHashTypeT::ConcurrentMap>::resize() {
template <typename KeyT, typename ValueT>
uint32_t GpuSlabHash<KeyT, ValueT, SlabHashTypeT::ConcurrentMap>::checkForPreemptiveResize(uint32_t keysAdded) {
auto numSlabs = gpu_context_.getTotalNumSlabs();
//std::cout << "numSlabs " << numSlabs << std::endl;
std::cout << "numSlabs " << numSlabs << std::endl;

auto capacity = numSlabs * 16; // capacity in key-value size multiples
auto finalNumKeys = gpu_context_.getTotalNumKeys() + keysAdded;
//std::cout << "finalNumKeys " << finalNumKeys << std::endl;
std::cout << "finalNumKeys " << finalNumKeys << std::endl;
auto finalSlabLoadFactor = (float) (finalNumKeys) / capacity;
auto numResizes = 0;