1 / 9

Can TM help in addressing the “ Multicore Software Scaling Problem? ”

Can TM help in addressing the “ Multicore Software Scaling Problem? ”. Microsoft TM Panel July 2007 Nir Shavit Tel Aviv University. How do we make use of multicores?. Amdahl’s Law: Speedup = 1/( ParallelPart/N + SequentialPart ) Pay for N = 8 cores SequentialPart = 25%

mandy
Download Presentation

Can TM help in addressing the “ Multicore Software Scaling Problem? ”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Can TM help in addressing the “Multicore SoftwareScaling Problem?” Microsoft TM Panel July 2007 Nir Shavit Tel Aviv University

  2. How do we make use of multicores? 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!

  3. The reason we get only 2.9 speedup c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c Need Fine-Grained Locking Fine Grained Coarse Grained 25% Shared 25% Shared 75% Unshared 75% Unshared

  4. c C C Traditional Scaling Process 7x Speedup 3.6x 1.8x User code Traditional Uniprocessor Moore’s law

  5. 7x 3.6x Speedup 1.8x c c c c c c c c c c c c c c Ideal Multicore Scaling Process User code Multicore Only Wishful Thinking!

  6. c c c c c c c c c c c c c c Lock-based Code Doesn’t Scale Speedup 2.9x 2x 1.8x User code Multicore Vendors must rewrite code for each machine

  7. Is TM part of the answer • Can transactions help maintaining the traditional scaling process? • At least smooth out the transition points… • Write code once using transactions (short transactions?) • Have TM tuned for each machine • So no need rewrite software • Like a VM for synchronization… • Key point: transactions are the abstraction that is missing…

  8. 7x 3.6x Speedup 1.8x c c c c c c c c c c c c c c Can TM Make Scaling Smoother? User code TM code Multicore

  9. Questions to ponder… • What needs to be added to the TM designs to make transactional code be “machine independent?” • What needs to be added to compilers? Languages?

More Related