Re: performance measurement and caches

jgj@ssd.hcsc.com (Jeff Jackson)
16 Feb 1996 01:30:33 -0500

          From comp.compilers

Related articles
performance measurement and caches boehm@parc.xerox.com (1996-02-14)
Re: performance measurement and caches Terje.Mathisen@hda.hydro.com (Terje Mathisen) (1996-02-16)
Re: performance measurement and caches chase@centerline.com (1996-02-16)
Re: performance measurement and caches romer@cs.washington.edu (1996-02-16)
Re: performance measurement and caches jgj@ssd.hcsc.com (1996-02-16)
Re: performance measurement and caches alms@pesqueira.di.ufpe.br (1996-02-16)
Re: performance measurement and caches mff@research.att.com (Mary Fernandez) (1996-02-16)
Re: performance measurement and caches grunwald@foobar.cs.colorado.edu (1996-02-17)
Re: performance measurement and caches Terje.Mathisen@hda.hydro.com (Terje Mathisen) (1996-02-18)
Re: performance measurement and caches cdg@nullstone.com (1996-02-19)
Re: performance measurement and caches mschmit@ix.netcom.com (1996-02-21)
| List of all articles for this month |

From: jgj@ssd.hcsc.com (Jeff Jackson)
Newsgroups: comp.compilers,comp.arch
Date: 16 Feb 1996 01:30:33 -0500
Organization: I would rather be windsurfing.
References: 96-02-165
Keywords: architecture, experiment, performance

> I repeatedly time two exeutables, getting approximately
> repeatable times for each:
> ...
> real 10.5
> ...
> real 5.5
> ...
> So what's wrong? Slowtest and fasttest were bitwise identical executables!
>
> Based on conversations with Marvin Theimer and Tim Diebert, we even
> managed to come up with a likely explanation. (Corrections
> appreciated.) The machine in question was a SPARCstation 10, with an
> L2 cache. Apparently the L2 cache is physically indexed, and direct
> mapped. The executable files were read once and loaded into the file
> system cache. Thus their location in physical memory did not change
> across runs. (The performance did change when I repeated the test a
> day later.) Apparently slowtest was loaded in an unfortunate
> position, so that two very frequently accessed code sections collided
> in the cache.


I've seen this sort of phenonoma before too. This can be a
particularly nasty problem for us since we do hard real time. Our OS
goes through great lengths to do something that I think they call
"page coloring" to minimize the non-determinism. It does a fairly
good job.


We also have two-tiered memory. Although I may set my process to
prefer local memory. If that's gone, I might get some pages of the
slower global memory too, or worse, it some other processors local
memory. Performance critical stuff gets run restricted to local
memory (The 'run' command can set these sorts of parameters).


--
Jeffrey Glen Jackson
jgj@ssd.csd.harris.com
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.