Any system with a cache will have this behavior.  The exact point at which this occurs 
will depend on cache line size, and the size of the cache.  The write strategy will 
effect the speed penalty for the write case.  Write back will be faster in the type of 
program you are testing, but write through is safer.  I bet the mainframe uses write 
through.

I tried your program on Cygwin, but it just dumps core.  I couldn't get gdb to do 
anything useful, so I gave up.

-----Original Message-----
From: Jim Sibley [mailto:[EMAIL PROTECTED]
Sent: Monday, August 11, 2003 1:44 PM
To: [EMAIL PROTECTED]
Subject: Re: zSeries performance heavily dependent on working set size


Typical first reaction - its the paging subsystem and
its not tuned correctly.

However, the problem I describe is NOT related to
system paging or ANY PARTICULAR OS or DASD tuning.
During my experiments, there was NO paging going on as
reported by vmstats. The program was running in an
LPAR. The 500 MB array was fully contained in a 2 GB
LPAR with 2 dedicated CP, and no other processes were
running on the processor (all other LPARs were
stopped). One CP is going 100%, the other is idle. And
I measured similar results on two different models of
zSeries.

If I saw this behaviour while paging was going on,
that is one thing. However, there was no paging.
Rather than numbers, I have published a simple program
to satisfy yourselves of the phenomenum.

This is really a phenomena related so the size of L1
and L2 cache on the processor and how frequently it is
flushed and how fast the processor memory is. The
phenomena has since been confirmed by the performance
people at POK.

Its not a "worse case" scenario because it has been
also observed with large data movers and progams that
do random I/O to large files (and hence tables). The
program merely illustrates the problem.

Throwing more hardware at it will not fix the problem.
The only real solution is to spend the extra
programmer time to get the working sets down to a
reasonable size.

My question still is, "do other platforms (hardware)
see this degradation". I have run this on my 300PL and
you see two legs in the curve - when the hardware
cache miss begins and when the real memory is
exhausted and paging starts.


=====
Jim Sibley
Implementor of Linux on zSeries in the beautiful Silicon Valley

"Computer are useless.They can only give answers." Pablo Picasso

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

Reply via email to