A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18,...

23
A Taste of OFI Sean Hefty #OFADevWorkshop

Transcript of A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18,...

Page 1: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

A Taste of OFI Sean Hefty

#OFADevWorkshop

Page 2: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 3: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 4: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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!

Page 5: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 6: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Trig

gere

d O

pera

tions

MPI SHMEM PGAS

OFI Enabled Applications . . .

fi_info

Page 7: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 8: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

March 15 – 18, 2015 #OFADevWorkshop 8

Fabric Information EASY

RDM Message Queue

OFI Enabled Applications

. . . RDM Message

Queue RDM Message

Queue

DGRAM Message Queue

RDM Message Queue Common Implementation

App n App 2 App 1

Page 9: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 10: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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?

Page 11: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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?

Page 12: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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.

Page 13: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 14: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 15: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Trig

gere

d O

pera

tions

MPI SHMEM PGAS

OFI Enabled Applications . . .

fi_info

Page 16: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 17: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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)

Page 18: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

Scalable Endpoints

- Multi-threading - Ordering - Progress - Completions

March 15 – 18, 2015 #OFADevWorkshop 18

transmit

GURU Endpoint

transmit transmit transmit receive receive receive receive

Multiple Tx/Rx contexts per endpoint

Incoming requests may be able to target a

specific receive context

Page 19: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 20: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 21: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 22: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

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

Page 23: A Taste of OFI - Innovation in High Speed Fabrics · 2016-02-21 · Taste of OFI . March 15 – 18, 2015 #OFADevWorkshop 2 . Elegant and intellectually satisfying with subtle undertones?

#OFADevWorkshop

Thank You