(These machines were built in the summer of 2011)
When I last wrote about Bitcoin, building a mining rig was a very good idea. Today, not so much (depending on how cheaply you can build, whether you have unused hardware you can put to use and how expensive your electricity bill is).
However the method for building monstrous powerful parallel-computing beasts hasn't changed, so it's well worth a blog post.
Bitcoins are a distributed, peer-to-peer digital crypto currency. Money, but not as we know it. There are no banks, no governing agencies and no fees. The network is programmed to be self-maintaining and just like fiat currency ($, £, etc) require a vast amount of processing power to maintain, so does the Bitcoin network. This processing power checks every financial transaction and keeps the network running. In government-controlled currencies, governments have the power to literally print new money at printing presses. The Bitcoin network does this automatically at a controlled rate and as a reward for all the hard work of the many computers in the network, the new money is issued, at random, to one of them.
The machines require a special sort of computational power to process Bitcoin transactions. A standard 'fast' processor takes a series of complex mathematical problems and compute it quickly. However in the Bitcoin world we have many, many more 'problems' than a single 'fast' processor can efficiently handle. Fortunately there is a solution: Instead of using expensive fast CPU's to do the work, we will use GPU's – graphical processing units – which are capable of processing massively large workloads, in parallel, simultaneously.
Think of it this way: When building a computer for gaming, a powerful graphics card is almost always preferable in place of a powerful CPU since the bulk of the workload for graphic-intensive games comes from having to render complex graphics to the display, hundreds of times per second in order to generate a smooth 3D image for a player. A CPU meanwhile is responsible for running the operating system, background tasks and processes and conducting the orchestra of components.
Step 1 – Choosing the components When choosing components for a typical PC workstation build one usually looks to obtain the best performance and scalability parts within the budget, bearing in mind that the single slowest component will usually be the bottleneck of the system. It makes very little sense for a typical workstation to have the latest and greatest processor but meanwhile a small 1 or 2 GB of RAM, or slow BUS clock speeds, since the CPU won't be fed and clock cycles will be wasted.
Therefore these machines are built with two design goals in mind:
- To deliver the optimum parallel computing performance for the smallest financial outlay
- To reduce wasted energy and dissipate excess heat
I thought it might be fun to see if I could make a profit – from parallel computing. So almost £2,000 later, these boxes arrived on the doorstep:
There are a few interesting design choices here that make these machines rather unique. For a start, each miner has THREE high-end ATI Radeon 5870 graphics cards (£134 each) in a specially highly-ventilated case (£130), but yet have only 2GB of RAM (£16) and a processor with as much power as a 1980's Casio “Al Quaida” watch. Amazingly powerful at parallel processing, but lame at Excel. Perfect.
I accidentally ordered 2GB of DDR2 1333Mhz RAM, but could have gotten away with 1GB of the same speed…