Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming.threads > #2677 > unrolled thread
| Started by | Ramine <ramine@1.1> |
|---|---|
| First post | 2014-11-15 13:56 -0800 |
| Last post | 2014-11-15 13:56 -0800 |
| Articles | 1 — 1 participant |
Back to article view | Back to comp.programming.threads
About scalability Ramine <ramine@1.1> - 2014-11-15 13:56 -0800
| From | Ramine <ramine@1.1> |
|---|---|
| Date | 2014-11-15 13:56 -0800 |
| Subject | About scalability |
| Message-ID | <m487ij$6i5$2@dont-email.me> |
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 top | Article view | comp.programming.threads
csiph-web