64-bit userspace: Friend or Foe? A closer look at 32/64 bit performance on two platforms.
This paper will take a look at the two common Linux platforms that are able to mix 32- and 64-bit userspace programs: ppc64 and x86_64. It will investigate the performance behaviour of the applications depending on if they are compiled as 32 or 64-bit binaries, and explain why we see the differences we do. It wzll compare the two modes and explain why running on x86_64 as a 64-bit application likely gives a performance improvement, while it is much less likely to do so on ppc64.
Some early sniff testing using Gentoo and comparing it to a Debian-based install, shows that for ppc64, running with 64-bit userspace can give a quite significant performance impact. Likewise, it is well known that x86_64 is in many ways showing the opposite behaviour. I intend to once and for all explain why this is, and what some of the things to think about are when it comes to deciding which one to use.
I intend to show performance comparisons between the architectures and the addressing modes, including some metrics and pretty graphs.
Olof Johansson works on Linux for PowerPC at PA Semi. While he did play around with Linux back in the early 90's, he was away from it for many years and finally returned in 2003. Most of his contributions so far have been in the architecture-specific parts for PPC64.
Besides Linux, he's also poked around the kernel on NetBSD, FreeBSD and other operating systems.
In his spare time he enjoys working on old Volvos, occasionally also driving them.