SlideShare a Scribd company logo
1 of 36
Open MPI Project
June 2015
Updated Version Numbering Scheme
and Release Planning
Table of contents
• These slides cover several related topics:
1. Open MPI’s new version numbering scheme
2. Transition plan to the new version numbering
3. Release planning roadmap
4. The bottom line (TL;DR)
• Let’s jump right in…
2
Before July 2015…
• Open MPI used an “odd / even” numbering
scheme
 1.odd: “feature” series
 1.even: “stable” series
• But it’s not working out as well as we’d like
3
One problem
• Very few users actually use the “odd”
versions
 Users equate “odd” with “unstable”
• As a direct result:
 New features don’t get real-world tested
 …until the “even” releases
4
Another problem
• Users want new features faster
 A “stable” series (intentionally) does not
receive new features
• As a direct result:
 New features take a long time to get to users
5
Let’s fix that
6
Goodbye odd / even scheme!
7
New version numbering scheme
• Open MPI will (continue to) use a “A.B.C”
version number triple
• Each number now has a specific meaning:
This number changes when backwards
compatibility breaks
This number changes when new features are
added
This number changes for all other releases
A
B
C 8
Examples
• Pretend we’re in the future
 The current Open MPI release is v3.4.2
• What will be the next release number?
• Let’s look at a few cases…
9
Example 1
• Current release: v3.4.2
• Situation:
 Bugs are fixed
 No new features are added
 Backwards compatibility is preserved
 Next release will be v3.4.3
10
Example 2
• Current release: v3.4.2
• Situation:
 Bugs are fixed
 User-noticeable new features are added
 Backwards compatibility is preserved
 Next release will be v3.5.0
11
Example 3
• Current release: v3.4.2
• Situation:
 Major changes occur (new features, etc.)
 Backwards compatibility is broken
 Next release will be v4.0.0
12
Wait…
How exactly are you defining the term
“backwards
compatibility”
?
13
Definition
• Open MPI vY is backwards compatible with
Open MPI vX (where Y>X) if:
 Users can compile a correct MPI / OSHMEM
program with vX
 Run it with the same CLI options and MCA
parameters using vX or vY
 The job executes correctly
14
What does that encompass?
• “Backwards compatibility” covers several
areas:
 Binary compatibility, specifically the MPI /
OSHMEM API ABI
 MPI / OSHMEM run time system
 mpirun / oshrun CLI options
 MCA parameter names / values / meanings
15
How will I know when backwards
compatibility breaks?
• Two ways:
1. The first digit of the Open MPI version
number changes
2. Read the NEWS file
• When the first digit of the version number
changes, NEWS will contain a list of what issues
broke backwards compatibility
16
Versioning note
• Open MPI only supports running exactly
the same version of the runtime and MPI /
OSHMEM libraries in a single job
 If you mix-n-match different versions in a
single job…
17
ERROR
Versioning:
beware of static builds!
• When an MPI app is statically linked, it is
“locked” to a specific version of Open MPI
 mpicc myapp.c –static –o myapp
 It is erroneous to mpirun with a different
version (e.g., mpirun vY)
18
myapp
Open MPI vX
Transition to the New
Version Numbering Scheme
19
How to move to the new
numbering?
20
v1.8.6
Released
June 19, 2015
How to move to the new
numbering?
21
What’s next?
v1.8.6
Released
June 19, 2015
How to move to the new
numbering?
22
v1.8.6
Released
June 19, 2015
What’s next?
Note: it would be crazy confusing
to change the version number scheme
in the middle of the v1.8.x series.
We won’t be doing that.
How to move to the new
numbering?
23
v1.8.6
Released
June 19, 2015
v1.10.0
Will contain the usual bug fixes
And (a small number of) new features
How to move to the new
numbering?
24
v1.8.6
Released
June 19, 2015
v1.10.0
Starting with v1.10.0,
future releases
will abide by the
new versioning
scheme
Release Planning Roadmap
25
What’s next?
• We are planning for v1.10.0
 Within the next few months
 Contains the usual bug fixes and minor
improvements (over v1.8.6)
 Also contains a small number of new features
• libfabric support
• Mellanox Yalla PML
• Intel PSM2 for OmniPath
26
What’s next?
• We anticipate v2.0.0
 Later this year
 Will contain larger new features
 Will not be backwards compatible with v1.10.x
