Challenges in Concurrent Computing

Slides:



Advertisements
Similar presentations
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
Advertisements

Concurrency Issues Motivation, Problems, Directions Dennis Kafura - CS Operating Systems1.
Synchronization. How to synchronize processes? – Need to protect access to shared data to avoid problems like race conditions – Typical example: Updating.
Concurrent programming: From theory to practice Concurrent Algorithms 2014 Vasileios Trigonakis Georgios Chatzopoulos.
CS492B Analysis of Concurrent Programs Lock Basics Jaehyuk Huh Computer Science, KAIST.
1 Synchronization 2: semaphores and more… 1 Operating Systems, 2011, Danny Hendler & Amnon Meisels.
Chapter 6: Process Synchronization
Background Concurrent access to shared data can lead to inconsistencies Maintaining data consistency among cooperating processes is critical What is wrong.
5.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 5: CPU Scheduling.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 6: Process Synchronization.
Secure Operating Systems Lesson 5: Shared Objects.
Transactional Memory (TM) Evan Jolley EE 6633 December 7, 2012.
1 MetaTM/TxLinux: Transactional Memory For An Operating System Hany E. Ramadan, Christopher J. Rossbach, Donald E. Porter and Owen S. Hofmann Presenter:
Language Support for Lightweight transactions Tim Harris & Keir Fraser Presented by Narayanan Sundaram 04/28/2008.
Department of Computer Science Presenters Dennis Gove Matthew Marzilli The ATOMO ∑ Transactional Programming Language.
SUPPORTING LOCK-FREE COMPOSITION OF CONCURRENT DATA OBJECTS Daniel Cederman and Philippas Tsigas.
1 © R. Guerraoui Seth Gilbert Professor: Rachid Guerraoui Assistants: M. Kapalka and A. Dragojevic Distributed Programming Laboratory.
CS510 Concurrent Systems Introduction to Concurrency.
Programming Paradigms for Concurrency Part 2: Transactional Memories Vasu Singh
Multi-core.  What is parallel programming ?  Classification of parallel architectures  Dimension of instruction  Dimension of data  Memory models.
1 © R. Guerraoui Concurrent Algorithms (Overview) Prof R. Guerraoui Distributed Programming Laboratory.
Transactional Memory Lecturer: Danny Hendler.  Speeding up uni-processors is harder and harder  Intel, Sun (RIP), AMD, IBM now focusing on “multi-core”
Maged M.Michael Michael L.Scott Department of Computer Science Univeristy of Rochester Presented by: Jun Miao.
On the Performance of Window-Based Contention Managers for Transactional Memory Gokarna Sharma and Costas Busch Louisiana State University.
Transactional Memory Lecturer: Danny Hendler. 2 2 From the New York Times…
Wait-Free Multi-Word Compare- And-Swap using Greedy Helping and Grabbing Håkan Sundell PDPTA 2009.
Multiprocessor Synchronization Algorithms ( ) Lecturer: Danny Hendler.
Concurrent Computing Seminar Introductory Lecture Instructor: Danny Hendler
CS510 Concurrent Systems Jonathan Walpole. Introduction to Concurrency.
Concurrency Idea. 2 Concurrency idea Challenge –Print primes from 1 to Given –Ten-processor multiprocessor –One thread per processor Goal –Get ten-fold.
Lecture 5. Example for periority The average waiting time : = 41/5= 8.2.
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Lecture 20: Consistency Models, TM
Multiprocessor Synchronization Algorithms ( )
18-447: Computer Architecture Lecture 30B: Multiprocessors
Advanced Operating Systems CIS 720
Processes and Threads Processes and their scheduling
Håkan Sundell Philippas Tsigas
Multicore Programming Final Review
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
Faster Data Structures in Transactional Memory using Three Paths
A Lock-Free Algorithm for Concurrent Bags
Anders Gidenstam Håkan Sundell Philippas Tsigas
Chapter 4: Threads.
The University of Adelaide, School of Computer Science
Multiprocessor Synchronization Algorithms ( )
Chapter 4: Threads.
Chapter 26 Concurrency and Thread
Yiannis Nikolakopoulos
Shared Memory Programming
Part 1: Concepts and Hardware- Based Approaches
Lecture 22: Consistency Models, TM
Lecture 2 Part 2 Process Synchronization
Does Hardware Transactional Memory Change Everything?
Background and Motivation
CHAPTER 4:THreads Bashair Al-harthi OPERATING SYSTEM
Multithreaded Programming
Software Transactional Memory Should Not be Obstruction-Free
A Concurrent Lock-Free Priority Queue for Multi-Thread Systems
The University of Adelaide, School of Computer Science
Lecturer: Danny Hendler
Lecture 17 Multiprocessors and Thread-Level Parallelism
Lecture 17 Multiprocessors and Thread-Level Parallelism
Lecture: Consistency Models, TM
The University of Adelaide, School of Computer Science
Controlled Interleaving for Transactions
CSC Multiprocessor Programming, Spring, 2011
Chapter 3: Process Management
Lecture 17 Multiprocessors and Thread-Level Parallelism
Presentation transcript:

