Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Robert Redelmeier <redelm@ev1.net.invalid> |
|---|---|
| Newsgroups | alt.comp.periphs.videocards.nvidia.programming, alt.lang.asm, comp.arch |
| Subject | Re: Memory Transactions per Second. |
| Date | 2011-06-13 02:49 +0000 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <it3tsk$vg6$2@speranza.aioe.org> (permalink) |
| References | <bb5c3$4df4552b$5419acc3$8855@cache6.tilbu1.nb.home.nl> <8066b340-e3ca-4cc5-a602-03a8b26560b9@j9g2000vbs.googlegroups.com> <17bbc$4df532a6$5419acc3$25813@cache4.tilbu1.nb.home.nl> |
Cross-posted to 3 groups.
In alt.lang.asm Skybuck Flying <Windows7IsOK@dreampc2006.com> wrote in part:
> "
> Why don't you write a program that simply reads a lot of memory
> locations (say 100 Billion) and use the wall clock timer to determine
> how much time it takes and from there the real BW. You just have to
> make the program access a similar data-set (i.e. random locations) as
> the one you want to use in real life.
> "
>
> That's pretty hard to do when I don't have the system don't you think ?
> I want to know this information so I can decide which system to buy.
> And there are a lot of systems out there ! ;)
Sure, but a friendly store would let you run test pgms.
Some time ago, I wrote (apologies for the C):
/* lat10m.c - Measure latency of 10 million fresh memory reads
(C) Copyright 2005 Robert Redelmeier - GPL v2.0 licence granted */
int p[ 1<<21 ] ;
main (void) {
int i, j ;
for ( i=0 ; i < 1<<21 ; i++ ) p[i] = 0x1FFFFF & (i-4095) ;
for ( j=i=0 ; i < 9600000 ; i++ ) j = p[j] ;
return j ; }
compile: $ gcc -O2 lat10m.c
run: $ time ./a.out [multiply user time by 100 to give ns]
Not perfect and it could be modernized -- increase size from 2M to
32M bytes, and more concurrent pointer-chasers `k=p[k]` in the second
`for` to test how may fetches a system can truly run concurrently.
Of course, this uses wall-time, so a quiet system is necessary.
The improvements in this pointer-chasing have been far less
than CPU clock speed for bandwidth. An old P3 PC100 system takes
about 200ns , an Atom DDR2 150ns and a Athlon DDR3 80ns per read.
-- Robert
Back to comp.arch | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Memory Transactions per Second. "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> - 2011-06-12 07:57 +0200
Re: Memory Transactions per Second. MitchAlsup <MitchAlsup@aol.com> - 2011-06-12 08:59 -0700
Re: Memory Transactions per Second. "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> - 2011-06-12 23:42 +0200
Re: Memory Transactions per Second. Robert Redelmeier <redelm@ev1.net.invalid> - 2011-06-13 02:49 +0000
Re: Memory Transactions per Second. "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> - 2011-06-13 16:50 +0200
Re: Memory Transactions per Second. Robert Redelmeier <redelm@ev1.net.invalid> - 2011-06-15 02:49 +0000
Re: Memory Transactions per Second. "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> - 2011-06-15 06:55 +0200
Re: Memory Transactions per Second. "Andy \"Krazy\" Glew" <andy@SPAM.comp-arch.net> - 2011-06-12 12:51 -0700
Re: Memory Transactions per Second. MitchAlsup <MitchAlsup@aol.com> - 2011-06-12 14:40 -0700
Re: Memory Transactions per Second. Jason Riedy <jason@lovesgoodfood.com> - 2011-06-13 09:33 -0400
Re: Memory Transactions per Second. mr computer <microbrainz@gmail.com> - 2011-06-12 16:06 -0700
Re: Memory Transactions per Second. "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> - 2011-06-13 16:29 +0200
Re: Memory Transactions per Second. mr computer <microbrainz@gmail.com> - 2011-06-13 07:54 -0700
Re: Memory Transactions per Second. "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> - 2011-06-13 17:08 +0200
Re: Memory Transactions per Second. MitchAlsup <MitchAlsup@aol.com> - 2011-06-13 11:50 -0700
Re: Memory Transactions per Second. "Skybuck Flying" <Windows7IsOK@DreamPC2006.com> - 2011-06-14 04:07 +0200
csiph-web