Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.programming.threads > #2677

About scalability

From Ramine <ramine@1.1>
Newsgroups comp.programming.threads
Subject About scalability
Date 2014-11-15 13:56 -0800
Organization A noiseless patient Spider
Message-ID <m487ij$6i5$2@dont-email.me> (permalink)

Show all headers | View raw


Hello,


I have come to an interesting subject...

This time i will speak about "scalability", as you have noticed i
have implemented a concurrent hashtable that uses lock-striping
, so it is more fine-grained than simply using a single RWLock around
the hashtable, here it is:

https://sites.google.com/site/aminer68/parallel-hashlist

But as you will notice my concurrent hashtable is using an atomic 
increment inside the MREW(multiple-readers-exclusive-writer) that i am 
using in each bucket of the hashtable, this atomic increment will take 
around 100 CPU clockson x86 architecture cause it is using a "lock" 
assembler instruction , so since it is using this 100 CPU clocks in the 
serial part of the Amdahl equation so i don't think it will scale by 
much , so i have to use my scalable RWLock in each bucket, but even if i 
will use my scalable RWLock in each bucket this will give almost the 
same perfomance as if i am using only one scalable RWLock around the 
hashtable... but this is not the only problem, imagine also that the 
data that is stored in each corresponding key is more bigger , so i 
think i think that my concurrent hashtable will be less and less 
scalable cause the accesses to the memory are serialized by the x86 
computers, so i think this is the big problem on multicore
machines, i mean if the serial part of the Amdahl equation is more 
bigger cause you are moving data that are more bigger from the memory 
system to the CPU, this will make your application to scale less and 
less, so i have come to the follwing question:

As you have noticed Intel have implemented its transactional memory
and Soft Machines have showed us the performance of its VISC 
microprocessor , but my question is how can we promise a better 
scalabbility with those architectures since we know that the bottleneck 
with scalability is the memory system, cause as i have jkust explained 
if the data on each corresponding key on my conccurrent hashtable is 
more bigger my concurrent hashtable will be less and less scalable, and 
i think this is the same problem with databases and mathematical 
Matrices calculations etc. they don't scale well on multicores either.




Thank you,
Amine Moulay Ramdane.

Back to comp.programming.threads | Previous | Next | Find similar | Unroll thread


Thread

About scalability Ramine <ramine@1.1> - 2014-11-15 13:56 -0800

csiph-web