27
28
Transition definition
for the technically inclined
Git master development
v2.x branch
v1.7.x /
v1.8.x branch
v1.10.x branch
v1.8 v1.8.5… v1.8.6
No further v1.8.x
releases planned unless
serious bugs are found
Why “v1.10.0” (vs. “v1.9.0”)?
1. Before June 2015, we referred to the next
major release as the “v1.9 series”
 “v1.10.0” clearly distinguishes from that idea
 “v2.0.0” conveys a significant difference (i.e.,
a major new release series)
2. It will take a while for the new scheme to
become common knowledge
 We didn’t want users to think “v1.9” = “odd” =
“unstable”
29
What’s the plan over time?
• Plan for a new release series once a year
 v2.x: release in mid / late 2015
 v3.x: release in mid / late 2016
 v4.x: release in mid / late 2017
 …etc.
30
NOTE: Scheduled releases is a new concept
for the Open MPI developer community. We’ll
continue to evaluate this plan over time.
What will be supported?
• (Continue the) Support “current version
and one prior” philosophy
 Mid 2015 – mid 2016
• Support v1.10.x, and v2.x
• Special case for the transition: also support v1.8.x
 Mid 2016 – mid 2017
• Support v2.x and v3.x
 Mid 2017 – mid 2018
• Support v3.x and v4.x
 …etc. 31
Planned development and
support cycle
Version 1.8.x series
2016 20172014 2018
Version 1.10.x series
Active
development
Slowed
development
Maintenance
(bug fix only)Key:
2015
32
Planned development and
support cycle
Version 1.8.x series
2016 20172014 2018
Version 1.10.x series
Version 2.x series
Active
development
Slowed
development
Maintenance
(bug fix only)Key:
2015
33
Planned development and
support cycle
Active
development
Slowed
development
Maintenance
(bug fix only)
Version 1.8.x series
2015 2016 20172014 2018
Version 1.10.x series
Key:
Version 2.x series
Version 3.x series
34
The Bottom Line
35
The bottom line
• Starting with v1.10.0:
 No more odd/even series
 “A.B.C”: each number has a specific meaning
• Read the NEWS file when “A” changes
 Release new features faster
• Aim to limit life release series
 ~1 year of devel + ~1 year of bug fixes
36

More Related Content

What's hot

.NET Core Blimey! (dotnetsheff Jan 2016)
.NET Core Blimey! (dotnetsheff Jan 2016).NET Core Blimey! (dotnetsheff Jan 2016)
.NET Core Blimey! (dotnetsheff Jan 2016)citizenmatt
 
SFO15-110: Toolchain Collaboration
SFO15-110: Toolchain CollaborationSFO15-110: Toolchain Collaboration
SFO15-110: Toolchain CollaborationLinaro
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesLars Rosenquist
 
Python Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkPython Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkAljoscha Krettek
 
Spring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCFSpring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCFLars Rosenquist
 
Tcl Status Update, July 2014
Tcl Status Update, July 2014Tcl Status Update, July 2014
Tcl Status Update, July 2014Donal Fellows
 
Clang compiler `
Clang compiler `Clang compiler `
Clang compiler `Rabin BK
 
The Universal Developer: Deploying Modern Tcl/Tk Solutions on the Mac
The Universal Developer: Deploying Modern Tcl/Tk Solutions on the MacThe Universal Developer: Deploying Modern Tcl/Tk Solutions on the Mac
The Universal Developer: Deploying Modern Tcl/Tk Solutions on the MacKevin Walzer
 
OFI Overview 2019 Webinar
OFI Overview 2019 WebinarOFI Overview 2019 Webinar
OFI Overview 2019 Webinarseanhefty
 
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...Flink Forward
 
Introduction to the LLVM Compiler System
Introduction to the LLVM  Compiler SystemIntroduction to the LLVM  Compiler System
Introduction to the LLVM Compiler Systemzionsaint
 
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Aljoscha Krettek
 
.NET Standard - Under the Hood
.NET Standard - Under the Hood.NET Standard - Under the Hood
.NET Standard - Under the HoodImmo Landwerth
 
Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...
Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...
Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...Flink Forward
 
Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVGhodhbane Mohamed Amine
 
SFO15-102:ODP Project Update
SFO15-102:ODP Project UpdateSFO15-102:ODP Project Update
SFO15-102:ODP Project UpdateLinaro
 

