SlideShare a Scribd company logo
1 of 23
A Taste of OFI
Sean Hefty
#OFADevWorkshop
Taste of OFI
March 15 – 18, 2015 #OFADevWorkshop 2
Elegant and intellectually satisfying
with subtle undertones?
Selected analysis of the Open
Fabrics Interfaces architecture
and implementation
Development
Requirement
analysis
Iterative design and
implementation
Deployment
March 15 – 18, 2015 #OFADevWorkshop 3
Rough
conceptual
model
Quarterly
release cycle
Collective feedback
from OFIWG
~200 requirements
MPI, PGAS, SHMEM,
DBMS, sockets, …
Input from wide
variety of devices
Application Requirements
March 15 – 18, 2015 #OFADevWorkshop 4
Give us a high-level interface!
Give us a low-level interface!
And this was just the MPI developers!
Try talking to the government!
Design
• Enable simple, basic usage
• Move functionality under OFI
• Advanced application constructs
• Expose abstract HW capabilities
March 15 – 18, 2015 #OFADevWorkshop 5
Implementation
Agnostic
GURU
EASY
Range of usage models
Architecture
March 15 – 18, 2015 #OFADevWorkshop 6
Open Fabrics Interfaces (OFI)
Communication
Services
Connection
Management
Address
Vectors
Completion
Services
Event
Queues
Counters
Data Transfer
Services
Message
Queues
Tag
Matching
RMA
Atomics
Control
Services
Discovery
TriggeredOperations
MPI SHMEM PGAS
OFI Enabled Applications
. . .
fi_info
Fabric Information
Endpoint Types
• MSG
– Reliable connected
• DGRAM
– Datagram
• RDM
– Reliable datagram
messages
– Reliable unconnected
Capabilities
• Message queue
– FIFO
• RMA
• Tagged messages
– Sends match with specific
receive buffers
• Atomics
March 15 – 18, 2015 #OFADevWorkshop 7
EASY
Select desired endpoint
type and capabilities
March 15 – 18, 2015 #OFADevWorkshop 8
Fabric InformationEASY
RDM Message
Queue
OFI Enabled Applications
. . .
RDM Message
Queue
RDM Message
Queue
DGRAM Message Queue
RDM Message Queue
Common Implementation
App nApp 2App 1
Fabric Information
March 15 – 18, 2015 #OFADevWorkshop 9
GURU
• Capabilities
– Application desired features and permissions
– Primary capabilities
• Must be requested by application
– Secondary capabilities
• May be requested by application
• May be offered by provider
• Attributes
– Defines the limits and behavior of selected interfaces
– Negotiated
• Mode
– Provider request on application
Threading Options
Fully thread safe
Identify resource usage constraints
needed for lockless access
Example:
thread 1: {endpoint 1, CQ 1}
thread 2: {endpoint 2, CQs 2-3}
March 15 – 18, 2015 #OFADevWorkshop 10
GURU
EASY
Is synchronization
needed?
Progress
Automatic – submit and forget
Manual – application thread used to
complete request
Timeouts and retries, ack processing, atomic
operations, data placement, etc.
March 15 – 18, 2015 #OFADevWorkshop 11
GURU
EASY
What thread context does a
request use to complete?
Resource Management
Enabled – prevent overrunning local and
remote queues, including completion
queues
Disabled – application responsible for
preventing overruns
March 15 – 18, 2015 #OFADevWorkshop 12
GURU
EASY
Flow control
and queuing
App: behavior that can be relied on.
Provider: requirements and potential optimizations
not restrictions.
Ordering
Strict – requests are processed and
completed in order
Relaxed – enable out of order processing
Dynamic routing, optimized completion
processing, parallel data transfers, optimized
retry algorithms, etc.
March 15 – 18, 2015 #OFADevWorkshop 13
GURU
EASY
Sequence of request and
completion processing
Mode Bits
None! – provider does all the work!
Application support may improve performance
– Local MR – must register buffers for local
operations (send/receives)
– Context – app provides ‘scratch space’ for
provider to track request (full or partial onload
models)
– Buffer prefix – app provides space for network
headers (usnic, IB GRH)
March 15 – 18, 2015 #OFADevWorkshop 14
GURU
EASY
Provider hints on how it
should best be used
Architecture
March 15 – 18, 2015 #OFADevWorkshop 15
Open Fabrics Interfaces (OFI)
Communication
Services
Connection
Management
Address
Vectors
Completion
Services
Event
Queues
Counters
Data Transfer
Services
Message
Queues
Tag
Matching
RMA
Atomics
Control
Services
Discovery
TriggeredOperations
MPI SHMEM PGAS
OFI Enabled Applications
. . .
fi_info
Endpoints
March 15 – 18, 2015 #OFADevWorkshop 16
EASY
Sequence of request and
completion processing
transmit
Endpoint
receive completions
Conceptually similar
to a socket or QP
Addressable
communication portal
Shared Tx/Rx Contexts
March 15 – 18, 2015 #OFADevWorkshop 17
transmit
Endpoint
receive
GURU
Endpoint Endpoint Endpoint
Enable resource manager to
direct use of HW resources
Number of
endpoints greater
than available
resources
Map to command
queues or HW
limits (caching)
Scalable Endpoints
- Multi-threading
- Ordering
- Progress
- Completions
March 15 – 18, 2015 #OFADevWorkshop 18
transmit
GURU
Endpoint
transmittransmittransmit receive receive receivereceive
Multiple Tx/Rx
contexts per endpoint
Incoming requests may
be able to target a
specific receive context
OFI Is a Full Meal Deal
• Select a main dish and a side
• OFI tells you today’s specials
• You select the ingredients and
tell OFI how to assemble them
March 15 – 18, 2015 #OFADevWorkshop 19
GURU
EASY
We treat you right!
Hello, my name is:
OFI
flair
OFI 1.0
• Framework – libfabric
– Interfaces & data structures definitions
– ‘Spec’ = man pages
• Functional implementation
– Quickly enable hardware and fabrics
• Portions layer over vendor interfaces
– Allow for application development
– Amount and quality of support is provider specific
March 15 – 18, 2015 #OFADevWorkshop 20
Important to distinguish between architecture
and direction versus current implementations
OFI 1.0 Providers
• Sockets
– Implement all interfaces
and functionality
– App. development &
debug
• Verbs
– Targets any verbs HW
• Not optimized for a
specific device
– Only common verbs
functionality supported
• PSM
– Targets non-verbs HW
– Expands capabilities
beyond lower software
driver
• USNIC
– Targets non-verbs HW
– Cisco will address
March 15 – 18, 2015 #OFADevWorkshop 21
Input from verbs derivative
and non-verbs providers
also fed into OFI design
OFI 1.x
• Address other requirements
– Multicast
– Virtualization
– Features cut from 1.0 release
• Expand and optimize providers
– Native providers
– Additional hardware
March 15 – 18, 2015 #OFADevWorkshop 22
#OFADevWorkshop
Thank You

