1 引言
实验结果
对于3A部分,可以稳定通过测试,结果如下:
Test: one client (3A) ...
... Passed -- 15.3 5 2021 212
Test: many clients (3A) ...
... Passed -- 16.4 5 3230 466
Test: unreliable net, many clients (3A) ...
... Passed -- 17.1 5 2616 311
Test: concurrent append to same key, unreliable (3A) ...
... Passed -- 3.5 3 273 52
Test: progress in majority (3A) ...
... Passed -- 1.5 5 117 2
Test: no progress in minority (3A) ...
... Passed -- 1.5 5 196 3
Test: completion after heal (3A) ...
... Passed -- 1.3 5 181 2
Test: partitions, one client (3A) ...
... Passed -- 22.8 5 1769 90
Test: partitions, many clients (3A) ...
... Passed -- 24.8 5 2778 233
Test: restarts, one client (3A) ...
... Passed -- 21.7 5 2446 211
Test: restarts, many clients (3A) ...
... Passed -- 23.2 5 5206 519
Test: unreliable net, restarts, many clients (3A) ...
... Passed -- 30.2 5 3805 212
Test: restarts, partitions, many clients (3A) ...
... Passed -- 30.3 5 3268 236
Test: unreliable net, restarts, partitions, many clients (3A) ...
... Passed -- 43.1 5 3516 76
Test: unreliable net, restarts, partitions, many clients, linearizability checks (3A) ...
... Passed -- 43.4 7 7016 59
PASS
ok _/home/hetianfang/gocodes/DS6.824/src/kvraft-3B 297.476s
2 实现方式
Lab3分为AB两部分,内容分别为:
- A:实现一个KV服务器
- B:为KV服务器添加快照功能
整体构成大致为:
基本的执行流程: