Is the 2019 Mac Pro a Good Machine for CI?
The 2019 Mac Pro has some very unique features (including the awesome grate) - but does that mean it’s right for CI workloads? Let’s take a look.
Like a lot of you, we are incredibly enticed by the 2019 Mac Pro (and that cool-looking grate)—including all of the power and features it could bring to our customers at MacStadium. However, as we became more familiar with the unique features of the 2019 Mac Pro, we felt like something was missing for CI workloads. We know what you’re thinking:
Isn’t the 2019 Pro physically larger? Yes!
Aren’t the CPUs higher frequency? Yes!
Doesn’t it have lots more cores? Yes!
Can’t I put three mega-GPUs in it? Yes!
1.5 terabytes of RAM is a TON! Yes, it is!
What about that awesome grate? It looks really cool!
And given all of that, is the 2019 Mac Pro the best machine for CI workloads? We’re not so sure. Here are a few reasons why:
Most builds can’t scale out across multiple cores.
There are lots of great resources to learn about compilers, but this isn’t one of them. Almost every codebase we’ve tested shows the same thing: Xcode can’t seem to use more than 4 cores (8vCPUs) when compiling source code. Sometimes it’s many fewer, and occasionally it’s more. When a build job is run on a VM (or bare metal host) that has additional cores, those extra cores just sit idle for most builds.
Of course, builds can be carved up and run in parallel across multiple VMs, each of which uses 2-4 cores. That’s not quite the same thing, though. If you can only use ~4 cores anyway, it doesn’t make much sense to run a 28-core maxed-out 2019 Pro.
The other thing the Mac Pro does well is stacking up mega-GPUs. However, most builds can’t use those GPUs. The 2019 Pros are specifically designed for creative work like design, video editing, 3D rendering, audio mixing, etc., which use those GPUs very effectively, but that’s not relevant for builds.
Stacking more and more VMs on a Mac increases contention.
If we have a 24-core Mac Pro and are planning to run builds on 2-core VMs, we could run 6 in parallel. Those 6 VMs would then have to share all non-CPU resources of that Mac. That means 6 VMs all sharing the NVMe internal storage, 6 VMs sharing the network interface, 6 VMs sharing the RAM bus, 6 VMs sharing the CPU cache... You get the idea.
This increased contention reduces the benefits you might expect to see from clock speed frequency alone. The 2018 Mac mini actually has a similar CPU frequency. That’s not the whole story since Pros use Xeon processors while minis use Core i7s, but the CPU performance isn’t enough to override the impact of contention. 2 VMs running on 2018 mini will outperform 6 VMs running on a 2019 Pro.
They take a TON of power and aren’t really built for data centers.
But wait, there’s a “rack-mount” version, right? That’s true. The rack-mount configuration fits nicely in a standard rack. However, there are two main problems with power.
The first is that there’s only one power cable. Most data centers expect dual-power inputs to ensure redundancy and uptime. This is fixable with special hardware upgrades, but that’s expensive and annoying.
The second issue is that they take a TON of power through that single power supply. So much, that you can only fit about 5-6 on a standard data center power whip. This means your rack will be about half-populated, which reduces density and maintainability.
The rack-mount is really designed for in-office or on-location racks that are used frequently in the movie-making and editing process. That’s also why the 2019 Pro lacks certain “lights out management” features that most enterprise-grade data center servers have to ensure a high degree of data center automation.
Those Mac Pros are EXPENSIVE!
A fully maxed-out Mac Pro is $54,000. If you wanted to save some money and get 28-core Mac Pro optimized for CI workloads, you’d still spend ~$18,000! That’s about $642 per core.
Meanwhile, a fully maxed-out Mac mini is around $3k or $500 per core. And in those Mac minis, you’re only sharing each Mac between 1-3 VMs instead of 4-7 VMs. That means a Mac mini will be faster and cheaper and creates more inherent redundancy so that if a machine or power supply dies, you lose a smaller portion of the host.
Now, how can we turn this 2019 Mac Pro problem into a CI solution? Not to worry, MacStadium can help. We can build the perfect private cloud with everything you need for true automation (minus the cool grate) using 2018 minis. An infinitely scalable solution with supreme security and effortless deployment.
Still, feel like the 2019 Mac Pro might be the right tool for the job? We would love to discuss it with you. We have several of these in production for customers that have unique workloads.
Head on over to our cloud page to learn more and fill out the form to talk to a sales engineer!