SlideShare ist ein Scribd-Unternehmen logo
1 von 9
Downloaden Sie, um offline zu lesen
© 2012 IBM Corporation
Beyond Expert-Only Parallel Programming?
Paul E. McKenney, IBM Distinguished Engineer, Linux Technology Center
October 21, 2012
© 2009 IBM Corporation
2
Sea Change In Linux-Kernel Parallel Programming
In 2006, Linus Torvalds noted that since 2003, the Linux
kernel community's grasp of concurrency had improved to the
point 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?
© 2009 IBM Corporation
3
Sea Change In Linux-Kernel Parallel Programming:
A Virtuous Cycle
Paul E. McKenney: Beyond Expert-Only Parallel Programming?
Acculturation
EconomicsTooling
© 2009 IBM Corporation
4
Sea Change In Linux-Kernel Parallel Programming:
A Virtuous Cycle
Paul E. McKenney: Beyond Expert-Only Parallel Programming?
Acculturation
EconomicsTooling
What can be done and
how things are done.
“Time is money,”
hardware availability
Development investments
to ease future development
© 2009 IBM Corporation
5
Sea Change In Linux-Kernel Parallel Programming:
A Virtuous Cycle
Paul E. McKenney: Beyond Expert-Only Parallel Programming?
Acculturation
EconomicsTooling
What can be done and
how things are done.
Development investments
to ease future development
More developers,
productivity
Better ROI for
additional tooling
Faster & easier
development
“Time is money,”
hardware availability
© 2009 IBM Corporation
6
Sea Change In Linux-Kernel Parallel Programming:
A Virtuous Cycle
Paul E. McKenney: Beyond Expert-Only Parallel Programming?
Acculturation
EconomicsTooling
What can be done and
how things are done.
Development investments
to ease future development
Better ROI for
additional tooling
Faster & easier
development
“Time is money,”
hardware availability
sparse,
lockdep, and
coccinelle
Sample code
More developers,
productivity
© 2009 IBM Corporation
7
How 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)
© 2009 IBM Corporation
8
What 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]
© 2009 IBM Corporation
9
Discussion
Paul E. McKenney: Beyond Expert-Only Parallel Programming?

Weitere ähnliche Inhalte

Andere mochten auch

Fp and entrepreneurship
Fp and entrepreneurshipFp and entrepreneurship
Fp and entrepreneurshipAndy Petrella
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考zhaolinjnu
 
สถานการณ์ปัญหาบทที่ 9
สถานการณ์ปัญหาบทที่ 9สถานการณ์ปัญหาบทที่ 9
สถานการณ์ปัญหาบทที่ 9Kanlayanee Thongthab
 
Programming with Relaxed Synchronization
Programming with Relaxed SynchronizationProgramming with Relaxed Synchronization
Programming with Relaxed Synchronizationracesworkshop
 
(Relative) Safety Properties for Relaxed Approximate Programs
(Relative) Safety Properties for Relaxed Approximate Programs(Relative) Safety Properties for Relaxed Approximate Programs
(Relative) Safety Properties for Relaxed Approximate Programsracesworkshop
 
Parallel Sorting on a Spatial Computer
Parallel Sorting on a Spatial ComputerParallel Sorting on a Spatial Computer
Parallel Sorting on a Spatial Computerracesworkshop
 
Welcome and Lightning Intros
Welcome and Lightning IntrosWelcome and Lightning Intros
Welcome and Lightning Introsracesworkshop
 
A Case for Relativistic Programming
A Case for Relativistic ProgrammingA Case for Relativistic Programming
A Case for Relativistic Programmingracesworkshop
 
Does Better Throughput Require Worse Latency?
Does Better Throughput Require Worse Latency?Does Better Throughput Require Worse Latency?
Does Better Throughput Require Worse Latency?racesworkshop
 
Nondeterminism is unavoidable, but data races are pure evil
Nondeterminism is unavoidable, but data races are pure evilNondeterminism is unavoidable, but data races are pure evil
Nondeterminism is unavoidable, but data races are pure evilracesworkshop
 
Dancing with Uncertainty
Dancing with UncertaintyDancing with Uncertainty
Dancing with Uncertaintyracesworkshop
 
Edge Chasing Delayed Consistency: Pushing the Limits of Weak Memory Models
Edge Chasing Delayed Consistency: Pushing the Limits of Weak Memory ModelsEdge Chasing Delayed Consistency: Pushing the Limits of Weak Memory Models
Edge Chasing Delayed Consistency: Pushing the Limits of Weak Memory Modelsracesworkshop
 
