Download presentation
Presentation is loading. Please wait.
1
Challenges in Concurrent Computing
Danny Hendler
2
סמינר מצטיינים, 20 למאי 2012
3
Moore’s law Exponential growth in computing power
סמינר מצטיינים, 20 למאי 2012
4
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
5
סמינר מצטיינים, 20 למאי 2012
6
Synchronization alternatives: coarse-grained locks
Pros Easy to program Cons Sequential סמינר מצטיינים, 20 למאי 2012
7
Synchronization alternatives: fine-grained locks
Pros Potentially scalable Cons Difficult to program correctly Deadlock Priority inversion Convoying Locks do not compose סמינר מצטיינים, 20 למאי 2012
8
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
9
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
10
סמינר מצטיינים, 20 למאי 2012
11
Talk outline Introduction
Non-blocking algorithms (separate presentation) Randomized mutual exclusion (separate presentation) Research directions סמינר מצטיינים, 20 למאי 2012
12
Talk outline Introduction
Non-blocking algorithms (separate presentation) Randomized mutual exclusion (separate presentation) Research directions סמינר מצטיינים, 20 למאי 2012
13
Talk outline Introduction
Non-blocking algorithms (separate presentation) Randomized mutual exclusion (separate presentation) Research directions סמינר מצטיינים, 20 למאי 2012
14
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
15
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
16
סמינר מצטיינים, 20 למאי 2012
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.