Path: csiph.com!x330-a1.tempe.blueboxinc.net!feeder1.hal-mli.net!nx02.iad01.newshosting.com!newshosting.com!news-out.readnews.com!transit3.readnews.com!postnews.google.com!news1.google.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Sun, 12 Jun 2011 14:51:11 -0500 Message-ID: <4DF518AF.5010900@SPAM.comp-arch.net> Date: Sun, 12 Jun 2011 12:51:11 -0700 From: "Andy \"Krazy\" Glew" Reply-To: andy@SPAM.comp-arch.net Organization: comp-arch.net User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.11) Gecko/20101013 Thunderbird/3.1.5 MIME-Version: 1.0 Newsgroups: alt.comp.borland-delphi,alt.comp.lang.borland-delphi,alt.comp.periphs.videocards.nvidia.programming,alt.lang.asm,comp.arch Subject: Re: Memory Transactions per Second. References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Lines: 43 X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-wBTPwQeWlqdlbpOXcqN/eCAeik9Y4Qd4oYsXIl93/2gUrlkC9xuxnJqKqNYtldReY20zL4XTj+wjLXJ!m6U8FeJWhIH+WUQxy6GoO0+gCu8mNmofwYWX9AHj40oC4rrrfKNJbm8TSDue X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 3069 Xref: x330-a1.tempe.blueboxinc.net comp.arch:2173 On 6/11/2011 10:57 PM, Skybuck Flying wrote: > Hello, > > I would like to know how many "random locations" in a memory system can > be read or written to per second. > > This could also be called "memory transactions per second". > > The devil is in the details, for example: > > A spec might say: 32.000.000.000 bytes/sec of bandwidth. This is a really important metric. But, unfortunately, it is often hard to tell from published specs or benchmarks. (By the way, a networking guy a few years ago proposed that this become a standard metric, which he called (random) address bandwidth - since each transaction would have a random address.) As Mitch says, the only really good way to do this is to run your own benchmark. Certain supercomputer benchmarks have aspects of this.. For example, GUPS is related - although it tends to do read-modify-writes. It is usually quite hard, if not impossible, to determine this from published specs of a system. As you have seen, memory bandwidth is usually measured on sequential access patterns, and is barely related to random address bandwidth. You can make a start if you can determine the timing for a worst case DRAM access, that requires closing an open page, precharging, accessing, etc. But this does not tell you about the internals inside the processor. Cache and queing overheads, etc. In particular, you need to say whether you want dependent addresses, or independent. If independent, you will eventually be measuring the amount of buffering in the memory system. And the number of memory channnels, DIM ranks, etc. - basically, the amount to which you can overlap transactions.