Strange math

Many intelligent people work at IBM. I know some of them. So i have some difficulties to understand such blog postings like this one. Mr. Pearson touts in “Yes, Jon, there is a mainframe that can help replace 1500 x86 servers” the myth again, that you can consolidate 1500 x86 servers on one big mainframe. In a strange way, he is correct. You can consolidate this number of servers. But only in a certain corner case: Almost all of this servers has to run almost without any load. Mr Pearson writes:

125 Production machines running 70 percent busy
125 Backup machines running idle ready for active failover in case a production machine fails
1250 machines for test, development and quality assurance, running at 5 percent average utilization

What does this mean? Well … To get to this 10% myth you add 125 idle machines and 1250 almost idle myth. I think it’s save to assume that consolidating servers without load is like fishing in a barrel. The next joke of this blog entry is how they compare to a solution with x86 servers. At first they do the utilisation game again. This time they assume, that every x86 system is only loaded at 10%. (I assume this is the reason for assuming this large amount of test systems). By the way: Obviously they use Sun equipment for such tasks, not Dell, HP or something like that … don’t know why they have this preference ;) Besides all this nonsense in this blog entry: Nobody would buy a multi-million mainframe for such a task. You would buy some large x86 systems like the X4450, X4440 or X4600 with up to 32 x86 cores. To consolidate your test servers you would use VMware, Xen, xVM, Container or something like that. Let’s play IBM’s game for a second. Let’s assume we can rise the load to 90% by using xVM Server. So we can consolidate 9 systems on a two core two sockets machine. We use a system with twice the sockets and twice the cores. So we would be able to consolidate 36 system on a 2 rack unit system. You would need 41 of this systems for the idle systems. Now let’s assume you need the power of 105 (150 systems at 70%) systems equivalent to the X2200M2 for the production systems. Divide this by 4 as we use more powerful systems. Makes 25 systems. Add 5 spare systems to move services in case of the failure of a single system. You need a total of 71 X4440 systems to consolidate the load. List price for a quadcore quad socket system is $ 13,445.00 at the moment. This leads to a price of roundabout 954595$. For this price you get 80 TB of local boot storage, 4.4 TB main memory with 1136 cores of computing power. I’m not sure about the exact pricing of a 64-way z10 mainframe but i’m sure that you can’t buy it for a million list price. I want to quote an article from the ITjungle:

IBM did not, as you might imagine, announce list prices for these new z10 EC boxes, but Karl Freund, vice president of marketing for the System z line (who used to have the same job in the System p line) said that the entry configuration of the z10 EC starts at around $1 million, not including software; he didn't tell me I was crazy when I suggested that a fully loaded z10 EC with 64 cores activated for processing, lots of main memory, and other required hardware would cost tens of millions of dollars. Even at $1,000 per MIPS, it works out to $30 million, and at $1,500 per MIPS, that's $45 million.

$30 million hardware investment to substitute $1 million worth of x86 servers. What a bargain …. Well, however you turn it … consolidating Unix workloads on mainframes stays a bad decision. And i didn’t even talked about ISV support, software availability, know-how (you know, there are not that much of non-retired mainframe specialists) By the way: There is another interesting gem in the blog entry:

While a 1-way z10 EC can handle 920 MIPS, the 64-way can only handle 30,657 MIPS. The 29,477 MIPS needed for the Sun x2100 workload can be handled by a 61-way, giving you three extra processors to handle unexpected peaks in workload.

Somewhere on the road from 1 to 64 ways the system looses half of it’s performance amount of performance. When you assume perfect scaling you would expect 58880 MIPS. But you get only 52% of it and that’s far from a reasonable scaling. For each way you spend you get a half way back. You buy 64 ways and get only 32 ways back. Just for comparision: Using 64 cores in a M8000 gives you the performance of 55 cores (based on a conservative internal benchmark with real applications, not SPECint_rate or something easy like that)