The Free Lunch Is Over
The Free Lunch Is OverA Fundamental Turn Toward Concurrency in Software
(By Herb Sutter)
Agenda
• Moore's Law• Amdahl's law• Performance Factors• Free Lunch• Power Wall• Free Lunch is Over• Conclusion• Future• References
Moors Law
Moor’s Law
• Over the history of computing hardware, the number of transistors on integrated circuits doubles approximately every two years Transistor
Count
If the current trend continues to 2020, the number of
transistors would reach 32 billion.
Amdahl's law
Amdahl's law
The speedup of a program using multiple processors in parallel computing is limited by the sequential fraction of the program.
For example, if 95% of the program can be parallelized, the theoretical maximum speedup using parallel computing would
be 20× as shown in the diagram, no matter how many processors are used
Performance Factors
Performance Factors
Clock Speed
Execution Optimization
Cache
Free Lunch
What Free Lunch Is Actually?
Free Lunch
Programmers haven't really had to worry much about performance or concurrency because of Moore's Law
The traditional approach to application performance was to simply wait for the next generation of processor; most software developers did not need to invest in performance tuning, and enjoyed a “free lunch” from hardware improvements.
Why we did not see 4GHz processors in Market?
Power Wall
Power Wall
Power Wall
Power Wall
This Free Lunch is Over Right Now…
Free Lunch is Over
Your free lunch will soon be over. What can you do about it? What are you doing about it?
The major processor manufacturers and architectures, from Intel and AMD to Sparc and PowerPC, have run out of room with most of their traditional approaches to boosting CPU performance. Instead of driving clock speeds and straight-line instruction throughput ever higher, they are instead turning toward hyper threading and multicore architectures
Chip designers are under so much pressure to deliver ever-faster CPUs that they’ll risk changing the meaning of your program, and possibly break it, in order to make it run faster
Conclusion
The free lunch is over Performance Free Lunch
Moore’s law has changedFuturists such as Ray Kurzweil, Bruce Sterling, and Vernor Vinge believe that the
exponential improvement described by Moore's law will ultimately lead to a technological singularity: a period where progress in technology occurs almost instantly.
Amdahl’s law demands shift in software concepts
Factors Hyper threading Multicore Cache
Future
Now ball is in programmers court
-> With multicore processors, programs written in sequential mode will no longer surf on the wave of this generation processors.
-> To surf in new wave, programs need to be well written parallel.
-> Programming language and system will increasingly be forced to deal well with concurrency.
-> Concurrency is the next major revolution in how we write software.
-> Applications will increasingly need to be concurrent if they want to fully exploit continuing exponential CPU throughput gains.
-> Efficiency and performance optimization will get more, not less, important.
New Law
Only Parallel Applications Will Survive
References
References
The Free Lunch Is Over By Herb Sutter
A Fundamental Turn Toward Concurrency in Software
The Free Lunch Is Over By Ricardo Hermann , Thadeo Carmo
Developing Concurrent Software
Is the free lunch really over? Scalability in Many-core Systems By Michael Wrinn
The Price of Free LunchProgramming in Multicore Era
Any Question?