Challenges in Concurrent Computing Danny Hendler

סמינר מצטיינים, 20 למאי 2012

Moore’s law Exponential growth in computing power סמינר מצטיינים, 20 למאי 2012

The Future of Computing Speeding up uni-processors is harder and harder Intel, Sun (RIP), AMD, IBM now focusing on “multi-core” architectures Already, multiprocessors are everywhere: Desktops Laptop Smart phones Smart TVs ...? How can programmers write correct, efficient and scalable algorithms for multiprocessors? סמינר מצטיינים, 20 למאי 2012

סמינר מצטיינים, 20 למאי 2012

Synchronization alternatives: coarse-grained locks Pros Easy to program Cons Sequential סמינר מצטיינים, 20 למאי 2012

Synchronization alternatives: fine-grained locks Pros Potentially scalable Cons Difficult to program correctly Deadlock Priority inversion Convoying Locks do not compose סמינר מצטיינים, 20 למאי 2012

Synchronization alternatives: nonblocking synchronization Various progress guarantees Wait-freedom, Lock-freedom Obstruction-freedom Generally requires strong synchronization compare-and-swap Load-link/store-conditional Swap, fetch-and-add Pros Potentially scalable Avoids lock-based hazards Cons Extremely difficult to program סמינר מצטיינים, 20 למאי 2012

Synchronization alternatives: Transactional Memory A (memory) transaction is a sequence of memory reads and writes executed by a single thread that either commits or aborts If a transaction commits, all the reads and writes appear to have executed atomically If a transaction aborts, none of its operations take effect Transaction operations aren't visible until they commit (if they do) To be supported soon in hardware by Intel and IBM processors סמינר מצטיינים, 20 למאי 2012

סמינר מצטיינים, 20 למאי 2012

Talk outline Introduction Non-blocking algorithms (separate presentation) Randomized mutual exclusion (separate presentation) Research directions סמינר מצטיינים, 20 למאי 2012

Talk outline Introduction Non-blocking algorithms (separate presentation) Randomized mutual exclusion (separate presentation) Research directions סמינר מצטיינים, 20 למאי 2012

Talk outline Introduction Non-blocking algorithms (separate presentation) Randomized mutual exclusion (separate presentation) Research directions סמינר מצטיינים, 20 למאי 2012

Research directions: practical Devising efficient implementations of transactional memory Includes incorporating OS kernel support Devising efficient and scalable lock-based and non- blocking data structures Some find their way to Java libraries Devising algorithms that use few barrier instructions ... סמינר מצטיינים, 20 למאי 2012

Research directions: theoretical Lower bounds and impossibility results on deterministic and randomized mutual exclusion Lower bounds and impossibility results on concurrent data-structures' (counters, stacks, queues, ...) complexity according to various metrics. Formulating novel realistic metrics for concurrent algorithms and corresponding upper/lower bounds סמינר מצטיינים, 20 למאי 2012

סמינר מצטיינים, 20 למאי 2012