Memory access patterns make a huge a difference to memory throughput. I've 
explored this in some detail in the following blog.

http://mechanical-sympathy.blogspot.co.uk/2012/08/memory-access-patterns-are-important.html

On Sunday, 30 March 2014 06:40:24 UTC+1, Andy C wrote:
>
>
> Hi,
>
> So this is a follow-up. I claimed that 1 CPU core can saturate the memory 
> but it turns out I was wrong, at least to some extend. Driven by curiosity 
> I decided to do some measurements and test my somewhat older MBP 2.2GHz 
> Inter Core i7. While it obviously all depends on the hardware, I thought it 
> could be still a good test.
>
> In order to rule out the GC and JVM out of equation I went back to old 
> good C and wrote a simple program which accesses a 40MB chunk of memory in 
> both linear and random manner. All tests run a few times to ensure proper 
> warm up and allocations within OS, however  saw a great deal of 
> consistency.  It is not scientific by any means, but gives a rough idea 
> what we are dealing with. Here are results where numbers are normalized 
> gains.
>
> +----------------+-----------+------------+
> | # of processes |  random   |  linear    |
> +----------------+-----------+------------+
> |        1       |   1.00    |   1.00     |
> +----------------+-----------+------------+
> |        2       |   1.97    |   1.76     |
> +----------------+-----------+------------+
> |        4       |   3.51    |   1.83     |
> +----------------+-----------+------------+
> |        8       |   4.24    |   1.86     |
> +----------------+-----------+------------+
>
> The conclusion is that in practice two cores can easily saturate memory 
> buses.  Accessing it in certain patters helps to some extend. Although 8 
> cores is pretty much all what makes sense unless you do tons of in cache 
> stuff.
>
> Best,
> Andy
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to