1 / 9

Big Questions for the TM Community

Big Questions for the TM Community. Christos Kozyrakis Pervasive Parallelism Laboratory Stanford University http://ppl.stanford.edu/~christos. TM Research @ Stanford. Hardware support TCC architecture [ISCA’04, ASPLOS’04, PACT’05], HTM virtualization [ASPLOS’06]

Download Presentation

Big Questions for the TM Community

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. Big Questions for the TM Community Christos Kozyrakis Pervasive Parallelism Laboratory Stanford University http://ppl.stanford.edu/~christos

  2. TM Research @ Stanford • Hardware support • TCC architecture [ISCA’04, ASPLOS’04, PACT’05], HTM virtualization [ASPLOS’06] • ISA for HTM systems [ISCA’06] • SigTM hybrid system [ISCA’07] • Programming environments • Java+TM=Atomos[SCOOL’05, PLDI’06], transctional collection classes [PPoPP’07] • OpenMP+GCC+TM=OpenTM[PACT’07, http://opentm.stanford.edu] • Applications • Basic characterization [HPCA’05, WTW’06] • STAMP benchmark suite [IISWC’08, http://stamp.stanford.edu] • Full-system prototypes • ATLAS FPGA-based prototype for HTM [DATE’07, FPGA’07] • TM beyond concurrency control • Fix DBT races [HPCA’08], replay/tuning/debugging on ATLAS [ISCA’07 tutorial]

  3. This Talk Raise the big questions from non-TM researchers Why Eventually, we need good answers... Put TM research into perspective Help frame discussion from lower-level, technical issues How much HW support, strong vs weak atomicity, etc...

  4. 1. How does TM fit in Parallel Programming Environments? • Issue: TM does not solve all problems • Thread mapping, coordination, memory locality, … • Our work so far: TM + existing parallel abstractions • TM+C++, TM+Java, TM+OpenMP • Needed: TM + novel parallel environments • TM+functional models, TM+data parallel models, … • Example: domain-specific languages (DSLs) • Hide complexity with domain specific abstractions • E.g., Matlab, SQL, rendering languages, … • TM as an implementation tool, hidden from programmer • Can avoid difficult scenarios (nesting, strong atomicity,…)

  5. 2. How does TM fit in a Modern System Stack? • Issue: a system is more than CPU + memory • I/O, networking, IPC, cluster frameworks, client-server,… • Our work so far: • Ignore system or • Stretch TM to control portions of the system • Needed: system-scale transactions • Transactional components: TM, LFS, DBMS, net queues, … • System manager to coordinate user transactions • 2-phase commit across components • Example: IBM’s QuickSilver system (pre-TM era) • Questions: programming abstractions, limitations, …

  6. 3. Can TM technology Scale? • Issue: concurrency interesting only if scalable • In order to justify SW+HW investment • Needed: scalable TM abstractions + systems • To 1000s of threads and NUMA hierarchies • Assumption: coherent shared memory scales… • Challenge: we have not really shown it… • Opportunity: TM requires coarse-grain coherence • TCC = coherence & consistency at commit points • Scalable coherence at coarser grain (space + time)

  7. 4. Can TM help with Problems beyond Concurrency Control? • Issue: justify the investment in TM technology • Hardware or software • Needed: use TM for other difficult problems • Decompose versioning, conflict detection, ordering • Selectively use for security, reliability, debugging, … • E.g., transactions & error recovery • Challenge: co-existence with user transactions • Examples • ATLAS: deterministic replay, guided performance tuning, … • TM-based memory snapshot • Read-only snapshot with O(1) read/write overhead • From sequential to truly concurrent GC with 100 lines of code

  8. 5. How much easer is Parallel Programming with TM? • Issue: quantify ease-of-use improvements • Qualitative arguments not sufficient for long • Maybe focusing on a tree and missing the forest • E.g., strong atomicity may not be required in practice… • Needed: actual ease-of-programming studies • Challenge: metrics, environments, comparison points, …. • Requirements: TM prototype systems • Intel/IBM C++, TinySTM, OpenTM are a good start • The results may surprise us all • Positively and negatively

  9. Summary • Five high-level questions • TM and novel programming paradigms • Transactions within a complete system stack • Scalability of TM abstractions & systems • TM uses beyond concurrency control • Quantify programmability advantages of TM • This is not just to face the critics • Need high-level perspective to drive our detailed work • Bypass issues that are unimportant in practice • Accelerate the wider adoption of transactional systems • This is the right TIME & GROUP for this discussion 

More Related