Keynote, LambdaConf 2015 - Ipecac for the Ouroboros
Keynote, LambdaConf 2015 - Ipecac for the OuroborosKeynote, LambdaConf 2015 - Ipecac for the Ouroboros
Keynote, LambdaConf 2015 - Ipecac for the OuroborosPaul Phillips
 

Andere mochten auch (14)

Fp and entrepreneurship
Fp and entrepreneurshipFp and entrepreneurship
Fp and entrepreneurship
 
Tigers (Mikel)
Tigers (Mikel)Tigers (Mikel)
Tigers (Mikel)
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考
 
สถานการณ์ปัญหาบทที่ 9
สถานการณ์ปัญหาบทที่ 9สถานการณ์ปัญหาบทที่ 9
สถานการณ์ปัญหาบทที่ 9
 
Programming with Relaxed Synchronization
Programming with Relaxed SynchronizationProgramming with Relaxed Synchronization
Programming with Relaxed Synchronization
 
(Relative) Safety Properties for Relaxed Approximate Programs
(Relative) Safety Properties for Relaxed Approximate Programs(Relative) Safety Properties for Relaxed Approximate Programs
(Relative) Safety Properties for Relaxed Approximate Programs
 
Parallel Sorting on a Spatial Computer
Parallel Sorting on a Spatial ComputerParallel Sorting on a Spatial Computer
Parallel Sorting on a Spatial Computer
 
Welcome and Lightning Intros
Welcome and Lightning IntrosWelcome and Lightning Intros
Welcome and Lightning Intros
 
A Case for Relativistic Programming
A Case for Relativistic ProgrammingA Case for Relativistic Programming
A Case for Relativistic Programming
 
Does Better Throughput Require Worse Latency?
Does Better Throughput Require Worse Latency?Does Better Throughput Require Worse Latency?
Does Better Throughput Require Worse Latency?
 
Nondeterminism is unavoidable, but data races are pure evil
Nondeterminism is unavoidable, but data races are pure evilNondeterminism is unavoidable, but data races are pure evil
Nondeterminism is unavoidable, but data races are pure evil
 
Dancing with Uncertainty
Dancing with UncertaintyDancing with Uncertainty
Dancing with Uncertainty
 
Edge Chasing Delayed Consistency: Pushing the Limits of Weak Memory Models
Edge Chasing Delayed Consistency: Pushing the Limits of Weak Memory ModelsEdge Chasing Delayed Consistency: Pushing the Limits of Weak Memory Models
Edge Chasing Delayed Consistency: Pushing the Limits of Weak Memory Models
 
Keynote, LambdaConf 2015 - Ipecac for the Ouroboros
Keynote, LambdaConf 2015 - Ipecac for the OuroborosKeynote, LambdaConf 2015 - Ipecac for the Ouroboros
Keynote, LambdaConf 2015 - Ipecac for the Ouroboros
 

Ähnlich wie Beyond Expert-Only Parallel Programming

Is parallel programming hard? And if so, what can you do about it?
Is parallel programming hard? And if so, what can you do about it?Is parallel programming hard? And if so, what can you do about it?
Is parallel programming hard? And if so, what can you do about it?John Lee
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye codeKim Moir
 
Makefiles Intro
Makefiles IntroMakefiles Intro
Makefiles IntroYnon Perek
 
Cloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryCloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryBob Sokol
 
Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009bosc
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsLuca Minudel
 
EMC World 2016 - cnaITL.01 Adopting An Open Source Strategy
EMC World 2016 - cnaITL.01 Adopting An Open Source StrategyEMC World 2016 - cnaITL.01 Adopting An Open Source Strategy
EMC World 2016 - cnaITL.01 Adopting An Open Source Strategy{code}
 
9. oo languages
9. oo languages9. oo languages
9. oo languagesAPU
 
9.oo languages
9.oo languages9.oo languages
9.oo languagesAPU
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Mainframe Project
 
IBM JavaOne Community Keynote 2017
IBM JavaOne Community Keynote 2017IBM JavaOne Community Keynote 2017
IBM JavaOne Community Keynote 2017John Duimovich
 
GE Capital Legacy Modernization and Mainframe Conversion
GE Capital Legacy Modernization and Mainframe ConversionGE Capital Legacy Modernization and Mainframe Conversion
GE Capital Legacy Modernization and Mainframe Conversionguatham
 
DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDocker, Inc.
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: KeynoteDocker-Hanoi
 
CDA4411: Chapter 10 - Application Development
CDA4411: Chapter 10 - Application DevelopmentCDA4411: Chapter 10 - Application Development
CDA4411: Chapter 10 - Application DevelopmentFreddy San
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.anilpmuvvala
 

