Open Fabrics Windows RDMA Software Evolution of the
Open. Fabrics Windows RDMA Software Evolution of the Win. OF Stack
Windows RDMA Goals • Provide interfaces optimized for Windows – “Win. Verbs” • Simplify porting applications between Linux and Windows • Support for multiple RDMA transports Logical evolution of existing NDI enhanced IBAL stack
Current Win. OF Functional Software Components Separate API from functionality IBAL APIs NDI ‘Verbs’ IBAL Verbs IBAL MAD IBAL CM NDI Proxy Verbs Proxy MAD Proxy CM Proxy user kernel NDI Proxy Proposed NDI implementation Verbs Proxy MAD Proxy IBAL CM IBAL MAD IBAL Verbs NDI requires new kernel proxy CM Proxy HCA Driver
Win. Verbs • Windows userspace RDMA verbs • Optimized for Windows – Use of overlapped I/O, apps control threading model • Improved multi-core support • Supports NDI – NDI provider sits over more generic Win. Verbs library • IBAL compatibility layer added over Win. Verbs – Maintains interface and threading model Development focus moves from IBAL verbs to generic NDI support
Win. Verbs • Derived from NDI branch – It provides a lot of what we want – Extend for non-NDI applications, such as DAPL • Other QP types, multicast traffic, RDMA CM • Provide consistent API – Simple rename of IBAL / NDI verbs – Reuse existing IBAL / NDI userspace to kernel infrastructure – Eliminate duplicate functionality • Create CQ / QP, etc. Extend and clean up NDI branch
Win. Verbs NDI Provider Extend NDI concepts to all verbs Compatibility IBAL interface IBAL Verbs Win. Verbs Proxy Remove duplicate functionality user Merge NDI and IBAL proxies Win. Verbs Proxy Maintain single verbs proxy IBAL Verbs HCA Driver kernel
Windows RDMA CM • Standardize on RDMA CM – Requires new interface and proxy support • Support for NDI and u. DAPL – Keep support generic – Transport neutral • Coordinate interface with Win. Verbs • IB CM still provided – Existing IBAL interface
RDMA CM NDI Provider RDMA CM IBAL CM RDMA CM Proxy user kernel RDMA CM Proxy IBAL CM IBAL MAD IBAL Verbs HCA Driver
Open. Fabrics Total Solution • Simplify porting applications between Linux and Windows – Port app to RDMA once – not once per OS – Performance on par with DAPL • Lower-level support than DAPL – e. g. MADs • Provide IB diagnostics on Windows • Support OFED userspace interfaces on Windows – More Linux apps to port to Windows
Open. Fabrics Total Solution IBAL Verbs NDI DAPL IB Utils OFED I/F Windows RDMA IBAL CM IBAL MAD Win. Verbs RDMA CM user Win. Verbs Proxy RDMA CM Proxy IBAL CM IBAL MAD IBAL Verbs i. Warp Driver HCA Driver kernel
- Slides: 10