More Related Content

What's hot

Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaServing Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaRedis Labs
 
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
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Timothy Spann
 
Apache NiFi User Guide
Apache NiFi User GuideApache NiFi User Guide
Apache NiFi User GuideDeon Huang
 
The First Mile - Edge and IoT Data Collection With Apache Nifi and MiniFi
The First Mile - Edge and IoT Data Collection With Apache Nifi and MiniFiThe First Mile - Edge and IoT Data Collection With Apache Nifi and MiniFi
The First Mile - Edge and IoT Data Collection With Apache Nifi and MiniFiDataWorks Summit
 
NiFi Developer Guide
NiFi Developer GuideNiFi Developer Guide
NiFi Developer GuideDeon Huang
 
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultBest practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultDataWorks Summit
 
LCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project UpdateLCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project UpdateLinaro
 
Hands on with CoAP and Californium
Hands on with CoAP and CaliforniumHands on with CoAP and Californium
Hands on with CoAP and CaliforniumJulien Vermillard
 
Augmenting Flow Operations and Feedback on the Model Driven MD_SAL Approach i...
Augmenting Flow Operations and Feedback on the Model Driven MD_SAL Approach i...Augmenting Flow Operations and Feedback on the Model Driven MD_SAL Approach i...
Augmenting Flow Operations and Feedback on the Model Driven MD_SAL Approach i...Brent Salisbury
 
