multithreading - Memory management bottleneck to SMP Parallelism -


across multiple languages (mostly d , java/jython) i've noticed parallel programs no obvious synchronization bottleneck don't scale 4 or more cores because of memory management bottlenecks. i'm aware thread-local allocators mitigate problem, garbage collector implementations still need stop world. garbage collection not embarrassingly parallel (shared state has updated way often), using parallel collector doesn't solve problem. in case of manual memory management, if allocations thread-local allocator, memory still has freed, possibly different thread 1 allocated in.

is there language/runtime/malloc implementation memory management bottleneck smp parallelism practical purposes solved problem, while still allowing traditional shared address space multithreading?

no.

what describe memory management bottleneck intrinsic feature, albeit not desirable one, of smp computers. sooner or later demands of processors access memory overwhelm memory bus , processing slow down, or @ best stop going faster, addition of more processors.

i'm surprised run problem on 4 cores, in past i've used sgi altix machines on of codes scale , beyond 256 cores. whether it's code hitting bottleneck @ 4 cores or mine @ 256 or code @ 2048 (if can find 2048-core smp) there bottleneck.


Comments

Popular posts from this blog

ASP.NET/SQL find the element ID and update database -

jquery - appear modal windows bottom -

c++ - Compiling static TagLib 1.6.3 libraries for Windows -