Anonymous Coward (763) has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21127 )

Change subject: WIP [ARM] Concurrent binary tree memory fences fixed.
......................................................................


Patch Set 2:

One think, that may help to understand the problem:
https://github.com/Compute-Express-Link/CXLPapers/blob/main/Synchronization_Overview_and_Case_Study_on_Arm_Architecture_Whitepaper.pdf
See the assembly example and explonation under "3.1.3.1 Corresponding litmus 
test"

Example of a problematic tree:
Log(CBTree::DebugPrint): 
https://github.com/martonka/cbtree_viz/blob/master/logs/wrong_tree_key_38
Image: 
https://github.com/martonka/cbtree_viz/blob/master/images/problematic_tree/fail_key_038.pdf
I rendered one of the problematic graphs to pdf with graphviz. Open the pdf 
with chrome, and zoom to a readable size.
Search for "Kkey_38". You can navigate up to its parent's parent N88. You can 
see that the spit keys are messed up (also wisible in the logs).
The keys separated with | in the nodes are the split keys. If a node has n 
child, then it has n-1 split keys. The "lonely keys nodes" are inside
the lowest layer of nodes (LEAF), not real nodes (e.g key_38 is inside N97 ( 
LeafNode::KeyInlineSlice ) )



I also rendered 100 consecutive inserts into an originaly empty graph. It might 
understanding how the tree works:
https://github.com/martonka/cbtree_viz/tree/master/images/example_of_100_insert
Node name are kept the same throught the files (I just assign one for each 
memory address that the DebugPrint dumps.)


You can see the simplified unittest "TEST_F(TestCBTree, TestArmProblem)" and 
the one giving the examples "TEST_F(TestCBTree, TestPrint)"
https://github.com/martonka/kudu_wd/blob/MZ_CBTREE_SEQ/src/kudu/tablet/cbtree-test.cc


--
To view, visit http://gerrit.cloudera.org:8080/21127
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ie7c02dc3b9444599ef680fa9b29ae7a4d39dd382
Gerrit-Change-Number: 21127
Gerrit-PatchSet: 2
Gerrit-Owner: Zoltan Martonka <[email protected]>
Gerrit-Reviewer: Anonymous Coward (763)
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Comment-Date: Fri, 08 Mar 2024 17:59:42 +0000
Gerrit-HasComments: No

Reply via email to