From 8353b420d1787081487caeaaec6ef8418f26ed85 Mon Sep 17 00:00:00 2001 From: Greg Fitzgerald Date: Fri, 22 Feb 2019 15:04:43 -0700 Subject: [PATCH] Move blocktree-oriented diagram out of proposals --- book/art/fullnode-proposal.bob | 30 ---------- book/art/fullnode.bob | 57 ++++++++++--------- book/src/SUMMARY.md | 1 - .../src/fullnode-with-ledger-notifications.md | 35 ------------ 4 files changed, 30 insertions(+), 93 deletions(-) delete mode 100644 book/art/fullnode-proposal.bob delete mode 100644 book/src/fullnode-with-ledger-notifications.md diff --git a/book/art/fullnode-proposal.bob b/book/art/fullnode-proposal.bob deleted file mode 100644 index 0d207cbcb5..0000000000 --- a/book/art/fullnode-proposal.bob +++ /dev/null @@ -1,30 +0,0 @@ - .----------------------------------. - | Fullnode | - | | - .--------. | .------------------. | - | |---->| | | - | Client | | | JSON RPC Service | | - | |<----| | | - `----+---` | `------------------` | - | | ^ | - | | | .----------------. | .------------------. - | | | | Gossip Service |<-------| Validators | - | | | `----------------` | | | - | | | ^ | | | - | | | | | | .------------. | - | | .--+---. .--+---. .---------. | | | | | - | | | Bank |<-|Replay| |BlobFetch|<-----+ Upstream | | - | | | Forks| |Stage | | Stage | | | | Validators | | - | | `------` `------` `-+-------` | | | | | - | | ^ ^ | | | `------------` | - | | | | v | | | - | | | .-+-------. | | | - | | | |Blocktree| | | | - | | | `---------` | | .------------. | - | | | ^ | | | | | - | | | | | | | Downstream | | - | | .--+--. .-------+---. | | | Validators | | - `-------->| TPU +-->| Broadcast +------------->| | | - | `-----` | Service | | | `------------` | - | `-----------` | `------------------` - `----------------------------------` \ No newline at end of file diff --git a/book/art/fullnode.bob b/book/art/fullnode.bob index 6afe5ea519..1133b2463c 100644 --- a/book/art/fullnode.bob +++ b/book/art/fullnode.bob @@ -1,27 +1,30 @@ - .---------------------------. - | Fullnode | - | | - .--------. | .------------------. | - | |---->| | | - | Client | | | JSON RPC Service | | - | |<----| | | - `----+---` | `------------------` | - | | ^ | .------------------. - | | | .----------------. | | Validators | - | | | | Gossip Service +----->| | - | | | `--------+-------` | | .------------. | - | | | ^ | | | | | | - | | | | v | | | Upstream | | - | | .--+---. .-+---. | | | Validators | | - | | | Bank |<--| TVU |<--------------+ | | - | | `------` `-----` | | `------------` | - | | ^ | | | - | | | | | .------------. | - | | .--+--. .-----------. | | | | | - `-------->| TPU +-->| Broadcast +--------->| Downstream | | - | `-----` | Service | | | | Validators | | - | `-----------` | | | | | - | | | `------------` | - `---------------------------` | | - `------------------` - + .--------------------------------------. + | Fullnodee | + | | + .--------. | .-------------------. | + | |---->| | | + | Client | | | JSON RPC SService | | + | |<----| | | + `----+---` | `-------------------` | + | | ^ | + | | | .----------------. | .------------------. + | | | | Gossip Service |<----------| Validators | + | | | `----------------` | | | + | | | ^ | | | + | | | | | | .------------. | + | | .---+---. .----+---. .-----------. | | | | | + | | | Bank |<-+ Replay | | BlobFetch |<------+ Upstream | | + | | | Forks | | Stage | | Stage | | | | Validators | | + | | `-------` `--------` `--+--------` | | | | | + | | ^ ^ | | | `------------` | + | | | | v | | | + | | | .--+--------. | | | + | | | | Blocktree | | | | + | | | `-----------` | | .------------. | + | | | ^ | | | | | + | | | | | | | Downstream | | + | | .--+--. .-------+---. | | | Validators | | + `-------->| TPU +---->| Broadcast +--------------->| | | + | `-----` | Service | | | `------------` | + | `-----------` | `------------------` + `--------------------------------------` diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 2773a711d7..d27b99f8ba 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -37,7 +37,6 @@ - [Data Plane Fanout](data-plane-fanout.md) - [Reliable Vote Transmission](reliable-vote-transmission.md) - [Bank Forks](bank-forks.md) - - [Blocktree Validation](fullnode-with-ledger-notifications.md) - [Cluster Economics](ed_overview.md) - [Validation-client Economics](ed_validation_client_economics.md) - [State-validation Protocol-based Rewards](ed_vce_state_validation_protocol_based_rewards.md) diff --git a/book/src/fullnode-with-ledger-notifications.md b/book/src/fullnode-with-ledger-notifications.md deleted file mode 100644 index 63baf83d3f..0000000000 --- a/book/src/fullnode-with-ledger-notifications.md +++ /dev/null @@ -1,35 +0,0 @@ -# Fullnode - -This document proposes the following architecture changes to fullnode pipeline. - -## Current Architecture -Fullnode block diagrams - -## Proposal -Fullnode block diagrams - -## Background - -In the old architecture, the ReplayStage receives entries from the RetransmitStage, -processes them and writes to the ledger. - -In the current code, the ledger write operation has been moved out of the ReplayStage. -If the fullnode is running with a TPU, the Broadcast Service writes to the ledger. -The Retransmit Stage receives entries from peer fullnodes and also writes to the ledger. - -The ledger notifies the ReplayStage whenever some entity writes to it. The -ReplayStage reads from the ledger, processes the entries in the bank and submits -the votes. - -In old architecture, the RetransmitStage and ReplayStage are contained in the TVU. - -## Changes - -This document proposes the following change to the architecture. - -1. Split TVU into BlobFetchStage, and ReplayStage -2. Add Blocktree (ledger) to the diagram -3. The Blocktree is updated by Broadcast Service and BlobFetchStage -4. Replay Stage gets notified by Blocktree when someone writes to it -5. Replay Stage submits votes via Gossip Service -6. Replace Bank with BankForks \ No newline at end of file