OSDI ’10 Research Visions 3 October 2010 1 Epoch parallelism: One execution is not enough Jessica Ouyang, Kaushik Veeraraghavan, Dongyoon Lee, Peter Chen,

Slides:



Advertisements
Similar presentations
Debugging operating systems with time-traveling virtual machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Advertisements

Concurrent programming: From theory to practice Concurrent Algorithms 2014 Vasileios Trigonakis Georgios Chatzopoulos.
An Case for an Interleaving Constrained Shared-Memory Multi-Processor Jie Yu and Satish Narayanasamy University of Michigan.
OSDI ’10 Research Visions 3 October Epoch parallelism: One execution is not enough Jessica Ouyang, Kaushik Veeraraghavan, Dongyoon Lee, Peter Chen,
Rethink the Sync Ed Nightingale Kaushik Veeraraghavan Peter Chen Jason Flinn University of Michigan.
Thoughts on Shared Caches Jeff Odom University of Maryland.
Speculative Execution In Distributed File System and External Synchrony Edmund B.Nightingale, Kaushik Veeraraghavan Peter Chen, Jason Flinn Presented by.
Detecting and surviving data races using complementary schedules
Thread-Level Transactional Memory Decoupling Interface and Implementation UW Computer Architecture Affiliates Conference Kevin Moore October 21, 2004.
Speculations: Speculative Execution in a Distributed File System 1 and Rethink the Sync 2 Edmund Nightingale 12, Kaushik Veeraraghavan 2, Peter Chen 12,
Continuously Recording Program Execution for Deterministic Replay Debugging.
CS 7810 Lecture 19 Coherence Decoupling: Making Use of Incoherence J.Huh, J. Chang, D. Burger, G. Sohi Proceedings of ASPLOS-XI October 2004.
11/14/05ELEC Fall Multi-processor SoCs Yijing Chen.
The ghost of intrusions past Ashlesha Joshi Peter M. Chen University of Michigan 7 December 2004.
Dongyoon Lee, Benjamin Wester, Kaushik Veeraraghavan, Satish Narayanasamy, Peter M. Chen, and Jason Flinn University of Michigan, Ann Arbor Respec: Efficient.
Parallelizing Data Race Detection Benjamin Wester Facebook David Devecsery, Peter Chen, Jason Flinn, Satish Narayanasamy University of Michigan.
DoublePlay: Parallelizing Sequential Logging and Replay Kaushik Veeraraghavan Dongyoon Lee, Benjamin Wester, Jessica Ouyang, Peter M. Chen, Jason Flinn,
Operating System Support for Application-Specific Speculation Benjamin Wester Peter Chen and Jason Flinn University of Michigan.
1 AutoBash: Improving Configuration Management with Operating System Causality Analysis Ya-Yunn Su, Mona Attariyan, and Jason Flinn University of Michigan.
GPUs and Accelerators Jonathan Coens Lawrence Tan Yanlin Li.
Parallelizing Security Checks on Commodity Hardware E.B. Nightingale, D. Peek, P.M. Chen and J. Flinn U Michigan.
Multi-Core Architectures
- 1 - Dongyoon Lee, Peter Chen, Jason Flinn, Satish Narayanasamy University of Michigan, Ann Arbor Chimera: Hybrid Program Analysis for Determinism * Chimera.
- 1 - Dongyoon Lee †, Mahmoud Said*, Satish Narayanasamy †, Zijiang James Yang*, and Cristiano L. Pereira ‡ University of Michigan, Ann Arbor † Western.
Programming Concepts in GPU Computing Dušan Gajić, University of Niš Programming Concepts in GPU Computing Dušan B. Gajić CIITLab, Dept. of Computer Science.
Multiplication Facts. 1 x3 3 Think Fast… 2 x4 8.
ReSlice: Selective Re-execution of Long-retired Misspeculated Instructions Using Forward Slicing Smruti R. Sarangi, Wei Liu, Josep Torrellas, Yuanyuan.
Parallelizing Security Checks on Commodity Hardware Ed Nightingale Dan Peek, Peter Chen Jason Flinn Microsoft Research University of Michigan.
GPU Architecture and Programming
Operating Systems CSE 411 Multi-processor Operating Systems Multi-processor Operating Systems Dec Lecture 30 Instructor: Bhuvan Urgaonkar.
Speculative Execution in a Distributed File System Ed Nightingale Peter Chen Jason Flinn University of Michigan.
…and region serializability for all JESSICA OUYANG, PETER CHEN, JASON FLINN & SATISH NARAYANASAMY UNIVERSITY OF MICHIGAN.
HXY Debugging Made by Contents 目录 History of Java MT Sequential & Parallel Different types of bugs Debugging skills.
Dongyoon Lee, Benjamin Wester, Kaushik Veeraraghavan, Satish Narayanasamy, Peter M. Chen, and Jason Flinn University of Michigan, Ann Arbor Respec: Efficient.
SATMathVideos.Net A set S consists of all multiples of 4. Which of the following sets are contained within set S? A) S2 only B) S4 only C) S2 and S4 D)
31 Oktober 2000 SEESCOASEESCOA STWW - Programma Work Package 5 – Debugging Task Generic Debug Interface K. De Bosschere e.a.
Speculation Supriya Vadlamani CS 6410 Advanced Systems.
ThyNVM Enabling Software-Transparent Crash Consistency In Persistent Memory Systems Jinglei Ren, Jishen Zhao, Samira Khan, Jongmoo Choi, Yongwei Wu, and.
The Standford Hydra CMP  Lance Hammond  Benedict A. Hubbert  Michael Siu  Manohar K. Prabhu  Michael Chen  Kunle Olukotun Presented by Jason Davis.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
Flashback : A Lightweight Extension for Rollback and Deterministic Replay for Software Debugging Sudarshan M. Srinivasan, Srikanth Kandula, Christopher.
Gauss Students’ Views on Multicore Processors Group members: Yu Yang (presenter), Xiaofang Chen, Subodh Sharma, Sarvani Vakkalanka, Anh Vo, Michael DeLisi,
Speculative Execution in a Distributed File System Ed Nightingale Peter Chen Jason Flinn University of Michigan Best Paper at SOSP 2005 Modified for CS739.
Soyeon Park, Shan Lu, Yuanyuan Zhou UIUC Reading Group by Theo.
Cluster computing. 1.What is cluster computing? 2.Need of cluster computing. 3.Architecture 4.Applications of cluster computing 5.Advantages of cluster.
Detecting past and present intrusions through vulnerability- specific predicates Ashlesha Joshi, Sam King, George Dunlap, and Peter Chen.
Hardware Trends CSE451 Andrew Whitaker. Motivation Hardware moves quickly OS code tends to stick around for a while “System building” extends way beyond.
Niagara: A 32-Way Multithreaded Sparc Processor Kongetira, Aingaran, Olukotun Presentation by: Mohamed Abuobaida Mohamed For COE502 : Parallel Processing.
COMP 430 Intro. to Database Systems Transactions, concurrency, & ACID.
Optimistic Hybrid Analysis
High-performance transactions for persistent memories
Linchuan Chen, Xin Huo and Gagan Agrawal
Operating Systems (CS 340 D)
Multi-Processing in High Performance Computer Architecture:
Multithreading Tutorial
Optimistic Hybrid Analysis:
MASS CUDA Performance Analysis and Improvement
Chapter 4: Threads.
Chapter 26 Concurrency and Thread
Transactional Memory An Overview of Hardware Alternatives
Multiplication Facts.
What is Concurrent Programming?
What is Concurrent Programming?
Operating Systems (CS 340 D)
} 2x + 2(x + 2) = 36 2x + 2x + 4 = 36 4x + 4 = x =
Chapter 4 Multiprocessors
Mixed Up Multiplication Challenge
Solving Multi Step Equations
Solving Multi Step Equations
Presentation transcript:

OSDI ’10 Research Visions 3 October Epoch parallelism: One execution is not enough Jessica Ouyang, Kaushik Veeraraghavan, Dongyoon Lee, Peter Chen, Jason Flinn, Satish Narayanansamy University of Michigan

Motivation Write a single program that is both fast & correct Make it easier for programmers –Change approach to programming –Write program that is fast or correct – not both Combine multiple, specialized executions –Fast/buggy accelerates slow/correct –Slow/correct checks fast/buggy Jessica Ouyang2 Fast & Correct Slow & Correct Fast & Buggy Slow & Correct

E1 E3 E2 E0 ==? 2. Start epoch 1. Checkpoint state Jessica Ouyang3 Epoch parallelism E1 Time E0 E2 E3 Fast & buggySlow & correct E3 != 3. Check state 4. Roll back & Re-execute

Nice properties of uniprocessor -Fewer races -Stronger memory consistency model -Easier to replay Uniprocessor execution Jessica Ouyang4 CPU 0CPU 1CPU 2CPU 3 E1 E0 B1 B0 MultiprocessorUniprocessor Performance E0 B0 A1 A0 E1 B1 A1 A0

Using epoch parallelism Jessica Ouyang5 CPU 0CPU 1CPU 2CPU 3 E1 E0 B1 B0 E0 S0 Multi-threadedSingle-threaded E1 S1 Transform function Challenges -Importing state to start epochs -Checking state A1 A0

Jessica Ouyang - University of Michigan6 Conclusion Rethink having a single program/execution be both fast & correct Use separate, specialized executions to achieve different goals