Strategies - MaynardMiner/SWARM GitHub Wiki

SWARM STRATEGIES

Swarm has different strategies or methods this article is to give users a quick rundown of what approaches they can take.

Auto Algo

SWARM will always have auto algorithm switching activated. Auto-Algorithm will gather data from the pools you have specified for algorithms, and calculated which algorithm is best to mine on. The design of the pools in SWARM are created in a manner that when you switch to that pools algorithm, the pool will automatically distribute blocks for your rig to work on, which is usually calculated to be the most profitable.

Pros:

  • It is the most traditional method to profit switch.
  • All pools in SWARM support this method.
  • Most known miners who use profit switching are using this method.

Cons:

  • Pools distribute blocks, and you are unsure what exactly you are mining.
  • Most known miners who use profit switching are using this method. It is a pro, but also a con as you compete for shares.
  • Data is based on averages, and 5 minute historical. May not actually reflect best option, but usually does.

Auto Coin

By using the argument -Auto_Coin Yes you will enable auto_coin switching. Auto_Coin switching is a method in which SWARM will gather data on individual coins, and then self-determine what you should be mining, specific to a coin and not an algorithm switching port.

Pros:

  • Data is asynchronous in design to algorithms, but is more accurate / up to date.
  • This enforces mining on a single coin, allowing to fine-target a specific coin, increasing your potential share
  • Prices are often more realistic in returns, not being factored by averages.
  • Allows fine tuning of ASIC switching, where they are only able to mine a single algorithm (usually).

Cons

  • Coin pricing is MUCH more volatile. It may be prudent to use a higher stat time frame.
  • If coins has issues, you will be the first to suffer.
  • Algo-switching ports "live" switch to the most profitable item in that bracket.
  • Since you are targeting specific coins rather than a set of coins on an algorithm- You suffer from market backlash more.
  • Not all Pools support this.

Stat Time Frames

Stat_Algo

You can specify a target time frame, which will utilize pricing based on that time frame, rather than live pricing.

Stat_Coin

Same as algo, but for auto_coin switching.

The pros and cons are fairly clear- The longer the time frame, the more consistent the returns, but the maximum ceiling of potential returns is lowered.

Volume Argument

When a user uses -Volume Yes, SWARM will place a bias on pools based on hashrates. It will favor pools with more hashrate, by penalizing pools that have less. This is based by a % against the pool with the highest hashrate, and is indicated by the Vol. figure on the stats screen.

-Nicehash is not calculated in this equation, as it is irrelevant. (Per Per Rental) -Whaleburg is not calculated in this equation, as it is irrelevant. (PPS+) -If Vol. is 0.00 on screen, it indicates pool has highest hashrate.

Historical_Bias Argument

Historical Bias works by calculating the % difference between 24 estimate, and 24 hour actual, and creating an EMA based on each pull from pool, and then penalizes current estimates based on that result. The maximum % allowed to be penalized is the argument itself. So if the 24 hour return was 40% lower than the current estimate, and your -Historical_bias is set to 35%, SWARM will penalize the current estimate by 35%. This way you are factoring realistic pool returns vs. its historical returns. It is highly suggested to take a close look at this parameter, as well as adjust it if you see your returns have not been great- It is often a result of poor inconsistent returns on pool. Using -Historical_Bias will generally assist with consistent returns, but at the cost of maximum ceiling potential of returns. Once SWARM gathers enough data, -Historical_Bias is factored from a weekly average rather than just the previous 24 hours.

There are a lot of pools...What should I use?

This is the most highly asked question I receive. My answer to that is, I won't answer.

I, as a developer wish to remain impartial as to which pools to use, and which to not use, and offer no bias to any single pool. The advice I can give is this:

-Don't judge a pool on its site.

-Read very carefully into the payment structures.

-Join the pool discord channels, and search for users which may have complaints.

-Research Yiimp pools, and how they operate.

-Research your cards, the algorithms they are best at vs. the algorithms on the pools.

-Limit the total number of pools you utilize, and conduct trials.

-Join SWARM discord channel, ask fellow users.

