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
|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|
|4||storage-size||STORAGE||Maximum storage size||bytes|
|5||net-download||NETWORK||Maximum download speed. Speed to download data from sonm.com||bits/s|
|6||net-upload||NETWORK||Maximum upload speed. Speed to upload data to sonm.com||bits/s|
|7||gpu-count||GPU||GPU count (1 for each GPU)||count|
|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%.
|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|
|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|