60 likes | 205 Views
OFI SW. Sean Hefty - Intel Corporation. Target Software. Eventually need to reach consensus on short-term and long-term objectives. Options are not mutually exclusive. For now, identify common areas. Software Packaging. Focus on how , not necessarily what. Existing packages
E N D
OFI SW Sean Hefty - Intel Corporation
Target Software • Eventually need to reach consensus on short-term and long-term objectives • Options are not mutually exclusive • For now, identify common areas www.openfabrics.org
Software Packaging • Focus on how, not necessarily what • 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? • IB management being addressed separately (e.g. ibssa, ibacm) www.openfabrics.org
Scalable Interfaces • OFI SW appears to mostly agree on: • 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 • Disagreement stems from how those APIs are accessed www.openfabrics.org
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 • Can we analyze these APIs? www.openfabrics.org
Extending Capabilities to Verbs • Simple approach(using same name) structibv_qp { <existing fields> structfid_epep; }; static inline int ibv_post_smsg(structibv_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); } • New ops embedded into existing structure • Consistent verbs look and feel • qp->ep.fid.msg->sendmem www.openfabrics.org