Ähnlich wie Beyond Expert-Only Parallel Programming (20)

Is parallel programming hard? And if so, what can you do about it?
Is parallel programming hard? And if so, what can you do about it?Is parallel programming hard? And if so, what can you do about it?
Is parallel programming hard? And if so, what can you do about it?
 
From hello world to goodbye code
From hello world to goodbye codeFrom hello world to goodbye code
From hello world to goodbye code
 
LinuxCon Europe 2013
LinuxCon Europe 2013LinuxCon Europe 2013
LinuxCon Europe 2013
 
Makefiles Intro
Makefiles IntroMakefiles Intro
Makefiles Intro
 
Cloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud FoundryCloud Native Applications - DevOps, EMC and Cloud Foundry
Cloud Native Applications - DevOps, EMC and Cloud Foundry
 
Using the NDK and Renderscript
Using the NDK and RenderscriptUsing the NDK and Renderscript
Using the NDK and Renderscript
 
Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009Hanmer Software Patterns Bosc2009
Hanmer Software Patterns Bosc2009
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOps
 
EMC World 2016 - cnaITL.01 Adopting An Open Source Strategy
EMC World 2016 - cnaITL.01 Adopting An Open Source StrategyEMC World 2016 - cnaITL.01 Adopting An Open Source Strategy
EMC World 2016 - cnaITL.01 Adopting An Open Source Strategy
 
9. oo languages
9. oo languages9. oo languages
9. oo languages
 
9.oo languages
9.oo languages9.oo languages
9.oo languages
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
 
IBM JavaOne Community Keynote 2017
IBM JavaOne Community Keynote 2017IBM JavaOne Community Keynote 2017
IBM JavaOne Community Keynote 2017
 
GE Capital Legacy Modernization and Mainframe Conversion
GE Capital Legacy Modernization and Mainframe ConversionGE Capital Legacy Modernization and Mainframe Conversion
GE Capital Legacy Modernization and Mainframe Conversion
 
DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General Session
 
XP O.ppt
XP O.pptXP O.ppt
XP O.ppt
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
 
CDA4411: Chapter 10 - Application Development
CDA4411: Chapter 10 - Application DevelopmentCDA4411: Chapter 10 - Application Development
CDA4411: Chapter 10 - Application Development
 
IEC.ppt
IEC.pptIEC.ppt
IEC.ppt
 
What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.What is DevOps And How It Is Useful In Real life.
What is DevOps And How It Is Useful In Real life.
 

Kürzlich hochgeladen

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Kürzlich hochgeladen (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Beyond Expert-Only Parallel Programming

  • 1. © 2012 IBM Corporation Beyond Expert-Only Parallel Programming? Paul E. McKenney, IBM Distinguished Engineer, Linux Technology Center October 21, 2012
  • 2. © 2009 IBM Corporation 2 Sea Change In Linux-Kernel Parallel Programming In 2006, Linus Torvalds noted that since 2003, the Linux kernel community's grasp of concurrency had improved to the point 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. © 2009 IBM Corporation 3 Sea Change In Linux-Kernel Parallel Programming: A Virtuous Cycle Paul E. McKenney: Beyond Expert-Only Parallel Programming? Acculturation EconomicsTooling
  • 4. © 2009 IBM Corporation 4 Sea Change In Linux-Kernel Parallel Programming: A Virtuous Cycle Paul E. McKenney: Beyond Expert-Only Parallel Programming? Acculturation EconomicsTooling What can be done and how things are done. “Time is money,” hardware availability Development investments to ease future development
  • 5. © 2009 IBM Corporation 5 Sea Change In Linux-Kernel Parallel Programming: A Virtuous Cycle Paul E. McKenney: Beyond Expert-Only Parallel Programming? Acculturation EconomicsTooling What can be done and how things are done. Development investments to ease future development More developers, productivity Better ROI for additional tooling Faster & easier development “Time is money,” hardware availability
  • 6. © 2009 IBM Corporation 6 Sea Change In Linux-Kernel Parallel Programming: A Virtuous Cycle Paul E. McKenney: Beyond Expert-Only Parallel Programming? Acculturation EconomicsTooling What can be done and how things are done. Development investments to ease future development Better ROI for additional tooling Faster & easier development “Time is money,” hardware availability sparse, lockdep, and coccinelle Sample code More developers, productivity
  • 7. © 2009 IBM Corporation 7 How 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. © 2009 IBM Corporation 8 What 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. © 2009 IBM Corporation 9 Discussion Paul E. McKenney: Beyond Expert-Only Parallel Programming?