Linked by Thom Holwerda on Wed 14th Apr 2010 23:51 UTC
This article describes a real-word software port, with examples of how various porting challenges are resolved. If you are a software developer porting software to UNIX, you will find these techniques invaluable in avoiding common pitfalls, resolving bugs, and improving your productivity.

Member since:
2006-02-07

foobar,

I claim that software emulation is 5-10x slower than running native code. As a response, you object:

"[Actually], Hercules emulation is 5-10 times slower".

I didnt get that. Could you explain again? Aren't we stating the same thing?

Let me quote you again. You orginally wrote this:

Software emulation is 5-10 times faster than native code.

Regarding your claim that a IBM Mainframe z10 with 64 cpus gives 30.500MIPS, and not 28.000 MIPS. Ok, let us assume that the correct number is 30.500 MIPS. This means each z10 cpu gives 30.500 / 64 = 480 MIPS.

Cofounder of emulator TurboHercules claims 8-socket Nehalem-EX is predicted to give 3.200 MIPS. This means each Nehalem-EX gives 3.200 / 8 = 400 MIPS. So we see that z10 cpu is slightly faster than Nehalem-EX. But if Nehalem-EX could run native code (instead of emulating a Mainframe) then it would be 5-10x faster. That is, 400 mips x 5 = 2000MIPS. 400 Mips x 10 = 4000 MIPS. Let us average, and say a Nehalem-EX would give 3000 MIPS per cpu (natively). Then, you need 10 Nehalem-EX to reach 30.000 MIPS.

I dont see where this calculation is wrong? But feel free to point out my errors and lecture me.

You are not accounting for cores/chips/processors correctly. A 64 processor z10 is actually 64 cores. An 8 socket nehalem is 64 cores. If you want per core performance, then it is 3200/64 = 50 emulated mips, and 50 * 5 = 250. So you need 120 nehalem cores by your hoakie numbers.

While we're throwing around hoakie numbers, lets account for the other cores in the z10. Not channel cards, but the z10 cores characterized as SAPs and CFs. Since, IBM actually measured that 30,000 MIPs number, we should include the cores doing IO. For the biggest machine, that's another 11 cores. 11 * (30,500/64) = 5200 MIPS. So we can estimate that a z10 is really capable of 35,700 MIPS.

http://www.redbooks.ibm.com/redbooks/pdfs/sg247515.pdf

Let's not forget that z10 shipped in the beginning of 2008, and your comparing it to a brand new 2010 intel product. Then you conclude that, somehow, the mainframe is obsolete because it doesn't keep up with today's hardware.

It's rumored that there will be a new mainframe this year.

"Rubish, you're twisting the numbers and conveniently leaving facts out."

The other source, regarding this Linux expert. He claimed back in 2003, that compared to a single core Pentium 4, a Mainframe MIPS equals 4MHz. 1MIPS == x86 4MHz. Now, an Nehalem-EX has 8 cores, each running 2.3GHz. Then a Nehalem-EX has a total of 18.4 GHz per cpu.

Now, one P4 clock tick, does very little work compared to one Nehalem-EX clock tick. Maybe the Nehalem-EX does twice as much as work as one P4 clock tick? Then, this means that the Nehalem-EX which gives 18.4GHz, does more work than if you collected 18.4GHz of Pentium 4. In fact, you would need twice as many Pentium 4 clock ticks, to match 18.4GHz of Nehalem-EX.

So, one Nehalem-EX gives you actually 36.8 GHz worth of Pentium 4 clock ticks.

If you do the calculations, you will see that you only need a few Nehalem-EX to match 64 Mainframe CPUs.

If you spot an error, please point it out so I can correct my calculations.

See above.

In either case, we see two independent highly technical sources that claims that Mainframe CPU are dog slow. Hence, an Mainframe could NEVER consolidate several x86 servers. Actually, it is the other way around, x86 servers could instead consolidate Mainframes instead. Now I talk about cpu power. I know Mainframes have lots of help cpus, so they have good I/O. But in terms of cpu speed, they are dog slow. Now imagine if you gave x86 servers some help cpus...

Why don't you get some updated numbers from that list? It would give you a better argument.

Regarding IBM does not release benches, I wrote wrongly. I meant to say this: "IBM does not release Mainframe benches where they compare to other machines, such as Unix machines or x86". Of course IBM releases numbers where they show Mainframe strengths, such as good I/O. But IBM does not compare, for instance cpu power to other machines, such as Unix or x86. IBM is afraid, becuase then it will be evident how slow IBM mainframes actually are, in terms of CPU speed.

This is obviously true (for those who are not fooled by IBM marketing) - how much money is spent on developing x86, and how much money is spent on developing IBM Mainframe cpus? How many companies are involved in each architecture? How many engineers? It would not be very smart of you, if you think that IBM's 50(?) mainframe cpu engineers can match all cpu engineers that Intel and AMD have.

50? You're guessing again. It is many more than that. I know it is hard for people to fathom large numbers like 1.5 or 2 billion transistors. At least make an educated guess.

x86 is only the holy grail for certain applications in the short term. If intel is the only supplier left of high performance processors, we're all screwed.