how to implement any concurrent data structure
|
|
- Holly Howard
- 5 years ago
- Views:
Transcription
1 how to implement any concurrent data structure marcos k. aguilera vmware jointly with irina calciu siddhartha sen mahesh balakrishnan
2 Where to find more information about this work How to Implement Any Concurrent Data Structure. By Irina Calciu, Siddhartha Sen, Mahesh Balakrishnan, Marcos K. Aguilera. Communications of the ACM, 2018 Black-box Concurrent Data Structures for NUMA Architectures. Irina Calciu, Siddhartha Sen, Mahesh Balakrishnan, Marcos K. Aguilera. ASPLOS, 2017
3 concurrent data structures are everywhere kernel application libraries applications
4 but efficient ones are hard to design locks transactional memory lock-free and wait-free
5 effort in The Future(s) of Shared Data Structures Alex Kogan and Maurice Herlihy PODC 2014 Concurrent Updates with RCU: Search Tree as an Example Maya Arbel and Hagit Attiya PODC 2014 Dynamic-Sized Nonblocking Hash Tables Yujie Liu, Kunlong Zhang and Michael Spear PODC 2014 Efficient Lock-free Binary Search Trees Bapi Chatterjee, Nhan Nguyen and Philippas Tsigas PODC 2014 The Amortized Complexity of Non-blocking Binary Search Trees Faith Ellen, Panagiota Fatourou, Joanna Helga and Eric Ruppert PODC 2014 The Adaptive Priority Queue with Elimination and Combining Irina Calciu, Hammurabi Mendes and Maurice Herlihy DISC 2014 Solo-fast Universal Constructions for Deterministic Abortable Objects Claire Capdevielle, Colette Johnen and Alessia Milani DISC 2014 On Deterministic Abortable Objects Vassos Hadzilacos and Sam Toueg PODC 2013 Leaplist: Lessons Learned in Designing TM-Supported Range Queries Hillel Avni, Nir Shavit, and Adi Suissa PODC 2013 The SkipTrie: Low-Depth Concurrent Search without Rebalancing Rotem Oshman and Nir Shavit PODC 2013 Pragmatic Primitives for Non-blocking Data Structures Trevor Brown, Faith Ellen, and Eric Ruppert PODC 2013 Lock-Free Data Structure Iterators Erez Petrank and Shahar Timnat DISC 2013 Practical Non-blocking Unordered Lists Kunlong Zhang, Yujiao Zhao, Yajun Yang, Yujie Liu and Michael Spear DISC 2013 Atomic snapshots in expected $O(\log^3 n)$ steps using randomized helping James Aspnes and Keren Censor-Hillel DISC 2013 An Optimal Implementation of Fetch-and-Increment Faith Ellen and Philipp Woelfel DISC 2013 On the Time and Space Complexity of Randomized Test-And-Set George Giakkoupis and Philipp Woelfel PODC 2012 Universal Constructions that Ensure Disjoint-Access Parallelism and Wait- Freedom Faith Ellen, Panagiota Fatourou, Eleftherios Kosmas, Alessia Milani, and Corentin Travers PODC 2012 Faster than Optimal Snapshots (for a While) James Aspnes, Hagit Attiya, Keren Censor-Hillel, and Faith Ellen PODC 2012 Strongly Linearizable Implementations: Possibilities and Impossibilities Maryam Helmi, Lisa Higham, and Philipp Woelfel PODC 2012 CBTree: A Practical Concurrent Self-Adjusting Search Tree Yehuda Afek, Haim Kaplan, Boris Korenfeld, Adam Morrison, Robert E. Tarjan DISC 2012 Efficient Fetch-and-Increment Faith Ellen, Vijaya Ramachandran, Philipp Woelfel DISC 2012
6 problems with concurrent data structure design herculean effort for each data structure rigid designs an even greater problem
7 problems with concurrent data structure design herculean effort for each data structure rigid designs an even greater problem new hardware architectures
8 our options? 1. underutilize the system 2. develop new data structures for each new architecture 3. we think there is a better way
9 architecture-aware black-box data structures transformation 1 architecture 1 sequential data structures transformation 2 architecture 2 transformation 3 architecture 3
10 architecture-aware black-box data structures FOCUS OF REST OF TALK transformation 1 NUMA architecture architecture 1 sequential data structures transformation 2 architecture 2 transformation 3 architecture 3
11 the NR algorithm
12 NUMA architecture Non-Uniform Memory Access node node core core core core core core core core cache cache cache cache cache cache cache cache cache cache memory memory local access more efficient
13 evaluation Intel Xeon E7-4850v3 56 cores, 4 nodes 2.2 GHz 512 GB RAM L3 35 MB L2 256 KB L1 64 KB
14 skip list priority queue 10% updates X (NR) Node Replication (FC+) FC + RWL (RWL) Readers-Writer Lock (LF) Lock-free X (FC) Flat Combining (SL) Spinlock 60 ops/us # threads
15 data structure in REDIS: 10% updates X (NR) Node Replication (FC+) FC + RWL (RWL) Readers-Writer Lock X (FC) Flat Combining (SL) Spinlock 6 ops/us # threads
16 the transformation given single-threaded execute(op,parameters) isreadonly(op) we produce multi-threaded execute(op,parameters) works well in NUMA servers
17 key ideas 1. replicate data structure across (NUMA) nodes state machine approach with a shared log 2. provide efficient NUMA-aware log large effort to optimize log
18 the transformation NUMA Node Local Replica NUMA Node Local Replica Thread Thread Thread Thread
19 the transformation NUMA Node Local Replica Shared Log NUMA Node Local Replica Local Tail Local Tail Thread Thread LogTail Thread Thread
20 how to implement log? key observation coordination within node cheaper than across nodes within node: we use flat combining across nodes: we use lock-free appending to log
21 correctness linearizability [Herlihy Wing 1990]: each operation appears to take effect instantaneously at a point between its invocation and response
22 whence performance comes trade memory + computation for less communication compact representation of operations limited cross-node synchronization and contention enable parallelism combiners across nodes readers within a node readers and the combiner on the same node leverage batching 22
23 conclusion fundamental changes in hardware exposed to software developers take-away: instead of individual data structures, let s develop general architecture-aware techniques
Linearizable Iterators
Linearizable Iterators Supervised by Maurice Herlihy Abstract Petrank et. al. [5] provide a construction of lock-free, linearizable iterators for lock-free linked lists. We consider the problem of extending
More informationarxiv: v1 [cs.dc] 8 May 2017
Towards Reduced Instruction Sets for Synchronization arxiv:1705.02808v1 [cs.dc] 8 May 2017 Rati Gelashvili MIT gelash@mit.edu Alexander Spiegelman Technion sashas@tx.technion.ac.il Idit Keidar Technion
More informationCache-Aware Lock-Free Queues for Multiple Producers/Consumers and Weak Memory Consistency
Cache-Aware Lock-Free Queues for Multiple Producers/Consumers and Weak Memory Consistency Anders Gidenstam Håkan Sundell Philippas Tsigas School of business and informatics University of Borås Distributed
More informationHow Hard Is It to Take a Snapshot?
How Hard Is It to Take a Snapshot? Faith Ellen Fich University of Toronto Toronto, Canada fich@cs.utoronto.ca Abstract. The snapshot object is an important and well-studied primitive in distributed computing.
More informationAdvanced Multiprocessor Programming Project Topics and Requirements
Advanced Multiprocessor Programming Project Topics and Requirements Jesper Larsson Trä TU Wien May 5th, 2017 J. L. Trä AMP SS17, Projects 1 / 21 Projects Goal: Get practical, own experience with concurrent
More informationBuilding Efficient Concurrent Graph Object through Composition of List-based Set
Building Efficient Concurrent Graph Object through Composition of List-based Set Sathya Peri Muktikanta Sa Nandini Singhal Department of Computer Science & Engineering Indian Institute of Technology Hyderabad
More informationCost of Concurrency in Hybrid Transactional Memory. Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University)
Cost of Concurrency in Hybrid Transactional Memory Trevor Brown (University of Toronto) Srivatsan Ravi (Purdue University) 1 Transactional Memory: a history Hardware TM Software TM Hybrid TM 1993 1995-today
More informationFrom Lock-Free to Wait-Free: Linked List. Edward Duong
From Lock-Free to Wait-Free: Linked List Edward Duong Outline 1) Outline operations of the locality conscious linked list [Braginsky 2012] 2) Transformation concept from lock-free -> wait-free [Timnat
More informationTransactional Interference-less Balanced Tree
Transactional Interference-less Balanced Tree Ahmed Hassan, Roberto Palmieri, Binoy Ravindran To cite this version: Ahmed Hassan, Roberto Palmieri, Binoy Ravindran. Transactional Interference-less Balanced
More informationSection 4 Concurrent Objects Correctness, Progress and Efficiency
Section 4 Concurrent Objects Correctness, Progress and Efficiency CS586 - Panagiota Fatourou 1 Concurrent Objects A concurrent object is a data object shared by concurrently executing processes. Each object
More informationRelationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems
Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems James Aspnes, Yale University Faith Ellen Fich, University of Toronto Eric Ruppert, York University Anonymity
More informationPartial Snapshot Objects
Partial Snapshot Objects Hagit Attiya Technion Rachid Guerraoui EPFL Eric Ruppert York University ABSTRACT We introduce a generalization of the atomic snapshot object, which we call the partial snapshot
More informationWTTM 2012, the fourth workshop on the theory of transactional memory
WTTM 2012, the fourth workshop on the theory of transactional memory Vincent Gramoli, Alessia Milani To cite this version: Vincent Gramoli, Alessia Milani. WTTM 2012, the fourth workshop on the theory
More informationLock Oscillation: Boosting the Performance of Concurrent Data Structures
Lock Oscillation: Boosting the Performance of Concurrent Data Structures Panagiota Fatourou FORTH ICS & University of Crete Nikolaos D. Kallimanis FORTH ICS The Multicore Era The dominance of Multicore
More informationShared Objects. Shared Objects
Shared Objects Shared Objects Invoked operations have a non-zero duration Invocations can overlap Useful for: modeling distributed shared memory Objects can be combined together to implement higher level
More informationUniversal Constructions that Ensure Disjoint-Access Parallelism and Wait-Freedom
Universal Constructions that Ensure Disjoint-Access Parallelism and Wait-Freedom Faith Ellen, Panagiota Fatourou, Eleftherios Kosmas, Alessia Milani, Corentin Travers To cite this version: Faith Ellen,
More informationNon-blocking Array-based Algorithms for Stacks and Queues!
Non-blocking Array-based Algorithms for Stacks and Queues! Niloufar Shafiei! Department of Computer Science and Engineering York University ICDCN 09 Outline! Introduction! Stack algorithm! Queue algorithm!
More informationLinearizability of Persistent Memory Objects
Linearizability of Persistent Memory Objects Michael L. Scott Joint work with Joseph Izraelevitz & Hammurabi Mendes www.cs.rochester.edu/research/synchronization/ Workshop on the Theory of Transactional
More informationThe Space Complexity of Unbounded Timestamps
The Space Complexity of Unbounded Timestamps Faith Ellen 1, Panagiota Fatourou 2, and Eric Ruppert 3 1 University of Toronto, Canada 2 University of Ioannina, Greece 3 York University, Canada Abstract.
More informationShared Memory. Chapter Model
Chapter 5 Shared Memory In distributed computing, various different models exist. So far, the focus of the course was on loosely-coupled distributed systems such as the Internet, where nodes asynchronously
More informationApproximate Shared-Memory Counting Despite a Strong Adversary
Despite a Strong Adversary James Aspnes Keren Censor Processes can read and write shared atomic registers. Read on an atomic register returns value of last write. Timing of operations is controlled by
More informationUniversal Constructions that Ensure Disjoint-Access Parallelism and Wait-Freedom
Universal Constructions that Ensure Disjoint-Access Parallelism and Wait-Freedom Faith Ellen University of Toronto faith@cs.toronto.edu Alessia Milani University of Bordeaux milani@labri.fr Panagiota Fatourou
More informationffwd: delegation is (much) faster than you think Sepideh Roghanchi, Jakob Eriksson, Nilanjana Basu
ffwd: delegation is (much) faster than you think Sepideh Roghanchi, Jakob Eriksson, Nilanjana Basu int get_seqno() { } return ++seqno; // ~1 Billion ops/s // single-threaded int threadsafe_get_seqno()
More informationOf Concurrent Data Structures and Iterations
Of Concurrent Data Structures and Iterations Yiannis Nikolakopoulos 1, Anders Gidenstam 2, Marina Papatriantafilou 1(B), and Philippas Tsigas 1 1 Chalmers University of Technology, Gothenburg, Sweden {ioaniko,ptrianta,tsigas}@chalmers.se
More informationReducing contention in STM
Reducing contention in STM Panagiota Fatourou Department of Computer Science University of Crete & FORTH ICS faturu@csd.uoc.gr Mykhailo Iaremko 1 Institute of Computer Science (ICS) Foundation for Research
More informationReduced Hardware Lock Elision
Reduced Hardware Lock Elision Yehuda Afek Tel-Aviv University afek@post.tau.ac.il Alexander Matveev MIT matveeva@post.tau.ac.il Nir Shavit MIT shanir@csail.mit.edu Abstract Hardware lock elision (HLE)
More informationCost of Concurrency in Hybrid Transactional Memory
Cost of Concurrency in Hybrid Transactional Memory Trevor Brown 1 and Srivatsan Ravi 2 1 Technion, Israel Institute of Technology, Haifa, Israel me@tbrown.pro 2 University of Southern California, Los Angeles,
More informationA Consistency Framework for Iteration Operations in Concurrent Data Structures
A Consistency Framework for Iteration Operations in Concurrent Data Structures Yiannis Nikolakopoulos, Anders Gidenstam, Marina Papatriantafilou, Philippas Tsigas Chalmers University of Technology, Gothenburg,
More informationA ThreadScan: Automatic and Scalable Memory Reclamation
A ThreadScan: Automatic and Scalable Memory Reclamation DAN ALISTARH, ETH Zurich WILLIAM LEISERSON, MIT ALEXANDER MATVEEV, MIT NIR SHAVIT, MIT 1. INTRODUCTION An important principle for data structure
More informationLock-Free and Practical Doubly Linked List-Based Deques using Single-Word Compare-And-Swap
Lock-Free and Practical Doubly Linked List-Based Deques using Single-Word Compare-And-Swap Håkan Sundell Philippas Tsigas OPODIS 2004: The 8th International Conference on Principles of Distributed Systems
More informationA Polylogarithmic Concurrent Data Structures from Monotone Circuits
A Polylogarithmic Concurrent Data Structures from Monotone Circuits JAMES ASPNES, Yale University HAGIT ATTIYA, Technion KEREN CENSOR-HILLEL, MIT The paper presents constructions of useful concurrent data
More informationPERFORMANCE ANALYSIS AND OPTIMIZATION OF SKIP LISTS FOR MODERN MULTI-CORE ARCHITECTURES
PERFORMANCE ANALYSIS AND OPTIMIZATION OF SKIP LISTS FOR MODERN MULTI-CORE ARCHITECTURES Anish Athalye and Patrick Long Mentors: Austin Clements and Stephen Tu 3 rd annual MIT PRIMES Conference Sequential
More informationFaster than Optimal Snapshots (for a While)
Faster than Optimal Snapshots (for a While) Preliminary Version ABSTRACT James Aspnes Department of Computer Science, Yale University aspnes@cs.yale.edu Keren Censor-Hillel Computer Science and Artificial
More informationDisjoint- Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations
Disjoint- Access Parallelism: Impossibility, Possibility, and Cost of Transactional Memory Implementations Sebastiano Peluso, Roberto Palmieri, Paolo Romano 2, Binoy Ravindran and Francesco Quaglia 3 2
More informationNUMA-Aware Reader-Writer Locks PPoPP 2013
NUMA-Aware Reader-Writer Locks PPoPP 2013 Irina Calciu Brown University Authors Irina Calciu @ Brown University Dave Dice Yossi Lev Victor Luchangco Virendra J. Marathe Nir Shavit @ MIT 2 Cores Chip (node)
More informationTransactional Memory
Transactional Memory Michał Kapałka EPFL, LPD STiDC 08, 1.XII 2008 Michał Kapałka (EPFL, LPD) Transactional Memory STiDC 08, 1.XII 2008 1 / 25 Introduction How to Deal with Multi-Threading? Locks? Wait-free
More informationUsing Elimination and Delegation to Implement a Scalable NUMA-Friendly Stack
Using Elimination and Delegation to Implement a Scalable NUMA-Friendly Stack Irina Calciu Brown University irina@cs.brown.edu Justin E. Gottschlich Intel Labs justin.e.gottschlich@intel.com Maurice Herlihy
More informationPractical Parallel Data Structures. Shahar Timnat
Practical Parallel Data Structures Shahar Timnat Practical Parallel Data Structures Research Thesis Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy Shahar Timnat
More informationFaster Concurrent Range Queries with Contention Adapting Search Trees Using Immutable Data
Faster Concurrent Range Queries with Contention Adapting Search Trees Using Immutable Data Kjell Winblad Department of Information Technology, Uppsala University, Sweden kjell.winblad@it.uu.se Abstract
More informationarxiv: v1 [cs.dc] 31 Oct 2018
A Concurrent Unbounded Wait-Free Graph Sathya Peri, Chandra Kiran Reddy, Muktikanta Sa Department of Computer Science & Engineering Indian Institute of Technology Hyderabad, India {sathya p, cs15btech11012,
More informationOptimization of thread affinity and memory affinity for remote core locking synchronization in multithreaded programs for multicore computer systems
Optimization of thread affinity and memory affinity for remote core locking synchronization in multithreaded programs for multicore computer systems Alexey Paznikov Saint Petersburg Electrotechnical University
More informationFast and Lock-Free Concurrent Priority Queues for Multi-Thread Systems
Fast and Lock-Free Concurrent Priority Queues for Multi-Thread Systems Håkan Sundell Philippas Tsigas Outline Synchronization Methods Priority Queues Concurrent Priority Queues Lock-Free Algorithm: Problems
More informationImportant Lessons. A Distributed Algorithm (2) Today's Lecture - Replication
Important Lessons Lamport & vector clocks both give a logical timestamps Total ordering vs. causal ordering Other issues in coordinating node activities Exclusive access to resources/data Choosing a single
More informationarxiv: v1 [cs.dc] 5 Aug 2014
The Adaptive Priority Queue with Elimination and Combining arxiv:1408.1021v1 [cs.dc] 5 Aug 2014 Irina Calciu, Hammurabi Mendes, and Maurice Herlihy Department of Computer Science Brown University 115 Waterman
More informationLightweight Contention Management for Efficient Compare-and-Swap Operations
Lightweight Contention Management for Efficient Compare-and-Swap Operations Dave Dice 1, Danny Hendler 2 and Ilya Mirsky 3 1 Sun Labs at Oracle 2 Ben-Gurion University of the Negev and Telekom Innovation
More informationImplementing Shared Registers in Asynchronous Message-Passing Systems, 1995; Attiya, Bar-Noy, Dolev
Implementing Shared Registers in Asynchronous Message-Passing Systems, 1995; Attiya, Bar-Noy, Dolev Eric Ruppert, York University, www.cse.yorku.ca/ ruppert INDEX TERMS: distributed computing, shared memory,
More informationThe Relative Power of Synchronization Methods
Chapter 5 The Relative Power of Synchronization Methods So far, we have been addressing questions of the form: Given objects X and Y, is there a wait-free implementation of X from one or more instances
More informationReplacing Competition with Cooperation to Achieve Scalable Lock-Free FIFO Queues
Replacing Competition with Cooperation to Achieve Scalable Lock-Free FIFO Queues Thomas A. Henzinger and Hannes Payer and Ali Sezgin Technical Report No. IST-2013-124-v1+1 Deposited at 13 Jun 2013 11:52
More informationViper: Communication-Layer Determinism and Scaling in Low-Latency Stream Processing
Viper: Communication-Layer Determinism and Scaling in Low-Latency Stream Processing Ivan Walulya, Yiannis Nikolakopoulos, Vincenzo Gulisano Marina Papatriantafilou and Philippas Tsigas Auto-DaSP 2017 Chalmers
More informationResearch Statement Rati Gelashvili
Research Statement Rati Gelashvili Introduction Distributed algorithms govern some of the most complex systems in the world, from data center clusters to multicore computing devices to biological systems.
More informationIndistinguishability: Friend and Foe of Concurrent Data Structures. Hagit Attiya CS, Technion
Indistinguishability: Friend and Foe of Concurrent Data Structures Hagit Attiya CS, Technion Uncertainty is a main obstacle for designing correct applications in concurrent systems Formally captured by
More informationTransactions are Back but How Different They Are?
Transactions are Back but How Different They Are? Relating STM and Databases Consistency Conditions (Preliminary Version) Hagit Attiya Technion hagit@cs.technion.ac.il Sandeep Hans Technion sandeep@cs.technion.ac.il
More informationAllocating memory in a lock-free manner
Allocating memory in a lock-free manner Anders Gidenstam, Marina Papatriantafilou and Philippas Tsigas Distributed Computing and Systems group, Department of Computer Science and Engineering, Chalmers
More informationA Wait-free Multi-word Atomic (1,N) Register for Large-scale Data Sharing on Multi-core Machines
A Wait-free Multi-word Atomic (1,N) Register for Large-scale Data Sharing on Multi-core Machines Mauro Ianni, Alessandro Pellegrini DIAG Sapienza Università di Roma, Italy Email: {mianni,pellegrini}@dis.uniroma1.it
More informationFully-Adaptive Algorithms for Long-Lived Renaming
Fully-Adaptive Algorithms for Long-Lived Renaming Alex Brodsky 1, Faith Ellen 2, and Philipp Woelfel 2 1 Dept. of Applied Computer Science, University of Winnipeg, Winnipeg, Canada, a.brodsky@uwinnipeg.ca
More informationAlgorithms that Adapt to Contention
Algorithms that Adapt to Contention Hagit Attiya Department of Computer Science Technion June 2003 Adaptive Algorithms / Hagit Attiya 1 Fast Mutex Algorithm [Lamport, 1986] In a well-designed system, most
More informationarxiv: v1 [cs.dc] 24 May 2013
Lightweight Contention Management for Efficient Compare-and-Swap Operations Dave Dice 1, Danny Hendler 2 and Ilya Mirsky 2 1 Sun Labs at Oracle 2 Ben-Gurion University of the Negev arxiv:1305.5800v1 [cs.dc]
More informationNUMA-aware Reader-Writer Locks. Tom Herold, Marco Lamina NUMA Seminar
04.02.2015 NUMA Seminar Agenda 1. Recap: Locking 2. in NUMA Systems 3. RW 4. Implementations 5. Hands On Why Locking? Parallel tasks access shared resources : Synchronization mechanism in concurrent environments
More informationSoftware transactional memory
Transactional locking II (Dice et. al, DISC'06) Time-based STM (Felber et. al, TPDS'08) Mentor: Johannes Schneider March 16 th, 2011 Motivation Multiprocessor systems Speed up time-sharing applications
More informationFork Sequential Consistency is Blocking
Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer May 14, 2008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage
More informationk-abortable Objects: Progress Under High Contention
k-abortable Objects: Progress Under High Contention Naama Ben-David 1, David Yu Cheng Chan 2(B), Vassos Hadzilacos 2, and Sam Toueg 2 1 Carnegie Mellon University, Pittsburgh, PA 15213, USA naama@cmu.edu
More informationk-abortable Objects: Progress under High Contention
k-abortable Objects: Progress under High Contention Naama Ben-David 1, David Yu Cheng Chan 2, Vassos Hadzilacos 2, and Sam Toueg 2 Carnegie Mellon University 1 University of Toronto 2 Outline Background
More informationThe Google File System
October 13, 2010 Based on: S. Ghemawat, H. Gobioff, and S.-T. Leung: The Google file system, in Proceedings ACM SOSP 2003, Lake George, NY, USA, October 2003. 1 Assumptions Interface Architecture Single
More informationNVMe Over Fabrics: Scaling Up With The Storage Performance Development Kit
NVMe Over Fabrics: Scaling Up With The Storage Performance Development Kit Ben Walker Data Center Group Intel Corporation 2018 Storage Developer Conference. Intel Corporation. All Rights Reserved. 1 Notices
More informationFork Sequential Consistency is Blocking
Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer Novembe4, 008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage
More informationSolo-Valency and the Cost of Coordination
Solo-Valency and the Cost of Coordination Danny Hendler Nir Shavit November 21, 2007 Abstract This paper introduces solo-valency, a variation on the valency proof technique originated by Fischer, Lynch,
More informationCLOUD-SCALE FILE SYSTEMS
Data Management in the Cloud CLOUD-SCALE FILE SYSTEMS 92 Google File System (GFS) Designing a file system for the Cloud design assumptions design choices Architecture GFS Master GFS Chunkservers GFS Clients
More informationFast and Scalable Rendezvousing
Fast and Scalable Rendezvousing Yehuda Afek, Michael Hakimi, and Adam Morrison School of Computer Science Tel Aviv University Abstract. In an asymmetric rendezvous system, such as an unfair synchronous
More informationarxiv: v1 [cs.dc] 22 May 2014
Inherent Limitations of Hybrid Transactional Memory Dan Alistarh 1 Justin Kopinsky 4 Petr Kuznetsov 2 Srivatsan Ravi 3 Nir Shavit 4,5 1 Microsoft Research, Cambridge 2 Télécom ParisTech 3 TU Berlin 4 Massachusetts
More informationLinearizability of Persistent Memory Objects
Linearizability of Persistent Memory Objects Michael L. Scott Joint work with Joseph Izraelevitz & Hammurabi Mendes www.cs.rochester.edu/research/synchronization/ Compiler-Driven Performance Workshop,
More informationCBTree: A Practical Concurrent Self-adjusting Search Tree
CBTree: A Practical Concurrent Self-adjusting Search Tree Yehuda Afek 1, Haim Kaplan 1, Boris Korenfeld 1, Adam Morrison 1, and Robert E. Tarjan 2 1 Blavatnik School of Computer Science, Tel Aviv University
More informationConcurrent Data Structures Concurrent Algorithms 2016
Concurrent Data Structures Concurrent Algorithms 2016 Tudor David (based on slides by Vasileios Trigonakis) Tudor David 11.2016 1 Data Structures (DSs) Constructs for efficiently storing and retrieving
More informationWait-Free Multi-Word Compare-And-Swap using Greedy Helping and Grabbing
Wait-Free Multi-Word Compare-And-Swap using Greedy Helping and Grabbing H. Sundell 1 1 School of Business and Informatics, University of Borås, Borås, Sweden Abstract We present a new algorithm for implementing
More informationBQ: A Lock-Free Queue with Batching
BQ: A Lock-Free Queue with Batching Gal Milman Technion, Israel galy@cs.technion.ac.il Alex Kogan Oracle Labs, USA alex.kogan@oracle.com Yossi Lev Oracle Labs, USA levyossi@icloud.com ABSTRACT Victor Luchangco
More informationA Practical Transactional Memory Interface
A Practical Transactional Memory Interface Shahar Timnat 1, Maurice Herlihy 2, and Erez Petrank 1 1 Computer Science Department, Technion, 2 Computer Science Department, Brown University Abstract. Hardware
More informationAdvance Operating Systems (CS202) Locks Discussion
Advance Operating Systems (CS202) Locks Discussion Threads Locks Spin Locks Array-based Locks MCS Locks Sequential Locks Road Map Threads Global variables and static objects are shared Stored in the static
More informationAn Efficient Wait-free Resizable Hash Table
An Efficient Wait-free Resizable Hash Table Panagiota Fatourou FORTH ICS & University of Crete, Department of Computer Science faturu@csd.uoc.gr Nikolaos D. Kallimanis FORTH ICS nkallima@ics.forth.gr Thomas
More informationarxiv: v2 [cs.dc] 13 Nov 2015
Progressive Transactional Memory in Time and Space arxiv:1502.04908v2 [cs.dc] 13 Nov 2015 Petr Kuznetsov 1 Srivatsan Ravi 2 1 Télécom ParisTech 2 TU Berlin October 12, 2018 Abstract Transactional memory
More informationTopics. File Buffer Cache for Performance. What to Cache? COS 318: Operating Systems. File Performance and Reliability
Topics COS 318: Operating Systems File Performance and Reliability File buffer cache Disk failure and recovery tools Consistent updates Transactions and logging 2 File Buffer Cache for Performance What
More informationarxiv: v1 [cs.ds] 16 Mar 2016
Benchmarking Concurrent Priority Queues: Performance of k-lsm and Related Data Structures [Brief Announcement] Jakob Gruber TU Wien, Austria gruber@par.tuwien.ac.at Jesper Larsson Träff TU Wien, Austria
More informationAgenda. Designing Transactional Memory Systems. Why not obstruction-free? Why lock-based?
Agenda Designing Transactional Memory Systems Part III: Lock-based STMs Pascal Felber University of Neuchatel Pascal.Felber@unine.ch Part I: Introduction Part II: Obstruction-free STMs Part III: Lock-based
More informationAbstract of Theory and Applications of Parallelism with Futures by Zhiyu Liu, Ph.D., Brown University, May 2017.
Abstract of Theory and Applications of Parallelism with Futures by Zhiyu Liu, Ph.D., Brown University, May 2017. Futures are an attractive way to structure parallel computations. When a thread creates
More informationGoogle File System. Arun Sundaram Operating Systems
Arun Sundaram Operating Systems 1 Assumptions GFS built with commodity hardware GFS stores a modest number of large files A few million files, each typically 100MB or larger (Multi-GB files are common)
More informationMULTI-THREADED QUERIES
15-721 Project 3 Final Presentation MULTI-THREADED QUERIES Wendong Li (wendongl) Lu Zhang (lzhang3) Rui Wang (ruiw1) Project Objective Intra-operator parallelism Use multiple threads in a single executor
More informationParallel Programming in Distributed Systems Or Distributed Systems in Parallel Programming
Parallel Programming in Distributed Systems Or Distributed Systems in Parallel Programming Philippas Tsigas Chalmers University of Technology Computer Science and Engineering Department Philippas Tsigas
More informationIntroduction. Companion slides for The Art of Multiprocessor Programming by Maurice Herlihy & Nir Shavit
Introduction Companion slides for The by Maurice Herlihy & Nir Shavit Moore s Law Transistor count still rising Clock speed flattening sharply 2 Moore s Law (in practice) 3 Nearly Extinct: the Uniprocesor
More informationConcurrent Computing
Concurrent Computing Introduction SE205, P1, 2017 Administrivia Language: (fr)anglais? Lectures: Fridays (15.09-03.11), 13:30-16:45, Amphi Grenat Web page: https://se205.wp.imt.fr/ Exam: 03.11, 15:15-16:45
More informationDistributed Computing Column Maurice Herlihy s 60th Birthday Celebration
Distributed Computing Column Maurice Herlihy s 60th Birthday Celebration Panagiota Fatourou FORTH ICS & University of Crete faturu@csd.uoc.gr Maurice Herlihy is one of the most renowned members of the
More informationNon-blocking Array-based Algorithms for Stacks and Queues. Niloufar Shafiei
Non-blocking Array-based Algorithms for Stacks and Queues Niloufar Shafiei Outline Introduction Concurrent stacks and queues Contributions New algorithms New algorithms using bounded counter values Correctness
More informationScheduling Transactions in Replicated Distributed Transactional Memory
Scheduling Transactions in Replicated Distributed Transactional Memory Junwhan Kim and Binoy Ravindran Virginia Tech USA {junwhan,binoy}@vt.edu CCGrid 2013 Concurrency control on chip multiprocessors significantly
More informationEarly Foundations of a Transactional Boosting Library for Scala and Java
Early Foundations of a Transactional Boosting Library for Scala and Java A Masters Project Report Authored by Marquita Ellis Supervised by Maurice Herlihy Conducted at Brown University Department of Computer
More informationMulti-threaded Queries. Intra-Query Parallelism in LLVM
Multi-threaded Queries Intra-Query Parallelism in LLVM Multithreaded Queries Intra-Query Parallelism in LLVM Yang Liu Tianqi Wu Hao Li Interpreted vs Compiled (LLVM) Interpreted vs Compiled (LLVM) Interpreted
More informationErasure Coding in Object Stores: Challenges and Opportunities
Erasure Coding in Object Stores: Challenges and Opportunities Lewis Tseng Boston College July 2018, PODC Acknowledgements Nancy Lynch Muriel Medard Kishori Konwar Prakash Narayana Moorthy Viveck R. Cadambe
More informationProgress Guarantees When Composing Lock-Free Objects
Progress Guarantees When Composing Lock-Free Objects Nhan Nguyen Dang and Philippas Tsigas Department of Computer Science and Engineering Chalmers University of Technology Gothenburg, Sweden {nhann,tsigas}@chalmers.se
More informationLock Oscillation: Boosting the Performance of Concurrent Data Structures
Lock Oscillation: Boosting the Performance of Concurrent Data Structures Panagiota Fatourou 1 and Nikolaos D. Kallimanis 2 1 Institute of Computer Science (ICS), Foundation of Research and Technology-Hellas
More informationComputer Architecture
Jens Teubner Computer Architecture Summer 2016 1 Computer Architecture Jens Teubner, TU Dortmund jens.teubner@cs.tu-dortmund.de Summer 2016 Jens Teubner Computer Architecture Summer 2016 83 Part III Multi-Core
More informationConcurrent programming: From theory to practice. Concurrent Algorithms 2015 Vasileios Trigonakis
oncurrent programming: From theory to practice oncurrent Algorithms 2015 Vasileios Trigonakis From theory to practice Theoretical (design) Practical (design) Practical (implementation) 2 From theory to
More informationThe benefits and costs of writing a POSIX kernel in a high-level language
1 / 38 The benefits and costs of writing a POSIX kernel in a high-level language Cody Cutler, M. Frans Kaashoek, Robert T. Morris MIT CSAIL Should we use high-level languages to build OS kernels? 2 / 38
More informationEnhancing Concurrency in Distributed Transactional Memory through Commutativity
Enhancing Concurrency in Distributed Transactional Memory through Commutativity Junwhan Kim, Roberto Palmieri, Binoy Ravindran Virginia Tech USA Lock-based concurrency control has serious drawbacks Coarse
More information6.852: Distributed Algorithms Fall, Class 21
6.852: Distributed Algorithms Fall, 2009 Class 21 Today s plan Wait-free synchronization. The wait-free consensus hierarchy Universality of consensus Reading: [Herlihy, Wait-free synchronization] (Another
More information