From 5b84cd085ad36cfe763578c199cc026907174fa3 Mon Sep 17 00:00:00 2001 From: Pedro Ferreira Date: Fri, 11 Oct 2024 13:29:19 -0300 Subject: [PATCH] feat: design of tx distribution improvement --- .../0001-improve-tx-distribution-image-1.png | Bin 0 -> 112742 bytes .../0001-improve-tx-distribution.md | 113 ++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 projects/tx-mining-service/0001-improve-tx-distribution-image-1.png create mode 100644 projects/tx-mining-service/0001-improve-tx-distribution.md diff --git a/projects/tx-mining-service/0001-improve-tx-distribution-image-1.png b/projects/tx-mining-service/0001-improve-tx-distribution-image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1c07a834e5db0bdcf82259fa30c2ac77c4b20981 GIT binary patch literal 112742 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%0Af=B#Q<^e=_(t>TWLjY2FD@q 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 + +# Table of Contents + +# Summary +[summary]: #summary + +The transaction mining service currently sends a single mining job to all miners, so we can't scale it with more miners because they would be mining the same tx. This limitation was added to the code to improve reliability after we had many timeouts, especially with big transactions. + +The project's idea is to improve job distribution so that we can scale the number of transactions we can mine in parallel while maintaining our current reliability. + + +# Motivation +[motivation]: #motivation + +There's a use case that wants to send multiple txs in parallel and we currently send the same tx job to all miners, so our transaction mining service (not the public tx-mining-service but the code itself) is not ready for it. We must have a way for them to run their own transaction mining service configured in a way that they can mine more than one transaction simultaneously. + +**Note:** this limitation is only for the transaction mining service, the protocol supports everything the use case needs and even more. + +# Guide-level explanation +[Guide-level explanation]: #guide-level-explanation + +The project will be divided in 3 independent phases that will help use cases run their own transaction mining service in a way that they can scale the number of transactions they can mine in parallel. + +## Distribute tx job to miners depending on redundancy configuration. + +A new custom configuration will be added to the tx mining, where use cases will be able to set the number of redundancy for each miner type. For example, a custom configuration as below: + +```python +miner_redundancy = { + 'cpuminer': 3, + 'ccminer': 1 +} +``` + +This configuration will tell the tx mining service to distribute each tx job to 3 cpuminers, 1 ccminer and all cgminers (in case there's no custom configuration for a miner type, the default is to send to all of them). In this case, if there are 9 cpuminers connected to this tx mining service, it will be able to mine 3 transaction jobs in parallel and we will continue with the reliability that we can have nowadays. + +**Note:** if the number of connected miners is not multiple of the redundancy amount, there will always be miners mining a block job and waiting for another miner to be available before getting a tx job. For example, if the redundancy amount is 2 for cpuminers and there are 3 of them connected, if 2 tx jobs arrive, the first one will be distributed to the first two cpuminers, while the second job will be on hold waiting for one of the cpuminers to become available, even if we have one cpuminer available because we must have at least the redundancy quantity of miners available to distribute them. + +## Distribute tx job among miners type depending on the weight. + +A study regarding miner capability was done by @luislhl in the past (https://github.com/HathorNetwork/ops-tools/issues/257) and the results show that it's basically useless trying to mine a transaction job with weight bigger than 24 with a cpuminer, even though they perform much better than the others for smaller weights, e.g. 17, 18, 19. The study done was not considering the ccminer but we now have a Grafana chart that has a distribution of transactions mined by each miner aggregated by its weight (https://grafana.internal.hathor.network/d/BKxhHhbnk/tx-mining-service?orgId=1&var-datasource=prometheus&var-namespace=tx-mining-service-mainnet-production). + +

+ +

+ +The chart above shows the data for the last 14 days of transaction mining. Unfortuanately, we have detailed information only with weight up to 25 (we would need to change the code that fetches the information to have the information about weight bigger than 25 in a non aggregated way). With this data, we can estimate a good distribution of a tx job among miners depending on the weight. For example, we see that the cpuminer performs really well up to weight 24, and ccminer performs well starting at weight 21. + +The idea is to add a possibility to configure the range of weights that each miner type will receive a tx job. For example, similar to the custom configuration of `miner_redundancy` above, we can have: + +```python +miners_weight_distribution = { + 'cpuminer': [0, 25], + 'ccminer': [21, 27], + 'cgminer': [25, float('inf')], +} +``` + +The idea to have intersection in the intervals is that we can have redundancy and speed up mining in ranges that more than one miner type works well. Apart from that, if a specific miner type is not configured in this dictionary, the default behavior is to receive all tx jobs, independently of weight. + +If the tx job weight is in the range of only cpuminers and there are not cpuminers currently connected, the job will be distributed to all other miners. If there are cpuminers connected but mining other tx jobs, it will wait until they are available, the fallback will work only if there are none connected. + +This configuration will allow miners to use their computing power to mine only jobs that they should be able to mine, improving the parallelism and amount of tx jobs per second that it can mine. + +## Add custom configuration in the headless to use a different tx mining service depending on the tx weight + +Use cases that need to send many transactions should run their own transaction mining service, our public one is affected by all network users, so they shouldn't depend on it. The hardest part of running a transaction mining service is to have a compatible asic running a cgminer, so it can mine big transactions, while running cpuminers and ccminers in the cloud is much easier. + +Additionally, analyzing the weight distribution among all transactions in the network (data collected on Oct 10th, 2024), we have data below: + +```python +{ + 14: 2, # [14, 15) + 16: 57548, # [16, 17) + 17: 506387, # [17, 18) + 18: 134922, # [18, 19) + 19: 128125, # [19, 20) + 20: 121686, # [20, 21) + 21: 115393, # [21, 22) + 22: 25425, # [22, 23) + 23: 6778, # [23, 24) + 24: 8045, # [24, 25) + 25: 4667, # [25, 26) + 26: 3867, # [26, 27) + 27: 4122, # [27, 28) + 28: 5948, # [28, 29) + 29: 3282, # [29, 30) + 30: 8720, # [30, 31) + 31: 7307, # [31, 32) + 32: 4489, # [32, 33) + 33: 1, # [33, 34) + 35: 1, # [35, 36) +} +``` + +If we assume that use cases can easily run cpuminers and ccminers, and they can mine up to weight 27 with both miner types, then they would be capable of mining 97% of the transactions of the network. + +The idea of this phase is to have a custom configuration in the headless that allows use cases to use their own tx mining service if the tx weight is smaller than a value X, and redirect the mining to our own public mining service otherwise. We would be mining just a few transactions of them, and they would be able to spin up a tx mining service much faster with cpuminers and ccminers only. + +## Recommendation + +The recommendation is that we don't use any of these custom configurations in our public transaction mining service and continue focusing on the reliability of the service. After implementing the phases above we can write a tutorial to use cases on how to run their own tx mining service and the recommended configurations with miner type redundancy and weight distribution. + +# Reference-level explanation +[Reference-level explanation]: #reference-level-explanation + +# Proof-of-concept +[Proof-of-concept]: #proof-of-concept + +https://github.com/HathorNetwork/tx-mining-service/pull/113 \ No newline at end of file