Devnexus 2018 - Let Your Data Flow with Apache NiFi
Devnexus 2018 - Let Your Data Flow with Apache NiFiDevnexus 2018 - Let Your Data Flow with Apache NiFi
Devnexus 2018 - Let Your Data Flow with Apache NiFiBryan Bende
 
Exascale Process Management Interface
Exascale Process Management InterfaceExascale Process Management Interface
Exascale Process Management Interfacercastain
 
Yang in OpenDaylight
Yang in OpenDaylightYang in OpenDaylight
Yang in OpenDaylightGunjan Patel
 
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
 
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...Flink Forward
 
The First Mile -- Edge and IoT Data Collection with Apache NiFi and MiNiFi
The First Mile -- Edge and IoT Data Collection with Apache NiFi and MiNiFiThe First Mile -- Edge and IoT Data Collection with Apache NiFi and MiNiFi
The First Mile -- Edge and IoT Data Collection with Apache NiFi and MiNiFiDataWorks Summit
 

What's hot (20)

Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaServing Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
 
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
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4
 
Apache NiFi User Guide
Apache NiFi User GuideApache NiFi User Guide
Apache NiFi User Guide
 
The First Mile - Edge and IoT Data Collection With Apache Nifi and MiniFi
The First Mile - Edge and IoT Data Collection With Apache Nifi and MiniFiThe First Mile - Edge and IoT Data Collection With Apache Nifi and MiniFi
The First Mile - Edge and IoT Data Collection With Apache Nifi and MiniFi
 
NiFi Developer Guide
NiFi Developer GuideNiFi Developer Guide
NiFi Developer Guide
 
Apache Nifi Crash Course
Apache Nifi Crash CourseApache Nifi Crash Course
Apache Nifi Crash Course
 
Best practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at RenaultBest practices and lessons learnt from Running Apache NiFi at Renault
Best practices and lessons learnt from Running Apache NiFi at Renault
 
LCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project UpdateLCA14: LCA14-209: ODP Project Update
LCA14: LCA14-209: ODP Project Update
 
Hands on with CoAP and Californium
Hands on with CoAP and CaliforniumHands on with CoAP and Californium
Hands on with CoAP and Californium
 
FD.io - The Universal Dataplane
FD.io - The Universal DataplaneFD.io - The Universal Dataplane
FD.io - The Universal Dataplane
 
ODP Presentation LinuxCon NA 2014
ODP Presentation LinuxCon NA 2014ODP Presentation LinuxCon NA 2014
ODP Presentation LinuxCon NA 2014
 
Augmenting Flow Operations and Feedback on the Model Driven MD_SAL Approach i...
Augmenting Flow Operations and Feedback on the Model Driven MD_SAL Approach i...Augmenting Flow Operations and Feedback on the Model Driven MD_SAL Approach i...
Augmenting Flow Operations and Feedback on the Model Driven MD_SAL Approach i...
 
Devnexus 2018 - Let Your Data Flow with Apache NiFi
Devnexus 2018 - Let Your Data Flow with Apache NiFiDevnexus 2018 - Let Your Data Flow with Apache NiFi
Devnexus 2018 - Let Your Data Flow with Apache NiFi
 
Exascale Process Management Interface
Exascale Process Management InterfaceExascale Process Management Interface
Exascale Process Management Interface
 
Intro RINA
Intro RINAIntro RINA
Intro RINA
 
Yang in OpenDaylight
Yang in OpenDaylightYang in OpenDaylight
Yang in OpenDaylight
 
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
 
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...
Flink Forward Berlin 2017: Andrea Spina, Francesco Frontera - Flink-JPMML: An...
 
The First Mile -- Edge and IoT Data Collection with Apache NiFi and MiNiFi
The First Mile -- Edge and IoT Data Collection with Apache NiFi and MiNiFiThe First Mile -- Edge and IoT Data Collection with Apache NiFi and MiNiFi
The First Mile -- Edge and IoT Data Collection with Apache NiFi and MiNiFi
 

Similar to A Taste of Open Fabrics Interfaces

Open ETL for Real-Time Decision Making with Shuai Yuan
Open ETL for Real-Time Decision Making with Shuai YuanOpen ETL for Real-Time Decision Making with Shuai Yuan
Open ETL for Real-Time Decision Making with Shuai YuanDatabricks
 
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...AgileNetwork
 
