Re: performance measurement and caches

romer@cs.washington.edu (Ted Romer)
16 Feb 1996 01:28:24 -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)
[1 later articles]
| List of all articles for this month |

From: romer@cs.washington.edu (Ted Romer)
Newsgroups: comp.compilers,comp.arch
Followup-To: comp.compilers,comp.arch
Date: 16 Feb 1996 01:28:24 -0500
Organization: Computer Science & Engineering, U of Washington, Seattle
References: 96-02-165
Keywords: performance, architecture

Hans Boehm (boehm@parc.xerox.com) wrote:
: ... 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. The only way to remedy the situation was to flush the
: file system cache.
: ...
: Do we need the "shuffle physical memory" OS call?


What you'd like is to have the operating system to shuffle physical
memory for you, automatically. Given some feedback about the location
of cache misses, the OS can change virtual->physical page mappings to
resolve cache conflicts in a physically-indexed, direct mapped cache.
The one-time cost to shuffle the pages and remap is high, but the
resulting reduction in cache misses results in a net improvement in
performance.


There is a nice paper by Kessler and Hill in TOCS discussing the
interaction between mapping policies and cache performance that
presents several static page mapping policies (page coloring, bin
hopping). More recently, we did some work on dynamic page mapping
policies. Your program is exactly the "strawman" test case we used to
motivate remapping pages at runtime, but larger programs can benefit
from cache conflict detection and resolution as well.


Ted


Shameless self-promotion goes here:


Romer, Lee, Bershad, and Chen, "Dynamic Page Mapping Policies for Cache
Conflict Resolution on Standard Hardware", OSDI 1994, pp. 255-266.
ftp://ftp.cs.washington.edu/homes/romer/scml.paper.ps


Bershad, Lee, Romer, and Chen, "Avoiding Conflict Misses Dynamically
in Large Direct-Mapped Caches," ASPLOS VI, pp. 158-170.
http://www.cs.washington.edu/homes/bershad/paper-cml.ps


R. Kessler and M. D. Hill, "Page Placement Algorithms for Large
Real-Indexed Caches," ACM Transactions on Computer Systems, vol. 10,
pp. 338-359, November 1992.
--


Post a followup to this message

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