Author: David Blackman
Date: 05:54:10 08/12/00
Go up one level in this thread
On August 09, 2000 at 09:48:21, Robert Hyatt wrote: >Another good comparison: Cray-1 took 7-8 clocks to read from memory. The XMP >took this to 14 clock cycles or so, all the way to the C90 which took this to >25 clock cycles. If you take cpu cycle time, and then memory access time, you >get a flat line for memory speed. As the cpu got faster, it simply took more >cycles to read from memory. ie 7*12.5 (cray 1 clock) is about 14*8, the XMP >time, which is about 25*4, the C90 time... The Crays aren't a very good example for memory latency. The Cray-1 and early XMPs were built with incredibly fast RAM for the time, the stuff other companies used for 1st level cache. And even with the price people payed for a Cray-1 they still only got about 32MB of the stuff. Later it was realised that supercomputer customers really wanted enourmous ammounts of RAM, that they could live with more clock cycles of latency as long as bandwidth was good, and that if you tried to cram gigabytes of RAM into a computer latency would get worse, due to both cost and engineering constraints. So by the time you get to the C-90, you do get gigabytes of RAM, at similar price to a Cray-1, but despite 15 years newer technology, the latency is only a little better. Of course bandwidth is out of this world, and long vector stuff is amazing. In the PC and workstation world, there was some of the same effect up to about 1995, but then they woke up that latency was still hurting them even with caches and high bandwidth cache line loads. When PCs need performance, it's for different workloads than supercomputers:-). Since 1995 latency has definately improved on PCs. (I haven't used a workstation since then, but i bet they have improved too.) TO get back to computer chess at least a little, i'd guess that latency is a bit more important than bandwidth. The stuff you want from main memory is usually no bigger than a cache line, and you want it on such short notice it's hard to hide it in the pipeline. For my program, main memory speed is not a big factor yet. That's because it's small enough to fit in cache except for hash tables, and it's slow enough that it can't drive the hash tables any faster than memory can handle. But for larger and/or faster programs, main memory must be starting to bite.
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.