Concurrent Data Structures. Semantics and Quantitative Relaxations

Similar documents
Towards Relaxing STM. Christoph M. Kirsch, Michael Lippautz! University of Salzburg. Euro-TM Workshop, April 2014

Outline. Planning. Search vs. Planning. Search vs. Planning Cont d. Search vs. planning. STRIPS operators Partial-order planning.

CIS570 Lecture 4 Introduction to Data-flow Analysis 3

Open and Extensible Business Process Simulator

Context-Sensitive Adjustments of Cognitive Control: Conflict-Adaptation Effects Are Modulated by Processing Demands of the Ongoing Task

Discovering Trends in Large Datasets Using Neural Networks

Robust Classification and Tracking of Vehicles in Traffic Video Streams

Hierarchical Clustering and Sampling Techniques for Network Monitoring

' R ATIONAL. :::~i:. :'.:::::: RETENTION ':: Compliance with the way you work PRODUCT BRIEF

Improved Vehicle Classification in Long Traffic Video by Cooperating Tracker and Classifier Modules

WATER CLOSET SUPPORTS TECHNICAL DATA

An Enhanced Critical Path Method for Multiple Resource Constraints

The Computability of Relaxed Data Structures: Queues and Stacks as Examples

Intelligent Measurement Processes in 3D Optical Metrology: Producing More Accurate Point Clouds

Static Fairness Criteria in Telecommunications

Granular Problem Solving and Software Engineering

Fig. 1.1 Rectangular foundation plan.

10CS35: Data Structures Using C

Hybrid Systems in Industrial Process Control

A Holistic Method for Selecting Web Services in Design of Composite Applications

Data-Flow Awareness in Parallel Data Processing

The following excerpt are pages from the North American Product Technical Guide, Volume 2: Anchor Fastening, Edition 16.

Conditions for Strong Synchronization In Concurrent Data Types

Behavior Analysis-Based Learning Framework for Host Level Intrusion Detection

protection p1ann1ng report

Programming Basics - FORTRAN 77

Recovering Articulated Motion with a Hierarchical Factorization Method

WORKFLOW CONTROL-FLOW PATTERNS A Revised View

GABOR AND WEBER LOCAL DESCRIPTORS PERFORMANCE IN MULTISPECTRAL EARTH OBSERVATION IMAGE DATA ANALYSIS

FIRE DETECTION USING AUTONOMOUS AERIAL VEHICLES WITH INFRARED AND VISUAL CAMERAS. J. Ramiro Martínez-de Dios, Luis Merino and Aníbal Ollero

PES Institute of Technology-BSC QUESTION BANK

BUILDING A SPAM FILTER USING NAÏVE BAYES. CIS 391- Intro to AI 1

BUILDING CODE SUMMARY GENERAL NOTES DESIGN BUILD ELECTRICAL DESIGN BUILD MECHANICAL & PLUMBING GENERAL NOTES GENERAL NOTES G101

Quality of Experience in Remote Virtual Desktop Services

Performance Analysis of IEEE in Multi-hop Wireless Networks

The Classical Architecture. Storage 1 / 36

The Relative Worst Order Ratio for On-Line Algorithms

Neural network-based Load Balancing and Reactive Power Control by Static VAR Compensator

The Design of Vector Programs

SOFTWARE ENGINEERING I

User s Guide VISFIT: a computer tool for the measurement of intrinsic viscosities

GPU Hardware Performance. Fall 2015

Shared File Performance Improvements

Electrician'sMathand BasicElectricalFormulas

ò Paper reading assigned for next Thursday ò Lab 2 due next Friday ò What is cooperative multitasking? ò What is preemptive multitasking?

Availability, Reliability, Maintainability, and Capability

NOMCLUST: AN R PACKAGE FOR HIERARCHICAL CLUSTERING OF OBJECTS CHARACTERIZED BY NOMINAL VARIABLES

Process Scheduling CS 241. February 24, Copyright University of Illinois CS 241 Staff

Channel Assignment Strategies for Cellular Phone Systems

The Design and Implementation of Scalable Parallel Haskell

Unit 12: Installing, Configuring and Administering Microsoft Server

Social Network Analysis Based on BSP Clustering Algorithm

Fabio Patrizi DIS Sapienza - University of Rome

Algorithms and Data Structures

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture

In order to be able to design beams, we need both moments and shears. 1. Moment a) From direct design method or equivalent frame method

Classical Electromagnetic Doppler Effect Redefined. Copyright 2014 Joseph A. Rybczyk

IN SITU TESTS FOR SEISMIC ASSESSMENT OF R.C. STRUCTURES

Earthquake Loss for Reinforced Concrete Building Structures Before and After Fire damage

Semantics and Verification of Software

Pattern Recognition Techniques in Microarray Data Analysis

