ofi sw sean hefty - intel corporation. target software 2 verbs 1.x + extensions 2.0 rdma cm 1.x +...
TRANSCRIPT
![Page 1: OFI SW Sean Hefty - Intel Corporation. Target Software 2 Verbs 1.x + extensions 2.0 RDMA CM 1.x + extensions 2.0 Fabric Interfaces](https://reader036.vdocuments.us/reader036/viewer/2022082518/5697bff11a28abf838cbb497/html5/thumbnails/1.jpg)
OFI SW
Sean Hefty - Intel Corporation
![Page 2: OFI SW Sean Hefty - Intel Corporation. Target Software 2 Verbs 1.x + extensions 2.0 RDMA CM 1.x + extensions 2.0 Fabric Interfaces](https://reader036.vdocuments.us/reader036/viewer/2022082518/5697bff11a28abf838cbb497/html5/thumbnails/2.jpg)
Target Software
www.openfabrics.org 2
Verbs• 1.x +
extensions• 2.0
RDMA CM• 1.x +
extensions• 2.0
Fabric Interfaces• “2.0 APIs”
ULPs• rsockets• ES-API• …
Eventually need to reach consensus on short-term and long-term objectives
Options are not mutually exclusive
For now, identify common areas
![Page 3: OFI SW Sean Hefty - Intel Corporation. Target Software 2 Verbs 1.x + extensions 2.0 RDMA CM 1.x + extensions 2.0 Fabric Interfaces](https://reader036.vdocuments.us/reader036/viewer/2022082518/5697bff11a28abf838cbb497/html5/thumbnails/3.jpg)
Software Packaging
• Existing packages– libibverbs, librdmacm, ibacm, libibumad, providers– other packages - PSM, MXM, CoreDirect, DAPL, CCI
• Modify existing or introduce new packages– How to handle provider packages?– Work with existing or require updates?
www.openfabrics.org 3
IB management being addressed separately
(e.g. ibssa, ibacm)
Focus on how, not necessarily what
![Page 4: OFI SW Sean Hefty - Intel Corporation. Target Software 2 Verbs 1.x + extensions 2.0 RDMA CM 1.x + extensions 2.0 Fabric Interfaces](https://reader036.vdocuments.us/reader036/viewer/2022082518/5697bff11a28abf838cbb497/html5/thumbnails/4.jpg)
Scalable Interfaces
• Providing optimized SW paths to HW• The conceptual model that’s been described
– Application identifies API usage model at initialization– Provider selects optimal software path– Object-oriented API model
• Calls per object, not per provider
www.openfabrics.org 4
OFI SW appears to mostly agree on:
Disagreement stems from how those APIs are accessed
![Page 5: OFI SW Sean Hefty - Intel Corporation. Target Software 2 Verbs 1.x + extensions 2.0 RDMA CM 1.x + extensions 2.0 Fabric Interfaces](https://reader036.vdocuments.us/reader036/viewer/2022082518/5697bff11a28abf838cbb497/html5/thumbnails/5.jpg)
Object Interfaces
• Focus on agreement areas– Defined operations, control flags– ‘fabric interface’ objects are basically a collection of
function pointers
• QP ~ endpoint– Ops: msg, rma, tagged, atomic, [cm], [triggered]
• CQ ~ event queue– Ops: ec
www.openfabrics.org 5
Can we analyze these APIs?
![Page 6: OFI SW Sean Hefty - Intel Corporation. Target Software 2 Verbs 1.x + extensions 2.0 RDMA CM 1.x + extensions 2.0 Fabric Interfaces](https://reader036.vdocuments.us/reader036/viewer/2022082518/5697bff11a28abf838cbb497/html5/thumbnails/6.jpg)
Extending Capabilities to Verbs
struct ibv_qp {<existing fields>struct fid_ep ep;
};
static inline intibv_post_smsg(struct ibv_qp *qp, const void *addr,
uint32_t length, uint32_t lkey, void *wr_id){
return fi_sendmem(&qp->ep.fid, addr, length,lkey, wr_id);
}
www.openfabrics.org 6
Simple approach(using same name)
New ops embedded into existing structure
Consistent verbs look and feel
qp->ep.fid.msg->sendmem