What Are the Differences Between Itanium and x86_64 CPUs?

This is definitely a "stupid" question, but I can't think of anywhere else to ask it, so here goes. My knowledge of CPU history on big iron machines starts with the last DEC Alphas, a short stint with Sun servers, PA-RISC and Itanium, Intel 486s on the desktop before that, and Motorola 68000 CPUs on the desktop before that. This reflect my move from "toy" Atari ST, Macs and Amigas, to Windows 3.1 and then Linux at home and finally exposure to OpenVMS, Solaris and HP-UX at work.

Having been able to work with larger systems that get moderate to heavy use, I am now wondering whether or not it would be prudent to migrate some of our Oracle servers away from HP-UX on Itanium to some form of Linux on x86_64. My manager and our vendor both claim that Linux on x86_64 would never be able to handle the load, but I'm also aware that they don't really know much about that world to begin with. Admittedly, our current Oracle server on Itanium (a four year old system now) recently had some trouble keeping up with requests from the application server. Some of that was due to some default kernel parameters that were not changed. However, I've been really wondering now, whether or not the costs of keeping Oracle on HP-UX are warranted.

I understand their perspective that we're a big HP shop and have a relationship with support people and the like that would take years to build with anyone else if ever. But I think their fears might be unwarranted in that we might have a few more people on staff here who would be able to help with the upkeep of Linux boxes instead of HP-UX. But that is another matter... My core question is: Can an x86_64 box running something like RedHat Enterprise Linux with Oracle perform just as well as an Itanium running HP-UX with Oracle or is there some really gigantic difference? Right now we're looking at spending nearly $50,000 on a new server for Oracle, and I think with about $15,000 we could have a well equipped HP Xeon box with multiple cores and CPUs and just as much RAM. Am I all wet? Ignorant of some important issues (I admit my knowledge is lacking)?

areas to consider
Overall cost per Oracle seat - RH wins
System support - HP wins
Support cost - HP more RH less (but less robust)
System training - HP == RH in cost, dunno about quaility
Availability of sysadmin staff: RH wins.
Hardware support - HP wins RH is limited
High availability - HP wins, unless RH is clustered to allow failovers, then RH comes out ahead but loses ground on cost.

IMO -
Long term, overall software/hardware/operations costs tend even out because A costs more in labor or down time or prting software, but B costs more upfront for hardware and software. And so on. I do not see RH as a huge win.

You also really have factor in the cost of porting software.

Base C code from HPUX does not compile well under RH gcc -Wall, for example.

Shell scripts may have to be rewritten, especially if you use hpux /bin/sh. We just did that. Even though /bin/sh is supposedly POSIX there are small gotchas going to bash, for example.

C system code, if you have any, will have to be looked at. Very minor semantic differences can create interesting results. If you use acl's it is also interesting. You can't really port file acl metadata directly, AFAIK....

As far as Hardware is concerned, I'm of the opinion that newer Opteron x86_64s will blow away Itanium servers. However, with Oracle -- and most non-CPU intensive tasks, the big problem is memory speed and latency. That's where it gets difficult to follow.

The early Opterons made a good move by putting the memory controller on the CPU itself. Although this was definitely superior, AMD was behind in moving their CPUs to support DDR2, wheras Intel had been doing that for years. Eventually, Intel moved the controller on the CPU (and the latest quad-core Itaniums do that) and AMD moved to support DDR2. I can tell you that DDR2 vs DDR1 is a pretty big difference. And benchmarks revealed that on-CPU memory controllers also made a big difference -- in certain applications.

Next we get to IO. Here, it matters little whether the chip is from Intel or AMD. Now it matters the quality of the chipset and hardware vendor. You need to have a very high FSB, and northbridge controllers. PCI-Express x16 and supporting cards should be preferred over PCI based controllers. Fiberchannel and Infiniband are preferred over SCSI, etc.

HP is supporting Linux with their HPC academic and blade-computing clusters. I don't know why you'd have to sacrifice HP support in order to get Linux. Could Linux outperform HP? Maybe not. Earlier, on this board, a poster demonstrated that HP-UX semaphore operations are 4x to 5x as fast as on Linux. Semaphores are pretty crucial when it comes to locking, and Oracle does that a lot. The only way to find out ... is to look for benchmarks that are similar to your environment.

The top 100 super-computers in the world: TOP500 List - June 2008 (1-100) | TOP500 Supercomputing Sites

I see more X86_64 than Itanium.. even from HP.

You also need to consider hardware reliability and system availability i.e. five or six nines on HP equipment versus maybe 3 or 4 nines on COTS equipment.