Mining on ‘redundant’ PCs

I love stuff where you take a redundant resource and make it useful, or take a business case and make it more efficient by adding new tech. This is probably why I love things like renewable energy or new tech that makes our lives – and planet – genuinely better. Mining for cryptocurrency probably doesn’t (yet) cover the latter due to it’s global power consumption issues, but I so strongly believe in it’s use case for the former that I can overlook this. For now, anyway.

I’ve had many businesses over the years, but for a couple of decades I owned a chain of internet cafes and games zones in the English home counties. We were the second to market in February 1997 and, at the time I sold the last of the branches in Reading, Berkshire town centre in April 2018, we were the longest running establishments of their kind in the UK. As far as I know, the new owner has carried on and built on what we started.

Back in the late 1990’s, SETI (the Search for Extra-Terrestrial Intelligence) started the ‘SETI@home’ project, asking for volunteers to run processing software as a screensaver, so that when a PC wasn’t being used, it’s processing power was being used to crunch the  gigantic swathes of data that the sky observations carried out by SETI were producing.

Setiathomeversion3point07
SET @ home screensaver from the late 90’s, early 00’s

We realised that with all the PCs in all our branches (some 76 at the time) running this software, we could really make a difference and so we did, for some years. We didn’t receive payment or make a big deal out of it, but we gained satisfaction from ‘doing our bit’, even though it cost us in power.

It was the first of it’s kind, and the project still runs today. An interesting article about it can be found here. We never found ET, but it well and truly taught us the power of having many machines doing a little on a constant basis.

Fast forward a decade and a new – this time profitable – use for our PC downtime had become clear; mining. We could use the graphics cards (GPUs) of our games machines to mine when they weren’t in use, whether day or night.

But this wasn’t as easy as it sounds. Mining produces heat, uses power, reduces the life cycle of the PC and how would the PCs know when they were being used or not? It became clear that although this was a great use of redundant resources, it would be tricky to get this right, and testing proved this to be the case.

The first problem was heat. Being in a room with 16 PCs running a high power algorithm was going to be uncomfortably warm, that’s for sure, and whilst we were prepared to use extra power, we were going to draw the line at having the air con on as well. We solved this by using a low power algorithm and mining only one coin – Monero (XMR). This is a nice, power and heat friendly algorithm that still produces results and keeps the PCs at a steady, sensible temperature.

Now we had the algorithm, we focused on GPUs that would make mining it work well. Big cards like the 1080ti or 470 would run too hot and use too much power, and since this was a use of redundant time and not a dedicated mining operation, a compromise had to be found. In the end we used Nvidia 750ti’s, the first generation Maxwell architecture cards, as they are incredibly power efficient and pack a punch that seems way too high for their footprint and cost.

750-ti
The marvelous Nvidia 750ti. Tiny little footprint, no additional power connectors, but solid.

The next issue to crack was to create an entirely automated process for both the staff and the customers, so the whole thing was more or less invisible and required no maintenance. This took some work, but we cracked it in the end as follows:

The PCs were on constantly and were protected by Toolwiz Timefreeze, but if they were ever restarted, a small script we’d written ran in the start up shell. This loaded the mining program, logged the machine on, turned off the automatic log off, and started a program called ‘watch for idle‘ which managed the idle settings of the PC. This program was set to look for six minutes of no mouse or keyboard activity and start the mining program. If a single key stroke or mouse move was detected, the mining operation would instantly disappear from the screen and it would wait for the next 6 minutes and so on.

To save power, the screens would shut down after 15 minutes, and come up from standby instantly on a mouse move or keyboard press, but the PCs themselves would never sleep. For the actual mining, we used XMR-STAK (download and full instructions here) and simply linked the whole lot together. It worked perfectly and seamlessly, and is still working now at the Reading branch of Quantum Web Cafe. 16 PCs produce a hashrate of around 4.95 KH/s, which isn’t massive by today’s standards, but it must be remembered that this is not a dedicated operation and has not compromised any part of the day to day operation. At the current difficulty level, this will produce around 12-15 XMR a year.

So using downtime is a great idea and just think how may PCs are sitting there idle in offices, call centres or even shops. Above all though, I’d really like to see it done in schools. Imagine the difference this could make with funding, but this works on an additional level as many modern schools use large scale solar panels to power themselves and send back to the grid. Sure, small investments of time and money would be needed initially, and almost certainly the skills would need to come in from outside at this point, but once done, the school could benefit forever.

And it wouldn’t be a bad way to introduce the next generation to what cryptocurrency is about. After all, they’re going to be using it way more than you are!

Like this article? Why not send Jason a sip?

Leave a Reply