Skip to content

Commit 61e40ab

Browse files
committed
M src/list/raxos/2d-consensus.md
1 parent 920d0fc commit 61e40ab

18 files changed

+213
-216
lines changed

src/list/raxos/2d-consensus.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
2d-consensus
1+
22

33
#TODO
44
# 非线性一致性协议
55

6-
以上我们将这个算法简化到了线性 History,
7-
实际上本文的目标是考虑非线性 History 会带来什么样的东西.
8-
9-
假如我们抛弃简陋的 Paxos 和 Raft 的限制, 允许 Time 是偏序的关系(或 DAG 关系这里?),
10-
上面的协议会变成:
6+
在这个例子里
117

128
Phase-1 中, 仍然是小于 least 的 Time 不允许 Commit,
139
Phase-1 读中, 我们读到的最大 History 分支, 变成了读一个 DAG History 的 maximum(fix this term).

src/list/raxos/Abstract Paxos Diagram.canvas

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
11
{
22
"nodes":[
3-
{"id":"25beff8f73c32a41","type":"file","file":"consensus-essence/src/list/raxos/def-state.md","x":-72,"y":-302,"width":532,"height":302},
4-
{"id":"3bc45c9f8426c1d7","type":"file","file":"consensus-essence/src/list/raxos/def-History.md","x":-160,"y":360,"width":380,"height":180},
53
{"id":"99e03cdec94311b1","type":"file","file":"consensus-essence/src/list/raxos/def-Time.md","x":360,"y":100,"width":400,"height":400},
6-
{"id":"b553044d1b09bc14","type":"file","file":"consensus-essence/src/list/raxos/def-API-read-write.md","x":1184,"y":1432,"width":400,"height":400},
74
{"id":"cc1534fa18215622","type":"file","file":"consensus-essence/src/list/raxos/prop-Merge-Read.md","x":-160,"y":2980,"width":400,"height":400,"color":"1"},
85
{"id":"11ad89cd35a2b1f6","type":"file","file":"consensus-essence/src/list/raxos/def-Distributed-HA.md","x":360,"y":1720,"width":400,"height":400},
9-
{"id":"6198bc316649ff03","type":"file","file":"consensus-essence/src/list/raxos/def-RW-Distributed.md","x":360,"y":2760,"width":400,"height":400},
6+
{"id":"6198bc316649ff03","type":"file","file":"consensus-essence/src/list/raxos/code-Distributed-read-write.md","x":360,"y":2760,"width":400,"height":400,"color":"4"},
107
{"id":"91d54de7f6bf9eda","type":"file","file":"consensus-essence/src/list/raxos/prop-Discard-Smaller.md","x":-336,"y":3562,"width":400,"height":400},
118
{"id":"97c0f9ab39142bd8","type":"file","file":"consensus-essence/src/list/raxos/prop-Write-Forbid-Smaller.md","x":-464,"y":4224,"width":400,"height":400},
12-
{"id":"2aa96775efaf3504","type":"file","file":"consensus-essence/src/list/raxos/def-T-Committed.md","x":0,"y":5100,"width":400,"height":400},
13-
{"id":"b33b510032aaea23","type":"file","file":"consensus-essence/src/list/raxos/def-Committed.md","x":0,"y":5660,"width":400,"height":400},
14-
{"id":"4fe24a286d42d5c1","type":"file","file":"consensus-essence/src/list/raxos/protocol-Write-After-Read.md","x":0,"y":6400,"width":400,"height":400,"color":"6"},
159
{"id":"64f51b278ec2e315","type":"file","file":"consensus-essence/src/list/raxos/protocol-All.md","x":-720,"y":7800,"width":400,"height":400,"color":"6"},
1610
{"id":"04445468a553ca25","type":"file","file":"consensus-essence/src/list/raxos/protocol-Write-P2.md","x":0,"y":7200,"width":400,"height":400,"color":"6"},
1711
{"id":"99fd7ad8ee77b8b7","type":"file","file":"consensus-essence/src/list/raxos/example-Classic-Paxos.md","x":-80,"y":8320,"width":400,"height":400,"color":"5"},
@@ -21,39 +15,46 @@
2115
{"id":"877084719c0840fa","type":"file","file":"consensus-essence/src/list/raxos/def-2d-consensus-Apply.md","x":-323,"y":10613,"width":400,"height":400},
2216
{"id":"24e816cf21a582e0","type":"file","file":"consensus-essence/src/list/raxos/def-RW-Necessity.md","x":1184,"y":2120,"width":400,"height":400,"color":"1"},
2317
{"id":"6f61f61fbd369e9a","type":"file","file":"consensus-essence/src/list/raxos/def-Past-Future.md","x":1720,"y":2120,"width":400,"height":400,"color":"1"},
24-
{"id":"9c32627fede27385","type":"file","file":"consensus-essence/src/list/raxos/example-RW-single-threaded.md","x":2200,"y":1832,"width":400,"height":400,"color":"5"},
25-
{"id":"23b7153aa3b72e6d","type":"file","file":"consensus-essence/src/list/raxos/example-Past-Future-single-threaded.md","x":2200,"y":2760,"width":400,"height":400,"color":"5"},
26-
{"id":"ebae8b958fa8ef58","type":"file","file":"consensus-essence/src/list/raxos/example-Past-Future-distributed.md","x":2200,"y":3320,"width":400,"height":400,"color":"5"},
27-
{"id":"eefaf5fc7ce43eba","type":"file","file":"consensus-essence/src/list/raxos/def-Observable-History.md","x":160,"y":4460,"width":400,"height":400},
28-
{"id":"f001ccd718f70347","type":"file","file":"consensus-essence/src/list/raxos/desc-History Read Set.md","x":640,"y":5160,"width":400,"height":400,"color":"3"},
2918
{"id":"a838cacb9e50352d","type":"file","file":"consensus-essence/src/list/raxos/example-crdt.md","x":236,"y":9019,"width":400,"height":400,"color":"5"},
3019
{"id":"c55a71983b5140b2","type":"file","file":"consensus-essence/src/list/raxos/example-2d-non-transitive-time.md","x":722,"y":9578,"width":400,"height":400,"color":"5"},
3120
{"id":"6aca35d4bc6e348f","type":"file","file":"consensus-essence/src/list/raxos/exmaple-crdt-define.md","x":236,"y":10120,"width":400,"height":400,"color":"5"},
3221
{"id":"e0499dbb83899c24","type":"file","file":"consensus-essence/src/list/raxos/example-crdt-implementation.md","x":236,"y":10640,"width":400,"height":400,"color":"5"},
33-
{"id":"e17d353216ad61b2","type":"file","file":"consensus-essence/src/list/raxos/protocol-Write-Forbid-Smaller.md","x":-520,"y":6280,"width":400,"height":400,"color":"6"},
34-
{"id":"23b19f5ffc793d95","type":"file","file":"consensus-essence/src/list/raxos/def-Apply.md","x":860,"y":50,"width":400,"height":400},
35-
{"id":"82bcd920558f5168","type":"file","file":"consensus-essence/src/list/raxos/desc-Time-in-Distributed.md","x":940,"y":780,"width":400,"height":400,"color":"3"},
36-
{"id":"707de0dee3c23555","type":"file","file":"consensus-essence/src/list/raxos/example-T-in-single-threaded.md","x":1420,"y":780,"width":400,"height":400,"color":"5"},
37-
{"id":"758a0c2db86e743a","type":"file","file":"consensus-essence/src/list/raxos/def-Mono-History.md","x":315,"y":780,"width":490,"height":300},
22+
{"id":"758a0c2db86e743a","type":"file","file":"consensus-essence/src/list/raxos/def-MonoHistory.md","x":315,"y":780,"width":490,"height":300},
3823
{"id":"09a5660b835acde1","type":"file","file":"consensus-essence/src/list/raxos/def-Compatible-History.md","x":-360,"y":2120,"width":400,"height":400},
39-
{"id":"cee5dd045baeea82","type":"file","file":"consensus-essence/src/list/raxos/def-Time-Unique.md","x":-480,"y":680,"width":400,"height":400},
40-
{"id":"7126f3ef8414e0fd","type":"file","file":"consensus-essence/src/list/raxos/def-History-Eq.md","x":-1000,"y":1080,"width":400,"height":400},
4124
{"id":"6d2f40704a61e31b","type":"file","file":"consensus-essence/src/list/raxos/def-History-Prefix.md","x":-170,"y":1432,"width":400,"height":400},
42-
{"id":"9f67b522730e7bd4","type":"file","file":"consensus-essence/src/list/raxos/def-01-Graph.md","x":-1240,"y":1720,"width":400,"height":400},
43-
{"id":"ad67370aed72caab","type":"file","file":"consensus-essence/src/list/raxos/def-Mergeable-History-2.md","x":-840,"y":2760,"width":400,"height":400,"color":"1"},
4425
{"id":"056ed53ecdd08e9a","type":"file","file":"consensus-essence/src/list/raxos/def-Distributed-Copies.md","x":360,"y":2232,"width":400,"height":400},
45-
{"id":"ccd61f294c90c33f","type":"file","file":"consensus-essence/src/list/raxos/desc-Time-based-RW.md","x":1960,"y":930,"width":400,"height":400,"color":"3"},
4626
{"id":"e62569bb96739fee","type":"file","file":"consensus-essence/src/list/raxos/def-multiverse.md","x":1384,"y":2920,"width":400,"height":400,"color":"3"},
4727
{"id":"2de15b9927901fdf","type":"file","file":"consensus-essence/src/list/raxos/def-Read-Quorum-Set.md","x":720,"y":3562,"width":400,"height":400,"color":"1"},
4828
{"id":"75b048956a6d5a4f","type":"file","file":"consensus-essence/src/list/raxos/example-Quorum-Set.md","x":1960,"y":4140,"width":400,"height":400,"color":"5"},
49-
{"id":"8e2e4bdc350b67dd","type":"file","file":"consensus-essence/src/list/raxos/example-Quorum-Set-xy.md","x":2000,"y":4660,"width":400,"height":400,"color":"5"},
5029
{"id":"64f0cd59fe29aca7","type":"file","file":"consensus-essence/src/list/raxos/def-Write-Quorum-Set.md","x":720,"y":4340,"width":400,"height":400},
5130
{"id":"70ac2837fd8c0af0","type":"file","file":"consensus-essence/src/list/raxos/def-multiverse-consensus.md","x":1760,"y":5360,"width":400,"height":400},
5231
{"id":"3f8c8471005eb5fb","type":"file","file":"consensus-essence/src/list/raxos/def-Generic-Commit.md","x":1384,"y":4700,"width":400,"height":400},
5332
{"id":"4425d02ad7c436fc","type":"file","file":"consensus-essence/src/list/raxos/desc-Availability.md","x":1184,"y":5520,"width":400,"height":400,"color":"3"},
5433
{"id":"595a84cdebe4384d","type":"file","file":"consensus-essence/src/list/raxos/def-multiverse-collapse.md","x":1760,"y":6140,"width":400,"height":400},
55-
{"id":"9ad3d014b728235c","type":"file","file":"consensus-essence/src/list/raxos/def-universe-read.md","x":1834,"y":6869,"width":400,"height":400},
56-
{"id":"2beb3ad285be0a47","type":"file","file":"consensus-essence/src/list/raxos/def-write.md","x":1615,"y":7572,"width":400,"height":400}
34+
{"id":"23b19f5ffc793d95","type":"file","file":"consensus-essence/src/list/raxos/def-Apply.md","x":900,"y":20,"width":400,"height":400},
35+
{"id":"25beff8f73c32a41","type":"file","file":"consensus-essence/src/list/raxos/def-state.md","x":294,"y":-360,"width":532,"height":302},
36+
{"id":"3bc45c9f8426c1d7","type":"file","file":"consensus-essence/src/list/raxos/def-History.md","x":-160,"y":460,"width":380,"height":180},
37+
{"id":"cee5dd045baeea82","type":"file","file":"consensus-essence/src/list/raxos/def-Time-Unique.md","x":-400,"y":880,"width":400,"height":400},
38+
{"id":"7126f3ef8414e0fd","type":"file","file":"consensus-essence/src/list/raxos/def-History-Eq.md","x":-940,"y":1232,"width":400,"height":400},
39+
{"id":"9f67b522730e7bd4","type":"file","file":"consensus-essence/src/list/raxos/def-01-Graph.md","x":-940,"y":1800,"width":400,"height":400},
40+
{"id":"eefaf5fc7ce43eba","type":"file","file":"consensus-essence/src/list/raxos/def-Observable-History.md","x":160,"y":4340,"width":400,"height":400},
41+
{"id":"2aa96775efaf3504","type":"file","file":"consensus-essence/src/list/raxos/def-T-Committed.md","x":-100,"y":5100,"width":400,"height":400},
42+
{"id":"b33b510032aaea23","type":"file","file":"consensus-essence/src/list/raxos/def-Committed.md","x":-100,"y":5680,"width":400,"height":400},
43+
{"id":"e17d353216ad61b2","type":"file","file":"consensus-essence/src/list/raxos/protocol-Write-Forbid-Smaller.md","x":-740,"y":6200,"width":400,"height":400,"color":"6"},
44+
{"id":"4fe24a286d42d5c1","type":"file","file":"consensus-essence/src/list/raxos/protocol-Write-After-Read.md","x":-100,"y":6240,"width":400,"height":400,"color":"6"},
45+
{"id":"f001ccd718f70347","type":"file","file":"consensus-essence/src/list/raxos/desc-History Read Set.md","x":400,"y":5100,"width":400,"height":400,"color":"3"},
46+
{"id":"8e2e4bdc350b67dd","type":"file","file":"consensus-essence/src/list/raxos/example-Quorum-Set-xy.md","x":1320,"y":4200,"width":400,"height":400,"color":"5"},
47+
{"id":"9ad3d014b728235c","type":"file","file":"consensus-essence/src/list/raxos/def-universe-read.md","x":1820,"y":7031,"width":400,"height":400},
48+
{"id":"23b7153aa3b72e6d","type":"file","file":"consensus-essence/src/list/raxos/example-Past-Future-single-threaded.md","x":2600,"y":2760,"width":400,"height":400,"color":"5"},
49+
{"id":"ebae8b958fa8ef58","type":"file","file":"consensus-essence/src/list/raxos/example-Past-Future-distributed.md","x":2600,"y":3320,"width":400,"height":400,"color":"5"},
50+
{"id":"ccd61f294c90c33f","type":"file","file":"consensus-essence/src/list/raxos/desc-Time-based-RW.md","x":2000,"y":1180,"width":400,"height":400,"color":"3"},
51+
{"id":"b553044d1b09bc14","type":"file","file":"consensus-essence/src/list/raxos/def-API-read-write.md","x":1184,"y":1520,"width":400,"height":400},
52+
{"id":"82bcd920558f5168","type":"file","file":"consensus-essence/src/list/raxos/desc-Time-in-Distributed.md","x":2000,"y":730,"width":400,"height":400,"color":"3"},
53+
{"id":"707de0dee3c23555","type":"file","file":"consensus-essence/src/list/raxos/example-T-in-single-threaded.md","x":2600,"y":730,"width":400,"height":400,"color":"5"},
54+
{"id":"9c32627fede27385","type":"file","file":"consensus-essence/src/list/raxos/example-RW-single-threaded.md","x":2600,"y":2120,"width":400,"height":400,"color":"5"},
55+
{"id":"daa0c9352ab8d240","type":"file","file":"consensus-essence/src/list/raxos/code-Universe-read 实现.md","x":3440,"y":7657,"width":400,"height":400,"color":"4"},
56+
{"id":"2beb3ad285be0a47","type":"file","file":"consensus-essence/src/list/raxos/def-write.md","x":1820,"y":8257,"width":400,"height":400},
57+
{"id":"b8a0ea174cd9c3f5","x":1420,"y":7657,"width":400,"height":400,"type":"file","file":"consensus-essence/src/list/raxos/def-MonoHistory-Order.md"}
5758
],
5859
"edges":[
5960
{"id":"ec72236e30d4ad00","fromNode":"6d2f40704a61e31b","fromSide":"bottom","toNode":"09a5660b835acde1","toSide":"top"},
@@ -76,9 +77,7 @@
7677
{"id":"32f2cca97f4014d9","fromNode":"b553044d1b09bc14","fromSide":"bottom","toNode":"6198bc316649ff03","toSide":"top"},
7778
{"id":"e12caa3f5a66f47c","fromNode":"11ad89cd35a2b1f6","fromSide":"bottom","toNode":"056ed53ecdd08e9a","toSide":"top"},
7879
{"id":"82f8a342ebd31193","fromNode":"056ed53ecdd08e9a","fromSide":"bottom","toNode":"6198bc316649ff03","toSide":"top"},
79-
{"id":"3cbd636e95932249","fromNode":"09a5660b835acde1","fromSide":"bottom","toNode":"ad67370aed72caab","toSide":"top"},
8080
{"id":"4eb153eacc471bf8","fromNode":"cc1534fa18215622","fromSide":"bottom","toNode":"91d54de7f6bf9eda","toSide":"top"},
81-
{"id":"eb82c94a878d0215","fromNode":"ad67370aed72caab","fromSide":"bottom","toNode":"91d54de7f6bf9eda","toSide":"top"},
8281
{"id":"a3b6921422a8dafb","fromNode":"91d54de7f6bf9eda","fromSide":"bottom","toNode":"97c0f9ab39142bd8","toSide":"top"},
8382
{"id":"5219841b259b37dd","fromNode":"2de15b9927901fdf","fromSide":"bottom","toNode":"75b048956a6d5a4f","toSide":"top"},
8483
{"id":"4aabfce5d90bc74a","fromNode":"2de15b9927901fdf","fromSide":"bottom","toNode":"64f0cd59fe29aca7","toSide":"top"},
@@ -118,6 +117,8 @@
118117
{"id":"284d8a76e09643ed","fromNode":"3f8c8471005eb5fb","fromSide":"bottom","toNode":"70ac2837fd8c0af0","toSide":"top"},
119118
{"id":"94296a903fcb1fe4","fromNode":"70ac2837fd8c0af0","fromSide":"bottom","toNode":"595a84cdebe4384d","toSide":"top"},
120119
{"id":"9f40f928963f28bd","fromNode":"595a84cdebe4384d","fromSide":"bottom","toNode":"9ad3d014b728235c","toSide":"top"},
121-
{"id":"3f19cdf658deeb41","fromNode":"9ad3d014b728235c","fromSide":"bottom","toNode":"2beb3ad285be0a47","toSide":"top"}
120+
{"id":"3f19cdf658deeb41","fromNode":"9ad3d014b728235c","fromSide":"bottom","toNode":"2beb3ad285be0a47","toSide":"top"},
121+
{"id":"31545250723ddc7b","fromNode":"9ad3d014b728235c","fromSide":"bottom","toNode":"daa0c9352ab8d240","toSide":"top"},
122+
{"id":"67d1d7385e6ce825","fromNode":"9ad3d014b728235c","fromSide":"bottom","toNode":"b8a0ea174cd9c3f5","toSide":"top"}
122123
]
123124
}

0 commit comments

Comments
 (0)