We recently started using Monero mining in our data center lab for a burn-in application. We are certainly far from a large operation accounting for only around 0.06% of the worldwide Monero hash rate. At the same time, our penchent for collecting data made us test a variety of configurations. We benchmarked several server CPU configurations and have data on the biggest drivers of performance. We also have resources to get started with Monero mining on your own systems.
The Quick Monero Background
At the turn of 2017, and for the past several years, Bitcoin has been the largest cryptocurrency by far. Monero is a cryptocurrency that put an emphasis on privacy and is considered significantly more anonymous than Bitcoin. As a result, Monero has moved from a $0.50 / 1 XMR currency a year ago to $13/ 1 XMR as of today. That movement, and the privacy focus, has made Monero a top 5 cryptocurrency and pushed it into the mainstream with even a recent WIRED article on the currency.
The advantage of this has been that Monero is now very easy to exchange and has tools that are more mature than several other cryptocurrencies. For STH readers there is a larger implication. Unlike Bitcoin mining which is dominated by ASICs, Monero is currently best mined on GPUs. CPU mining can be profitable as well. That means STH readers have the infrastructure able to mine Monero.
Monero Benchmarks – Why STH?
At STH we have a unique position as we have an independent test lab facility with the largest array of different processors running at a given time. We even allow folks to try out different configurations with our DemoEval service. During downtime that affords us the ability to run, in a controlled manner, benchmarking and power consumption measurements. While there are various sources of user-submitted benchmarks, they do not provide exactly the same test setups to make apples-to-apples comparisons of Monero mining performance.
STH readers often have Intel Xeon E5-2600 series processors with spare CPU cycles and potentially power budgets in data centers, so this is an application with a small footprint that can help offset some data center costs. For those running E3 and Xeon D CPUs, this is far from an ideal application. For example, a Xeon D-1587 with 16 cores / 32 threads performs about the same as a single Xeon E5-2630L V3 with 8 cores/ 16 threads. This is due to the L3 cache size reduction on Broadwell-DE and the importance of cache with Monero mining.
We do not advocate buying dual processor Intel Xeon E5 systems for the purpose of Monero mining. At the same time, it can be a good way to burn extra CPU cycles on servers that are already deployed.
At the end of this article, we have some resources to get you started with mining Monero.
Intel Xeon E5-2600 Monero Mining Performance
We have a lengthy thread in the STH forums on Monero mining performance. That has a much larger set of benchmarks and instructions to get up and running on your servers within minutes. We wanted to provide a few charts with analysis. We are going to start with the raw hash rates of 18 test cases we are going to present today. In the linked thread we have several other configurations tested but we did want to focus on a few samples.
As you can see, the quad Intel Xeon E7-8870 V3 performed extremely well. Unfortunately, we did not get to test the Dell PowerEdge R930 with 4x E7-8890 V4’s we had in the lab using our newest image. As a point of comparison, that system scored 2200H/s on our old image while the quad E7-8870 V3 above scored 1585H/s with that image. Still one can see the main trends here. The 10-14 core dual Xeon E5 systems performed relatively similar to one another.
The next question is how well these systems performed with regards to the number of cores, threads, and L3 cache. Here is a summary of what that looks like. As you can see, the single Intel Xeon E5-2630L V3 system was an outlier. Coincidentally, it is also the lowest power system of the 18 we tested.
We are going to keep all of these charts in the same order (by descending total hash rate from left to right) since we are presenting a lot of data. In the first deep-dive slide we are going to look at the L3 cache impact on mining performance.
As you can see, this seems to be the best indicator in terms of performance and why the Monero CPU mining community often uses L3 cache / 2 as the number of threads. We actually tested all 18 configurations with different recommended thread counts and L3 cache MB / 2 was the optimal solution for each system. The standard deviation on the figures here was the lowest of our three deep dive slices at 1.66 with an average/ median of 16.3/ 16.1 respectively.
As you can see, several of the lower-power chips performed well in this comparison because the low power Intel Xeon chips tend to have low base clocks. The Xeon D family is hindered by the lower L3 cache per core.
We also wanted to provide a look at the H/s figures based on Turbo clocks. We are using the max single core turbo speeds here not the all core turbo speeds, however, there is usually a correlation in terms of the number of clock speed increments.
As you can see, the low power chips again proved fairly excellent. We did see the impact of clock speeds on mining, however, the biggest differentiator was the L3 cache size.
In terms of power consumption, here are a few data points. The 4x E7-8870 V3 machine pulled 988W on our 208V circuit. The dual E5-2628L V4 system in a 4N / 2U chassis were around 180W each and the E5-2630L V4 machine was 205W in a 1U chassis. The Xeon D-1587 node was 118w while the single E6-2630L V3 was a paltry 98w in their 1U chassis. Unfortunately, we were looking for raw performance figures rather than absolute power consumption numbers.
Resources and How To Get Started
If you want to get started easily, we have very simple resources that we have been working on, including Docker CPU and GPU mining images.
Here are a few relevant threads in the STH forums:
- Monero Mining Performance
- Monero CPU Mining with Docker
- Monero GPU Mining with nvidia-docker and Docker
- Monero CPU Mining with Docker Swarm (more on this very soon)
We are using Docker as we found a negligible performance impact (0.1% or so) with the ability to utilize orchestration to push the images over a Docker Swarm.
As an example, if you want to start with a Docker node immediately, you can simply:
- Sign up at Minergate for an account (remember the e-mail you use, we are going to assume firstname.lastname@example.org)
- Run the following command (use your Minergate email and you can change -it to -d if you do not want to see output):
docker run -it -e email@example.com servethehome/monero_cpu_minergate
That will download and compile the popular CPU miner, determine the best thread count and start mining directly to the Minergate pool. We are using Minergate as it had better performance than several other pools we tried. In the forums we have several images already using different mining pools. We also already have images for using nvidia-docker and mining on NVIDIA GPUs.
We are going to have several more guides on getting Monero mining online easily on your server clusters. In the past few weeks, this setup has already mined around 100 XMR (or $1300+) worth of Monero just using spare CPU cycles and power in our data center lab.
If you wanted a great reason to join the STH Forums community, the threads linked above are a great place to start and this is a fun hobby that can earn some significant money to offset data center costs if you already have the hardware. We would not recommend buying hardware solely for Monero mining, however it is a fun way to learn key concepts for Docker and utilize excess capacity.