diff options
| author | tv <tv@krebsco.de> | 2026-11-06 16:47:32 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-06 16:47:32 +0100 |
| commit | ab8f5447680da56ce658abbc33c222219c3204ef (patch) | |
| tree | 93ed572d120cf29b7e440c31194bafd021e8a5a6 /docs | |
| parent | 7c0f90b327ad567c4e5e6a96cda433d774182dac (diff) | |
plumtree
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/development.md | 5 | ||||
| -rw-r--r-- | docs/example.toml | 6 | ||||
| -rw-r--r-- | docs/measurements.md | 2 | ||||
| -rw-r--r-- | docs/openapi.yaml | 5 |
4 files changed, 15 insertions, 3 deletions
diff --git a/docs/development.md b/docs/development.md index 442881e..2ba6c02 100644 --- a/docs/development.md +++ b/docs/development.md @@ -26,7 +26,10 @@ and with Mycelium's round trips, each link its own; and Tor's, with some slow ci members joining during the writes; several minutes, or one scenario alone with `BENCH_SCENARIO`, part of its name: `BENCH_SCENARIO=Tor`; several, comma-separated, at once: `BENCH_SCENARIO=Tor,Mycelium`; 100 writes per workload -unless `BENCH_WRITES` says otherwise (more, to see what grows with them); all at once with +unless `BENCH_WRITES` says otherwise (more, to see what grows with them); with +`SIM_DISSEMINATION=plumtree`, every simulated node passes changes on by PlumTree +(`--dissemination`), the benchmark's views of the trees still being the writers' +trees'; all at once with `BENCH_PARALLEL=1`, faster on many cores, though sharing them makes delays come out somewhat higher; and in `bench_bridge`, large values from a writer on a fast transport through a bridge to a node on a slow one: what that node gets as sync messages and as diff --git a/docs/example.toml b/docs/example.toml index 3761496..6f4ccbe 100644 --- a/docs/example.toml +++ b/docs/example.toml @@ -188,6 +188,12 @@ htpasswd = "/etc/continuum/htpasswd" # it out (logged), "quarantine" keeps it for an operator (GET /admin/quarantine). # superseded-writes = "drop" +# How a change reaches every member: writers-trees (computed alike on every node from +# the member list) or plumtree (eager links pruned where they deliver twice, grafted +# where announcements had to bring a change). For experiments: every node of a swarm +# must use the same one. +# dissemination = "writers-trees" + # Warn in the log when this node's clock differs from most of its peers' by more than # this, for sure (beyond half the round trip it was measured over, from their PONGs); 0: # never. diff --git a/docs/measurements.md b/docs/measurements.md index 099bb40..e134ce2 100644 --- a/docs/measurements.md +++ b/docs/measurements.md @@ -180,7 +180,7 @@ clocks"); setting them is the operating system's job (NTP). Messages and payload bytes by direction (`sent`, `received`, `refused`) and kind (`hello`, `helloReply`, `sync`, `status`, `statusReply`, `blob`, `identity` for WHO and ME, `paths` for PING and PONG, `links` for LINKS and their replies, `probe` for PROBE -and PROBE_REPLY). The layers below the node count WHO and ME, and the +and PROBE_REPLY, `plumtree` for PRUNE and GRAFT). The layers below the node count WHO and ME, and the paths layer's own PINGs and PONGs, under the address they went to or came from; a peer (`/peers`) has those of its addresses too, where it is known to be at them. Payload bytes are what a transport's message carries (the wire encoding): not the transport's framing (for Mycelium, its topic and the base64 of its diff --git a/docs/openapi.yaml b/docs/openapi.yaml index bd3186b..5ea3c19 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1707,7 +1707,7 @@ components: ByKind: type: object - required: [hello, helloReply, sync, status, statusReply, blob, identity, paths, links, probe] + required: [hello, helloReply, sync, status, statusReply, blob, identity, paths, links, probe, plumtree] properties: hello: $ref: '#/components/schemas/Counter' @@ -1734,6 +1734,9 @@ components: probe: $ref: '#/components/schemas/Counter' description: PROBE and PROBE_REPLY, asking others whether they reach a member before recording a link to it as unreached. + plumtree: + $ref: '#/components/schemas/Counter' + description: PRUNE and GRAFT, with --dissemination plumtree. Traffic: type: object |
