You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/post-cip-findings.md
+36Lines changed: 36 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,12 @@
2
2
3
3
This document catalogs Leios-related findings and artifacts that were created subsequent to the [Leios CIP](https://github.com/cardano-foundation/CIPs/pull/1078).
4
4
5
+
1.[Markovian model of Linear Leios](#markovian-model-of-linear-leios)
6
+
2.[Analysis of UTxO set size and UTxO lifetime](#analysis-of-utxo-set-size-and-utxo-lifetime)
7
+
3.[CPU cost of `Apply`, `Reapply`, and Plutus ledger operations](#analysis-of-utxo-set-size-and-utxo-lifetime)
8
+
9
+
---
10
+
5
11
## Markovian model of Linear Leios
6
12
7
13
[Markovian simulation of Linear Leios](../analysis/markov/) computes the probability of EB certifications as RBs are produced.
@@ -35,6 +41,8 @@ The figure below shows example results for the probability distribution of the n
[Analysis of Cardano mainnet](../post-cip/tx-lifetime/tx-lifetime.ipynb) indicates that the number of active UTxOs has leveled off at approximately 11 million unspent transaction outputs. The data likely is not sufficient to build a statistical model to forecast the size of the UTxO set as a function of demand: a more speculative model would be needed.
@@ -50,3 +58,31 @@ The left plot is on a square-root scale horizontally, so one can see how big the
|||
61
+
62
+
---
63
+
64
+
## CPU cost of `Apply`, `Reapply`, and Plutus ledger operations
65
+
66
+
The Jupyter notebook [post-cip/apply-reapply/analysis.ipynb](../post-cip/apply-reapply/analysis.ipynb) analyzes `db-analyser` measurements for Cardano `mainnet`. Linear models and quantile regressions were applied to the dataset in order to estimate how CPU resources scale with block size, transaction count, number of transaction inputs, and number of Plutus steps. These results can be used for reasoning about feasible values of Leios protocol parameters.
67
+
68
+
Regarding Plutus, nominally, one step unit corresponds to one picosecond on the benchmark machine and one memory unit corresponds to eight bytes allocated on that machine. The following plots show the relationship between execution steps and CPU on the machine where the `db-analyser` experiment was conducted.
69
+
70
+
| Plutus steps vs CPU usage | CPU usage per Plutus step |
|||
73
+
74
+
The db-analyser is very noisy and hard to fit. Nevertheless, here are the best fits obtained using linear models and the quantile regression. Note that the quantile regression was based on a random subset of the data because it is not computationally feasible to perform quantile regression on such a large dataset in a reasonable amount of time.
75
+
76
+
| Regression | Dependent variable | Block size | Number of transactions | Number of transaction inputs | Number of Plutus steps |
Coarsely, the "one picosecond per Plutus step" is a reasonable estimate for Plutus costs; we did not assess whether "eight bytes per Plutus memory unit" was also reasonable.
0 commit comments