Skip to main content

9 posts tagged with "throughput"

View All Tags

Weekly Summary – March 17, 2025

· 2 min read
William Wolff
Architect

This week, the Leios team made significant progress in protocol development, focusing on improving simulation capabilities and analyzing protocol behavior under various network conditions. A comparison of Haskell and Rust simulations across 18 scenarios demonstrated that the Leios protocol scales effectively to mainnet-sized networks. However, congestion occurs when the input block rate reaches 30 IB/s.

Simulation comparison

  • Compared 18 scenarios between Haskell and Rust simulations at tag leios-2025w12
  • Recent fixes and adjustments enabled meaningful comparison between simulations
  • Identified differences when comparing the Haskell and Rust results, which are under active investigation.

Analysis of simulations

  • Completed the first simulation of Short Leios, evaluating IB production rate, IB size, and network topology
  • Demonstrated that the Leios protocol scales effectively to mainnet-sized networks
  • Identified congestion occurring when the input block rate exceeds 30 IB/s
  • Suggested that allowing IBs larger than current Praos RBs may have advantages in TCP efficiency, network usage, and adapting to fluctuating transaction loads.
Peak CPUMean CPU
analysis/sims/2025w12xl/plots/cpu-peak-histogram-rust.pnganalysis/sims/2025w12xl/plots/cpu-mean-histogram-rust.png

Haskell simulation

  • Implemented expiration of blocks:
    • Blocks are removed from the relay buffer once diffusion stops and cleared from other states as specified
  • Developed an initial Full Leios implementation:
    • Currently in early testing
    • Added the praos-chain-quality configuration parameter for the \eta parameter from the specification.

Rust simulation

  • Developed an initial Full Leios implementation using estimated values for some parameters.

Formal methods

  • Short Leios trace verification: modeling local state evolution of a node
  • Developed an initial trace verifier for Short Leios simulation traces in leios-trace-verifier.

Weekly Summary – February 17, 2025

· 2 min read
William Wolff
Architect

This week in Leios development, CPS-0018 for transaction throughput was approved, along with improved Docker support for simulations and analysis of cross-simulation results. The team also examined input block (IB) production rates and their impact on network performance.

Protocol development

  • CPS-0018 'Greater transaction throughput' officially approved:
    • Merged into Cardano Foundation's CIP/CPS repository
    • Documents urgency of higher transaction throughput
    • Defines goals for the Leios initiative
    • Identifies key open questions and use cases.

