mardi, juillet 26, 2016

Computing power comparison : mainframe versus Intel Xeon (x86)

(Initially published on LinkedIn: https://www.linkedin.com/pulse/computing-power-comparison-mainframe-versus-intel-xeon-didier-durand)

How many x86 servers will be needed to replace our mainframe ?” This is the initial question that we inevitably face in all the projects that we do at Eranea when we transform mainframe applications to x86.

The sysadmin usually asking this question thinks that a swarm of Xeon-equipped machines will be required. Let's debunk that myth: the very recent world record on the SpecJBB2013 benchmark by Cisco gives us the proper opportunity.

Let's start by setting the stage: over the decades of existence of the mainframe, IBM used a constant unit to compare the various generation of its high-end systems. It is the MIPS : Millions of Instructions per Second (see Wikipedia here for details). A MIPS of System/360 announced in 1964 represents the same raw computing power as a MIPS of the most recent z13, introduced last year. The only difference : the z13 of 2015 can deliver much much more MIPS than the 360 of 1964. Thanks to Moore's Law (see here) !

That is also the reason why IBM himself uses the MIPS to measure the health of its mainframe business in the financial reports, when publishing the evolution of MIPS sold over last quarter. So, the MIPS clearly allows to compare apples to apples and to remain coherent across various system generations over an extended period of time : sysadmins very often use it to compare the power of the mainframe systems used by their respective corporations.
In 2013, HPE published a very interesting paper (get it here) about the results of its proprietary zRef benchmark which compares the same Cobol programs (transactional and batch) executed both on mainframes and on x86 servers. A summary of the detailed results: 1'000 MIPS of mainframe power can be replaced with better performances (on this benchmark) by a single server HP DL980 equipped with 8 Xeon E7-4870 (2.4 GHz, 10 cores / Xeon, 1 TB RAM).

Now, let's use to a public benchmark to be able to do the full comparison over time: we will use SpecJBB2013 (described here) that Eranea runs recurringly in its daily activities to assess the power of the systems on which we deploy the applications that we convert to Java. SpecJBB2013 is inspired by the famous TPC-C benchmark and was adapted to evaluate transactional performances of Java environments.

In early 2013, Redhat published results (see here) regarding SpecJBB2013 with same processor used by HPE in its zRef paper: they reached 13'812 critical-jOPS per second for a machine equipped with 4 similar E7-4870 Xeon processors. You do not know what critical-jOPs are ? It does not really matter here: just take it as a unit to measure relative performance improvement of the x86 Xeon architecture !

Let's now fast forward to June 2016: Cisco published in June 2016 a world record (seehere) on the same SpecJBB2013 improving 30% when compared to previous generation. On a single blade / server equipped with 4 Xeon E7-8800 v4 processors, the UCS C460 M4 server could deliver 128'890 critical-jOPS per second.

Let's do some maths : (128'890 jOPS for Cisco/ 13'812 jOPS for RedHat) / (8 Xeons for HP / 4 Xeons for RedHat) = 4.66. So, the current Cisco UCS machine, seen a the high-end server / blade of today, is 4 times more powerful that the HP DL980 of 2013, high-end server of that time !

(Our own experience demonstrates that it is ok to compare machines from different suppliers : benchmarks that we've run demonstrate that the raw computing power of x86 servers is vastly determined by the Intel processors on the board.)

By the way, this boost in performance is not a one-shot event : in another paper (seehere) describing evolution between April 2013 and October 2014, Cisco clearly demonstrates that improvement of x86 architecture is a fast-pace and recurring phenomenon. Across 4 generations of its fast-evolving servers in 18 months, UCS family could deliver a 3-fold improvement of performances for SpecJBB2013. Figure 1 (coming from Cisco's paper) represents this rapid evolution.

What it all means : if it was possible, according to HPE, to replace 1'000 MIPS of mainframe by a single x86 server in 2013 from a raw processing power standpoint, it is even easier to do so in 2016 as Moore's Law has continued to produce its beneficial effects ! A single machine can now deliver the equivalent of a couple of thousands of mainframe MIPS.

I cannot disclose here (because of stringent NDAs tying us to our customers) precise figures about our own projects but I can confirm, generically speaking, that raw x86 power is no longer a concern for many years: we never run short of cpu cycles (by far and away ...) nor need vast swarms of Xeon-equipped servers / blades to replace legacy mainframes.

After the first initial question regarding cpu power, we usually get a second question regarding I/Os Per Second (IOPS). In that case, the perception is usually also not correct: most people do not realize that the x86 architecture has done tremendous progress in the last decade !

Most advanced storage systems (flash arrays) for x86 servers can now deliver over 5 millions IOPs at an incredible price / performance ratio, according to the Storage Performance Council reports (see here). Last May, in catch-up mode, IBM announced (see here) its own DS888 flash-array, aimed at improving top mainframe I/O performances through peaks at 2.5 M IOPs. So, here again, x86 architecture is minimally on par with mainframe.

Conclusion: you should not worry about raw x86 performances (computing power and IOPs) when you migrate your mainframe applications : that is definitely not the pain point ! And it will even get better as Moore's Law will continue to improve the situation for at least 10 more years (interesting article on ArsTechnica : here).

You should rather concentrate on properly designed DevOps procedures to leverage optimally the agility delivered by your new cloud architecture: forget the MIPS to focus on the time that you can shave to deploy new application versions faster !

You will, then, not only enjoy the huge cost savings delivered by the incredible price / performance ratio of the x86 architecture when compared to mainframe : you will also deeply improve your time to market and, consequently, please your users and customers!

Source: blog Media and Tech (par didier durand)