Skip to content

Commit 4d890c0

Browse files
committed
leiosdemo202510: fix typos in README-Leios-October-demo.md
1 parent 0720059 commit 4d890c0

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

README-Leios-October-demo.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ This is where you might see messages about, eg, the missing `genesis-*.json` fil
8888
8989
## The topology
9090
91-
For this first iteration, the demo topology is a simple linear chain.
91+
For this first iteration, the demo topology is a simple linear graph.
9292
9393
```mermaid
9494
flowchart TD
@@ -100,7 +100,7 @@ In this iteration of the demo, the mocked downstream peer (see section below) is
100100
101101
## The Praos traffic and Leios traffic
102102
103-
In this iteration of the demo, the Praos data and traffic is very simple.
103+
In this iteration of the demo, the data and traffic is very simple.
104104
105105
- The Praos data is a simple chain provided by the Performance&Tracing team.
106106
- The mocked upstream peer serves each Praos block when the mocked wall-clock reaches the onset of their slots.
@@ -157,7 +157,7 @@ That would not be a well-formed EB, but the prototype's behavior in response to
157157
158158
The mocked upstream peer is a patched variant of `immdb-server`.
159159
160-
- It runs incomplete variant of LeiosNotify and LeiosFetch: just EBs and EB closures, nothing else (no EB announcements, no votes, no range requests).
160+
- It runs incomplete variants of LeiosNotify and LeiosFetch: just EBs and EB closures, nothing else (no EB announcements, no votes, no range requests).
161161
- It serves the EBs present in the given `--leios-db`; it sends Leios notificaitons offering the data according to the given `--leios-schedule`.
162162
See the demo tool section above for how to generate those files.
163163
@@ -166,15 +166,15 @@ The mocked upstream peer is a patched variant of `immdb-server`.
166166
The patched node is a patched variant of `cardano-node`.
167167
All of the material changes were made in the `ouroboros-consensus` repo; the `cardano-node` changes are merely for integration.
168168
169-
- It runs the same incomplete variant of LeiosNotify and LeiosFetch as the mocked upstream peer.
170-
- The Leios fetch request logic is a fully fledged first draft, with four primary shortcomings.
169+
- It runs the same incomplete variants of LeiosNotify and LeiosFetch as the mocked upstream peer.
170+
- The Leios fetch request logic is a fully fledged first draft, with following primary shortcomings.
171171
- It only handles EBs and EB closures, not votes and not range requests.
172172
- It retains a number of heap objects in proportion with the number of txs in EBs it has acquired.
173173
The real node---and so subsequent iterations of this prototype---must instead keep that data on disk.
174-
This first draft was intended to do so, but we struggled to invent the fetch logic algorithm with the constraint that some of its state was on-disk; that's currently presumed to be possible, but has been deferred to a iteration of the prototype.
174+
This first draft was intended to do so, but we struggled to invent the fetch logic algorithm with the constraint that some of its state was on-disk; that's currently presumed to be possible, but has been deferred to a subsequent iteration of the prototype.
175175
- It never discards any information.
176-
The real node---and so subsequent iterations of this prototype---must instead discard EBs and EB closures once their old enough, unless they are needed for the immutable chain.
177-
- Once it decides to fetch a set of txs from an upstream peer for the sake of some EB closure, it does not necessarily compose those into an optimal set of requests for that peer.
176+
The real node---and so subsequent iterations of this prototype---must instead discard EBs and EB closures once they're old enough, unless they are needed for the immutable chain.
177+
- Once it decides to fetch a set of txs from an upstream peer for the sake of some EB closure(s), it does not necessarily compose those into an optimal set of requests for that peer.
178178
We had not identified the potential for an optimizing algorithm here until writing this first prototype, so it just does something straight-forward and naive for now (which might be sufficient even for the real-node---we'll have to investigate later).
179179
180180
There are no other changes.
@@ -186,7 +186,7 @@ Some examples includes the following.
186186
- The prototype uses SQLite3 with entirely default settings.
187187
Maybe Write-Ahead Log mode would be much preferable, etc.
188188
- The prototype uses a mutex to completely isolate every SQLite3 invocation---that's probably excessive, but was useful for some debugging during initial development (see the Engineering Notes appendix)
189-
- The prototype chooses several _magic numbers_ for resource utilization limits (eg max-bytes per reqeusted, max outsanding bytes per peer, fetch decision logic rate-limiting, txCache disk-bandwidth rate-limiting, etc).
189+
- The prototype chooses several _magic numbers_ for resource utilization limits (eg max bytes per reqeust, max outsanding bytes per peer, fetch decision logic rate-limiting, txCache disk-bandwidth rate-limiting, etc).
190190
These all ultimately need to be tuned for the intended behvaiors on `mainnet`.
191191
- The prototype does not deduplicate the storage of EBs' closures when they share txs.
192192
This decision makes the LeiosFetch server a trivial single-pass instead of a join.
@@ -200,7 +200,7 @@ In the future, it could be comparatively lightweight and moreover could replay a
200200
201201
# Appendix: Engineering Notes
202202
203-
This section summaries some lessons learned during the development of this prototype.
203+
This section summarizes some lessons learned during the development of this prototype.
204204
205205
- Hypothesis: A SQLite connection will continue to hold SQLite's internal EXCLUSIVE lock _even after the transaction is COMMITed_ when the write transaction involved a prepared statement that was accidentally not finalized.
206206
That hypothesis was inferred from a painstaking debugging session, but I haven't not yet confirmed it in isolation.

0 commit comments

Comments
 (0)