Open gauthier-voron opened 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.
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".
The workload configuration file has two mandatory fields: