owensgroup/GpuBTree

A question in map_warp split_node1 function

Opened this issue · 2 comments

 Hi, As I mentioned in my title, would you mind telling me why you update the parent node first and then the child node, which different from the operation defined in "Efficient Locking for Concurrent Operations on B-Trees".  
From my point of view,this presents the problem of pointing to an empty node .
Looking forward to your reply.  Thank you.

@hao123mh sorry for responding late. You are correct (and nice catch!). At one point the scenario you mentioned should happen. I did a test to see if it actually happens during the insertion operation but I haven't seen it happening. I'll need to spend some looking through the code again. Will update the issue once I have the answer for you!

Never mind, I did the same test and it didn't happen. As a new CUDA programmer, I'm not sure why this is the case. Look forward to your answer. Thank you.