Notes Regarding Returns And Biases:

  • Be careful with algorithms that have a very low hashrate. Rejections are very important for them. If an algorithm does 4 h/s, and 1 of them is a rejection, that is effectively a 25% profit loss. SWARM can only measure hashrate and its direct profitability.
  • Be careful again with algorithm that have a very low hashrate, and the report from pool. Algorithms like cuckoo are based on graphs, and the miner can only estimate how many graphs you are performing. What the pool says you are doing is more important, and they are not always the same.
  • Do your homework: Follow the algorithms you are mining, and their 24 hour actual returns. SWARM can only monitor short term trends, weekly data is beyond both SWARM, and the data the pool provides. If you see an algorithm for a week that the pool says it makes 0.05 BTC, but then every day for that week it returns 0.038 daily - Its an indication that either the pool's hashrate is too low to find blocks consistently, or the market pricing for the algorithm is flawed.
  • Check your setup- I have users with same model gpus with same oc mining completely different items. Why is this?
    • CPU speed: While in most cases it is not important, most work that the gpu's do are pushed to the cpu for validation, in which the cpu determines whether or not the nonce is good. A faster cpu will allow faster validation, and faster iterations of the loop. Again, in most cases this isn't important, but in some circumstances it can be.
    • Memory: As crypto technology increases, its focus to prevent ASIC decentralization has relied on increasing memory use, and the importance of memory, as it is the most expensive part/time consuming of an ASIC design. There are some algorithms in which contain randomized functions that require the program that actually is executed on the GPU to be compiled on demand. Memory is very critical for these functions, and bottle necking can cause issues both with miners and your performance. Using programs like top to monitor RAM use, and enabling swap file or virtual memory can help, but bare in mind it is not always the size of the memory that is required, but the speed can be very important as well, both on PC and GPU.
    • Optimization. It has been found that most miners are set with very generic setting. Over the past year, private developers have really focused on-pinpointing settings for certain model cards, to get users to use their software. However, this always isn't beneficial to you, as your card could have a certain issue with a particular setting. Sometimes reading miner instructions, and tweaking their setting can dramatically increase performance. SWARM will try to record settings like intensity and difficulty, and output it to a file within the bin folder of the miner to help you learn what the miner is set at by default.
    • Drivers. This is always an issue. Some miners are developed with a certain CUDA version, but other miners are developed with a different CUDA version. SWARM cannot switch between CUDA libraries. Unfortunately, there is not much that can be done with this. If you have the time - Try to play around with miners and drivers, and then use the best drivers for the most profitable setups. Just bare in mind SWARM relies on at least CUDA 9.0 and ADL overdriveN to get GPU temps, fans, and power.
  • 24 hour losers: This is a big issue that people fail to understand. MINING IS LUCK BASED!!! I will say it again: MINING IS LUCK BASED!! The data SWARM is getting is usually accurate, but probable does not mean definite. However, There is a big problem I get from users, in which they use profit switching software for a few days, say their profit is horrible, and regard profit switching as pointless. THIS IS NOT AN ACCURATE WAY TO GAUGE PROFITABILITY. I have had months in which I did horrible, barely covered my costs. But then I had a couple months in which I covered my costs from the losing month, and then made double. You can't base profitability on just a few days worth of data. If you plan to implement a new strategy, it should be with the mindset of doing so for at least a month. The great thing about SWARM, is that it allows you to DIVIDE your rig, so you can take samples of what SWARM does against another miner. THIS IS INTENTIONAL, AND DELIBERATE DESIGN THAT IS ENCOURAGED TO HEDGE SAMPLING!
  • FEES. There are pools that take their fee out when the reward comes. There are pools that claim the same fee, but then remove the fee from each miner's reward, which if you think about it- Is compounding the actual fee. Research a pool's fee structure, ask other users. I do not wish to speak ill against any pool in SWARM, but not all pools are equal.
  • CHEATING. I used to believe that pool's will manipulate their stats. I do not believe that is the case. However, some pools pay attention to the accuracy of their stats than other pools. Things like automating their divisor, and providing extra data to help users determine accuracy. Then there are some pools that put little effort in monitoring there stats, and their accuracy. SWARM relies on the data from pools, and the speed in the data is gathered in order to stay relevant- it is nearly impossible to confirm whether it is accurate or reliable. However, I would not assume it is a pool cheating, as its very hard for a pool to do, and if they do cheat- They are opening a door of having their own pool manipulated (some can cheat the cheater). Its more the amount of diligence they perform to keep the accuracy of their pool data that should be questioned.
  • PPS vs. PPLNS. PPLNS is not good for profit switching. If you look at SWARM, and say "Why isn't monerocean being used?" or "Why isn't Mining Pool Hub here?", the answer is because mathematically switching onto their pool from another, or moving off the pool will DRAMATICALLY cause a lost of profits. Actually, it benefits them to have you do this, because they place the fees on you for rewards for doing so. This is why these pools are not in SWARM, and why I will not add them. I'm not saying PPLNS is bad, or unfair- It is actually quite fair for people who like to loyally mine on a single pool. However, loyalty promotes centralization, which is why I personally avoid supporting such pools. But I am aware of the converse argument of pool hopping, and why PPLNS exists.
  • NEW IS NOT ALWAYS best. People tend to flock to new things- New algorithms, new miners, new technology. Remember that when something new comes out, it is an exploration, that will likely have issues. New bugs, new problems, compatibility- You may say to yourself "Wow, this new thing is going to be amazing!", but that is assuming that everything works out. Be scientific, approach everything with healthy skepticism.