NatoliChris / diablo-benchmark

The "DIstributed Analytical BLOckchain" Benchmark Framework. (Diablo). Measures blockchains with a focus on real-world applications and workload generation.
Apache License 2.0
11 stars 8 forks source link

Remove secondaries and threads from workload configuration #6

Open gauthier-voron opened 2 years ago

gauthier-voron commented 2 years ago

The workload configuration file has two mandatory fields:

NatoliChris commented 2 years ago

The "threads" field is related to the implementation of clientinterface.

This might require rearchitecting the secondary, right now the number of threads indicates the number of blockchain interface instances that are created on a single machine.

Reasoning behind this was based on:

1/ hardware restrictions, where only enough machines for a single secondary was possible - made it easier than spinning up multiple secondaries on the same machine. 2/ [Labeled as future work in the original draft] was to create an imbalance of sending from a single machine to run through potential scenarios where you had a particularly noisy secondary with skewed sending ratios.

The threads is not specifically tied to the blockchain implementation, rather the secondary - but happy for you to remove if you feel it is more appropriate.

gauthier-voron commented 2 years ago

Yes, the threads is about how you implement the secondary, that's what I mean. It's just that the secondary probably knows better if it needs to spin more threads than the person who defines the workload (a secondary could use callback based interaction depending on the blockchain API).

Agree for 2/ it could be very interesting but I think it should be more explicit and more "tunable".