What's hot (20)

C og c++-jens lund jensen
C og c++-jens lund jensenC og c++-jens lund jensen
C og c++-jens lund jensen
 
1st RINASim Webinar
1st RINASim Webinar1st RINASim Webinar
1st RINASim Webinar
 
.NET Core Blimey! (dotnetsheff Jan 2016)
.NET Core Blimey! (dotnetsheff Jan 2016).NET Core Blimey! (dotnetsheff Jan 2016)
.NET Core Blimey! (dotnetsheff Jan 2016)
 
SFO15-110: Toolchain Collaboration
SFO15-110: Toolchain CollaborationSFO15-110: Toolchain Collaboration
SFO15-110: Toolchain Collaboration
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud Pipelines
 
Python Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on FlinkPython Streaming Pipelines with Beam on Flink
Python Streaming Pipelines with Beam on Flink
 
Spring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCFSpring Boot & Spring Cloud on k8s and PCF
Spring Boot & Spring Cloud on k8s and PCF
 
Tcl Status Update, July 2014
Tcl Status Update, July 2014Tcl Status Update, July 2014
Tcl Status Update, July 2014
 
Clang compiler `
Clang compiler `Clang compiler `
Clang compiler `
 
.Net Standard 2.0
.Net Standard 2.0.Net Standard 2.0
.Net Standard 2.0
 
The Universal Developer: Deploying Modern Tcl/Tk Solutions on the Mac
The Universal Developer: Deploying Modern Tcl/Tk Solutions on the MacThe Universal Developer: Deploying Modern Tcl/Tk Solutions on the Mac
The Universal Developer: Deploying Modern Tcl/Tk Solutions on the Mac
 
OFI Overview 2019 Webinar
OFI Overview 2019 WebinarOFI Overview 2019 Webinar
OFI Overview 2019 Webinar
 
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
Flink Forward Berlin 2018: Thomas Weise & Aljoscha Krettek - "Python Streamin...
 
Introduction to the LLVM Compiler System
Introduction to the LLVM  Compiler SystemIntroduction to the LLVM  Compiler System
Introduction to the LLVM Compiler System
 
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
Talk Python To Me: Stream Processing in your favourite Language with Beam on ...
 
.NET Standard - Under the Hood
.NET Standard - Under the Hood.NET Standard - Under the Hood
.NET Standard - Under the Hood
 
Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...
Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...
Flink Forward Berlin 2018: Robert Bradshaw & Maximilian Michels - "Universal ...
 
Learn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFVLearn more about the tremendous value Open Data Plane brings to NFV
Learn more about the tremendous value Open Data Plane brings to NFV
 
Mpi Java1995
Mpi Java1995Mpi Java1995
Mpi Java1995
 
SFO15-102:ODP Project Update
SFO15-102:ODP Project UpdateSFO15-102:ODP Project Update
SFO15-102:ODP Project Update
 

Similar to Open MPI new version number scheme and roadmap

How to Port a 9 Million Code Line Project to 64 bits?
How to Port a 9 Million Code Line Project to 64 bits? How to Port a 9 Million Code Line Project to 64 bits?
How to Port a 9 Million Code Line Project to 64 bits? PVS-Studio
 
Answers to IBM Cognos Report Authoring Questions
Answers to IBM Cognos Report Authoring QuestionsAnswers to IBM Cognos Report Authoring Questions
Answers to IBM Cognos Report Authoring QuestionsSenturus
 
Software Versioning by mohammad al banna
Software Versioning by mohammad al bannaSoftware Versioning by mohammad al banna
Software Versioning by mohammad al bannaMohammad AlBanna
 
Viva64: working up of 64-bit applications
Viva64: working up of 64-bit applicationsViva64: working up of 64-bit applications
Viva64: working up of 64-bit applicationsPVS-Studio
 
Dolibarr - Whats new in 14.0 - Webinare 2021
Dolibarr - Whats new in 14.0 - Webinare 2021Dolibarr - Whats new in 14.0 - Webinare 2021
Dolibarr - Whats new in 14.0 - Webinare 2021Laurent Destailleur
 
Support of Visual Studio 2017 and Roslyn 2.0 in PVS-Studio: sometimes it's no...
Support of Visual Studio 2017 and Roslyn 2.0 in PVS-Studio: sometimes it's no...Support of Visual Studio 2017 and Roslyn 2.0 in PVS-Studio: sometimes it's no...
Support of Visual Studio 2017 and Roslyn 2.0 in PVS-Studio: sometimes it's no...PVS-Studio
 