Sap basis online training classes
Sap basis online training classesSap basis online training classes
Sap basis online training classessapehsit
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021Ieva Navickaite
 
London measure camp12-konstantinos-papadopoulos
London measure camp12-konstantinos-papadopoulosLondon measure camp12-konstantinos-papadopoulos
London measure camp12-konstantinos-papadopoulosKonstantinos Papadopoulos
 
Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxOpsTree solutions
 
EDI Best Practices
EDI Best PracticesEDI Best Practices
EDI Best PracticesZach Gardner
 
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...apidays
 
A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology confluent
 
MuleSoft Meetup Valletta 1.0
MuleSoft Meetup Valletta  1.0MuleSoft Meetup Valletta  1.0
MuleSoft Meetup Valletta 1.0Anastasiia Linnas
 
2018-10-18 J2 4C - its gonna be PowerApps and Flow - Penelope Coventry
2018-10-18 J2 4C - its gonna be PowerApps and Flow - Penelope Coventry2018-10-18 J2 4C - its gonna be PowerApps and Flow - Penelope Coventry
2018-10-18 J2 4C - its gonna be PowerApps and Flow - Penelope CoventryModern Workplace Conference Paris
 
The working architecture of NodeJS applications, Виктор Турский
The working architecture of NodeJS applications, Виктор ТурскийThe working architecture of NodeJS applications, Виктор Турский
The working architecture of NodeJS applications, Виктор ТурскийSigma Software
 
The working architecture of node js applications open tech week javascript ...
The working architecture of node js applications   open tech week javascript ...The working architecture of node js applications   open tech week javascript ...
The working architecture of node js applications open tech week javascript ...Viktor Turskyi
 
Kanika resume
Kanika resumeKanika resume
Kanika resumekanika .
 
The Lyft data platform: Now and in the future
The Lyft data platform: Now and in the futureThe Lyft data platform: Now and in the future
The Lyft data platform: Now and in the futuremarkgrover
 
Lyft data Platform - 2019 slides
Lyft data Platform - 2019 slidesLyft data Platform - 2019 slides
Lyft data Platform - 2019 slidesKarthik Murugesan
 
