Interim speed test results, and the current plan.



This article aims to describe the results of the ongoing internal speed/load tests in preparation for the public speed/load test, information on the updates being made, and the estimated transaction speed that can be achieved per processor core.

As is commonly known, the better the hardware and Internet connectivity for any blockchain speed/load test, the better the results.

In the last month, a total of 10 internal tests were carried out.

So far, the team is satisfied with the results achieved, however, we have identified a number of areas that need to be improved and optimized.

These issues are not critical, but they do need to be resolved. Currently, the main focus of the team is on setting up the required hardware and network infrastructure that will mimic the real world public speed test.

To better understand the impact of the environment for processing a transaction on the Credits blockchain, we refer you to the article we wrote earlier:

https://credits.com/news/121-credits-blockchain-why-are-we-the-fastest.html.

The article explains the principles and mechanisms of how the Credits blockchain works, how the protocol operates, and which components of the network affect its performance.

What are the preliminary results?

The speed that transactions are processed depends on a number of factors, where the equipment and network connectivity speed are the two most important ones.

Right now, using the current equipment, we can achieve around 10k Transactions Per Second (TPS).

 The specification of the eight nodes used to achieve 10k TPS on a public network was: 

•          8 core processor Intel® Xeon® E5-2697A v4 (2,6 Ghz),

•          8 GB of memory,

•          Linux Ubuntu 18.04 LTS,

•          Linux version of the Credits node software.

The network will work differently each time, depending on the state of all the network nodes participating in each round.

We have found, as you will also know, that the more powerful the nodes are, the more stable the network is.

What was the main issue we encountered?

We have found an inefficient algorithm, which occurs with signature verification.

When signature verification is carried out, only one of the computer processor cores is used.

Below is a screenshot showing this:

 

The screenshot above demonstrates that all transactions are processed on a single core and that the single-core is saturated (100% usage), while the other cores are not loaded.

This situation occurs when processing more than around 5k TPS.

How will we resolve this problem?

The main optimization we are now working on to resolve this saturation is parallelism.

More information regarding parallelism can be found here:

https://en.wikipedia.org/wiki/Parallel_computing

We can say that when transaction parallelism is complete, we will be able to process approximately 5k transactions per core, where there is one thread per core.

Increasing the number of cores used will not result in a proportional increase in the transaction speed due to other factors such as hard disk drive throughput and network connectivity speed, but still, with an increase in core usage, the blockchain transaction processing speed will increase.

We are in the final stages of implementing parallelism and after testing, these results will be published.

What’s next?

After the signature verification parallelism is completed and the results are published, the development team will then use that same parallelism technology to optimize the cryptographic checks, amongst other things, which will increase the throughput even more.

Once again, when these tests are carried out, the results will be published. 

What about the public speed test?

After a series of further tests with various hardware configurations, and when no other bottlenecks are found, we will be ready to specify the dates of the public tests, including the minimum hardware and Internet connectivity requirements.

Apart from the internal speed/load tests we are carrying out, we are also preparing an official document describing the mechanism and conditions of the test.

Despite the fact that we have a number of improvements that need to be carried out for further optimization of the Credits blockchain, the team is very positive and excited about the preliminary test results.

Stay tuned!

Exciting times ahead!