Resources are computer capacities for performing computational tasks: CPU, GPUs, RAM, storage and network. Computing resources are sold and bought on SONM market. But computing resources cannot be traded separately, they must be combined into virtual instance, similar to cloud provider's VDS instances. Each instance includes CPU(s), RAM, storage, network and optional GPU(s).

Computing resources of Suppliers may vary, for example one Supplier can have old Intel Celeron processor, others can use brand new Intel Xeon processor. But Customers need a uniform pricing for the resources, the less performant resource is, less expensive it should be on the market. To solve the problem SONM uses resource benchmarks.


The benchmark concept is somewhat similar to virtual CPU (vCPU) concept used by cloud providers. One cannot sell or buy selected nubore of cores, but one need to select a desirable (for Customers) and existing (for Suppliers) measure of a certain benchmark. For example, you cannot buy an instance with 3x NVidia GeForce GTX 1070 GPUs, but you can buy an instance with 75 MH/s Ethereum hashrate, or 20 GFLOPS. Ethereum hashrate and GFLOPS are two different benchmarks for GPU in that example. A Customer may set one or any subset of benchmarks in his BID-order, Supplier must provide all of benchmarks in his ASK orders. The list of available benchmarks is system-wide. It is updated by SONM team on regular basis to improve user experience.

Benchmarks are key-value pairs with int64 values. They are used to match orders on the market. The rule is: all BID order benchmarks must be less or equal than consequent ASK order benchmarks.

Description of the SONM resources benchmarks

ID Code Type Description Unit
0 cpu-sysbench-multi CPU CPU benchmark with sysbench for all cores. Minimum computing power of all CPU thread, calculated via sysbench (some abstract value, currently it is how many times CPU can calculate first 50000 prime numbers in 10 seconds). 1 000 000 000 / Average execution time in ms
1 cpu-sysbench-one CPU CPU benchmark with sysbench for one core. Minimum computing power of single CPU thread, calculated via sysbench (some abstract value, currently it is how many times CPU can calculate first 50000 prime numbers in 10 seconds) 1 000 000 000 / Average execution time in ms
2 cpu-cores CPU Specifies number of CPU threads. Can be fractional. count
3 ram-size RAM RAM amount bytes
4 storage-size STORAGE Maximum storage size bytes
5 net-download NETWORK Maximum download speed. Speed to download data from bits/s
6 net-upload NETWORK Maximum upload speed. Speed to upload data to bits/s
7 gpu-count GPU GPU count (1 for each GPU) count
8 gpu-mem GPU GPU memory bytes
9 gpu-eth-hashrate GPU Ethereum mining hashrate hashes/s
10 gpu-cash-hashrate GPU ZCASH mining hashrate sol/s * 1000 sol/s
11 gpu-redshift GPU Redshift rendering benchmark 1 000 000 000 / Execution time in seconds

The units of benchmarks for input in BID order specification is equivalent to the measure units. Please set the benchmark values without units in the BID orders.

For easy understanding the valuse of benchmarks you may use next tables, where we write average banchmarks for typal CPU and GPU devices.

Notice, that the same named devices may have different values of benchmarks because of the hard wear and software difference. But the difference is not more than 5%.

CPU benchmarks

Device cpu-cores cpu-sysbench-single, 1/ms cpu-sysbench-multi, 1/ms
Intel Celeron 2 1 095 2 164
Intel(R) Core(TM) i5-6600 CPU @ 3.30GHz 4 1 528 5 677
Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz 8 1 549 8 794

GPU benchmarks

Device gpu-mem, bytes gpu-eth-hashrate, hashes/s gpu-cash-hashrate, sol/s gpu-redshift, 1/s
GeForce GTX 1060 3GB 3 163 553 792 19 964 000 274 231
GeForce GTX 1070 8 513 388 544 26 624 000 427 338
GeForce GTX 1080 Ti 11 718 885 376 32 456 000 701 1 600
Radeon RX 470/480/570/580 4 281 323 520 21 704 000 282 0