Cloud Based Cognitive Learning & IT Project Performance Platform (CLIPP Platf...
Cloud Based Cognitive Learning & IT Project Performance Platform (CLIPP Platf...Cloud Based Cognitive Learning & IT Project Performance Platform (CLIPP Platf...
Cloud Based Cognitive Learning & IT Project Performance Platform (CLIPP Platf...Ed Sattar
 
Tecnologia rest em python
Tecnologia rest em pythonTecnologia rest em python
Tecnologia rest em pythonAllex Lima
 
Hive on Spark, production experience @Uber
 Hive on Spark, production experience @Uber Hive on Spark, production experience @Uber
Hive on Spark, production experience @UberFuture of Data Meetup
 

Similar to A Taste of Open Fabrics Interfaces (20)

Open ETL for Real-Time Decision Making with Shuai Yuan
Open ETL for Real-Time Decision Making with Shuai YuanOpen ETL for Real-Time Decision Making with Shuai Yuan
Open ETL for Real-Time Decision Making with Shuai Yuan
 
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
Agile Gurugram 2023 | Observability for Modern Applications. How does it help...
 
Sap basis online training classes
Sap basis online training classesSap basis online training classes
Sap basis online training classes
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
London measure camp12-konstantinos-papadopoulos
London measure camp12-konstantinos-papadopoulosLondon measure camp12-konstantinos-papadopoulos
London measure camp12-konstantinos-papadopoulos
 
Observability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptxObservability for Application Developers (1)-1.pptx
Observability for Application Developers (1)-1.pptx
 
EDI Best Practices
EDI Best PracticesEDI Best Practices
EDI Best Practices
 
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...
apidays LIVE Australia 2020 - The Evolution of APIs: Events and the AsyncAPI ...
 
A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology
 
MuleSoft Meetup Valletta 1.0
MuleSoft Meetup Valletta  1.0MuleSoft Meetup Valletta  1.0
MuleSoft Meetup Valletta 1.0
 
2018-10-18 J2 4C - its gonna be PowerApps and Flow - Penelope Coventry
2018-10-18 J2 4C - its gonna be PowerApps and Flow - Penelope Coventry2018-10-18 J2 4C - its gonna be PowerApps and Flow - Penelope Coventry
2018-10-18 J2 4C - its gonna be PowerApps and Flow - Penelope Coventry
 
The working architecture of NodeJS applications, Виктор Турский
The working architecture of NodeJS applications, Виктор ТурскийThe working architecture of NodeJS applications, Виктор Турский
The working architecture of NodeJS applications, Виктор Турский
 
The working architecture of node js applications open tech week javascript ...
The working architecture of node js applications   open tech week javascript ...The working architecture of node js applications   open tech week javascript ...
The working architecture of node js applications open tech week javascript ...
 
Kanika resume
Kanika resumeKanika resume
Kanika resume
 
The Lyft data platform: Now and in the future
The Lyft data platform: Now and in the futureThe Lyft data platform: Now and in the future
The Lyft data platform: Now and in the future
 
Lyft data Platform - 2019 slides
Lyft data Platform - 2019 slidesLyft data Platform - 2019 slides
Lyft data Platform - 2019 slides
 
Cloud Based Cognitive Learning & IT Project Performance Platform (CLIPP Platf...
Cloud Based Cognitive Learning & IT Project Performance Platform (CLIPP Platf...Cloud Based Cognitive Learning & IT Project Performance Platform (CLIPP Platf...
Cloud Based Cognitive Learning & IT Project Performance Platform (CLIPP Platf...
 
Tecnologia rest em python
Tecnologia rest em pythonTecnologia rest em python
Tecnologia rest em python
 
Hive on Spark, production experience @Uber
 Hive on Spark, production experience @Uber Hive on Spark, production experience @Uber
Hive on Spark, production experience @Uber
 
Kong Workshop.pdf
Kong Workshop.pdfKong Workshop.pdf
Kong Workshop.pdf
 

Recently uploaded

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 

Recently uploaded (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

A Taste of Open Fabrics Interfaces

  • 1. A Taste of OFI Sean Hefty #OFADevWorkshop
  • 2. Taste of OFI March 15 – 18, 2015 #OFADevWorkshop 2 Elegant and intellectually satisfying with subtle undertones? Selected analysis of the Open Fabrics Interfaces architecture and implementation
  • 3. Development Requirement analysis Iterative design and implementation Deployment March 15 – 18, 2015 #OFADevWorkshop 3 Rough conceptual model Quarterly release cycle Collective feedback from OFIWG ~200 requirements MPI, PGAS, SHMEM, DBMS, sockets, … Input from wide variety of devices
  • 4. Application Requirements March 15 – 18, 2015 #OFADevWorkshop 4 Give us a high-level interface! Give us a low-level interface! And this was just the MPI developers! Try talking to the government!
  • 5. Design • Enable simple, basic usage • Move functionality under OFI • Advanced application constructs • Expose abstract HW capabilities March 15 – 18, 2015 #OFADevWorkshop 5 Implementation Agnostic GURU EASY Range of usage models
  • 6. Architecture March 15 – 18, 2015 #OFADevWorkshop 6 Open Fabrics Interfaces (OFI) Communication Services Connection Management Address Vectors Completion Services Event Queues Counters Data Transfer Services Message Queues Tag Matching RMA Atomics Control Services Discovery TriggeredOperations MPI SHMEM PGAS OFI Enabled Applications . . . fi_info
  • 7. Fabric Information Endpoint Types • MSG – Reliable connected • DGRAM – Datagram • RDM – Reliable datagram messages – Reliable unconnected Capabilities • Message queue – FIFO • RMA • Tagged messages – Sends match with specific receive buffers • Atomics March 15 – 18, 2015 #OFADevWorkshop 7 EASY Select desired endpoint type and capabilities
  • 8. March 15 – 18, 2015 #OFADevWorkshop 8 Fabric InformationEASY RDM Message Queue OFI Enabled Applications . . . RDM Message Queue RDM Message Queue DGRAM Message Queue RDM Message Queue Common Implementation App nApp 2App 1
  • 9. Fabric Information March 15 – 18, 2015 #OFADevWorkshop 9 GURU • Capabilities – Application desired features and permissions – Primary capabilities • Must be requested by application – Secondary capabilities • May be requested by application • May be offered by provider • Attributes – Defines the limits and behavior of selected interfaces – Negotiated • Mode – Provider request on application
  • 10. Threading Options Fully thread safe Identify resource usage constraints needed for lockless access Example: thread 1: {endpoint 1, CQ 1} thread 2: {endpoint 2, CQs 2-3} March 15 – 18, 2015 #OFADevWorkshop 10 GURU EASY Is synchronization needed?
  • 11. Progress Automatic – submit and forget Manual – application thread used to complete request Timeouts and retries, ack processing, atomic operations, data placement, etc. March 15 – 18, 2015 #OFADevWorkshop 11 GURU EASY What thread context does a request use to complete?
  • 12. Resource Management Enabled – prevent overrunning local and remote queues, including completion queues Disabled – application responsible for preventing overruns March 15 – 18, 2015 #OFADevWorkshop 12 GURU EASY Flow control and queuing App: behavior that can be relied on. Provider: requirements and potential optimizations not restrictions.
  • 13. Ordering Strict – requests are processed and completed in order Relaxed – enable out of order processing Dynamic routing, optimized completion processing, parallel data transfers, optimized retry algorithms, etc. March 15 – 18, 2015 #OFADevWorkshop 13 GURU EASY Sequence of request and completion processing
  • 14. Mode Bits None! – provider does all the work! Application support may improve performance – Local MR – must register buffers for local operations (send/receives) – Context – app provides ‘scratch space’ for provider to track request (full or partial onload models) – Buffer prefix – app provides space for network headers (usnic, IB GRH) March 15 – 18, 2015 #OFADevWorkshop 14 GURU EASY Provider hints on how it should best be used
  • 15. Architecture March 15 – 18, 2015 #OFADevWorkshop 15 Open Fabrics Interfaces (OFI) Communication Services Connection Management Address Vectors Completion Services Event Queues Counters Data Transfer Services Message Queues Tag Matching RMA Atomics Control Services Discovery TriggeredOperations MPI SHMEM PGAS OFI Enabled Applications . . . fi_info
  • 16. Endpoints March 15 – 18, 2015 #OFADevWorkshop 16 EASY Sequence of request and completion processing transmit Endpoint receive completions Conceptually similar to a socket or QP Addressable communication portal
  • 17. Shared Tx/Rx Contexts March 15 – 18, 2015 #OFADevWorkshop 17 transmit Endpoint receive GURU Endpoint Endpoint Endpoint Enable resource manager to direct use of HW resources Number of endpoints greater than available resources Map to command queues or HW limits (caching)
  • 18. Scalable Endpoints - Multi-threading - Ordering - Progress - Completions March 15 – 18, 2015 #OFADevWorkshop 18 transmit GURU Endpoint transmittransmittransmit receive receive receivereceive Multiple Tx/Rx contexts per endpoint Incoming requests may be able to target a specific receive context
  • 19. OFI Is a Full Meal Deal • Select a main dish and a side • OFI tells you today’s specials • You select the ingredients and tell OFI how to assemble them March 15 – 18, 2015 #OFADevWorkshop 19 GURU EASY We treat you right! Hello, my name is: OFI flair
  • 20. OFI 1.0 • Framework – libfabric – Interfaces & data structures definitions – ‘Spec’ = man pages • Functional implementation – Quickly enable hardware and fabrics • Portions layer over vendor interfaces – Allow for application development – Amount and quality of support is provider specific March 15 – 18, 2015 #OFADevWorkshop 20 Important to distinguish between architecture and direction versus current implementations
  • 21. OFI 1.0 Providers • Sockets – Implement all interfaces and functionality – App. development & debug • Verbs – Targets any verbs HW • Not optimized for a specific device – Only common verbs functionality supported • PSM – Targets non-verbs HW – Expands capabilities beyond lower software driver • USNIC – Targets non-verbs HW – Cisco will address March 15 – 18, 2015 #OFADevWorkshop 21 Input from verbs derivative and non-verbs providers also fed into OFI design
  • 22. OFI 1.x • Address other requirements – Multicast – Virtualization – Features cut from 1.0 release • Expand and optimize providers – Native providers – Additional hardware March 15 – 18, 2015 #OFADevWorkshop 22