Dynamic Programming. Lecture Overview Introduction

Comparative Analysis of Congestion Control Algorithms Using ns-2

Revista Brasileira de Ensino de Fsica, vol. 21, no. 4, Dezembro, Surface Charges and Electric Field in a Two-Wire

Interpretable Fuzzy Modeling using Multi-Objective Immune- Inspired Optimization Algorithms

User Manual. Crystal Report Integration

Microcontroller Based PWM Controlled Four Switch Three Phase Inverter Fed Induction Motor Drive

Procurement auctions are sometimes plagued with a chosen supplier s failing to accomplish a project successfully.

protection p1ann1ng report

[INTERMEDIATE QUICKBOOKS FOR NONPROFITS] Presented by Ian Shuman, CPA Gelman, Rosenberg & Freedman CPAs October 4, 2011

Srinivas Bollapragada GE Global Research Center. Abstract

Product Tracking System Error/Warning Messages

In this chapter, we ll see state diagrams, an example of a different way to use directed graphs.

Scheduling for QoS Management

CPU Scheduling. Core Definitions

SCALABILITY AND AVAILABILITY

Impedance Method for Leak Detection in Zigzag Pipelines

Asymmetric Error Correction and Flash-Memory Rewriting using Polar Codes

Henley Business School at Univ of Reading. Chartered Institute of Personnel and Development (CIPD)

W4118 Operating Systems. Instructor: Junfeng Yang

Secondary Storage. Any modern computer system will incorporate (at least) two levels of storage: magnetic disk/optical devices/tape systems

SUBSTRUCTURE EXAMPLE. Full Height Abutment on Spread Footing

6.852: Distributed Algorithms Fall, Class 2

Customer Efficiency, Channel Usage and Firm Performance in Retail Banking

How To Fator

Pitfalls of Object Oriented Programming

Using Live Chat in your Call Centre

Impact Simulation of Extreme Wind Generated Missiles on Radioactive Waste Storage Facilities

Design Implications for Enterprise Storage Systems via Multi-Dimensional Trace Analysis

3 Game Theory: Basic Concepts

Scheduling Algorithms

Heron s Formula. Key Words: Triangle, area, Heron s formula, angle bisectors, incenter

Genome Analysis in a Dynamically Scaled Hybrid Cloud

Implementation of PIC Based LED Displays

Lemon Signaling in Cross-Listings Michal Barzuza*

A hierarchical multicriteria routing model with traffic splitting for MPLS networks

Credit volatility : Options and beyond

IT Essentials II: Network Operating Systems

Henley Business School at Univ of Reading. Pre-Experience Postgraduate Programmes Chartered Institute of Personnel and Development (CIPD)

When Betting Odds and Credences Come Apart: More Worries for Dutch Book Arguments

Transcription:

Conurrent Data Strutures Semantis and Quantitative Relaxations Mike Dodds Andreas Haas Tom Henzinger Andreas Holzer Christoph Kirsh Mihael Lippautz Hannes Payer Ali Sezgin Ana Sokolova University of York University of Salzburg IST Austria TU Vienna University of Salzburg University of Salzburg University of Salzburg IST Austria University of Salzburg FRIDA, VSL 23.7.2014

Semantis of sequential data strutures e.g. pools, queues, staks Sequential speifiation - set of legal sequenes Stak - legal sequene push(a)push(b)pop(b)

Semantis of onurrent data strutures Stak - legal sequene push(a)push(b)pop(b) Sequential speifiation - set of legal sequenes linearizable wrt seq.spe. Consisteny ondition - e.g. linearizability Stak - onurrent history begin-push(a)begin-push(b) end-push(a) end-push(b)begin-pop(b)end-pop(b) Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Consisteny onditions There exists a sequential witness that preserves preedene T1 1 push(a) 3 pop(b) There exists a sequential witness that preserves per-thread preedene sequential onsisteny linearizability T2 2 push(b) There exists a sequential witness that preserves preedene aross quies.state quiesent onsisteny T1 T2 2 push(b) 1 push(a) 3 pop(b) T1 T2 pop(b) push(a) 3 2 1 push(b)

