90 likes | 222 Views
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]
E N D
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] • 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]
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...
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,…)
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, …
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)
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
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
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