[SiriusCon 2018] Closing session - Live Community Survey
[SiriusCon 2018] Closing session - Live Community Survey[SiriusCon 2018] Closing session - Live Community Survey
[SiriusCon 2018] Closing session - Live Community SurveyObeo
 
Python monorepos what, why and how (shared)
Python monorepos  what, why and how (shared)Python monorepos  what, why and how (shared)
Python monorepos what, why and how (shared)benjyw
 
Bring Your Project From a 10 Years to a 3 Months Release Cycle
Bring Your Project From a 10 Years to a 3 Months Release CycleBring Your Project From a 10 Years to a 3 Months Release Cycle
Bring Your Project From a 10 Years to a 3 Months Release CycleSamsung Open Source Group
 
Webinar: Open Mainframe Project's Zowe LTS Release
Webinar: Open Mainframe Project's Zowe LTS ReleaseWebinar: Open Mainframe Project's Zowe LTS Release
Webinar: Open Mainframe Project's Zowe LTS ReleaseOpen Mainframe Project
 
What is the merge window?
What is the merge window?What is the merge window?
What is the merge window?Macpaul Lin
 
PVS-Studio confesses its love for Linux
PVS-Studio confesses its love for LinuxPVS-Studio confesses its love for Linux
PVS-Studio confesses its love for LinuxPVS-Studio
 
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded:  improve your app now! and get ready for 2.0Angular 1.x reloaded:  improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0Carlo Bonamico
 
Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment StrategiesPiotr Perzyna
 
Introduction to Vim 8.0
Introduction to Vim 8.0Introduction to Vim 8.0
Introduction to Vim 8.0k-takata
 
Cognos Analytics V11 Report Authoring Demonstration
Cognos Analytics V11 Report Authoring DemonstrationCognos Analytics V11 Report Authoring Demonstration
Cognos Analytics V11 Report Authoring DemonstrationSenturus
 
A brief history of automation in Software Engineering
A brief history of automation in Software EngineeringA brief history of automation in Software Engineering
A brief history of automation in Software EngineeringGeorg Buske
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Chocolatey Software
 

Similar to Open MPI new version number scheme and roadmap (20)

How to Port a 9 Million Code Line Project to 64 bits?
How to Port a 9 Million Code Line Project to 64 bits? How to Port a 9 Million Code Line Project to 64 bits?
How to Port a 9 Million Code Line Project to 64 bits?
 
Answers to IBM Cognos Report Authoring Questions
Answers to IBM Cognos Report Authoring QuestionsAnswers to IBM Cognos Report Authoring Questions
Answers to IBM Cognos Report Authoring Questions
 
Software Versioning by mohammad al banna
Software Versioning by mohammad al bannaSoftware Versioning by mohammad al banna
Software Versioning by mohammad al banna
 
Viva64: working up of 64-bit applications
Viva64: working up of 64-bit applicationsViva64: working up of 64-bit applications
Viva64: working up of 64-bit applications
 
Dolibarr - Whats new in 14.0 - Webinare 2021
Dolibarr - Whats new in 14.0 - Webinare 2021Dolibarr - Whats new in 14.0 - Webinare 2021
Dolibarr - Whats new in 14.0 - Webinare 2021
 
Support of Visual Studio 2017 and Roslyn 2.0 in PVS-Studio: sometimes it's no...
Support of Visual Studio 2017 and Roslyn 2.0 in PVS-Studio: sometimes it's no...Support of Visual Studio 2017 and Roslyn 2.0 in PVS-Studio: sometimes it's no...
Support of Visual Studio 2017 and Roslyn 2.0 in PVS-Studio: sometimes it's no...
 
[SiriusCon 2018] Closing session - Live Community Survey
[SiriusCon 2018] Closing session - Live Community Survey[SiriusCon 2018] Closing session - Live Community Survey
[SiriusCon 2018] Closing session - Live Community Survey
 
Python monorepos what, why and how (shared)
Python monorepos  what, why and how (shared)Python monorepos  what, why and how (shared)
Python monorepos what, why and how (shared)
 
