Beyond Expert-Only Parallel Programming

451 views
372 views

Published on

Presentation by Paul McKenney.
Paper and more information: http://soft.vub.ac.be/races/paper/beyond-expert-only-parallel-programming/

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
451
On SlideShare
0
From Embeds
0
Number of Embeds
207
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Beyond Expert-Only Parallel Programming

  1. 1. © 2012 IBM CorporationBeyond Expert-Only Parallel Programming?Paul E. McKenney, IBM Distinguished Engineer, Linux Technology CenterOctober 21, 2012
  2. 2. © 2009 IBM Corporation2Sea Change In Linux-Kernel Parallel ProgrammingIn 2006, Linus Torvalds noted that since 2003, the Linuxkernel communitys grasp of concurrency had improved to thepoint that patches were often correct at first submissionWhy the improvement?–Not programming language: C before, during, and after–Not synchronization primitives: Locking before, during, and after–Not a change in personnel: Relatively low turnover–Not born parallel programmers: Remember Big Kernel Lock!So what was it?Paul E. McKenney: Beyond Expert-Only Parallel Programming?
  3. 3. © 2009 IBM Corporation3Sea Change In Linux-Kernel Parallel Programming:A Virtuous CyclePaul E. McKenney: Beyond Expert-Only Parallel Programming?AcculturationEconomicsTooling
  4. 4. © 2009 IBM Corporation4Sea Change In Linux-Kernel Parallel Programming:A Virtuous CyclePaul E. McKenney: Beyond Expert-Only Parallel Programming?AcculturationEconomicsToolingWhat can be done andhow things are done.“Time is money,”hardware availabilityDevelopment investmentsto ease future development
  5. 5. © 2009 IBM Corporation5Sea Change In Linux-Kernel Parallel Programming:A Virtuous CyclePaul E. McKenney: Beyond Expert-Only Parallel Programming?AcculturationEconomicsToolingWhat can be done andhow things are done.Development investmentsto ease future developmentMore developers,productivityBetter ROI foradditional toolingFaster & easierdevelopment“Time is money,”hardware availability
  6. 6. © 2009 IBM Corporation6Sea Change In Linux-Kernel Parallel Programming:A Virtuous CyclePaul E. McKenney: Beyond Expert-Only Parallel Programming?AcculturationEconomicsToolingWhat can be done andhow things are done.Development investmentsto ease future developmentBetter ROI foradditional toolingFaster & easierdevelopment“Time is money,”hardware availabilitysparse,lockdep, andcoccinelleSample codeMore developers,productivity
  7. 7. © 2009 IBM Corporation7How to Motivate Tooling?Paul E. McKenney: Beyond Expert-Only Parallel Programming?sparse: Motivated by user/kernel pointer errors–And by ca-2004 excitement over static analysis of software–Extended to concurrency (locking and RCU): approximate analysislockdep: Motivated by ca. 2004-5 real-time work–Preemptibility greatly increases the probability of concurrency bugs–Real-time developers got tired of fixing others deadlocks–The lockdep tool further increases the probability of detecting deadlock• Forcing developers to learn to avoid deadlockscoccinelle: Academic project! (“sed” that understands C)–Tested project on Linux kernel, submitted bug reports and fixes• Fixes can be automatically generated–Patches from coccinelle have been in the top-20 developers• (See contributions from Julia Lawall)
  8. 8. © 2009 IBM Corporation8What is Left to Work On?Paul E. McKenney: Beyond Expert-Only Parallel Programming?SMP systems with many hundreds (or thousands) of CPUsSpecial-purpose hardware accelerators (GPGPUs, FPGAs)Parallel systems with real-time/energy-efficiency constraintsParallelize difficult-to-parallelize applicationsUnit volumes of multicore embedded systems: >100 million–Extreme reliability required: With the proper requirements set out!Codifying current expert-only techniques for general useRigorous theoretical models of current expert-only techniques[Your idea here]
  9. 9. © 2009 IBM Corporation9DiscussionPaul E. McKenney: Beyond Expert-Only Parallel Programming?

×