[CentOS] ppc questions

Thu Sep 15 14:25:56 UTC 2005
Bryan J. Smith <b.j.smith at ieee.org>

Karanbir Singh <mail-lists at karan.org> wrote:
> Linux wins hands down.

There are two major contributors to this:  

1.  Until just recently (GCC 4.x), the PPC64 GCC target was
very poor.  Apple leverages GCC 3.x in current MacOS
releases.

2.  The pre-emptive Mach microkernel adds overhead and
context switching, although it has helped maintain
portability (including to x86).

[ NOTE:  Despite the insistance of Microsoft marketeers, the
NT Hardware Abstraction Layer (HAL) is _not_ a microkernel,
and it does _not_ pre-empt the NT kernel.  If it did, NT
would be much slower. ]

> I am sitting typing this out on a Dual G5 2ghz, and I
> find Linux to be much more responsive than OSX.

Hmmm, "responsiveness" is not a complete test of performance.
In fact, prior to the pre-empt patch, based on just
"responsiveness," a single CPU Linux system would be near the
bottom of the barrel.

Responsiveness v. throughput is always a game played --
typically between microkernels and monolithic kernels. 
Microkernels typically have better response time, monolithic
kernels typically have better throughput.  Microkernels make
re-entry (kernel threading) easier, monolithic kernels make
it more difficult.  These are oversimplifications, but you
get the jist.

Ironically enough, although the Mach component of MacOS X is
a microkernel, you're running on the Darwin platform which is
monolithic.  Linux is a monolithic kernel with a couple of
approaches to re-entry.  I don't like the pre-empt patch,
because it is a hack to take adavantage of Linus' ingenious
ideal to allow 1 kernel entry per CPU to keep context
switching down.  That design is specific to the number of
physical cores, and overall performance is hurt by the
pre-empt patch.

In the near-future of dual-core designs, I hope the kernel
goes back to 1 entry per CPU.  It gives you adequate response
time without hurting throughput because there is no
additional context switching overhead -- each CPU has a
single thread.  Linus was a genious in coming up with that.

> anandtech had a write-up recently where they compared OSX
> Server to Linux on the server side of things, iirc
> correctly - Linux came out on top. A bit of googling
> should dig up the exact article.

It dependend on the application.  AnandTech actually made it
a 2-parter, investigating more after the first run.

Part I:
  http://www.anandtech.com/mac/showdoc.aspx?i=2436  

Part II:  
  http://www.anandtech.com/mac/showdoc.aspx?i=2520  

One also needs to remember that Darwin/Cocoa is not a true,
"clean" 64-bit platform.


-- 
Bryan J. Smith                | Sent from Yahoo Mail
mailto:b.j.smith at ieee.org     |  (please excuse any
http://thebs413.blogspot.com/ |   missing headers)