Bring Your Project From a 10 Years to a 3 Months Release Cycle
Bring Your Project From a 10 Years to a 3 Months Release CycleBring Your Project From a 10 Years to a 3 Months Release Cycle
Bring Your Project From a 10 Years to a 3 Months Release Cycle
 
Webinar: Open Mainframe Project's Zowe LTS Release
Webinar: Open Mainframe Project's Zowe LTS ReleaseWebinar: Open Mainframe Project's Zowe LTS Release
Webinar: Open Mainframe Project's Zowe LTS Release
 
What is the merge window?
What is the merge window?What is the merge window?
What is the merge window?
 
PVS-Studio confesses its love for Linux
PVS-Studio confesses its love for LinuxPVS-Studio confesses its love for Linux
PVS-Studio confesses its love for Linux
 
Wednesday 186
Wednesday 186Wednesday 186
Wednesday 186
 
Deployer in Pipelines
Deployer in PipelinesDeployer in Pipelines
Deployer in Pipelines
 
Angular 1.x reloaded: improve your app now! and get ready for 2.0
Angular 1.x reloaded:  improve your app now! and get ready for 2.0Angular 1.x reloaded:  improve your app now! and get ready for 2.0
Angular 1.x reloaded: improve your app now! and get ready for 2.0
 
Deployment Strategies
Deployment StrategiesDeployment Strategies
Deployment Strategies
 
Introduction to Vim 8.0
Introduction to Vim 8.0Introduction to Vim 8.0
Introduction to Vim 8.0
 
Cognos Analytics V11 Report Authoring Demonstration
Cognos Analytics V11 Report Authoring DemonstrationCognos Analytics V11 Report Authoring Demonstration
Cognos Analytics V11 Report Authoring Demonstration
 
A brief history of automation in Software Engineering
A brief history of automation in Software EngineeringA brief history of automation in Software Engineering
A brief history of automation in Software Engineering
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 

More from Jeff Squyres

MPI Sessions: a proposal to the MPI Forum
MPI Sessions: a proposal to the MPI ForumMPI Sessions: a proposal to the MPI Forum
MPI Sessions: a proposal to the MPI ForumJeff Squyres
 
MPI Fourm SC'15 BOF
MPI Fourm SC'15 BOFMPI Fourm SC'15 BOF
MPI Fourm SC'15 BOFJeff Squyres
 
Cisco's journey from Verbs to Libfabric
Cisco's journey from Verbs to LibfabricCisco's journey from Verbs to Libfabric
Cisco's journey from Verbs to LibfabricJeff Squyres
 
Fun with Github webhooks: verifying Signed-off-by
Fun with Github webhooks: verifying Signed-off-byFun with Github webhooks: verifying Signed-off-by
Fun with Github webhooks: verifying Signed-off-byJeff Squyres
 
2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedback2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedbackJeff Squyres
 
Cisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPICisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPIJeff Squyres
 
Cisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentationCisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentationJeff Squyres
 
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)Jeff Squyres
 
MOSSCon 2013, Cisco Open Source talk
MOSSCon 2013, Cisco Open Source talkMOSSCon 2013, Cisco Open Source talk
MOSSCon 2013, Cisco Open Source talkJeff Squyres
 
Ethernet and TCP optimizations
Ethernet and TCP optimizationsEthernet and TCP optimizations
Ethernet and TCP optimizationsJeff Squyres
 
Friends don't let friends leak MPI_Requests
Friends don't let friends leak MPI_RequestsFriends don't let friends leak MPI_Requests
Friends don't let friends leak MPI_RequestsJeff Squyres
 
MPI-3 Timer requests proposal
MPI-3 Timer requests proposalMPI-3 Timer requests proposal
MPI-3 Timer requests proposalJeff Squyres
 
MPI_Mprobe is good for you
MPI_Mprobe is good for youMPI_Mprobe is good for you
MPI_Mprobe is good for youJeff Squyres
 
The Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's TermsThe Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's TermsJeff Squyres
 
What is [Open] MPI?
What is [Open] MPI?What is [Open] MPI?
What is [Open] MPI?Jeff Squyres
 

More from Jeff Squyres (16)

MPI Sessions: a proposal to the MPI Forum
MPI Sessions: a proposal to the MPI ForumMPI Sessions: a proposal to the MPI Forum
MPI Sessions: a proposal to the MPI Forum
 