Performane and salability :-))) throughput :-) :-( :- # threads/ores Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Relaxations allow Stak - inorret behavior push(a)push(b)push()pop(a)pop(b) Trading orretness for performane In a ontrolled way with quantitative bounds orret in a relaxed stak... 2-relaxed? 3-relaxed? measure the error from orret behavior

It is interesting Why relax? Provides potential for better performing onurrent implementations Stak k-relaxed stak top b thread 1 thread 2... thread n top k{ } b thread 1 thread 2... thread n a a

Relaxations of onurrent data strutures Quantitative relaxations Henzinger, Kirsh, Payer, Sezgin, S. POPL 2013 Sequential speifiation - set of legal sequenes Consisteny ondition - e.g. linearizability (Quantitative) relaxations Dodds, Sezgin, S. work in progress

Quantitative relaxations (sequential speifiation) What we have Framework for semanti relaxations Generi examples out-of-order / stuttering Conrete relaxation examples Effiient onurrent implementations staks, queues, priority queues,.. / CAS, shared ounter of relaxation instanes

Quantitative relaxations (sequential speifiation) The big piture S * semantis sequential speifiation legal sequenes - methods with arguments

Quantitative relaxations (sequential speifiation) The big piture Sk * S * semantis sequential speifiation legal sequenes relaxed semantis - methods with arguments

Quantitative relaxations (sequential speifiation) The big piture Sk * S *. k. semantis sequential speifiation legal sequenes relaxed semantis - methods with arguments distane? Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Quantitative relaxations (sequential speifiation) Challenge There are natural onrete relaxations... Stak Eah pop pops one of the (k+1)-youngest elements Eah push pushes... k-out-of-order relaxation

Quantitative relaxations (sequential speifiation) Challenge There are natural onrete relaxations... Stak Eah pop pops one of the (k+1)-youngest elements Eah push pushes... makes sense also for queues, priority queues,... k-out-of-order relaxation How is it refleted by a distane between sequenes? one distane for all?

Quantitative relaxations (sequential speifiation) Syntati distanes do not help push(a)[push(i)pop(i)] n push(b)[push(j)pop(j)] m pop(a) is a 1-out-of-order stak sequene top top top b b a...... a a its permutation distane is min(n,m)

Quantitative relaxations (sequential speifiation) Semanti distanes need a notion of state top state States are equivalene lasses of sequenes in S example: for stak push(a)push(b)pop(b)push() push(a)push() Two sequenes in S are equivalent if they have an indistinguishable future a x y u Ủ*. (xu S yu S)

Quantitative relaxations (sequential speifiation) Semantis goes operational S * is the sequential speifiation states labels initial state Stak LTS(S) = (S/,,, [ ] ) with top a push() top a transition relation m [s] [sm] sm S

Quantitative relaxations (sequential speifiation) The framework Start from LTS(S) Add transitions with transition osts Fix a path ost funtion Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Quantitative relaxations (sequential speifiation) The framework Start from LTS(S) - singleton Add transitions with transition osts Fix a path ost funtion Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Quantitative relaxations (sequential speifiation) The framework Start from LTS(S) Add transitions with transition osts Fix a path ost funtion Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Quantitative relaxations (sequential speifiation) The framework Start from LTS(S) Add transitions with transition osts Fix a path ost funtion Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Quantitative relaxations (sequential speifiation) The framework Start from LTS(S) Add transitions with transition osts Fix a path ost funtion distane - minimal ost on all paths labelled by the sequene Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Quantitative relaxations (sequential speifiation) Out-of-order stak Sequene of push s with no mathing pop Canonial representative of a state Add inorret transitions with segment-osts top b a pop(a) 2 top b Possible path ost funtions max, sum,... also more advaned Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Quantitative relaxations (sequential speifiation) Out-of-order queue Sequene of enq s with no mathing deq Canonial representative of a state Add inorret transitions with segment-osts head tail head a b deq() 2 tail a b Possible path ost funtions max, sum,... also more advaned Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Implementations and Performane

Relaxed implementations k-stak Henzinger, Kirsh, Payer, Sezgin, S. POPL 2013 Top Distributed queues / staks Haas, Henzinger, Kirsh, Lippautz, Payer, Sezgin, S. CF 2013 Top1 Top2 Top n

k-stak Performane and Salability omparison 80 -ore mahine 9000 8000 7000 operations/ms (more is better) 6000 5000 4000 3000 2000 1000 0 2 10 20 30 40 50 60 70 80 LS NS number of threads BAG ED RP k-stak (k=80) lok-free segment stak Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Distributed queues Performane and Salability omparison 80 -ore mahine 40000 35000 operations per ms (more is better) 30000 25000 20000 15000 10000 5000 0 2 10 20 30 40 50 60 70 80 LB MS FC WF RD (r=80) SQ (s=80) number of threads BS k-fifo (k=80) US k-fifo (k=80) ED BAG RP LRU DQ (p=80) 1-RR DQ (p=80) 2-RR DQ (p=80) TL-RR DQ (p=80) 1-RA DQ (p=80) 2-RA DQ (p=80) Ana Sokolova University of Salzburg FRIDA, VSL 23.7.2014

Linearizability revisited Bad performane also relaxes semantis T1 push(a) pop(?) may return a or b T2 push(a) push(b) The slower the implementation, the more nondeterminism T1 T2 push(b) pop(?) must return a Semantis vs. performae omparison (Con 2 Coli testing) Haas, Henzinger, Holzer, Kirsh, S. work in progress