Status as of Monday, May 1, 2017
Posted: Mon May 01, 2017 8:34 am
Good morning! I haven't posted one of these all weekend because I was busy at work. Here's where I got:
- A large part of what I did was to improve the performance of the mining server. It's good enough now that we could release SHA-256 mining, but we're not going to do that yet because we want to fix bugs that aren't caused by performance issues. The overall improvement appears to be somewhere near a 3x increase. The server never hits 100% anymore, so any rejected shares are definitively not caused by load at this point.
- I changed the database so that we don't record as much data for every share. Now, full data is only recorded every 1 in 30 shares, while balances tick up for every share. In the case balances get out of sync, we can recover the actual earnings by multiplying the sum of all the shares by 30. I expect that the system will rarely, if ever, get "behind" on database load anymore - and if it does, we'll increase that multiplier to store 1 in every 40 shares.
- We resolved some bugs in the mining server through profiling. The profiling was responsible for a few of the restarts. One of the issues I hadn't noticed during profiles, because they don't store time of day, is that a lot of the load happens all at once. I was tipped off to this by a customer who reported that it seemed that the server had problems every five minutes or so. The problem was that every five minutes, the server recomputed hashrates based on all the shares submitted over the past two hours, a time-consuming operation. We solved the disconnects by working on other tasks after every 10 people had their shares recomputed, so that there is no longer a time where 1200 workers are done at once, halting everything else.
- We implemented "bucketing" with coin assignment. To speed things up, miners with similar characteristics are grouped into "buckets" and assigned to the same coin, rather than every worker being computed individually.
- The system is much more conservative now, which we hope will help with people who have A4s and are using places intolerant of work restarts, like NiceHash. If you're using one of those systems, try them out and reply with what you find. If there are still problems, we'll spend next weekend investing in test equipment to see if we can reproduce them ourselves.
- Michael fixed the labeling on the "expected payouts" chart on the website so that x11 displays "DASH" instead of "LTC" - thanks to whoever reported that.
- We terminated some REST endpoints and cleaned up unused code on the website. While we aren't supporting a REST API anymore, we are keeping those endpoints that still work active for as long as possible. As new features are added in the future, we will not upgrade these and they may stop working without warning, so please upgrade to WAMP.
- We apologize for the double-payout, and the one share that had that high price on Saturday that caused issues. After we fix the website, we will be turning our attention to the trader, to try to eliminate these one-off issues that take up a lot of Chris's time.
- The "miner hashrate" charts should now be displaying hashrate data again. Let us know if you see any issues with that. The total hashrate chart on the "charts" page is incorrectly averaging x11 and scrypt hashrates, which needs to be fixed next weekend.
- The focus for next weekend will be on the website. We want to get rid of the annoyances that require workarounds or which have hidden data that is necessary for miners. By the end of the weekend, we hope that most of these will be resolved.
- If you know how to contact MiningRigRentals, please let me know. There is no contact information on their website, so we can't implement the "extranonce" support because we don't know what it does.
- Those looking for SHA-256 mining can rest easy knowing that we're going to install servers during the Memorial Day weekend to support it, but we aren't going to enable it until we've corrected all of the known issues with the website and trader.