Skip to main content

· One min read
Kostas Dermentzis

· 3 min read
Michael Karg

High level summary

  • Benchmarking: Governance action / voting benchmarks on Node 10.0; performed PlutusV3 RIPEMD-160 benchmarks.
  • Development: Governance action workload fully implemented; generator-based is submission ongoing work.
  • Tracing: New tracing system production ready - cardano-tracer-0.3 released; work advancing on typed-protocols-0.3 bump and metrics naming.

Low level overview

Benchmarking

We've run and analyzed the new voting workload on Node 10.0. This workload is a stream of voting transactions submitted on top of the existing value workload from release benchmarking. The delta in the comparison can claim to demonstrate the "performance cost of voting" in the Conway ledger era. The workload itself is a puppeteer of 10.000 DReps overall, who vote on up to 5 governance actions simultaneously. We made sure these are mutually independent proposals, that vote tallying occurs, and that the actions get ratified and enacted (and hence removed from the ledger). Then, voting moves on to the next actions - keeping the number of actions needing vote tallying stable over the benchmark. We could observe a very slight performance cost of voting; it's deemed to be a reasonable one given the stress we've put the system under.

The results can be found here along with those from release benchmkarks.

Furthermore, we've developed and run a new Plutus benchmark targeting the RIPEMD-160 internal. We've compared the resulting performance observations against other Plutus workloads - both memory-constrained and (same as RIPEMD-160) CPU-constrained. We have concluded that there are no performance risks to that algorithm in PlutusV3, given existing execution budgets, and that it's consistently priced wrt. other CPU-intensive internals.

Development

The voting workload is currently implemented using decentralized submission via cardano-cli on each of our cluster machines. It has proven reliable - and scalable, at least to some extent. We're already working on improvements that reduce the (very slight) overhead of using the CLI for submission. Additionally, we're aiming for a linear performance comparison when submitting twice the number votes per transaction at the same TPS rate - forcing double the work for vote tallying.

Implementation of that workload using the centralized (and much better scalable) tx-generator submission service is still ongoing.

Tracing

Metrics naming is currently receiving a last round of consistency checking, so that it's aligned as closely as possible between legacy and new tracing system. In the process, we're adressing aspects of documentation, and incorporating feedback to define a few metrics in the new system that previously were present in the legacy one only.

For migrating to the new typed-protocols-0.3 API, two of the new tracing system's packages are affected. The work for ekg-forward-0.7 is completed and merged to master - yet to be released on CHaP. Work on the second package, trace-forward, is ongoing.

We've finally released cardano-tracer-0.3, which incorporates all features, enhancements and fixes that have been reported on here over the past months. This release marks 100% production readiness of the new tracing system. We're focusing now on making documentation and example scripts and configs yet more user-friendly for community rollout. We're very much looking forward to receiving feedback - and have time and space reserved to address it, as well as to provide intial support for the migration away from the legacy system.

· 2 min read
John Lotoski

High level summary

The SRE team continues work on Cardano environment improvements and general maintenance.

Some notable recent changes, updates or improvements include:

  • Cardano-node [pre-]releases from 10.0.0-pre, 10.1.0-pre and 10.1.1 were deployed to appropriate environments

  • Sanchonet was respun on 2024-10-21 for cardano-node >= 10.0.0-pre

  • Private and shelley-qa chains were retired for now

  • Remaining cardano-world legacy resources have now been terminated

  • Some ci-world legacy resources were migrated in prep for termination of the remainder

Repository Work

Cardano-faucet

Cardano-parts

  • Sets cardano-node to 10.1.1, mithril to v2442.0 and updates iohk-nix-ng for the recent sanchonet respin. Updates for cardano-cli breaking changes were incorporated into nix jobs, justfile recipes, bash and python scripts, process-compose processes. New template just recipes and psql prepared statements were added for ease of governance action pool voting and follow up vote analysis. Some nixosModule options were refactored for consistency across the module set. More detail is available in the release notes: cardano-parts-release-v2024-11-06

Cardano-playground

  • Sets cardano-node to 10.1.1, mithril to v2442.0. Sanchonet was respun on 2024-10-21 and private and shelley-qa chains were retired. Breaking change fixes for cardano-cli were applied and new just recipes added. More detail is available in the PR description: cardano-playground-pull-35

Cardano-mainnet

  • Sets cardano-node to 10.1.1, mithril to v2442.0. Kes was rotated for block producers. Breaking change fixes for cardano-cli were applied and new just recipes added. More detail is available in the PR description: cardano-mainnet-pull-25

Iohk-nix

· One min read
Damian Nadales

High level summary

  • Investigated performance improvements in mempool snapshotting in recent node benchmarks and discussed potential further improvements.
  • Started the review of the UTXO-HD feature branch after all the issues have been resolved.
  • Published io-classes-extra, which hosts concurrency utilities that were extracted from the consensus repository.
  • Elaborated the plan for the last quarter of 2024. You can reach out to our Discord channel for any comments or suggestions.
  • In the context of UTXO-HD, Well-typed presented another LSM-tree milestone. The implementation includes incremental merges, which prevents substantial spikes in resource usage (CPU, disk, memory), and duplicating table handles, which is crucial for efficiently representing sequences of ledger states. The test coverage of the LSM-tree library was improved as well.

· One min read
Noon van der Silk

High-level summary

This last few weeks have seen us spend some time in internal planning, focus hard on incremental commits. We've made good progress on the on-chain validators and associated tests; we continue on with this work. We are also beginning to tackle partial fanout by making some small steps based on the ongoing work of Thomas and others.

What did the team achieve?

  • Small cleanup as part of our first group knowledge-sharing session #1714
  • Progress on the validators and tests for incremental commits #1715, #1664

What's next?

  • Continued work on incremental commits #199
  • Begin work on partial fanout #1468
  • Investigate options for customised ledger in a Hydra Head #1727
  • Continue to support Hydra Doom
  • Continue to plan the 0.20.0 release