Add TPU & RPU diagrams
This commit is contained in:
20
src/rpu.rs
20
src/rpu.rs
@ -2,6 +2,26 @@
|
|||||||
//! 3-stage transaction processing pipeline in software. It listens
|
//! 3-stage transaction processing pipeline in software. It listens
|
||||||
//! for `Request` messages from clients and replies with `Response`
|
//! for `Request` messages from clients and replies with `Response`
|
||||||
//! messages.
|
//! messages.
|
||||||
|
//!
|
||||||
|
//! ```text
|
||||||
|
//! .------.
|
||||||
|
//! | Bank |
|
||||||
|
//! `---+--`
|
||||||
|
//! |
|
||||||
|
//! .------------------|-------------------.
|
||||||
|
//! | RPU | |
|
||||||
|
//! | v |
|
||||||
|
//! .---------. | .-------. .---------. .---------. | .---------.
|
||||||
|
//! | Alice |--->| | | | | +---->| Alice |
|
||||||
|
//! `---------` | | Fetch | | Request | | Respond | | `---------`
|
||||||
|
//! | | Stage |->| Stage |->| Stage | |
|
||||||
|
//! .---------. | | | | | | | | .---------.
|
||||||
|
//! | Bob |--->| | | | | +---->| Bob |
|
||||||
|
//! `---------` | `-------` `---------` `---------` | `---------`
|
||||||
|
//! | |
|
||||||
|
//! | |
|
||||||
|
//! `--------------------------------------`
|
||||||
|
//! ```
|
||||||
|
|
||||||
use bank::Bank;
|
use bank::Bank;
|
||||||
use packet;
|
use packet;
|
||||||
|
24
src/tpu.rs
24
src/tpu.rs
@ -1,5 +1,29 @@
|
|||||||
//! The `tpu` module implements the Transaction Processing Unit, a
|
//! The `tpu` module implements the Transaction Processing Unit, a
|
||||||
//! 5-stage transaction processing pipeline in software.
|
//! 5-stage transaction processing pipeline in software.
|
||||||
|
//!
|
||||||
|
//! ```text
|
||||||
|
//! .---------------------------------------------------------------.
|
||||||
|
//! | TPU .-----. |
|
||||||
|
//! | | PoH | |
|
||||||
|
//! | `--+--` |
|
||||||
|
//! | | |
|
||||||
|
//! | v |
|
||||||
|
//! | .-------. .-----------. .---------. .--------. .-------. |
|
||||||
|
//! .---------. | | Fetch | | SigVerify | | Banking | | Record | | Write | | .------------.
|
||||||
|
//! | Clients |--->| Stage |->| Stage |->| Stage |->| Stage |->| Stage +--->| Validators |
|
||||||
|
//! `---------` | | | | | | | | | | | | `------------`
|
||||||
|
//! | `-------` `-----------` `----+----` `--------` `---+---` |
|
||||||
|
//! | | | |
|
||||||
|
//! | | | |
|
||||||
|
//! | | | |
|
||||||
|
//! | | | |
|
||||||
|
//! `---------------------------------|-----------------------|-----`
|
||||||
|
//! | |
|
||||||
|
//! v v
|
||||||
|
//! .------. .--------.
|
||||||
|
//! | Bank | | Ledger |
|
||||||
|
//! `------` `--------`
|
||||||
|
//! ```
|
||||||
|
|
||||||
use bank::Bank;
|
use bank::Bank;
|
||||||
use banking_stage::BankingStage;
|
use banking_stage::BankingStage;
|
||||||
|
Reference in New Issue
Block a user