MPI Fourm SC'15 BOF
MPI Fourm SC'15 BOFMPI Fourm SC'15 BOF
MPI Fourm SC'15 BOF
 
Cisco's journey from Verbs to Libfabric
Cisco's journey from Verbs to LibfabricCisco's journey from Verbs to Libfabric
Cisco's journey from Verbs to Libfabric
 
Fun with Github webhooks: verifying Signed-off-by
Fun with Github webhooks: verifying Signed-off-byFun with Github webhooks: verifying Signed-off-by
Fun with Github webhooks: verifying Signed-off-by
 
2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedback2014 01-21-mpi-community-feedback
2014 01-21-mpi-community-feedback
 
Cisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPICisco usNIC: how it works, how it is used in Open MPI
Cisco usNIC: how it works, how it is used in Open MPI
 
Cisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentationCisco EuroMPI'13 vendor session presentation
Cisco EuroMPI'13 vendor session presentation
 
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
Open MPI Explorations in Process Affinity (EuroMPI'13 presentation)
 
MPI History
MPI HistoryMPI History
MPI History
 
MOSSCon 2013, Cisco Open Source talk
MOSSCon 2013, Cisco Open Source talkMOSSCon 2013, Cisco Open Source talk
MOSSCon 2013, Cisco Open Source talk
 
Ethernet and TCP optimizations
Ethernet and TCP optimizationsEthernet and TCP optimizations
Ethernet and TCP optimizations
 
Friends don't let friends leak MPI_Requests
Friends don't let friends leak MPI_RequestsFriends don't let friends leak MPI_Requests
Friends don't let friends leak MPI_Requests
 
MPI-3 Timer requests proposal
MPI-3 Timer requests proposalMPI-3 Timer requests proposal
MPI-3 Timer requests proposal
 
MPI_Mprobe is good for you
MPI_Mprobe is good for youMPI_Mprobe is good for you
MPI_Mprobe is good for you
 
The Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's TermsThe Message Passing Interface (MPI) in Layman's Terms
The Message Passing Interface (MPI) in Layman's Terms
 
What is [Open] MPI?
What is [Open] MPI?What is [Open] MPI?
What is [Open] MPI?
 

Recently uploaded

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Recently uploaded (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Open MPI new version number scheme and roadmap

  • 1. Open MPI Project June 2015 Updated Version Numbering Scheme and Release Planning
  • 2. Table of contents • These slides cover several related topics: 1. Open MPI’s new version numbering scheme 2. Transition plan to the new version numbering 3. Release planning roadmap 4. The bottom line (TL;DR) • Let’s jump right in… 2
  • 3. Before July 2015… • Open MPI used an “odd / even” numbering scheme  1.odd: “feature” series  1.even: “stable” series • But it’s not working out as well as we’d like 3
  • 4. One problem • Very few users actually use the “odd” versions  Users equate “odd” with “unstable” • As a direct result:  New features don’t get real-world tested  …until the “even” releases 4
  • 5. Another problem • Users want new features faster  A “stable” series (intentionally) does not receive new features • As a direct result:  New features take a long time to get to users 5
  • 7. Goodbye odd / even scheme! 7
  • 8. New version numbering scheme • Open MPI will (continue to) use a “A.B.C” version number triple • Each number now has a specific meaning: This number changes when backwards compatibility breaks This number changes when new features are added This number changes for all other releases A B C 8
  • 9. Examples • Pretend we’re in the future  The current Open MPI release is v3.4.2 • What will be the next release number? • Let’s look at a few cases… 9
  • 10. Example 1 • Current release: v3.4.2 • Situation:  Bugs are fixed  No new features are added  Backwards compatibility is preserved  Next release will be v3.4.3 10
  • 11. Example 2 • Current release: v3.4.2 • Situation:  Bugs are fixed  User-noticeable new features are added  Backwards compatibility is preserved  Next release will be v3.5.0 11
  • 12. Example 3 • Current release: v3.4.2 • Situation:  Major changes occur (new features, etc.)  Backwards compatibility is broken  Next release will be v4.0.0 12
  • 13. Wait… How exactly are you defining the term “backwards compatibility” ? 13
  • 14. Definition • Open MPI vY is backwards compatible with Open MPI vX (where Y>X) if:  Users can compile a correct MPI / OSHMEM program with vX  Run it with the same CLI options and MCA parameters using vX or vY  The job executes correctly 14
  • 15. What does that encompass? • “Backwards compatibility” covers several areas:  Binary compatibility, specifically the MPI / OSHMEM API ABI  MPI / OSHMEM run time system  mpirun / oshrun CLI options  MCA parameter names / values / meanings 15
  • 16. How will I know when backwards compatibility breaks? • Two ways: 1. The first digit of the Open MPI version number changes 2. Read the NEWS file • When the first digit of the version number changes, NEWS will contain a list of what issues broke backwards compatibility 16
  • 17. Versioning note • Open MPI only supports running exactly the same version of the runtime and MPI / OSHMEM libraries in a single job  If you mix-n-match different versions in a single job… 17 ERROR
  • 18. Versioning: beware of static builds! • When an MPI app is statically linked, it is “locked” to a specific version of Open MPI  mpicc myapp.c –static –o myapp  It is erroneous to mpirun with a different version (e.g., mpirun vY) 18 myapp Open MPI vX
  • 19. Transition to the New Version Numbering Scheme 19
  • 20. How to move to the new numbering? 20 v1.8.6 Released June 19, 2015
  • 21. How to move to the new numbering? 21 What’s next? v1.8.6 Released June 19, 2015
  • 22. How to move to the new numbering? 22 v1.8.6 Released June 19, 2015 What’s next? Note: it would be crazy confusing to change the version number scheme in the middle of the v1.8.x series. We won’t be doing that.
  • 23. How to move to the new numbering? 23 v1.8.6 Released June 19, 2015 v1.10.0 Will contain the usual bug fixes And (a small number of) new features
  • 24. How to move to the new numbering? 24 v1.8.6 Released June 19, 2015 v1.10.0 Starting with v1.10.0, future releases will abide by the new versioning scheme
  • 26. What’s next? • We are planning for v1.10.0  Within the next few months  Contains the usual bug fixes and minor improvements (over v1.8.6)  Also contains a small number of new features • libfabric support • Mellanox Yalla PML • Intel PSM2 for OmniPath 26
  • 27. What’s next? • We anticipate v2.0.0  Later this year  Will contain larger new features  Will not be backwards compatible with v1.10.x 27
  • 28. 28 Transition definition for the technically inclined Git master development v2.x branch v1.7.x / v1.8.x branch v1.10.x branch v1.8 v1.8.5… v1.8.6 No further v1.8.x releases planned unless serious bugs are found
  • 29. Why “v1.10.0” (vs. “v1.9.0”)? 1. Before June 2015, we referred to the next major release as the “v1.9 series”  “v1.10.0” clearly distinguishes from that idea  “v2.0.0” conveys a significant difference (i.e., a major new release series) 2. It will take a while for the new scheme to become common knowledge  We didn’t want users to think “v1.9” = “odd” = “unstable” 29
  • 30. What’s the plan over time? • Plan for a new release series once a year  v2.x: release in mid / late 2015  v3.x: release in mid / late 2016  v4.x: release in mid / late 2017  …etc. 30 NOTE: Scheduled releases is a new concept for the Open MPI developer community. We’ll continue to evaluate this plan over time.
  • 31. What will be supported? • (Continue the) Support “current version and one prior” philosophy  Mid 2015 – mid 2016 • Support v1.10.x, and v2.x • Special case for the transition: also support v1.8.x  Mid 2016 – mid 2017 • Support v2.x and v3.x  Mid 2017 – mid 2018 • Support v3.x and v4.x  …etc. 31
  • 32. Planned development and support cycle Version 1.8.x series 2016 20172014 2018 Version 1.10.x series Active development Slowed development Maintenance (bug fix only)Key: 2015 32
  • 33. Planned development and support cycle Version 1.8.x series 2016 20172014 2018 Version 1.10.x series Version 2.x series Active development Slowed development Maintenance (bug fix only)Key: 2015 33
  • 34. Planned development and support cycle Active development Slowed development Maintenance (bug fix only) Version 1.8.x series 2015 2016 20172014 2018 Version 1.10.x series Key: Version 2.x series Version 3.x series 34
  • 36. The bottom line • Starting with v1.10.0:  No more odd/even series  “A.B.C”: each number has a specific meaning • Read the NEWS file when “A” changes  Release new features faster • Aim to limit life release series  ~1 year of devel + ~1 year of bug fixes 36