rholang / rholang.github.io

Source code for rholang documentation website.
https://rholang.github.io/
0 stars 0 forks source link

FAQ: what is the tx/sec speed of mainnet? when should we see Visa speeds 40Ktps? #15

Open dckc opened 4 years ago

dckc commented 4 years ago

from @leithaus Mar 25:

Here is the current milestones, which are very small.

  • complete last finalized state (about 2 weeks from now)
  • complete trie merge (about 4 weeks from now)

These will allow us to unthrottle the current network and should give us about 10K tps/shard on appropriate hardware.

Then we need the backing contract between shards (complete in about 2 months from now).

That gets us 40K tps for 4 isolated regions. That's Visa speeds.

Note that this requires hardware spec'd at the level Nash spec'd originally together with a very high speed internet between shards or at least backbone nodes in each shard.

leithaus commented 4 years ago

You conveniently left out all the language regarding hardware and networking requirements to make this happen.

dckc commented 4 years ago

apologies. I was trying not to copy stuff about other topics and left out too much. fixed.

dckc commented 4 years ago

Then we need the backing contract between shards (complete in about 2 months from now).

I believe that's also known as "cross shard transfers". Mike Stay did the bulk of the work a while ago in https://github.com/rchain/rchain/pull/1265 ; polishing it off in a couple months seems feasible to me.

jimscarver commented 4 years ago

The current RChain tps really depends on what you mean by a transaction. Currently rchain is artificially drastically slowed down until certain features are complete. Currently processing of deploys in a propose are doce serially and each node proposes in a round robin fashion. Significantly are support for block merging RCHAIN-1517 allowing nodes to propose in parallel and nodes to process deploys in parallel to make better use of machine cores.

On testnet it currently does between 2.5 to 45 rev transfers per minute depending on the batching done in deploys. Since REV is not really native to rchain it does a dozen or so communications doing one rev transfer so it is technically doing up to about 7.5 primitive transactions per second. Once rchain is complete with sharding the sky is the limit. In the short term I expect to see an order of magnitude improvement.

More performance testing is needed and I am hoping to have a sandbox network to test with to see what happen testing larger number of transactions.

dckc commented 4 years ago

In migrating to github, note last Last finalized state Milestone, currently scheduled for July 21, as well as an Enable external validators Milestone, not (yet?) scheduled.

dckc commented 4 years ago

That Last finalized state Milestone is now 404. Sigh.

We continue to get regular development team updates... Community Update 127 of July 8 says things are moving, though I don't see an estimated delivery date for last finalized state, let alone block merge.

Improvements to last finalized state issued but quite a bit of work involved still. Significant progress, some of which have been released in 0.9.25 and more scheduled to be released in 0.9.25.1 after testing is complete.

dckc commented 4 years ago

https://github.com/rchain/rchain/milestone/2 LFS is scheduled for July 31, though significant risks are noted.

dckc commented 3 years ago

Back in March 2019, I played around with a market simulator to measure performance.

Each run of the simulator fit in one deploy, so it's not organized well for measuring speed-up from block merge or the like. It just measures parallelism of rholang execution within a node. I didn't observe any parallel speed-up at the time. Market size and execution time grew linearly, regardless of the degree of parallelism in the rholang code.

market-sim.zip

customers seconds
64 10.173
128 11.545
128 14.488
128 15.393
256 19.452
512 29.147
512 34.607
768 52.504
768  
1024 63.24
1024 61.254