Could 2 x Mac Mini replace nMP?

Discussion in 'Mac Pro' started by johngwheeler, Dec 30, 2013.

  1. johngwheeler macrumors 6502

    Joined:
    Dec 30, 2010
    Location:
    I come from a land down-under...
    #1
    I've been looking at the nMP as a Java development workstation and VM server, and wondering whether it's a good fit for this kind of work. However, I have started to consider whether running multiple Mac Minis could be an alternative to a single Mac Pro.

    Things I like about the nMP include:

    1) Really interesting design in a small package (admittedly an emotional reaction rather than a practical one!)

    2) Serious multi-core CPU (but only one :-( ).

    3) Fast SSD and memory.

    The major downside is price, and the fact that I don't need lots of GPU ability to run Java, which is a waste of the dual GPUs.

    For Java application servers (WebLogic etc.) and running multiple VMs the idea of having more than the usual 4 cores is attractive, as is the ability to address more than 32GB (the limit for Intel core and Xeon E3 chips).

    However, an 8 core nMP with 32GB RAM + 512GB SSD is over $6000 once a screen, keyboard & mouse are added.

    I am wondering whether getting multiple Mac Minis would give more "more bang for my buck".

    I could buy 3, almost, 4 quad-core Minis each with 16GB RAM & 2 x 250GB SSD for less than the cost of a single 8-core nMP. This would give a total "compute power" of 16-cores, 64GB and 2TB SSD storage (assuming 2x250GB SSD in RAID 0 on each Mini).

    Downsides of a "mini cluster" are:

    1) Only suitable for workloads that can be meaningfully spread across multiple hosts with minimal interaction between hosts. Clustering via 1GB Ethernet is not great due to latency issues, so each node would need to do a separate job, e.g. Database & web-server + application server. However most VMs would use 1 or 2 vCPUs, and a single 4-core mini could reasonably support 6 vCPUs given the a 4-core i7 with hyper threading, so its easy to spread the application architecture across multiple hosts.

    2) Not a good solution where a single application needs either very fast single/dual-core performance, or can benefit from lots of cores on the same host. Obviously things like multi-core rendering would be much faster on an 8-core nMP, and single threaded apps will have better turbo-boost speeds (3.9GHz on nMP vs max of 3.6Ghz with a 2.6GHz i7 on the Mini)

    3) Graphics on the Mini are nowhere near the nMP, but this is not important for running VMs.

    Obviously, a cluster architecture is not for everyone, and needs a lot more maintenance than a single machine. But for Java apps where I might use 1 node to run a Java IDE & client software (i.e. the "workstation"), and another 2 or 3 nodes as VM hosts (they could even run ESXi instead of Mac OS), then this could be a cost effective solution.

    What do you think? Are there any other Java developers out there doing the same thing?

    John.
     
  2. 2128506, Dec 30, 2013
    Last edited: Dec 30, 2013

    2128506 macrumors regular

    2128506

    Joined:
    Dec 28, 2013
    Location:
    Heart of Mordor
    #2
    You should probably specify your VM requirements in more detail. At least, how many VMs you're going to run.

    If you're just doing DB/appserver development/testing like yours truly and no full-volume/performance work (which you should be doing on staging hardware anyway) - Mac Pro will be more than able to handle that.

    I'm using i7 iMac to run 4 Fusion VMs (1 "big" for Oracle, 2 appservers, Bootcamp for DB/ERM tools) and work in IDEA on OS X - no problems whatsoever. Even handles some performance tests just fine. 6(8)-core Mac Pro will be even more awesome for that. And consider fast gaming GPUs a bonus.

    1) I believe you can bridge Mac Minis via Thunderbolt/USB, procedure is pretty straightforward. That would give 10 Gbe(ish) speeds, much more appropriate for clustering purposes (not sure about latency). If you just need it for development/testing, that would be an overkill though.

    2) Lots of small cores is an ideal platform for Java appservers, but databases like fast cores.

    It depends on your performance requirements, but CPUs are fast these days - one can run development/testing Oracle 12c instance in 2-core Fusion VM just fine.

    Also keep in mind that you might not get sustained CPU speeds from Minis, they might overheat and start throttling themselves down.

    If you really need a sort of VM farm, it might be more cost-effective to build cheap Mini-ATX/ITX boxes and spec them for DB server, app server, etc. - Mac Mini price includes quite a lot of technology you wouldn't need. Also there is some future-proofing here.

    P.S. Blades? Since it is a "standard" way to build VM farms. But that isn't going to be cheap.

    3) GPU is probably not relevant. :)

    Personally I wouldn't use Mac Mini for daily Java development - things might get annoyingly sluggish (for me) quite fast, Java IDEs (especially Swing-based ones, like IDEA) prefer fast boxes for comfortable work.

    TL;DR: Go with single 6- or 8-core Macpro, it will be much easier to maintain/work with and will handle bunch of VMs just fine. And games, obviously! :D If you need to run really lots of VMs - get 12-core.
     

Share This Page