Presented by Remzi Can Aksoy

Slides:



Advertisements
Similar presentations
Analysis of Computer Algorithms
Advertisements

1 Copyright © 2012 Oracle and/or its affiliates. All rights reserved. Convergence of HPC, Databases, and Analytics Tirthankar Lahiri Senior Director, Oracle.
Computer System Architectures Computer System Software
Multi Core Processor Submitted by: Lizolen Pradhan
Outline  Over view  Design  Performance  Advantages and disadvantages  Examples  Conclusion  Bibliography.
The JANA Reconstruction Framework David Lawrence - JLab May 25, /25/101JANA - Lawrence - CLAS12 Software Workshop.
CISC 879 : Advanced Parallel Programming Rahul Deore Dept. of Computer & Information Sciences University of Delaware Exploring Memory Consistency for Massively-Threaded.
Presented by: Xianghan Pei
The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors Austin T. Clements, M. Frans Kaashoek, Nickolai Zeldovich, Robert.
Lecture 5. Example for periority The average waiting time : = 41/5= 8.2.
1 Computer Architecture & Assembly Language Spring 2001 Dr. Richard Spillman Lecture 26 – Alternative Architectures.
Sub-fields of computer science. Sub-fields of computer science.
Introduction to threads
Using the VTune Analyzer on Multithreaded Applications
Translation Lookaside Buffer
Applied Operating System Concepts
Software Testing.
REAL-TIME OPERATING SYSTEMS
EECS 582 Midterm Review Mosharaf Chowdhury EECS 582 – W16.
Operating Systems : Overview
Introduction to parallel programming
Potential Project.
Andy Wang COP 5611 Advanced Operating Systems
Outline Other synchronization primitives
Course Introduction Dr. Eggen COP 6611 Advanced Operating Systems
Andy Wang COP 5611 Advanced Operating Systems
Other Important Synchronization Primitives
Chapter 4 Threads.
Introduction to NewSQL
Introduction to Operating System (OS)
Chapter 14 Instruction Level Parallelism and Superscalar Processors
CS 21a: Intro to Computing I
EECS 582 Midterm Review Mosharaf Chowdhury EECS 582 – F16.
Operating Systems : Overview
EECS 582 Final Review Mosharaf Chowdhury EECS 582 – F16.
Chapter 4: Threads.
Logical architecture refinement
Chapter 4: Threads.
Hardware Multithreading
Chapter 2: System Structures
Operating Systems : Overview
Proposal for Term Project Operating Systems, Fall 2018
Operating System Concepts
Translation Lookaside Buffer
Introduction to Operating Systems
Operating Systems : Overview
Threads and Concurrency
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Operating Systems : Overview
Operating Systems : Overview
Introduction to Operating Systems
Operating Systems : Overview
Andy Wang COP 5611 Advanced Operating Systems
Concurrency: Mutual Exclusion and Process Synchronization
Architecture & System Performance
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating System Introduction.
Chapter 4: Threads.
Operating Systems : Overview
Andy Wang COP 5611 Advanced Operating Systems
Lecture 2 The Art of Concurrency
Operating Systems : Overview
Relaxed Consistency Finale
Database System Architectures
Refinement Refine a formal specification by adding more information
Andy Wang COP 5611 Advanced Operating Systems
Operating System Concepts
DMP: Deterministic Shared Memory Multiprocessing
Presentation transcript:

The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors Presented by Remzi Can Aksoy *Some slides are borrowed from a ‘Papers We Love’ Presentation EECS 582 – F16

Outline The Scalable Commutativity Rule: Whenever interface operations commute, they can be implemented in a way that scales. Problem More about the Rule Formalization and Proof Applying the Rule EECS 582 – F16

CPU Trends EECS 582 – F16

A Scalability Bottleneck EECS 582 – F16

Current Techniques Try a Workload, Plot Scalability, Fix top Bottleneck Disadvantages: New workloads expose new bottlenecks More cores expose new bottlenecks The real bottlenecks may be in the interface design EECS 582 – F16

Outline The Scalable Commutativity Rule: Whenever interface operations commute, they can be implemented in a way that scales. Problem More about the Rule Formalization and Proof Applying the Rule EECS 582 – F16

EECS 582 – F16

EECS 582 – F16

Change the Interface? EECS 582 – F16

EECS 582 – F16

Intuition Whenever interface operations commute, they can be implemented in a way that scales. Operations commute results are independent of order communication is unnecessary without communication, no conflicts EECS 582 – F16

Outline The Scalable Commutativity Rule: Whenever interface operations commute, they can be implemented in a way that scales. Problem More about the Rule Formalization and Proof Applying the Rule EECS 582 – F16

Formalization A history H is sequence of invocations and responses on threads. A specification ζ defines an interface. ζ is the set of legal histories given the allowed behavior of the interface. A reordering H’ is a permutation of H that maintains operations order for each individual thread (H|t = H’|t for all t). EECS 582 – F16

Commutativity Different Commutativity Definition: State-dependent, Interface- based, Monotonic A region Y of a legal history XY SIM-commutes if every reordering Y’ of Y also yields a legal history and every legal extension Z of XY is also a legal extension of XY’. (And this must be true for every prefix of every reordering of Y.) EECS 582 – F16

The Formal Rule Let ζ be a specification with a reference implementation M. Consider a history where XY where Y commutes in XY and M can generate XY. There exists a correct implementation M’ of ζ whose execution of XY is conflict-free in the commutative region Y. EECS 582 – W16

Outline The Scalable Commutativity Rule: Whenever interface operations commute, they can be implemented in a way that scales. Problem More about the Rule Formalization and Proof Applying the Rule EECS 582 – F16

Refining POSIX with the Rule Lowest FD versus any FD stat versus xstat What we can learn: Embrace non-determinism Decompose compound operations EECS 582 – F16

Commuter EECS 582 – F16

EECS 582 – F16

EECS 582 – F16

sv6: A Scalable OS • POSIX-like operating system • File system and virtual memory system follow commutativity rule • Implementation using standard parallel programming techniques, but guided by Commuter EECS 582 – F16

EECS 582 – F16

Discussion Topics: Can we apply a similar principles to network, database systems? Do you think this new technique improve development speed? EECS 582 – F16