Submitted by: Omer & Ofer Kiselov Supevised by: Dmitri Perelman Networked Software Systems Lab Department of Electrical Engineering, Technion.

Slides:



Advertisements
Similar presentations
Privatization Techniques for Software Transactional Memory Michael F. Spear, Virendra J. Marathe, Luke Dalessandro, and Michael L. Scott University of.
Advertisements

1 Lecture 11: Transactions: Concurrency. 2 Overview Transactions Concurrency Control Locking Transactions in SQL.
Enabling Speculative Parallelization via Merge Semantics in STMs Kaushik Ravichandran Santosh Pande College.
Sathya Peri IIT Patna 1 Understanding the Requirements of STMs.
IDIT KEIDAR DMITRI PERELMAN RUI FAN EuroTM 2011 Maintaining Multiple Versions in Software Transactional Memory 1.
5.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 5: CPU Scheduling.
1 Generic logging layer for the distributed computing by Gene Van Buren Valeri Fine Jerome Lauret.
Pessimistic Software Lock-Elision Nir Shavit (Joint work with Yehuda Afek Alexander Matveev)
Thread-Level Transactional Memory Decoupling Interface and Implementation UW Computer Architecture Affiliates Conference Kevin Moore October 21, 2004.
Testing and Analysis of Device Drivers Supervisor: Abhik Roychoudhury Author: Pham Van Thuan 1.
Online Performance Auditing Using Hot Optimizations Without Getting Burned Jeremy Lau (UCSD, IBM) Matthew Arnold (IBM) Michael Hind (IBM) Brad Calder (UCSD)
Structure-driven Optimizations for Amorphous Data-parallel Programs 1 Mario Méndez-Lojo 1 Donald Nguyen 1 Dimitrios Prountzos 1 Xin Sui 1 M. Amber Hassaan.
Presented by: Ofer Kiselov & Omer Kiselov Supervised by: Dmitri Perelman Final Presentation.
DMITRI PERELMAN IDIT KEIDAR TRANSACT 2010 SMV: Selective Multi-Versioning STM 1.
Idit Keidar and Dmitri Perelman Technion 1 SPAA 2009.
1 Lecture 21: Transactional Memory Topics: consistency model recap, introduction to transactional memory.
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
MIT iCampus iLabs Software Architecture Workshop June , 2006.
Lock vs. Lock-Free memory Fahad Alduraibi, Aws Ahmad, and Eman Elrifaei.
University of Michigan Electrical Engineering and Computer Science 1 Parallelizing Sequential Applications on Commodity Hardware Using a Low-Cost Software.
1 Lecture 23: Transactional Memory Topics: consistency model recap, introduction to transactional memory.
OS Spring 2004 Concurrency: Principles of Deadlock Operating Systems Spring 2004.
Reliability and Partition Types of Failures 1.Node failure 2.Communication line of failure 3.Loss of a message (or transaction) 4.Network partition 5.Any.
OS Fall’02 Concurrency: Principles of Deadlock Operating Systems Fall 2002.
Language Support for Lightweight transactions Tim Harris & Keir Fraser Presented by Narayanan Sundaram 04/28/2008.
1 New Architectures Need New Languages A triumph of optimism over experience! Ian Watson 3 rd July 2009.
Concurrency and Software Transactional Memories Satnam Singh, Microsoft Faculty Summit 2005.
The Waterfall Model A Case Study
SENG521 (Fall SENG 521 Software Reliability & Testing Defining Necessary Reliability (Part 3b) Department of Electrical & Computer.
Process Synchronization Ch. 4.4 – Cooperating Processes Ch. 7 – Concurrency.
Distributed Databases
Reliability of Parallel Build Systems Derrick Coetzee, George Necula UC Berkeley Creative Commons Zero Waiver: To the extent possible under law, the author,
OPC Data Logger Start Up Instructions. OPC Data Logger For most experiments run in DPCL, data is analyzed from graphs. All process variables shown on.
 Methods of abortion  Statistics  Possible solutions.
Prospector : A Toolchain To Help Parallel Programming Minjang Kim, Hyesoon Kim, HPArch Lab, and Chi-Keung Luk Intel This work will be also supported by.
1. When things go wrong: how to find SQL error Sveta Smirnova Principle Technical Support Engineer, Oracle.
Programming Paradigms for Concurrency Part 2: Transactional Memories Vasu Singh
Module 7: Fundamentals of Administering Windows Server 2008.
Chapter 10 Information Systems Analysis and Design
HPDCS Research Group Research Focus STM Systems Dependability of STM Performance Modelling of STM EURO-TM | 1 st Plenary.
Scalable Analysis of Distributed Workflow Traces Daniel K. Gunter and Brian Tierney Distributed Systems Department Lawrence Berkeley National Laboratory.
Reduced Hardware NOrec: A Safe and Scalable Hybrid Transactional Memory Alexander Matveev Nir Shavit MIT.
School of Information Technologies Michael Cahill 1, Uwe Röhm and Alan Fekete School of IT, University of Sydney {mjc, roehm, Serializable.
Lecture 12 Recoverability and failure. 2 Optimistic Techniques Based on assumption that conflict is rare and more efficient to let transactions proceed.
CS370 Spring 2007 CS 370 Database Systems Lecture 1 Overview of Database Systems.
Chapter 38 Persistence Framework with Patterns 1CS6359 Fall 2011 John Cole.
Group 3: Architectural Design for Enhancing Programmability Dean Tullsen, Josep Torrellas, Luis Ceze, Mark Hill, Onur Mutlu, Sampath Kannan, Sarita Adve,
On the Performance of Window-Based Contention Managers for Transactional Memory Gokarna Sharma and Costas Busch Louisiana State University.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
Software Transactional Memory Should Not Be Obstruction-Free Robert Ennals Presented by Abdulai Sei.
1 CSE 480: Database Systems Lecture 24: Concurrency Control.
Transaction Management Transparencies. ©Pearson Education 2009 Chapter 14 - Objectives Function and importance of transactions. Properties of transactions.
4 November 2005 CS 838 Presentation 1 Nested Transactional Memory: Model and Preliminary Sketches J. Eliot B. Moss and Antony L. Hosking Presented by:
If you have a transaction processing system, John Meisenbacher
ECE 1747: Parallel Programming Short Introduction to Transactions and Transactional Memory (a.k.a. Speculative Synchronization)
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Adaptive Software Lock Elision
Lecture 20: Consistency Models, TM
Minh, Trautmann, Chung, McDonald, Bronson, Casper, Kozyrakis, Olukotun
PHyTM: Persistent Hybrid Transactional Memory
Faster Data Structures in Transactional Memory using Three Paths
Maintaining software solutions
Predictive Performance
Hardware Hash Quality Assurance Tool V2
Lecture 22: Consistency Models, TM
Introduction of Week 13 Return assignment 11-1 and 3-1-5
Design and Implementation Issues for Atomicity
Locking Protocols & Software Transactional Memory
Lecture: Consistency Models, TM
Controlled Interleaving for Transactions
Presentation transcript:

Submitted by: Omer & Ofer Kiselov Supevised by: Dmitri Perelman Networked Software Systems Lab Department of Electrical Engineering, Technion

 Transactional Memory solution ◦ An abstraction for critical sections in concurrent programming – transactions. ◦ Easier and more intuitive for programmers than locks. ◦ Implemented in both hardware and software.  The transaction abstraction ◦ Each critical section is executed optimisticly. ◦ Commit – Apply changes if correctness is maintained. ◦ Abort – discard and rollback otherwise. ◦ Aborts cause work waste and damages performance.  Some aborts are necessary ◦ Commit may cause incorrect results.  And some are not, and could be avoided ◦ Validating correctness is too complex to check through runtime.

 Build a software analysis tool: ◦ Abort statistics for a given run. ◦ Unnecessary abort ratio. ◦ Wasted work amount.  Will it pay of to add designs to stop the unnecessary aborts?  System is divided to two parts: ◦ Online part to execute and log an STM program. ◦ Offline part to read and analyze the log.

 Modify Deuce STM to log the run ◦ Insertion of logging commands to Deuce transactions code.  Transactions may call Logger class on reads, writes, commits and aborts ◦ Logger writes log in XML format  Runs on 32-core system for high parallelism Logger Deuce Framework Transactions Code: Start Read Write Commit A Perfectly Scalable Code Log Collector iterates through the loggers, collecting data about actions by their order.

 Read the log file and measure statistics: ◦ Count aborts by their causes.  Maintain a precedence graph to check dependencies ◦ Speculatively add aborted transactions’ edges to check abort necessity.

 Parallelism increase → Abort rate and unnecessary abort rate increases. ◦ Unnecessary abort rate relatively stable.  Paralleism increase → More aborts are caused by locked objects.  To improve performance over highly concurrent environements, more designs are required to reduce the unnecessary aborts.