Download presentation
Presentation is loading. Please wait.
Published byJennifer Williams Modified over 9 years ago
1
Can TM help in addressing the “ Multicore Software Scaling Problem? ” Microsoft TM Panel July 2007 Nir Shavit Tel Aviv University
2
Amdahl’s Law: Speedup = 1/(ParallelPart/N + SequentialPart) Pay for N = 8 cores SequentialPart = 25% Speedup = only 2.9 times! Must parallelize applications on a very fine grain! How do we make use of multicores?
3
Need Fine-Grained Locking 75% Unshared 25% Shared cc cc cc cc Coarse Grained c c c c c c c c cc cc cc cc Fine Grained c c c c c c c c The reason we get only 2.9 speedup 75% Unshared 25% Shared
4
Traditional Scaling Process User code Traditional Uniprocessor Speedup 1.8x 7x 3.6x Moore’s law c C C
5
Ideal Multicore Scaling Process cc cc cc cc cc cc cc User code Multicore Speedup 1.8x7x3.6x Only Wishful Thinking!
6
Lock-based Code Doesn ’ t Scale cc cc cc cc cc cc cc1.8x 2x 2.9x User code Multicore Speedup Vendors must rewrite code for each machine
7
Lock-based Code Doesn ’ t Scale olocks are an even bigger problem then we think oScalability today: oCode stays the same, CPUs get faster oSimple model for vendors oScalability tomorrow oLock-based synch code must be rewritten as number of cores increases oHigh costs for vendors
8
Is TM part of the answer oCan transactions help maintaining the traditional scaling process? oAt least smooth out the transition points … oWrite code once using transactions (short transactions?) oHave TM tuned for each machine oSo no need rewrite software oLike a VM for synchronization … oKey point: transactions are the abstraction that is missing …
9
Can TM Make Scaling Smoother? cc cc cc cc cc cc cc User code TM code Multicore Speedup 1.8x7x3.6x
10
Questions to ponder … oWhat needs to be added to the TM designs to make transactional code be “ machine independent? ” oWhat needs to be added to compilers? Languages?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.