Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Real data on cache working set

Author: Tom Kerrigan

Date: 19:10:46 08/23/04

Go up one level in this thread


On August 23, 2004 at 17:06:25, Robert Hyatt wrote:

>I hate to cloud all the disinformation here with real data, but sometimes it
>does tend to shed light on a topic that gets talked about with no supporting
>data of any kind.

Your data may be real but it's still crap. Come on, 16MB of L1 cache with 16
byte lines and apparently no set associativity? It's like you went out of your
way to simulate something as far removed from reality as possible.

First, no set associativity means that you thrash more, esp. because of random
hash probes. And you could be tallying up thousands of cache misses just because
your program frequently accesses two ints of data that are at unlucky memory
addresses (more likely with smaller cache sizes). So does that add 8 bytes or
hundreds of bytes to your working set? Impossible to tell from your "real data."

Second, by setting the cache lines so small, there's no way for us to tell if
all those cache misses are Crafty accessing its working set at random or Crafty
doing hash table read/writes.

The proper way to do this experiment is to set the simulator to something
realistic, like 256/512/1024 KB of unified 16-way set associative (LRU eviction)
64 byte per line cache, like you find in AMD processors.

Run the simulation for 1 minute, then 2 minutes. Take delta cache misses, divide
by delta nodes searched, and that gives you misses per node after the cache is
warmed. When the misses stay relatively constant between cache sizes, you've
found the working set size.

-Tom



This page took 0.01 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.