Cross-simulation analysis

  • Conducted a comprehensive analysis of IB production rates ranging from 1 IB/s to 100 IB/s:
    • Developed an ELT workflow for data processing via MongoDB
    • Created an R Jupyter notebook for analysis and visualization
    • Identified and addressed three significant bugs (#207, #208, #209)
  • Key findings from the Haskell simulation:
    • Network congestion emerges at high IB production rates
    • Both average propagation time and slow propagation tail increase
    • A critical threshold of ~40 IBs/s was identified, beyond which network congestion severely impacts block reception
  • Comparison of PeerNet and Haskell simulations:
    • Both exhibit qualitatively similar block propagation distributions
    • Both demonstrate protocol breakdown under high block production rates
    • Differences in resolution and configuration prevent exact comparison.

Infrastructure improvements

  • Added comprehensive Docker support for both simulations:
    • Optimized multi-stage Docker files for Haskell and Rust
    • Simplified deployment process
    • Enabled easy configuration via volume mounts and parameters
    • Documented usage in README.md.

Rust simulation

  • Enhanced Rust simulation capabilities:
    • Implemented bandwidth usage tracking
    • Added configurable bandwidth limits per connection
    • Fixed issues identified in cross-simulation comparisons
    • Started updating visualizations for improved clarity.

Haskell simulation

  • Enhanced IB sortition handling for IB/slot < 1
  • Began integrating block expiration and diffusion-halt proposal
  • Implemented ideal timing calculations for diffusion:
    • Added uniform block behavior configuration
    • Identified relay mini-protocol complexities:
      • Variable latency (3-4) for block transfer
      • Latency depends on traffic conditions and request handling.

Formal methods

  • Moved formal specification to a dedicated repository
  • Established a conformance testing framework:
    • Enabled testing between Short Leios implementations
    • Documented the test suite execution process
  • Initiated a survey of network models across IO consensus projects.

Weekly Summary – February 3, 2025

· 2 min read
William Wolff
Architect

This week, the Leios team worked on cryptography benchmarking and cost calculator improvements. The team completed a reference implementation for Leios cryptography and enhanced the online cost calculator with user-requested features. They also updated both Haskell and Rust simulations to improve visualization and network modeling capabilities.

Haskell simulation

  • Added support for Send and Receive voting stages, providing:
    • A new leios-vote-send-recv-stages configuration option
    • A configurable stage length via leios-stage-active-voting-slots
  • Implemented multiple diffusion strategies:
    • Added oldest-first strategy
    • Added configurable strategies for IBs, EBs, and votes via *-diffusion-strategy configurations
  • Created a new small scenario for 100 nodes with 2,000 kB links
    • Tuned IB parameters to utilize one-third of link capacity
    • Added configurations for both single-stage and send-recv voting
  • Fixed several simulation behaviors:
    • Improved block generation logic
    • Prevented duplicate EB inclusion in the base chain
    • Confirmed proper EB inclusion timing relative to vote diffusion
  • The main difference observed between single-stage and send-recv is that the former shows a longer tail in the CPU usage CDF when the simulation is run with unlimited cores.

Cryptography implementation

The Rust benchmarks for Leios cryptography were redesigned as a reference implementation:

  • Implemented the Fait Accompli sortition
  • Enhanced sortition to use rational arithmetic instead of quad-precision floats
  • Added Quickcheck tests for all capabilities
  • Added benchmarks for serialization
  • Optimized vote and certificate size.

Cost calculator improvements

The team enhanced the online Leios cost calculator:

  • Added support for both hyperscale and discount cloud providers
  • Made discount providers the default option
  • Added option to amortize storage costs perpetually
  • Updated defaults:
    • Single relay deployment
    • More conservative 50% disk compression
    • Perpetual storage cost amortization.

Throughput simulator

The team updated the Cardano throughput simulator with:

  • The latest cloud-computing cost model
  • Synchronized assumptions with an online cost calculator.

Rust simulation

  • Made minor fixes to the new graph generation strategy
  • Planned out a roadmap for visualization work focusing on the Leios transaction lifecycle.

Weekly Summary – December 23, 2024

· One min read
William Wolff
Architect

GitHub actions

  • Organized continuous integration (CI) configuration with namespace prefixes for better project sorting.

Rust simulation

  • Began visualizing transaction throughput
  • Tweaked configuration settings to maximize throughput.

Haskell simulation

  • Merged code for running Praos and Leios visualizations
  • Added HLint integration for consistent module imports.

Public meeting on December 28, 2024

Weekly Summary - November 25, 2024

· One min read
William Wolff
Architect

Visualizing Node Behavior

  • Added a web server to render throughput of IBs and EBs in the Leios simulation.
  • Utilized Tracer interface for JSON-formatted traces and live graph plotting.

Discussion with Nicolas

  • Explored Leios protocol with a focus on IB to EB construction.
  • Modeled a single node with input and output queues for IBs and EBs.

Meeting with Research

  • Discussed ongoing research work and networking challenges.
  • Aimed to define a ΔQ model for Leios and explore protocol structure.

Public Meeting on November 27, 2024

Weekly Summary - November 18, 2024

· One min read
William Wolff
Architect

Structuring Repository for Open-source

  • Added basic instructions for Code of Conduct, Contribution guidelines, and coding standards.
  • Restructured code to merge leios and leios-sim packages.

Designing Test Environment

  • Sketched ideas for exploring Leios behavior with respect to networking.

Leios Meeting

  • Discussed network simulation and ΔQ model of the pipeline.
  • Gathered numbers on network latency and throughput.

Weekly Summary - October 28, 2024

· One min read
William Wolff
Architect

Visualizing Node Behavior

  • Added a simple web server to render the throughput of IBs and EBs in the Leios simulation.
  • Utilized the Tracer interface for JSON-formatted traces and live graph plotting.

Discussion with Nicolas

  • Explored Leios protocol with a focus on IB to EB construction.
  • Modeled a single node with input and output queues for IBs and EBs.

Meeting with Research

  • Discussed ongoing research work and networking challenges.
  • Aimed to define a ΔQ model for Leios and explore protocol structure.

Public Meeting on October 31, 2024

Weekly Summary - October 21, 2024

· One min read
William Wolff
Architect

Designing Test Environment

  • Sketched ideas for exploring Leios behavior with respect to networking.
  • Developed a high-level design for network simulation.

Leios Meeting

  • Discussed network simulation and ΔQ model of the pipeline.
  • Gathered numbers on network latency and throughput.

Structuring Repository for Open-source

  • Added basic instructions for Code of Conduct, Contribution guidelines, and coding standards.
  • Restructured code to merge leios and leios-sim packages.

Community Round-Table on Leios

· 2 min read
Arnaud Bailly
Lead Architect

On the 14th of June, 2024, along with Pi Lanningham, I was honoured to be invited to the very first Round-Table organised by the Cardano Community group. The discussion was facilitated by Denicio Bernier and Rick McCracken, and was meant to provide a broad overview of Leios, the protocol and the R&D project we have just started working on.

We first went through Pi's presentation, recalling how Ouroboros Praos works in broad terms and the problem Leios provides a solution for, namely the low throughput of the network. This low throughput is a necessity imposed by diffusion delays across a world spanning network, and constraints of the stake-based sortition algorithm that's used to select block-forging leader. By deconnecting the data diffusion and validation process from the blockchain extension process, trading throughput for latency, Leios aims at dramatically increase the number of transactions that can be processed by Cardano.

We then took questions from the audience, detailing some aspects of the protocol, while answering expectations from the community like the expected throughput and availability of benchmarks, the anticipated timeline for Leios, its possible usage for transient data diffusion, and its relationship with other expected Ouroboros extensions like Peras.