9
Tramp Ali-Reza Adl-Tabatabai, Richard L. Hudson, Vijay Menon, Yang Ni, Bratin Saha, Tatiana Shpeisman, Adam Welc

Tramp

  • Upload
    cyrah

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Tramp

Tramp

Ali-Reza Adl-Tabatabai, Richard L. Hudson,

Vijay Menon, Yang Ni, Bratin Saha,

Tatiana Shpeisman, Adam Welc

Page 2: Tramp

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

Page 3: Tramp

Non-Repeatable Reads

Thread 1:

atomic {

t1 = x;

t2 = x;

}

Initially x == 0

Thread 2:

x = 1;

Can t1 != t2 ?

Page 4: Tramp

Intermediate Dirty Read

Thread 1:

atomic {

x++;

x++;

}

Initially x == 0

Thread 2:

t = x;

Can t be odd?

Page 5: Tramp

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.

Page 6: Tramp

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

Page 7: Tramp

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

Page 8: Tramp

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.

Page 9: Tramp

Thanks