View
37
Download
0
Category
Tags:
Preview:
DESCRIPTION
The Future of Concurrency Theory Renaissance or Reformation?. (Met dank aan Maurice Herlihy). Frits Vaandrager. Le Quatorze Juillet. - PowerPoint PPT Presentation
Citation preview
The Future of Concurrency Theory
Renaissance or Reformation?
(Met dank aan Maurice Herlihy)
Frits Vaandrager
Intreedag 2008 2
Le Quatorze Juillet
SAN FRANCISCO, May 7. 2004 - Intel said on Friday that it was scrapping its development of two microprocessors, a move that is a shift in the company's business strategy….
New York Times
Intreedag 2008 3
Moore’s Law
Clock speed
flattening sharply
Transistor count still
rising
Intreedag 2008 44
Still on some of your desktops: The Uniprocesor
memory
cpu
Intreedag 2008 55
In the Enterprise: The Shared Memory
Multiprocessor(SMP)
cache
BusBus
shared memory
cachecache
Intreedag 2008 66
Your New Desktop: The Multicore Processor
(CMP)
cache
BusBus
shared memory
cachecacheAll on the same chip
Sun T2000Niagara
Intreedag 2008 7
Multicores are Here• “Learn how the multi-core processor
architecture plays a central role in Intel's platform approach. ….”
• “AMD is leading the industry to multi-core technology for the x86 based computing market …”
• “Sun's multicore strategy centers around multi-threaded software. ... “
Intreedag 2008 8
Renaissance?• World (re)discovers
Concurrency Theory achievements
• This has already happened (sort-of)
World learns of concurrency results
Intreedag 2008 9
Reformation?• Can we respond to
the Real World’s challenges?
• Are we working on problems that matter?
• Can we recognize what’s going to be important?
Bonfire of the Vanities
Intreedag 2008 10
In Classic Antiquity• Time cured software
bloat• Double your path
length?– Wait 6 months, until– Processor speed
catches up
Intreedag 2008 11
• Multiprocessor companies failed in 80s
• Outstripped by sequential processors
• Field respected, but not taken seriously
Parallelism Didn’t Matter
Intreedag 2008 12
The Old Order Lies in Ruins
• Six months means more cores, same clock speed
• Must exploit more parallelism
• No one really knows how to do this
Intreedag 2008 13
What Keeps Microsoft and Intel awake at Night?
• If more cores does not deliver more value …
• Then why upgrade?
?
Intreedag 2008 14
Washing Machine Science?• Computers could
become like washing machines
• You don’t trade it in every 2 years for a cooler model
• You keep it until it breaks
Intreedag 2008 15
No Cores Please, we’re Theorists!
• Computer Science is driven by Moore’s law
• Each year we can do things we couldn’t do last year
• Means funding, students, excitement
!
Intreedag 2008 16
With Sudden Relevance Comes Great Responsibility
• Many challenges involve– Concurrent algorithms– Data structures– Formal models– Complexity & lower bounds,– …
• Stuff we’re good at.
Intreedag 2008 17
Concurrent Programming Today
Intreedag 2008 18
Coarse-Grained Locking
Easily made correct …But not scalable.
Intreedag 2008 19
Fine-Grained Locking
Here comes trouble …
Intreedag 2008 20
Locks are not Robust
If a thread holdinga lock is delayed
…
No one else can make progress
Intreedag 2008 21
Intreedag 2008 22
Locking Relies on Conventions
• Relation between– Lock bit and object bits– Exists only in programmer’s mind
/* * When a locked buffer is visible to the I/O layer * BH_Launder is set. This means before unlocking * we must clear BH_Launder,mb() on alpha and then * clear BH_Lock, so no reader can see BH_Launder set * on an unlocked buffer and then risk to deadlock. */
Actual comment from Linux
Kernel(hat tip: Bradley Kuszmaul)
Intreedag 2008 23
Sadistic Homework
enq(x) deq(y)FIFO queue
No interference if ends “far
enough” apart
Intreedag 2008 24
Sadistic Homework
enq(x) deq(y)FIFO queue
Interference OK if ends “close
enough” together
Intreedag 2008 25
You Try It …
• One lock?– Too Conservative
• Locks at each end?– Deadlock, too
complicated, etc
• Publishable result?– Once, maybe still?
Intreedag 2008 26
Downey’s Room Party Problem
“A dean of students should keep order in the students' house. In order to do this, he can enter a room with too many students (in order to break up a too large party) or he can enter an empty room to conduct a search. Otherwise, the dean may not enter a room. If the dean is in a room, no additional students may enter, but students may leave. In that case, the dean has to stay until all students have left.There is only one dean, and no limitation on the number of students in one room.”
Intreedag 2008 27
Don’t be ShyMarc Schoolderman (first year CS student from Nijmegen) discovered bugs in published “solution” of Downey using a model checker
Intreedag 2008 28
The Transactional Manifesto
• What we do now is inadequate to meet the multicore challenge
• Research Agenda– Replace locking with a transactional API – Design languages to support this model– Implement the run-time to be fast
enough
Intreedag 2008 2929
Public void enq(item x) { Qnode q = new Qnode(x); q.next = this.tail; this.tail.next = q;}
Sadistic Homework Revisited
(1)
Write sequential Code
Intreedag 2008 3030
Public void LeftEnq(item x) { atomic { Qnode q = new Qnode(x); q.next = this.tail; this.tail.next = q; }}
Sadistic Homework Revisited
(1)
Intreedag 2008 3131
Public void LeftEnq(item x) { atomic { Qnode q = new Qnode(x); q.next = this.tail; this.tail.next = q; }}
Sadistic Homework Revisited
(1)
Enclose in atomic block
Intreedag 2008 3232
Warning• Not always this
simple– Conditional waits– Enhanced concurrency– Complex patterns
• But often it is– Works for sadistic
homework
Intreedag 2008 3333
Public void Transfer(Queue<T> q1, q2){ atomic { T x = q1.deq(); q2.enq(x); }}
Composition
(1)
Trivial or what?
Intreedag 2008 34
Not All Skittles and Beer• Algorithmic choices
– Lower bounds– Better algorithms
• Language design• Semantic issues
– Like memory models
– Atomicity checking
Intreedag 2008 35
Contention Management & Scheduling
• How to resolve conflicts?
• Who moves forward and who rolls back?
• Lots of empirical work but formal work in infancy Judgment of Solomon
Intreedag 2008 36
Strong vs Weak Isolation
• How do transactional & non-transactional threads synchronize?
• Similar to memory-model theory?
• Efficient algorithms?
Intreedag 2008 37
Single Global Lock Semantics?
• Transactions act as if it acquires SGL
• Good:– Intuitively appealing
• Bad:– What about aborted
transactions?– Expensive?
• Need better models
Intreedag 2008 38
Formal Models of Performance
• Asynchrony
Intreedag 2008 39
Formal Models of Performance
• Asynchrony• Multi-level
Memory
Intreedag 2008 40
Formal Models of Performance
• Asynchrony• Multi-level
Memory• Contention
Intreedag 2008 41
Formal Verification• Concurrent
algorithms are hard
• Need routine verification of real algorithms
• Model checking?• Theorem proving?• Probably both
Intreedag 2008 42
An Insurmountable Opportunity!
• Multicore forces us to rethink almost everything
Intreedag 2008 43
An Insurmountable Opportunity!
• Multicore forces us to rethink almost everything
• The fate of CS as a vibrant field depends on our success
Intreedag 2008 44
An Insurmountable Opportunity!
• Multicore forces us to rethink almost everything
• The fate of CS as a vibrant field depends on our success
• Concurrency theory has unique insights & advantages
Intreedag 2008 45
An Insurmountable Opportunity!
• Multicore forces us to rethink almost everything
• The fate of CS as a vibrant field depends on our success
• Concurrency theory has unique insights & advantages
• Are we equal to the task?
Recommended