Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: The need to unmake move

Author: Robert Hyatt

Date: 09:25:51 08/27/03

Go up one level in this thread


On August 26, 2003 at 21:12:45, Johan de Koning wrote:

>On August 26, 2003 at 11:40:22, Robert Hyatt wrote:
>
>>On August 26, 2003 at 03:13:00, Johan de Koning wrote:
>>
>>>On August 25, 2003 at 18:28:24, Robert Hyatt wrote:
>>>
>>>>On August 25, 2003 at 18:14:15, Sune Fischer wrote:
>>>>
>>>>>
>>>>>>(status quo).
>>>>>
>>>>>Right, saw that one too late :)
>>>>>
>>>>>>That is exactly what I said.  The issue is how many copy/makes have to be
>>>>>>done per unit of time.  Or how many units of time it takes to do a single
>>>>>>copy/make.  Depends on your time scale (1s or 1ns).
>>>>>>
>>>>>>A single cpu that will run crafty at 1M nps has a cache-cache and cache-memory
>>>>>>bandwidth of X bytes/second.  A single cpu that runs crafty at 2M nps has
>>>>>>exactly twice the cache-cache and cache-memory bandwidth and twice the clock
>>>>>>frequency.  A dual-cpu just needs two cpus, but the two cpus give twice the
>>>>>>cache-cache bandwidth, but _no_ improvement in cache-memory bandwidth.
>>>>>>
>>>>>>This was all about memory bandwidth with respect to copy/make.
>>>>>
>>>>>Aaah, and here lies our source of disagreement.
>>>>>
>>>>>I was always talking about cache to cache, or as Johan wrote "C2C" bandwidth.
>>>>>
>>>>>I think the assumptions for make/uncopy to match make/umake is that the stack
>>>>>fits in cache, or else it will be heavily outgunned, even on a single.
>>>>>
>>>>>I doubt anyone disagrees with you there.
>>>>>
>>>>>>>
>>>>>>>You made it sound like 2.4 was much worse than 1, which is just a silly
>>>>>>>comparison at best.
>>>>>>
>>>>>>Clearly 2.4 _is_ much worse than 1.  It requires 2.4X the bandwidth.
>>>>>
>>>>>Yes _if_ you need to go over the bus.
>>>>>
>>>>>-S.
>>>>
>>>>
>>>>My stuff will _never_ fit in 512KB of L2, much less the far smaller L1/trace
>>>>caches (on the PIV).
>>>>
>>>>I am _always_ going to be burning the bus.
>>>
>>>Exactly!
>>>The heavily used stuff will *always* be in the cache.
>>>For the other stuff it doesn't matter much if the remaining cache space is
>>>either 31 kB or 28 kB, now does it?
>>>
>>>... Johan
>>
>>
>>I don't remember saying that id did matter.
>
>You keep saying that copy/make causes problems with cach to memory traffic.
>Here I was just saying it doesn't, if cache is plenty.

Here is the problem:

When you write to a line of cache, you _guarantee_ that entire line of cache
is going to be written back to memory.  There is absolutely no exceptions to
that.  So copying from one cache line to another means that "another line" is
going to generate memory traffic.

>
>>  I claimed that for _my_ program,
>>copy/make burned the bus up and getting rid of it made me go 25% faster.
>
>And I suspect this was because of a tiny cache that couldn't even hold the
>heavily used stuff.

This was on a (originally) pentium pro, with (I believe) 256K of L2 cache.

However, I found the _same_ problem on other architectures, such as the Sparc
(super-sparc).  However, I believe it would happen on my 1M L2 cache 700
mhz xeons as well, because my "kernel data" is quite large and anything that
displaces it from cache will hurt.



>
>... Johan



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.