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.
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.