430 likes | 541 Views
Situation space. ================================== CARRIER /. A Spatial Data and Sensor Network Application:. CubE for Active Situation Replication (CEASR). Nano-sensors dropped into the Situation space.
E N D
Situation space ================================== \ CARRIER / A Spatial Data and Sensor Network Application: CubE for Active Situation Replication (CEASR) Nano-sensors dropped into the Situation space Wherever threshold level is sensed (chem, bio, thermal...) a ping is registered in 1 compressed Ptree for that location. Using Alien Technology’s Fluidic Self-assembly (FSA) technology, clear layers are laminated into a cube, with a embedded nano-LED at each voxel. .:.:.:.:..::….:. : …:…:: ..: . . :: :.:…: :..:..::. .:: ..:.::.. .:.:.:.:..::….:. : …:…:: ..: . . :: :.:…: :..:..::. .:: ..:.::.. .:.:.:.:..::….:. : …:…:: ..: . . :: :.:…: :..:..::. .:: ..:.::.. The Ptree is transmitted to the cube, where the pattern is reconstructed (uncompress Ptree, display on the cube). Each energized nano-sensor transmits a ping (location is triangulated from the ping). These locations are then translated to 3-dimensional coordinates at the display. The corresponding voxel on the display lights up. This is the expendable, one-time, cheap sensor version. A more sophisticated CEASR device could sense and transmit the intensity levels, lighting up the display voxel with the same intensity. Soldier sees replica of sensed situation prior to entering space
Spatial Data • Pixel – a point in a space • Band – feature attribute of the pixels • Value – usually one byte (0~255) • Images have different numbers of bands • TM4/5: 7 bands (B, G, R, NIR, MIR, TIR, MIR2) • TM7: 8 bands (B, G, R, NIR, MIR, TIR, MIR2, PC) • TIFF: 3 bands (B, G, R) • Ground data: individual bands (Yield, Moisture, Nitrate level, Temperature, elevation…) These notes contain NDSU confidential & Proprietary material. Patents pending on Ptree technology
RSI dataset example RSI data can be viewed as collection of pixels. Each pixel has a value for each feature attribute TIFF image Yield Map For example, the RSI dataset above has 320 rows and 320 columns of pixels (102,400 pixels) and 4 feature attributes (B,G,R,Y). The (B,G,R) feature bands are in the TIFF image and the Y feature is color coded in the Yield Map.
Spatial Data Formats • Existing formats • BSQ (Band Sequential) • BIL (Band Interleaved by Line) • BIP (Band Interleaved by Pixel) • New format • bSQ (bit Sequential) • BAND-1 • 54 127 • (1111 1110) (0111 1111) • 4 193 • (0000 1110) (1100 0001) • BAND-2 • 7 240 • (0010 0101) (1111 0000) • 00 19 • (1100 1000) (0001 0011) BSQ format (2 files) Band 1: 254 127 14 193 Band 2: 37 240 200 19
Spatial Data Formats (Cont.) • BAND-1 • 54 127 • (1111 1110) (0111 1111) • 4 193 • (0000 1110) (1100 0001) • BAND-2 • 7 240 • (0010 0101) (1111 0000) • 00 19 • (1100 1000) (0001 0011) BSQ format (2 files) Band 1: 254 127 14 193 Band 2: 37 240 200 19 BIL format (1 file) 254 127 37 240 14 193 200 19 • BAND-1 • 54 127 • (1111 1110) (0111 1111) • 4 193 • (0000 1110) (1100 0001) • BAND-2 • 7 240 • (0010 0101) (1111 0000) • 00 19 • (1100 1000) (0001 0011) BSQ format (2 files) Band 1: 254 127 14 193 Band 2: 37 240 200 19 BIL format (1 file) 254 127 37 240 14 193 200 19 BIP format (1 file) 254 37 127 240 14 200 193 19
Spatial Data Formats (Cont.) bSQ format (16 files) B11 B12 B13 B14 B15 B16 B17 B18 B21 B22 B23 B24 B25 B26 B27 B28 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 • BAND-1 • 54 127 • (1111 1110) (0111 1111) • 4 193 • (0000 1110) (1100 0001) • BAND-2 • 7 240 • (0010 0101) (1111 0000) • 00 19 • (1100 1000) (0001 0011) BSQ format (2 files) Band 1: 254 127 14 193 Band 2: 37 240 200 19 BIL format (1 file) 254 127 37 240 14 193 200 19 BIP format (1 file) 254 37 127 240 14 200 193 19
Spatial Formats • Split each band into eight separate files, one for each bit position. • Reasons of using bSQ format • Different bits contribute to the value differently. • bSQ format facilitates representation of a precision hierarchy (from 1 to 8 bit precision). • bSQ format facilitates creation of an efficient data structure, the P-tree, algebra and cube. • BSQ and bSQ are “tabular” formats • BSQ consist of a separate table for each feature band • bSQ consist of a separate table for each bit of each band • One can view it this way: • The data set is initially 1 relation or table, R(K1,..,Kk, A1, …, An) where K1,..,Kk are structure attributes and Ai are feature attributes. • Structure attributes of a 2-D image are X,Y coordinates of the pixels (rows). • Feature attributes are the bands, B,G,R, NIR, … • BSQ we separate each feature into a separate file and suppress the structure attributes altogether (assuming pixels are always arranged in raster order. (aka: Decomposition Storage Model (DSM), Copeland et al, SIGMOD85, 268-279.) • bSQ, separate each bit of each feature into separate file (raster order assumption) (aka: Bit Transpose File (BTF) model, Wong et al, VLDB85, pp 448-457.)
1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 An example of PC-tree 55 55 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 16 16 8 8 15 15 16 16 3 3 0 0 4 4 1 1 4 4 4 4 3 3 4 4 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1 1 Given a bSQ file, Bij, (shown in spatial positions also) we create its basic PC-tree, Pij as follows. • Peano or Z-ordering • Pure (Pure-1/Pure-0) quadrant • Root Count • Level • Fan-out • QID (Quadrant ID)
Our example of PC-tree (again) 001 55 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 2 3 16 8 15 16 2 3 0 4 1 4 4 3 4 3 111 1 1 1 0 0 0 1 0 1 1 0 1 2 . 2 . 3 ( 7, 1 ) 10.10.11 ( 111, 001 ) • Peano or Z-ordering • Pure (Pure-1/Pure-0) quadrant • Root Count Level-3 Level-2 Level-1 Level-0 • Level • Fan-out • QID (Quadrant ID)
P-tree variation – PM-tree m 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 m m 1 m 0 1 m 1 1 m 1 1 1 1 0 0 0 1 0 1 1 0 1 • Peano Mask tree (PM-tree) uses mask instead of count. • 1 denotes pure-1, 0 denotes pure-0 and m denotes mixed. • It provides an efficient way for ANDing. • Most compact form (all lossless) • Predicate Tree (1 iff predicate is true for quadrant) • E.g., Pure1-Tree (predicate: quad is all 1’s)
PM-tree1: m ______/ / \ \______ / / \ \ / / \ \ 1 m m 1 / / \ \ / / \ \ m 0 1 m 1 1 m 1 //|\ //|\ //|\ 1110 0010 1101 PM-tree2: m ______/ / \ \______ / / \ \ / / \ \ 1 0 m 0 / / \ \ 1 1 1 m //|\ 0100 AND Result: m ________ / / \ \___ / ____ / \ \ / / \ \ 1 0 m 0 / | \ \ 1 1 m m //|\ //|\ 1101 0100 Ptree: 55 ____________/ / \ \___________ / ___ / \___ \ / / \ \ 16 ____8__ _15__ 16 / / | \ / | \ \ 3 0 4 1 4 4 3 4 //|\ //|\ //|\ 1110 0010 1101 Complement: 9 ____________/ / \ \___________ / ___ / \___ \ / / \ \ 0 ____8__ __1__ 0 / / | \ / | \ \ 1 4 0 3 0 0 1 0 //|\ //|\ //|\ 0001 1101 0010 Ptree Algebra • And • Or • Complement • Other Depth-first Pure 1 path code 0 100 101 102 12 132 20 21 220 221 223 23 3 & 0 20 21 22 231 RESULT 0 0 0 20 20 20 21 21 21 220 221 223 22 220 221 223 23 231 231
Basic, Value and Tuple Ptrees Basic Ptrees (a Pure1-Trees predicate-tree for target bit of target attribute) e.g., P11, P12, …, P18, P21, …, P28, …, P71, …, P78 AND Target Attribute Target Bit Position Value Ptrees (predicate: quad is purely target value in target attribute) e.g., P1, 5 = P1, 101 = P11 AND P12’ AND P13 AND Target Attribute Target Value Tuple Ptrees (predicate: quad is purely target tuple) e.g., P(1, 2, 3) = P(001, 010, 111) = P1, 001 AND P2, 010 AND P3, 111 AND/OR Cube Ptrees (predicate: quad is purely in target cube (product of intervals) e.g., P([13],, [0.2]) = (P1,1 OR P1,2 OR P1,3) AND (P3,0 OR P3,1 OR P3,2)
Creating Peano-Count-trees (PC-trees) from Spatial Relations Take any spatial relation, R(K1,..,Kk, A1, A2, …, An) (Ki=structure, Ai=feature attributes). • Eg, Structure attributes of a 2-D image = X-Y coords, feature attribs = bands (e.g., B,G,R) • We create BSQ files from it by projection, Bi = R[Ai]. • We create bSQ files from each of these BSQ files, Bi1, Bi2 , …, Bin • We create a Peano Tree, Pij, from each bSQ file, Bij Peano trees (P-trees): • P-tree represents bSQ, BSQ, relational data in a recursive quadrant-by-quadrant, lossless, compressed, datamining-ready format. • P-trees come in many forms • Count-trees (PC-trees); • Predicate-trees (P1, P0, PN1, PNZ, value-P-trees, tuple-P-trees, cube-P-trees)
Other forms:Predicate Ptrees(1 if condition is true thruout the quadrant, else 0)(P1 and P0 are lossless) 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 Vector Implemented Ptrees (Vector Ptrees have 1 row for each mixed quadrant, with that quadrant’s (qid, P-vector) NP0V QidPgVc [] 1111 [1] 1011 [1.0] 1110 [1.3] 0010 [2] 1111 [2.2] 1101 NP1V QidPgVc [] 0110 [1] 1101 [1.0] 0001 [1.3] 1101 [2] 0010 [2.2] 0010 P1V QidPgVc [] 1001 [1] 0010 [1.0] 1110 [1.3] 0010 [2] 1101 [2.2] 1101 P0V QidPgVc [] 0000 [1] 0100 [1.0] 0001 [1.3] 1101 [2] 0000 [2.2] 0010 We may need Peano Mixed (PM) trees (e.g., distributed P-trees). Note: PM= P1 xor NP0 PeanoMixed (PM) .---- 1 ----. / / \ \ 0 1 1 0 // \ \ // \ \ 1 0 0 1 00 1 0 //|\ //|\ //|\ 0000 0000 0000 Leaf-vectors always 0000 Can be omitted. PMV QidPgVc [] 0110 [1] 1001 [2] 0010 PCT: .--- 55 ---. / / \ \ 16 8 15 16 // \ \ // \\ 3 0 4 1 44 3 4 //|\ //|\ //|\ 1110 0010 1101 Pure1Tree (P1T) .---- 0 ----. / / \ \ 1 0 0 1 // \ \ // \ \ 0 0 1 0 11 0 1 //|\ //|\ //|\ 1110 0010 1101 Pure0Tree (P0T) .---- 0 ----. / / \ \ 0 0 0 0 // \ \ // \ \ 0 1 0 0 00 0 0 //|\ //|\ //|\ 0001 1101 0010 NotPure0(NP0T) .---- 1 ----. / / \ \ 1 1 1 1 // \ \ // \ \ 1 0 1 1 11 1 1 //|\ //|\ //|\ 1110 0010 1101 NotPure1(NP1T) .---- 1 ----. / / \ \ 0 1 1 0 // \ \ // \\ 1 1 0 1 00 10 //|\ //|\ //|\ 0001 1101 0010
The Peano Cube of a relation (P-cube) Suppose we have R(K, A1, A2, A3 ) with each Ai a 2-bit number Construct the cube of all tuple-P-trees for R Form the cube of all RootCountP(t) P-Cube of R P-Cube(A1, A2, A3, rcP(A1,A2,A3)) (rootcounts form the feature attributes and Ai’s form the structure attributes) We can intervalize the RCs, (eg, 4 intervals, [0,0], [1,8], [9,63], [64,), labelled, 00, 01, 10 ,11 respectively). Meta-P-trees of R, by forming basic Ptrees over the P-Cube of R (1 feature attribute and, if we intervalize as above, 4 basic Ptrees). - |HR| |R| and = iff (A1, A2, A3 ) candidate key for R - what is the relationship to the Haar wavelet low-pass tree? rc P(0,0,3) rc P(1,0,3) rc P(2,0,3) rc P(3,0,3) rc P(0,0,2) rc P(1,0,2) rc P(2,0,2) rc P(3,0,2) 1 5 0 0 11 rc P(0,0,1) rc P(1,0,1) rc P(2,0,1) rc P(3,0,1) 14 5 3 0 11 rc P313 5 0 5 17 0 0 0 0 11 10 rc P312 0 0 0 0 rc P(0,0,0) rc P(1,0,0) rc P(2,0,0) rc P(3,0,0) 00 10 rc P311 rc P323 0 0 0 0 0 0 0 0 10 01 rc P322 rc P(0,0,0) rc P(1,1,0) rc P(2,1,0) rc P(3,1,0) 1 0 0 0 01 01 rc P321 rc P333 1 0 0 0 0 0 0 0 A2 01 00 rc P332 11 rc P(0,2,0) rc P(1,2,0) rc P(2,2,0) rc P(3,2,0) 0 0 0 1 10 00 rc P331 00 01 10 10 0 0 0 0 00 00 01 10 01 rc P(0,3,0) rc P(1,3,0) rc P(2,3,0) rc P(3,3,0) A3 11 00 00 01 10 11 A1
The P-tree Algebra (Complement, AND, OR, …) • Complement Tree = the Ptree for the bit-complement of the bSQ file) (‘) • We will use the “prime” notation. • PC-tree of a complement formed by purity-complementing each count. • Truth-tree of a complement: by bit-complementing leaves only. • Tree Complement = Complement of the tree - each tree entry is complemented. (“) • Not the same as the Complement Tree! • We will use”double prime” notation. P1 = P0’ .---- 0 ---. / / \ \ 1 0 0 1 // \ \ // \ \ 0 0 1 0 11 0 1 //|\ //|\ //|\ 1110 0010 1101 P0 = P1’ .---- 0 ----. / / \ \ 0 0 0 0 // \ \ // \ \ 0 1 0 0 00 0 0 //|\ //|\ //|\ 0001 1101 0010 NP0 = NP1’ .---- 1 ----. / / \ \ 1 1 1 1 // \ \ // \ \ 1 0 1 1 11 1 1 //|\ //|\ //|\ 1110 0010 1101 NP1=NP0’=P1” .---- 1 ----. / / \ \ 0 1 1 0 // \ \ // \\ 1 1 0 1 00 10 //|\ //|\ //|\ 0001 1101 0010 P1V QidPgVc [] 1001 [1] 0010 [1.0] 1110 [1.3] 0010 [2] 1101 [2.2] 1101 P0V QidPgVc [] 0000 [1] 0100 [1.0] 0001 [1.3] 1101 [2] 0000 [2.2] 0010 NP0V QidPgVc [] 1111 [1] 1011 [1.0] 1110 [1.3] 0010 [2] 1111 [2.2] 1101 NP1V QidPgVc [] 0110 [1] 1101 [1.0] 0001 [1.3] 1101 [2] 0010 [2.2] 0010 P1” .---- 1 ---. / / \ \ 0 1 1 0 // \ \ // \ \ 1 1 0 1 00 1 0 //|\ //|\ //|\ 0001 1101 0010 P0” .---- 1 ----. / / \ \ 1 1 1 1 // \ \ // \ \ 1 0 1 1 11 1 1 //|\ //|\ //|\ 1110 0010 1101 NP0”=P0 .---- 0 ----. / / \ \ 0 0 0 0 // \ \ // \ \ 0 1 0 0 00 0 0 //|\ //|\ //|\ 0001 1101 0010 NP1”=P1 .---- 0 ----. / / \ \ 1 0 0 1 // \ \ // \\ 0 0 1 0 11 01 //|\ //|\ //|\ 1110 0010 1101 P1V” QidPgVc [] 0110 [1] 1101 [1.0] 0001 [1.3] 1101 [2] 0010 [2.2] 0010 P0V” QidPgVc [] 1111 [1] 1011 [1.0] 1110 [1.3] 1101 [2] 1111 [2.2] 1101 NP0V” QidPgVc [] 0000 [1] 0100 [1.0] 0001 [1.3] 1101 [2] 0000 [2.2] 1101 NP1V” QidPgVc [] 1001 [1] 0010 [1.0] 0001 [1.3] 0010 [2] 1101 [2.2] 1101
ANDing (for all Truth-trees, just AND bit-wise) 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 Pure1-quad-list method: For each operand, list the qids of the pure1 quad’s in depth-first order. Do one multi-cursor scan across the operand lists , for every pure1 quad common to all operands, install it in the result. 0 100 101 102 12 132 2021220 221 22323 3 AND 020 2122231020 21220 221 223231 P1operand1 0 1 0 0 1 // \ \ // \\ 0 0 1 0 1 1 01 //|\ //|\ //|\ 1110 0010 1101 P0operand1 0 0 0 0 0 // \ \ // \ \ 0 1 0 0 0 0 00 //|\ //|\ //|\ 0001 1101 0010 NP0operand1 1 1 1 1 1 // \ \ // \\ 1 0 1 1 1 1 11 //|\ //|\ //|\ 1110 0010 1101 NP1operand1NP0’ 1 0 1 1 0 // \ \ // \\ 1 1 0 1 0 0 10 //|\ //|\ //|\ 0001 1101 0010 bitwise Depth first traversal using 1^1=1, 1^0=0, 0^0=0. AND P1operand2 0 1 0 0 0 / / \ \ 1 1 1 0 //|\ 0100 P0op2 = P1’op2 0 0 1 0 1 / / \ \ 0 0 0 0 //|\ 1011 NP0operand2 1 1 0 1 0 / / \ \ 1 11 1 //|\ 0100 NP1operand2NP0’ 1 0 1 1 1 / / \ \ 0 0 0 1 //|\ 1011 = P1op1^P1op2 0 1 0 0 0 // | \ 11 0 0 //|\ //|\ 1101 0100 P1op1^P0op2 = P1op1^P1’op20 0 0 0 1 // \ \ //\ \ 0 0 1 0 000 0 //|\ //|\ //|\ 1110 0010 1011 NP0op1^NP0op2 1 1 0 1 0 // | \ 11 1 1 //|\ //|\ 1101 0100 NP0op1^NP0’op2 1 0 1 1 1 // \ \ /// \ 1 0 1 1 000 1 //|\ //|\ //|\ 1110 0010 1011
Example1: One band, B1, with 3-bit precision 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 6 6 6 6 5 5 1 1 6 6 6 6 5 1 1 1 6 6 6 6 5 5 0 1 6 6 6 6 5 5 5 0 7 6 7 7 5 5 5 5 6 6 7 7 5 5 5 5 7 7 4 6 5 5 5 5 3 7 6 6 5 5 5 5 B1 B11 B12 B13 PNP0V11 P1V11 (combined into 1 table) qidNP0P1 [ ] 1111 1001 [01] 1011 0010 [10] 1111 1101 [01.00] 1110 1110 [01.11] 0010 0010 [10.10] 1101 1101 P12 qidNP0P1 [ ] 1010 1000 [10] 1111 1110 [10.11] 0111 P13 qidNP0P1 [ ] 0111 0001 [01] 1111 1110 [10] 1110 0110 [01.11] 0110 [10.00] 1000 Redundant! Since, at leaf, NP0=P
Data Mining in Genomics • There is (will be?) an explosion of gene expression data. • Current emphasis is on extracting meaningful information from huge raw data sets. • Methods employed are Clustering and Classification • Microarray data is most often represented as a relation G(Gid, T1, T2, ., Tn) where Gid is the gene identifier; T1…. Tn are the various treatments (or conditions) and the data values are gene expression levels. We will call this the " Gene Table”. • Currently, data-mining techniques concentrate on the Gene table, G(Gid, T1, T2, ., Tn) - specifically, on finding clusters of genes that exhibit similar expression patterns under selected treatments (clustering the gene table).
Gene Table Treatmt-ID Gene-ID . T1 T2 T3 T4 G1 …. …. …. …. G2 …. …. …. …. G3 …. …. …. …. G4 …. …. …. …. P13 [01.10.11.11.01.00] qidNP0P1 [ ] 0111 0001 [01] 1111 1110 [10] 1110 0110 [01.11] 0110 [10.00] 1000 Using the Universal Relation approach to mining across different Microarray datasets, one can use a consistent Gene-id. Each Microarray will be embedded in a subquadrant. Therefore the data will be sparse and can be handled by Vector Implemented P-trees in which the prefix of the subquadrant can be listed only once:
Example1: ANDing to get rc P1(6) BpQidNP0P1 11[ ] 1111 1001 12[ ] 1010 1000 13[ ] 0111 0001 11[01] 1011 0010 13[01] 1111 1110 11[01.00] 1110 11[01.11] 0010 13[01.11] 0110 11[10] 1111 1101 12[10] 1111 1110 13[10] 1110 0110 13[10.00] 1000 11[10.10] 1101 12[10.11] 0111 P1(6) = P1(110) =P111^P112^P013 = P11^P12^NP0”13 PM1(110)= P1(110) xor NP01(110) = P11^P12^NP0”13xorNP011^NP012^P1”13 At [ ]: CNT[ ]=1-cnt*4level =1*42=16since P1(110)[ ] = 1001^1000^1000=1000 PM1(110)[ ] =P11 ^ P12 ^NP0”13xorNP011^NP012^P1”13 =1001^1000^ 1000xor 1111 ^ 1010 ^1110 = 0010 At [10]: CNT[10]= 1-cnt*4level=0*41=0 since P1(110)[10]= 1101^1110^0001=0000 PM1(110)[10] =P11^P 12 ^NP0”13xorNP011^NP012^P1”13 =1101^1110^0001 xor 1111^1111^1001= 0000 xor 1001=1001 At [10.00]: CNT=[10.00]1-cnt*4level=3*40=3 since P1(110)[10.00]= 1111^1111^0111=0111 At [10.11]: CNT=[10.11]1-cnt*4level=3*40=3 since P1(110)[10.11]= 1111^0111^1111=0111 Thus, rcP1(6) =16 + 0 + 3 + 3 = 22 [10] only mixed child [10.00], [10.11] mixed children For P(p)= P(100- ---- , … , 011- ---- ): At each [..] 1. swap and take bit comp of each [..]NP0V [..]P1V pair corresponding to 0-bits. 2. AND the resulting vector-pairs. Result: [..]NP0V(p)[..]P1V(p). To get PMV(p) for the next level, 3. xor the two vectors.
ANDing in the NP0V-P1V Vector-Pair Format For P(p)= P(110- ---- , … , ---- ---- ) (previous example, P1(6) at qid[ ] ) At each [..] 1. swap and complement each [..]NP0V [..]P1V pair corresponding to 0-bits. Result denoted with * 2. AND the resulting vector-pairs. Result: [..]NP0V(p)[..]P1V(p). To get PMV(p) for the next level, 3. xor the two vectors to get [..]PMV(p) posNP0VP1V 1 1 1 1 1 1 0 0 1 2 1 0 1 0 1 0 0 0 3 0 1 1 1 0 0 0 1 - - - - - … - … - bitNP0V*P1V* 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 - - - - - … - … - _____________________ 1 0 1 0 1 0 0 0 NP0VP1V p 1 0 1 0 1 0 0 0 PMV(p) = 0 0 1 0
Striping P-trees? BpQidNP0P100 11[01.00] 1110 13[10.00] 1000 BpQidNP0P101 11[01] 1011 0010 13[01] 1111 1110 BpQidNP0P1 11[ ] 1111 1001 12[ ] 1010 1000 13[ ] 0111 0001 11[01] 1011 0010 13[01] 1111 1110 11[01.00] 1110 11[01.11] 0010 13[01.11] 0110 11[10] 1111 1101 12[10] 1111 1110 13[10] 1110 0110 13[10.00] 1000 11[10.10] 1101 12[10.11] 0111 BpQidNP0P1C 11[ ] 1111 1001 12[ ] 1010 1000 13[ ] 0111 0001 BpQidNP0P110 11[10] 1111 1101 11[10.10] 1101 12[10] 1111 1110 13[10] 1110 0110 BpQidNP0P111 11[01.11] 0010 12[10.11] 0111 13[01.11] 0110 Assume 5-computer cluster; NodeC, Node00, Node01, Node10, Node11 Send to Nij if qid ends in ij: P11(110) =P111^P112^P013 = P11^P12^NP0”13PM1(110) = P11^P12^NP0”13xorNP011^NP012^P1”13 At NC: CNT[ ]=1-cnt*4level =1*42=16since P1(110)[ ]= 1001^1000^1000=1000 PM1(110)[ ] =1001^1000^1000xor 1111^1010^1110= 0010 At N10: CNT[10]= 1-cnt*4level=0*41=0since P1(110)[10]= 1101^1110^0001=0000 PM1(110)[10] =1101^1110^0001 xor 1111^1111^1001= 0000 xor 1001=1001 At N00: CNT=[10.00]1-cnt*4level=3*40=3since P1(110)[10.00]= 1111^1111^0111=0111 At N11: CNT=[10.11]1-cnt*4level=3*40=3since P1(110)[10.11]= 1111^0111^1111=0111 Every node sends accumulated CNT to C, wherercP1(6)= 16 + 0 + 3 + 3 = 22 calculated.
P11 P13 P12 Striping P-trees? qidNP0P1 [ ] 1111 1001 [01] 1011 0010 [10] 1111 1101 [01.00] 1110 [01.11] 0010 [10.10] 1101 qidNP0P1 [ ] 1010 1000 [10] 1111 1110 [10.11] 0111 qidNP0P1 [ ] 0111 0001 [01] 1111 1110 [10] 1110 0110 [01.11] 0110 [10.00] 1000 Bp qidNP0P100 Bp qidNP0P101 11[01] 1011 0010 11[01.00] 1110 11[01.11] 0010 13[01] 1111 1110 13[01.11] 0110 Bp qidNP0P1C 11[ ] 1111 1001 12[ ] 1010 1000 13[ ] 0111 0001 Bp qidNP0P110 11[10] 1111 1101 11[10.10] 1101 12[10] 1111 1110 12[10.11] 0111 13[10] 1110 0110 13[10.00] 1000 Bp qidNP0P111 Alternatively, Send to Nodeij if qid starts with qid segment, ij. Is this better? How would the AND code be revised? AND performance? OR: Send to Nodeij if the largest qid segment divisible by p is ij eg if p=4: [0]->0; [0.3]->0; [0.3.2]->0; [0.3.2.2]->2; [0.3.2.2.3]->2; [0.3.2.2.3.1]->2; [0.3.2.2.3.1.0]->2; [0.3.2.2.3.1.0]->2; [0.3.2.2.3.1.0.1]->1 etc. Similar to fanout 4. Implement by multicasting externally only every 4th segment. More generally, choose any increasing sequence, p=(p1..pL), define x p = {max pi x}, then multicast [s1.s2…sk] --> Node k p
B11 Example 1 (bottom-up) Bp qidNP0P1 11[00.00] 1111 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 6 6 6 6 5 5 1 1 6 6 6 6 5 1 1 1 6 6 6 6 5 5 0 1 6 6 6 6 5 5 5 0 7 6 7 7 5 5 5 5 6 6 7 7 5 5 5 5 7 7 4 6 5 5 5 5 3 7 6 6 5 5 5 5 Band, B1, with 3-bit values Bp qidNP0P1 11[00.00] 1111 11[00.01] 1111 Bp qidNP0P1 11[00.00] 1111 11[00.01] 1111 11[00.10] 1111 Bp qidNP0P1 11[00.00] 1111 11[00.01] 1111 11[00.10] 1111 11[00.11] 1111 Bp qidNP0P1 11[00] 0000 1111 Node-C Bp qidNP0P1 11[] 01__ 10__ This ends the possibility of a larger pure1 quad. So 00 can be installed in parent as a pure1. Bp qidNP0P1 11[00] 0000 1111 11[01.00] 1110 Node-00 Bp qidNP0P1 11[01.00] 1110 Mixed leaf quad sent. Also ends possibility parent is pure so it & all siblings are installed as bits in parent. Bp qidNP0P1 11[01.00] 1110 11[01.01] 0000 Node-01 Bp qidNP0P1 11[01] 1011 0010 11[01.10] 1111 11[01.11] 0001 Mixed leaf quad sent. Ends parent so install bits in grandparent also Node-10 Bp qidNP0P1 Node-11 Bp qidNP0P1 11[01.11] 0001
B11 Example 1 (bottom-up) Bp qidNP0P1 11[10.00] 1111 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 6 6 6 6 5 5 1 1 6 6 6 6 5 1 1 1 6 6 6 6 5 5 0 1 6 6 6 6 5 5 5 0 7 6 7 7 5 5 5 5 6 6 7 7 5 5 5 5 7 7 4 6 5 5 5 5 3 7 6 6 5 5 5 5 Band, B1, with 3-bit values Bp qidNP0P1 11[10.00] 1111 11[10.01] 1111 Bp qidNP0P1 11[10.00] 1111 11[10.01] 1111 11[10.10] 1101 11[10.11] 1111 Ends the possibility of a larger pure1 quad. All can be installed in parent/grandparent as a 1-bit. 10.10 can be installed. Bp qidNP0P1 11[11.00] 1111 11[11.01] 1111 11[11.10] 1111 11[11.11] 1111 Node-C Bp qidNP0P1 11[] 0111 1001 Bp qidNP0P1 11[11] 0000 1111 Node-00 Bp qidNP0P1 11[01.00] 1110 Node-01 Bp qidNP0P1 11[01] 1011 0010 Ends quad-11. All can be installed in Parent as a 1-bit. Node-10 Bp qidNP0P1 11[10.10] 1101 11[10] 1111 1101 Node-11 Bp qidNP0P1 11[01.11] 0001 Bottom-up bottom-line: Since it is better to use 2-D than 3-D (higher compression), it should be better to use 1-D than 2-D? This should be investigated.
Example2 X, Y, B1, B2 000 000 6 4 000 001 6 4 000 010 6 4 000 011 6 4 000 100 5 3 000 101 5 2 000 110 1 1 000 111 1 1 001 000 6 4 001 001 6 4 001 010 6 4 001 011 6 2 001 100 5 3 001 101 1 2 001 110 1 1 001 111 1 1 010 000 6 3 010 001 6 3 010 010 6 2 010 011 6 2 010 100 5 3 011 000 6 3 011 001 6 3 011 010 6 2 011 011 6 2 011 100 5 3 011 101 5 3 011 111 0 2 100 111 5 2 100 000 7 3 100 001 6 6 100 010 7 6 100 011 7 6 100 100 5 2 100 101 5 2 100 110 5 2 101 000 6 6 101 001 6 6 101 010 7 7 101 011 7 7 101 100 5 2 101 101 5 2 101 110 5 2 110 000 7 6 110 001 7 6 110 010 4 5 110 011 6 3 110 100 5 2 Example2 B1 B11 B12 B13 6 6 6 6 5 5 1 1 6 6 6 6 5 1 1 1 6 6 6 6 5 6 6 6 6 5 5 0 7 6 7 7 5 5 5 5 6 6 7 7 5 5 5 7 7 4 6 5 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 B2 B21 B22 B23 4 4 4 4 3 2 1 1 4 4 4 2 3 2 1 1 3 3 2 2 3 3 3 2 2 3 3 2 3 6 6 6 2 2 2 2 6 6 7 7 2 2 2 6 6 5 3 2 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0
Example2: Striping __PNP0V_ __P1V__ Band111 222 111 222 bit-pos123 123 123 123 [ ] === === === === 110 111 110 000 101 011 000 000 111 111 100 000 101 010 101 010 Raster order Peano order X, Y, B1, B2 000 000 6 4 000 001 6 4 000 010 6 4 000 011 6 4 000 100 5 3 000 101 5 2 000 110 1 1 000 111 1 1 001 000 6 4 001 001 6 4 001 010 6 4 001 011 6 2 001 100 5 3 001 101 1 2 001 110 1 1 001 111 1 1 010 000 6 3 010 001 6 3 010 010 6 2 010 011 6 2 010 100 5 3 011 000 6 3 011 001 6 3 011 010 6 2 011 011 6 2 011 100 5 3 011 101 5 3 011 111 0 2 100 111 5 2 100 000 7 3 100 001 6 6 100 010 7 6 100 011 7 6 100 100 5 2 100 101 5 2 100 110 5 2 101 000 6 6 101 001 6 6 101 010 7 7 101 011 7 7 101 100 5 2 101 101 5 2 101 110 5 2 110 000 7 6 110 001 7 6 110 010 4 5 110 011 6 3 110 100 5 2 X, Y, B11B12B13B21B22B23 x1y1x2y2x3y3 B11B12B13B21B22B23 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 0 1 0 1 0 1 0 OR for PNP0 AND for P1 00_PNP0V__ __P1V__ 110 111 110 000 Send B21B22B23to Node00 01_PNP0V__ __P1V__ 101 011 000 000 Send B11B13B22B23 to Node01 Bp qidNP0P1C 11[ ] 1111 1011 12[ ] 1010 1000 13[ ] 0111 0001 21[ ] 1010 0000 22[ ] 1111 0001 23[ ] 1110 0000 Purity Template [ ] 16 12 12 8 10_PNP0V__ __P1V__ 111 111 100 000 Send B12B13B21B22B23 to Node10 11_PNP0V__ __P1V__ 101 010 101 010 Send nothing to Node11
Example2: striping at Node 00 Bp qidNP0P100 21[00 ] 1100 1000 22[00 ] 0111 0011 23[00 ] 0010 0010 PurityTemplate [00] 4 4 4 4 11[01.00 ] 1110 23[01.00 ] 1010 12[10.00 ] 1111 13[10.00 ] 1000 21[10.00 ] 0111 22[10.00 ] 1111 23[10.00 ] 1000 Bp qidNP0P100 11[01.00 ] 1110 Bp qidNP0P100 12[10.00 ] 1111 Bp qidNP0P100 13[10.00 ] 1000 Bp qidNP0P100 21[00 ] 1100 1000 21[10.00 ] 0111 Bp qidNP0P100 22[00 ] 0111 0011 22[10.00 ] 1111 Bp qidNP0P100 23[00 ] 0010 0010 23[01.00 ] 1010 23[10.00 ] 1000 _PNP0V__ __P1___ Band 111222111222 bit-pos 123123123123 [00 ] === === === === 100 100 110 000 011 011 010 010 x1y1x2y2x3y3B11B12B13B21B22B23 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 1 0 1 0 _PNP0V__ __P1V__ 110 100 110 100 Send nothing to Node00 _PNP0V__ __P1V__ 110 110 110 000 Send [ ]B21B22 to Node01 _PNP0V__ __P1V__ 110 011 110 011 Pages on disk Send nothing to Node10 _PNP0V__ __P1V__ 110 010 110 010 Send nothing to Node11 P1 Band 12 bit-pos 13 [01.00 ] == 11 10 11 00 P1 Band 11 222 bit-pos 23 123 [10.00 ] == === 11 011 10 110 10 110 10 110 x1y1x2y2x3y3B11B23 x1y1x2y2x3y3B12B12B23B23B23 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0 From [01 ] From [10 ] To [01 ]
Example2: striping at Node 01 _PNP0V__ __P1___ Band 111222 111222 bit-pos 123123 123123 [01 ] === === === === 1 1 11 0 1 10 0 1 01 0 1 01 1 1 11 1 1 11 0 0 10 0 0 10 Bp qidNP0P101 11[01 ] 1010 0010 13[01 ] 1110 1110 22[01 ] 1010 1010 23[01 ] 1110 0110 PurityTemplate [01] 4 4 3 1 21[00.01 ] 1110 22[00.01 ] 0001 23[10.01 ] 0011 To [00 ] x1y1x2y2x3y3B11 B13 B22B23 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 _PNP0V__ __P1V__ 1 1 11 0 1 10 Send [01]B11B23 to Node00 _PNP0V__ __P1V__ 0 1 01 0 1 01 Send nothing to Node01 _PNP0V__ __P1V__ 1 1 11 1 1 11 Send nothing to Node10 Pages on disk _PNP0V__ __P1V__ 0 0 10 0 0 10 Bp qidNP0P101 11[01 ] 1010 0010 Send nothing to Node11 Bp qidNP0P101 13[01 ] 1110 1110 Bp qidNP0P101 21[00.01 ] 1110 P1 Band 22 bit-pos 12 [00.01 ] == 10 10 10 01 P1 Band 2 bit-pos 3 [10.01 ] == 0 0 1 1 x1y1x2y2x3y3B21B22 x1y1x2y2x3y3B23 Bp qidNP0P101 22[01 ] 1010 1010 22[00.01 ] 0001 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 Bp qidNP0P101 23[01 ] 1110 0110 23[10.01 ] 0011 From [00 ] From [10 ]
Example2: striping at Node 10 Bp qidNP0P110 12[10 ] 1111 1110 13[10 ] 1110 0110 21[10 ] 1111 0110 22[10 ] 1111 1110 23[10 ] 1101 0001 PurityTemplate [10] 4 4 2 2 _PNP0V__ __P1___ Band 111222 111222 bit-pos 123123 123123 [10 ] === === === === 11 111 10 010 11 111 11 110 11 110 11 110 10 111 00 001 Bp qidNP0P110 12[10 ] 1111 1110 Bp qidNP0P110 13[10 ] 1110 0110 Bp qidNP0P110 21[10 ] 1111 0110 Bp qidNP0P110 22[10 ] 1111 1110 Bp qidNP0P110 23[10 ] 1101 0001 To [00 ] To[01 ] x1y1x2y2x3y3B12B13B21B22B23 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 _PNP0V__ __P1V__ 11 111 10 010 Send [10]B13B21B23to Node00 _PNP0V__ __P1V__ 11 111 11 110 Send [10] B23 to Node01 _PNP0V__ __P1V__ 11 110 11 110 Send nothing to Node10 Pages on disk _PNP0V__ __P1V__ 10 111 00 001 Send [10]B12B21B22 to Node11 To [11 ]
Example2: striping at Node11 Bp qidNP0P111 12[10.11 ] 01 22[10.11 ] 10 23[10.11 ] 01 Pages on disk Bp qidNP0P111 12[10.11 ] 01 P1 Band 122 bit-pos 223 [10.11 ] === 010 101 x1y1x2y2x3y3B12B21B22 Bp qidNP0P111 22[10.11 ] 10 1 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 Bp qidNP0P111 23[10.11 ] 01 From [10 ]
Example2.1AND at NodeC or [ ] NP0-pattern NP0P1 11 xxxx 12 prime 13 xxxx 21 prime 22 xxxx 23 prime RC(P 101,010) = P11^ P’12^ P13^ P’21^ P22^ P’23 Disk 10 PT[10] 4 4 2 2 Disk 00 PT[00] 4 4 4 4 Disk 01 PT[01] 4 4 3 1 Disk C PT[ ] 16 12 12 8 Disk 11 Bp qidNP0P1 12[10.11 ] 01 Bp qidNP0P1 22[10.11 ] 10 Bp qidNP0P1 23[10.11 ] 01 []NP0 1111 0111 0111 1111 1111 1111 ------AND 0111 Sum= 8 so far. Invocation= [ ] 101,010 send to Nodes 01, 10 P1-pattern NP0P1 11 xxxx 12 prime 13 xxxx 21 prime 22 xxxx 23 prime []P1 1011 0101 0001 0101 0001 0001 ------AND 0001 Bp qidNP0P1 11[01 ] 1010 0010 Bp qidNP0P1 11[01.00 ] 1110 Bp qidNP0P1C 11[ ] 1111 1011 12[ ] 1010 1000 13[ ] 0111 0001 21[ ] 1010 0000 22[ ] 1111 0001 23[ ] 1110 0000 Bp qidNP0P1 12[10 ] 1111 1110 Bp qidNP0P1 13[01 ] 1110 1110 Bp qidNP0P1 12[10.00 ] 1111 Bp qidNP0P1 13[10 ] 1110 0110 Bp qidNP0P1 21[00.01 ] 1110 Bp qidNP0P1 13[10.00 ] 1000 Bp qidNP0P1 21[10 ] 1111 0110 Bp qidNP0P1 21[00 ] 1100 1000 21[10.00 ] 0111 Bp qidNP0P1 22[01 ] 1010 1010 22[00.01 ] 0001 Bp qidNP0P1 22[10 ] 1111 1110 Bp qidNP0P1 23[00 ] 0010 0010 23[01.00] 1010 23[10.00] 1000 Bp qidNP0P1 22[00 ] 0111 0011 22[10.00 ] 1111 Bp qidNP0P1 23[01 ] 1110 0110 23[10.01 ] 0011 Bp qidNP0P1 23[10 ] 1101 0001
Example2.1AND at Node01 NP0-pattern NP0P1 11 xxxx 12 prime 13 xxxx 21 prime 22 xxxx 23 prime Disk 10 PT[10] 4 4 2 2 Disk 00 PT[00] 4 4 4 4 Disk 01 PT[01] 4 4 3 1 Disk C PT[ ] 16 12 12 8 Disk 11 Bp qidNP0P1 12[10.11 ] 01 Bp qidNP0P1 22[10.11 ] 10 Bp qidNP0P1 23[10.11 ] 01 [01] NP0 11 1010 12 13 1110 21 22 1010 23 1001 AND------ 1000 Invocation= [01] 101,010 Sent to Node00 [ ] 101,010 received P1-pattern NP0P1 11 xxxx 12 prime 13 xxxx 21 prime 22 xxxx 23 prime [01] P1 11 0010 12 13 1110 21 22 1010 23 0001 AND------ 0000 Bp qidNP0P1 11[01 ] 1010 0010 Bp qidNP0P1 11[01.00 ] 1110 Bp qidNP0P1C 11[ ] 1111 1011 12[ ] 1010 1000 13[ ] 0111 0001 21[ ] 1010 0000 22[ ] 1111 0001 23[ ] 1110 0000 Bp qidNP0P1 12[10 ] 1111 1110 Bp qidNP0P1 13[01 ] 1110 1110 Bp qidNP0P1 12[10.00 ] 1111 Bp qidNP0P1 13[10 ] 1110 0110 Bp qidNP0P1 21[00.01 ] 1110 Bp qidNP0P1 13[10.00 ] 1000 Bp qidNP0P1 21[10 ] 1111 0110 Bp qidNP0P1 21[00 ] 1100 1000 21[10.00 ] 0111 Bp qidNP0P1 22[01 ] 1010 1010 22[00.01 ] 0001 Bp qidNP0P1 22[10 ] 1111 1110 Bp qidNP0P1 23[00 ] 0010 0010 23[01.00] 1010 23[10.00] 1000 Bp qidNP0P1 22[00 ] 0111 0011 22[10.00 ] 1111 Bp qidNP0P1 23[01 ] 1110 0110 23[10.01 ] 0011 Bp qidNP0P1 23[10 ] 1101 0001
Example2.1AND at Node10 NP0-pattern NP0P1 11 xxxx 12 prime 13 xxxx 21 prime 22 xxxx 23 prime [ ] 101,010 received Disk 10 PT[10] 4 4 2 2 Disk 00 PT[00] 4 4 4 4 Disk 01 PT[01] 4 4 3 1 Disk C PT[ ] 16 12 12 8 Disk 11 Bp qidNP0P1 12[10.11 ] 01 Bp qidNP0P1 22[10.11 ] 10 Bp qidNP0P1 23[10.11 ] 01 [10] NP0 11 12 0001 13 1110 21 1001 22 1111 23 1110 AND------ 0000 Invocation= [10] 101,010 Sent nowhere (no mixed) P1-pattern NP0P1 11 xxxx 12 prime 13 xxxx 21 prime 22 xxxx 23 prime [10] P1 11 12 13 21 22 23 AND------ Bp qidNP0P1 11[01 ] 1010 0010 Bp qidNP0P1 11[01.00 ] 1110 Bp qidNP0P1C 11[ ] 1111 1011 12[ ] 1010 1000 13[ ] 0111 0001 21[ ] 1010 0000 22[ ] 1111 0001 23[ ] 1110 0000 Bp qidNP0P1 12[10 ] 1111 1110 Bp qidNP0P1 13[01 ] 1110 1110 Bp qidNP0P1 12[10.00 ] 1111 Bp qidNP0P1 13[10 ] 1110 0110 Bp qidNP0P1 21[00.01 ] 1110 Bp qidNP0P1 13[10.00 ] 1000 Bp qidNP0P1 21[10 ] 1111 0110 Bp qidNP0P1 21[00 ] 1100 1000 21[10.00 ] 0111 Bp qidNP0P1 22[01 ] 1010 1010 22[00.01 ] 0001 Bp qidNP0P1 22[10 ] 1111 1110 Bp qidNP0P1 23[00 ] 0010 0010 23[01.00] 1010 23[10.00] 1000 Bp qidNP0P1 22[00 ] 0111 0011 22[10.00 ] 1111 Bp qidNP0P1 23[01 ] 1110 0110 23[10.01 ] 0011 Bp qidNP0P1 23[10 ] 1101 0001
Example2.1AND at Node00 [01] 101,010 received Disk 10 PT[10] 4 4 2 2 Disk 00 PT[00] 4 4 4 4 Disk 01 PT[01] 4 4 3 1 Disk C PT[ ] 16 12 12 8 Disk 11 Bp qidNP0P1 12[10.11 ] 01 Bp qidNP0P1 22[10.11 ] 10 Bp qidNP0P1 23[10.11 ] 01 Sum=1, sent to NodeC gives a sum total of 8 + 1 = 9 P1-pattern P1 11 xxxx 12 prime 13 xxxx 21 prime 22 xxxx 23 prime [01.00] P1 11 1110 12 13 21 22 23 0101 AND------ 0100 Bp qidNP0P1 11[01 ] 1010 0010 Bp qidNP0P1 11[01.00 ] 1110 Bp qidNP0P1C 11[ ] 1111 1011 12[ ] 1010 1000 13[ ] 0111 0001 21[ ] 1010 0000 22[ ] 1111 0001 23[ ] 1110 0000 Bp qidNP0P1 12[10 ] 1111 1110 Bp qidNP0P1 13[01 ] 1110 1110 Bp qidNP0P1 12[10.00 ] 1111 Bp qidNP0P1 13[10 ] 1110 0110 Bp qidNP0P1 21[00.01 ] 1110 Bp qidNP0P1 13[10.00 ] 1000 Bp qidNP0P1 21[10 ] 1111 0110 Bp qidNP0P1 21[00 ] 1100 1000 21[10.00 ] 0111 Bp qidNP0P1 22[01 ] 1010 1010 22[00.01 ] 0001 Bp qidNP0P1 22[10 ] 1111 1110 Bp qidNP0P1 23[00 ] 0010 0010 23[01.00] 1010 23[10.00] 1000 Bp qidNP0P1 22[00 ] 0111 0011 22[10.00 ] 1111 Bp qidNP0P1 23[01 ] 1110 0110 23[10.01 ] 0011 Bp qidNP0P1 23[10 ] 1101 0001
Example2.2AND at NodeC or [ ] NP0-pattern NP0P1 11 xxxx 12 prime 13 prime 21 xxxx 22 prime 23 xxxx RC(P 100,101) = P11^ P’12^ P’13^ P21^ P’22^ P23 P1-pattern NP0P1 11 xxxx 12 prime 13 prime 21 xxxx 22 prime 23 xxxx Disk 10 PT[10] 4 4 2 2 Disk 00 PT[00] 4 4 4 4 Disk 01 PT[01] 4 4 3 1 Disk C PT[ ] 16 12 12 8 Disk 11 Bp qidNP0P1 12[10.11 ] 01 Bp qidNP0P1 22[10.11 ] 10 Bp qidNP0P1 23[10.11 ] 01 []NP0 ------AND 0010 Sum= 0 so far. Invocation= [ ] 100, 101 send to Node 10 []P1 ------AND 0000 Bp qidNP0P1 11[01 ] 1010 0010 Bp qidNP0P1 11[01.00 ] 1110 Bp qidNP0P1C 11[ ] 1111 1011 12[ ] 1010 1000 13[ ] 0111 0001 21[ ] 1010 0000 22[ ] 1111 0001 23[ ] 1110 0000 Bp qidNP0P1 12[10 ] 1111 1110 Bp qidNP0P1 13[01 ] 1110 1110 Bp qidNP0P1 12[10.00 ] 1111 Bp qidNP0P1 13[10 ] 1110 0110 Bp qidNP0P1 21[00.01 ] 1110 Bp qidNP0P1 13[10.00 ] 1000 Bp qidNP0P1 21[10 ] 1111 0110 Bp qidNP0P1 21[00 ] 1100 1000 21[10.00 ] 0111 Bp qidNP0P1 22[01 ] 1010 1010 22[00.01 ] 0001 Bp qidNP0P1 22[10 ] 1111 1110 Bp qidNP0P1 23[00 ] 0010 0010 23[01.00] 1010 23[10.00] 1000 Bp qidNP0P1 22[00 ] 0111 0011 22[10.00 ] 1111 Bp qidNP0P1 23[01 ] 1110 0110 23[10.01 ] 0011 Bp qidNP0P1 23[10 ] 1101 0001
Example2.2AND at Node10 NP0-pattern NP0P1 11 xxxx 12 prime 13 prime 21 xxxx 22 prime 23 xxxx [ ] 100,101 received P1-pattern NP0P1 11 xxxx 12 prime 13 prime 21 xxxx 22 prime 23 xxxx Disk 10 PT[10] 4 4 2 2 Disk 00 PT[00] 4 4 4 4 Disk 01 PT[01] 4 4 3 1 Disk C PT[ ] 16 12 12 8 Disk 11 Bp qidNP0P1 12[10.11 ] 01 Bp qidNP0P1 22[10.11 ] 10 Bp qidNP0P1 23[10.11 ] 01 [10] NP0 11 12 13 21 22 23 AND------ 0001 Invocation= [10] 100, 101 Sent to Node 11 [10] P1 11 12 13 21 22 23 AND------ 0000 Bp qidNP0P1 11[01 ] 1010 0010 Bp qidNP0P1 11[01.00 ] 1110 Bp qidNP0P1C 11[ ] 1111 1011 12[ ] 1010 1000 13[ ] 0111 0001 21[ ] 1010 0000 22[ ] 1111 0001 23[ ] 1110 0000 Bp qidNP0P1 12[10 ] 1111 1110 Bp qidNP0P1 13[01 ] 1110 1110 Bp qidNP0P1 12[10.00 ] 1111 Bp qidNP0P1 13[10 ] 1110 0110 Bp qidNP0P1 21[00.01 ] 1110 Bp qidNP0P1 13[10.00 ] 1000 Bp qidNP0P1 21[10 ] 1111 0110 Bp qidNP0P1 21[00 ] 1100 1000 21[10.00 ] 0111 Bp qidNP0P1 22[01 ] 1010 1010 22[00.01 ] 0001 Bp qidNP0P1 22[10 ] 1111 1110 Bp qidNP0P1 23[00 ] 0010 0010 23[01.00] 1010 23[10.00] 1000 Bp qidNP0P1 22[00 ] 0111 0011 22[10.00 ] 1111 Bp qidNP0P1 23[01 ] 1110 0110 23[10.01 ] 0011 Bp qidNP0P1 23[10 ] 1101 0001
Example2.2AND at Node11 [10] 100,101 received Disk 10 PT[10] 4 4 2 2 Disk 00 PT[00] 4 4 4 4 Disk 01 PT[01] 4 4 3 1 Disk C PT[ ] 16 12 12 8 Disk 11 Bp qidNP0P1 12[10.11 ] 01 Bp qidNP0P1 22[10.11 ] 10 Bp qidNP0P1 23[10.11 ] 01 Sum=1, sent to NodeC gives a sum total of 1 [10] P1 11 01 12 13 21 22 01 23 01 AND------ 01 Bp qidNP0P1 11[01 ] 1010 0010 Bp qidNP0P1 11[01.00 ] 1110 Bp qidNP0P1C 11[ ] 1111 1011 12[ ] 1010 1000 13[ ] 0111 0001 21[ ] 1010 0000 22[ ] 1111 0001 23[ ] 1110 0000 Bp qidNP0P1 12[10 ] 1111 1110 Bp qidNP0P1 13[01 ] 1110 1110 Bp qidNP0P1 12[10.00 ] 1111 Bp qidNP0P1 13[10 ] 1110 0110 Bp qidNP0P1 21[00.01 ] 1110 Bp qidNP0P1 13[10.00 ] 1000 Bp qidNP0P1 21[10 ] 1111 0110 Bp qidNP0P1 21[00 ] 1100 1000 21[10.00 ] 0111 Bp qidNP0P1 22[01 ] 1010 1010 22[00.01 ] 0001 Bp qidNP0P1 22[10 ] 1111 1110 Bp qidNP0P1 23[00 ] 0010 0010 23[01.00] 1010 23[10.00] 1000 Bp qidNP0P1 22[00 ] 0111 0011 22[10.00 ] 1111 Bp qidNP0P1 23[01 ] 1110 0110 23[10.01 ] 0011 Bp qidNP0P1 23[10 ] 1101 0001
Example2, bottom-up Bp qidNP0P1 11[00.00] 1111 12[00.00] 1111 13[00.00] 0000 21[00.00] 1111 22[00.00] 0000 23[00.00] 0000 Peano order x1y1x2y2x3y3 B11B12B13B21B22B23 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 1 0
Example2, bottom-up Bp qidNP0P1 11[00.00] 1111 11[00.01] 1111 12[00.00] 1111 12[00.01] 1111 13[00.00] 0000 13[00.01] 0000 21[00.00] 1111 21[00.01] 1110 22[00.00] 0000 22[00.01] 0001 23[00.00] 0000 23[00.01] 0000 Peano order x1y1x2y2x3y3 B11B12B13B21B22B23 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 1 0 Mixed quads (can be sent to node01) Bp qidNP0P1 21[00.01] 1110 22[00.01] 0001
Example2, bottom-up Bp qidNP0P1 11[00.00] 1111 11[00.01] 1111 11[00.10] 1111 12[00.00] 1111 12[00.01] 1111 12[00.10] 1111 13[00.00] 0000 13[00.01] 0000 13[00.10] 0000 21[00.00] 1111 21[00.01] 1110 21[00.10] 0000 22[00.00] 0000 22[00.01] 0001 22[00.10] 1111 23[00.00] 0000 23[00.01] 0000 23[00.10] 1111 Peano order x1y1x2y2x3y3 B11B12B13B21B22B23 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 1 0 Mixed quads (sent to node00) Bp qidNP0P1at 00 23[00] 001- 001- Bp qidNP0P1at 01 21[00.01] 1110 22[00.01] 0001
Example2, bottom-up Bp qidNP0P1 11[00.00] 1111 11[00.01] 1111 11[00.10] 1111 11[00.11] 1111 12[00.00] 1111 12[00.01] 1111 12[00.10] 1111 12[00.11] 1111 13[00.00] 0000 13[00.01] 0000 13[00.10] 0000 13[00.11] 0000 21[00.00] 1111 21[00.01] 1110 21[00.10] 0000 21[00.11] 0000 22[00.00] 0000 22[00.01] 0001 22[00.10] 1111 22[00.11] 1111 23[00.00] 0000 23[00.01] 0000 23[00.10] 1111 23[00.11] 0000 Peano order x1y1x2y2x3y3 B11B12B13B21B22B23 00 quads that are pure are: 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 1 0 Bp qidNP0P1 11[00] 1111 1111 12[00] 1111 1111 13[00] 0000 0000 At 00 Bp qidNP0P1 23[00] 0010 0010 At 01 Bp qidNP0P1 21[00.01] 1110 22[00.01] 0001