tpu docs (#23035)
This commit is contained in:
parent
67f6787f7a
commit
57a9146fa1
|
@ -2,4 +2,27 @@
|
|||
title: TPU
|
||||
---
|
||||
|
||||
TPU (Transaction Processing Unit) is the logic of the validator
|
||||
repsonsible for block production.
|
||||
|
||||

|
||||
|
||||
Transactions encoded and sent in UDP packets flow into the validator
|
||||
from clients (other validators/users of the network) as follows:
|
||||
|
||||
* fetch stage: allocates packet memory and reads the packet data from
|
||||
the network socket and applies some coalescing of packets received at
|
||||
the same time.
|
||||
|
||||
* sigverify stage: deduplicates packets and applies some load-shedding
|
||||
to remove excessive packets before then filtering packets with invalid
|
||||
signatures by setting the packet's discard flag.
|
||||
|
||||
* banking stage: decides whether to forward, hold or process packets
|
||||
received. Once it detects the node is the block producer it processes
|
||||
held packets and newly received packets with a Bank at the tip slot.
|
||||
|
||||
* broadcast stage: receives the valid transactions formed into Entry's from
|
||||
banking stage and packages them into shreds to send to network peers through
|
||||
the turbine tree structure. Serializes, signs, and generates erasure codes
|
||||
before sending the packets to the appropriate network peer.
|
||||
|
|
Loading…
Reference in New Issue