Author: Anthony Cozzie
Date: 10:30:05 03/05/03
Go up one level in this thread
Suppose you are running a database like Oracle or DB/2. Most of the time what you do is this: load word from some random place in memory compare jump In otherwords, databases spend a *large* amount of time in the memory subsystem. Their instruction footprints are usually several MB (unlike chess programs which are maybe 200-300KB) and they process GB of data. Hyperthreading is great for this kind of application; while one thread is waiting on a cache miss, the other can continue to do useful work. Another example is Nalimov's TB gen. Lots of semi-random memory accesses, and not surprisingly he gets a great HT speedup. Speaking of Nalimov, I could use a job Eugene :) This is not the case for a chess program though, which does lots of bit flipping and computation. A chess engine is going to do only one realy semi-random memory access per node - the transposition table. The result is that HT gives a some speedup, but nothing exceptional. Quite frankly I am suprised Hyatt gets 25% in crafty. I think in the future we will see true single chip multiprocessors. With 90nm and smaller processes, it should be cost effective to put two PIV cores on one die. anthony
This page took 0 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.