1 / 9

Tramp

Tramp. Ali-Reza Adl-Tabatabai, Richard L. Hudson , Vijay Menon, Yang Ni, Bratin Saha, Tatiana Shpeisman, Adam Welc. TM Semantic and Current Languages. Success of TM is dependent on acceptance by practitioners + Practitioners are resistant to changing their languages and SDEs Therefore

cyrah
Télécharger la présentation

Tramp

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. Tramp Ali-Reza Adl-Tabatabai, Richard L. Hudson, Vijay Menon, Yang Ni, Bratin Saha, Tatiana Shpeisman, Adam Welc

  2. TM Semantic and Current Languages • Success of TM is dependent on acceptance by practitioners • + Practitioners are resistant to changing their languages and SDEs • Therefore • Adding TM to current languages is important • Isolation is where tension between TM and other language semantics is most acute

  3. Thread 1: atomic { t1 = x; t2 = x; } Non-Repeatable Reads Initially x == 0 • Thread 2: • x = 1; Can t1 != t2 ?

  4. Thread 1: atomic { x++; x++; } Intermediate Dirty Read Initially x == 0 • Thread 2: • t = x; Can t be odd?

  5. Limit the scope of TM • Should we distinguish between Transactional Memory and Transactional Execution? • Should we train students not to think of it as Java synchronization on steroids? • Should we be optimizing for 1 HW thread per SW thread? • This changes the equations w.r.t. premption safety.

  6. Rethinking TM HW Support • TM is a language construct that eases programming • Integrated into a language environment • Debugger, Editor, Performance Monitoring • Will be subject to aggressive SW optimizations • Compiler writers have really big brains • HW TM support must factor in a mature SW stack Analogies: Object orientation, Garbage collection • Lots of HW proposed based on un-optimized SW stack • Fell by the wayside after SW evolved

  7. Limit HW Support, Expand Applicability • Focus on acceleration of STM (and other) constructs • Leave semantics and policy to SW. • Largest obstacle may be single thread performance • Keep proposals simple or it won’t be built in time to help TM. • Demonstrate mechanisms are applicable to more that TM

  8. Rethinking the stack • Sophisticated OS and virtual machine algorithms could be simplified • New SDE for concurrent programming. • Suppose you preserve read sets, write sets, serialization order of transactional blocks. • Could cost be similar to that of a leak detector or a race condition detector? • Such a system would allow data mining of execution as well as deterministic replay for performance or debugging. • As a practitioner this would be very useful to me. • Let’s do it in concert with the HW being rethought around many cores.

  9. Thanks

More Related