It’s the Software, Stupid James Larus Microsoft Research April 2005.

Slides:



Advertisements
Similar presentations
Safe Open-Nested Transactions Jim Sukha MIT CSAIL Supercomputing Technologies Group Kunal Agrawal, I-Ting Angelina Lee, Bradley C. Kuszmaul, Charles E.
Advertisements

Supporting existing code in a transactional memory system Nate Nystrom Mukund Raghavachari IBM TRAMP 5 Mar 2007.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 1 Three Challenges for Transactional Computing J. Eliot B. Moss Associate Professor,
Copyright 2008 Sun Microsystems, Inc Better Expressiveness for HTM using Split Hardware Transactions Yossi Lev Brown University & Sun Microsystems Laboratories.
The many faces of TM Tim Harris. Granularity Distributed, large-scale atomic actions Composable shared memory data structures Leaf shared memory data.
OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
Chapter 5: Hiding implementation ● Two viewpoints regarding classes: – Implementor of a class: knows everything about class – User of a class: Only wants.
Privatization Techniques for Software Transactional Memory Michael F. Spear, Virendra J. Marathe, Luke Dalessandro, and Michael L. Scott University of.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Rich Transactions on Reasonable Hardware J. Eliot B. Moss Univ. of Massachusetts,
CS 5204 – Operating Systems 1 Scheduler Activations.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Term Project 1 CS502 Spring 2006 Term Project Presentations CS502 – Operating Systems Spring 2006.
CS533 Concepts of Operating Systems Class 20 Summary.
[ 1 ] Agenda Overview of transactional memory (now) Two talks on challenges of transactional memory Rebuttals/panel discussion.
Operating Systems Final Exam Review. Topics F Virtual Memory F File Systems F I/O Devices F Project 3: Macro Shell.
Operating Systems Final Exam Review. Topics Paging Virtual Memory File Systems I/O Devices Project 3: Macro Shell.
OS Organization. OS Requirements Provide resource abstractions –Process abstraction of CPU/memory use Address space Concurrency Thread abstraction of.
ICS (062)CC in Adv. DB Applications1 Concurrency Control in Advanced Database Applications Dr. Muhammad Shafique 31 March 2007.
Computer Science Standard Level Mastery Aspects. Mastery Item Claimed JustificationWhere Listed Arrays Used to store the student data Lines P.
Introduction to CS-215 Computer Organization & Assembly Language: Module 0.
M1G Introduction to Database Development 6. Building Applications.
Microsoft Research Faculty Summit Panacea or Pandora’s Box? Software Transactional Memory Panacea or Pandora’s Box? Christos Kozyrakis Assistant.
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
File Access and Transfer. Issues 4 Access and transfer are different operations –with different requirements 4 Transfer –move the file from one place.
Software & the Concurrency Revolution by Sutter & Larus ACM Queue Magazine, Sept For CMPS Halverson 1.
Molecular Transactions G. Ramalingam Kapil Vaswani Rigorous Software Engineering, MSRI.
April 22, 2002VMASC Board Meeting Issues in Enhancing Simulation Model Reuse C. Michael Overstreet Richard E. Nance Osman Balci.
About Me Microsoft MVP Intel Blogger TechEd Israel, TechEd Europe Expert C++ Book
Types of Operating Systems
Adaptable Consistency Control for Distributed File Systems Simon Cuce Monash University Dept. of Computer Science and Software.
Guideline 12 Provide context and orientation information.
Chapter 1 Introduction to Databases. 1-2 Chapter Outline   Common uses of database systems   Meaning of basic terms   Database Applications  
Hadi Salimi Distributed Systems Lab, Computer Engineering School, Iran University of Schience and Technology, Tehran, Iran Winter 2011.
Writing Systems Software in a Functional Language An Experience Report Iavor Diatchki, Thomas Hallgren, Mark Jones, Rebekah Leslie, Andrew Tolmach.
Types of Operating Systems 1 Computer Engineering Department Distributed Systems Course Assoc. Prof. Dr. Ahmet Sayar Kocaeli University - Fall 2015.
TM 13-1 Copyright © 1999 Addison Wesley Longman, Inc. Data and Database Administration.
Concurrency, Processes, and System calls Benefits and issues of concurrency The basic concept of process System calls.
Operating Systems: Wrap-Up Questions answered in this lecture: What is an Operating System? Why are operating systems so interesting? What techniques can.
Hardware and Software transactional memory and usages in MRE
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve.
CS 140 Lecture Notes: Virtual MachinesSlide 1 Process Abstraction Instruction Set Registers MMU I/O Devices Physical Memory Virtual Memory System Calls.
Chapter 2 Introduction to OS Chien-Chung Shen CIS/UD
Saeed Khan KL Group Java’s Growth.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
On Transactional Memory, Spinlocks and Database Transactions Khai Q. Tran Spyros Blanas Jeffrey F. Naughton (University of Wisconsin Madison)
4 November 2005 CS 838 Presentation 1 Nested Transactional Memory: Model and Preliminary Sketches J. Eliot B. Moss and Antony L. Hosking Presented by:
Concurrency Conclusion Andy Wang Operating Systems COP 4610 / CGS 5765.
Operating Systems Shannon Gibson. What is an Operating System?  An operating system is the most important software that runs on a computer.
R 1 Transactional abstractions: beyond atomic update Tim Harris r.
Operating System Overview
Introduction to Compiler Construction
Session 3 Memory Management
Operating System.
Mobile Operating System
Clojure: Why is it interesting?
R
CS 140 Lecture Notes: Virtual Machines
DUCKS – Distributed User-mode Chirp-Knowledgeable Server
Agenda Why simulation Simulation and model Instruction Set model
Chapter 1: Intro (excerpt)
Distribuerte Systemer Viktigere enn vi tror, vanskeligere enn det høres Komponenttorget ‘99 Trondheim Trygve Reenskaug Numerica Taskon Distaribuerte.
CS 140 Lecture Notes: Virtual Machines
Komponentbasert utvikling Den sanne objektorientering
Advanced Database System
Social Abstractions for Information agents
Segmentation Observation: Programmers don’t think in pages!
CS 140 Lecture Notes: Virtual Machines
Controlled Interleaving for Transactions
Concurrency Conclusion
Technology posters months
Presentation transcript:

It’s the Software, Stupid James Larus Microsoft Research April 2005

Transactional Memory Promising abstraction for concurrent programming –CMPs bring problems to the forefront Mechanism lives in software environment –simple “hardware” transactions may not provide appropriate semantics

Example 1: Conflicting Abstractions Code

Example 1: Conflicting Abstractions Code Transactional Memory

Example 1: Conflicting Abstractions Code GC

Example 1: Conflicting Abstractions Code TM GC TM

Example 2: Nested Transactions Code LibrariesComponents

What is abstraction boundary? Can library hide internal user of concurrency? Example 2: Nested Transactions Code LibrariesComponents Libraries Code

DB Example 3: IO Code TM

Summary Not starting with a clean slate TM must work within existing environment –changes to use TM will be large –unrealistic to change everything at once