Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

About NUMA and we are safe !

6 views
Skip to first unread message

Ramine

unread,
Mar 19, 2015, 5:49:26 PM3/19/15
to
Hello,


I have thought more about concurrent datastructures, and
i think they will scale well on NUMA architecture, because with
concurrent AVL trees and concurrent Red Black trees and concurrent
Skiplists the access to different nodes allocated in different NUMA
nodes will be random and i have thought about it and this will get
you a good result on NUMA architecture, what is my proof ?
imagine that you have 32 cores and one NUMA node for each 4 cores,
that means 8 NUMA nodes in total, so you will allocate your
nodes in different NUMA nodes, so when 32 threads on each of the 32
cores will access thosr concurrent datastructures above,
they will do it in a probabilistic way , this will give a probability
of 1/8 (1 over 8 NUMA nodes) for each thread, so in average i think
you will have a contention for a different NUMA node for every 4
threads , so from the Amdahl's law this will scale on average to 8X
on 8 NUMA nodes, that's really good ! So we are safe !



Thank you,
Amine Moulay Ramdane.





Ramine

unread,
Mar 19, 2015, 5:54:39 PM3/19/15
to
My reasonning is true for more NUMA nodes, that means it will scale on
more NUMA nodes.

Ramine

unread,
Mar 19, 2015, 7:13:15 PM3/19/15
to
On 3/19/2015 6:02 PM, Ramine wrote:
> Hello,
>
>
> I have thought more about concurrent datastructures, and
> i think they will scale well on NUMA architecture, because with
> concurrent AVL trees and concurrent Red Black trees and concurrent
> Skiplists the access to different nodes allocated in different NUMA
> nodes will be random and i have thought about it and this will get
> you a good result on NUMA architecture, what is my proof ?
> imagine that you have 32 cores and one NUMA node for each 4 cores,
> that means 8 NUMA nodes in total, so you will allocate your
> nodes in different NUMA nodes, so when 32 threads on each of the 32


I mean 32 threads and each thread on each of the 32 cores.
0 new messages