]> git.openfabrics.org - ~ardavis/dapl.git/commit
add new dapl MIC provider (MCM) to support MIC RDMA proxy services
authorArlin Davis <arlin.r.davis@intel.com>
Mon, 21 Jul 2014 17:58:37 +0000 (10:58 -0700)
committerArlin Davis <arlin.r.davis@intel.com>
Mon, 21 Jul 2014 17:58:37 +0000 (10:58 -0700)
commit574a863607d1bad07aa4b97b1f35ce2b13a53df7
tree334493219a6de7db64bd7ff5edd1abf41157a493
parent4ca7c024e65cb7903bc3d32aa1ca5643e50775c1
add new dapl MIC provider (MCM) to support MIC RDMA proxy services

Provider supports all modes of connectivity and will setup data paths
based on endpoint locality and platform constraints. Provides
transparent DAT API support for RDMA writes, RDMA write with
immediate data, Sends, and Recvs. No RDMA read or atomic support.
To use MCM provider an application can use the new ofa-v2-mcm
device definations in dat.conf. Intel MPSS is required for
for MCM provider build and usage.

The following shows connectivity modes and data paths:

HST -> HST to HCA
MSS -> MIC to HCA same socket
MXS -> MIC to HCA cross socket

1.  HST->HST:    Xeon->HCA->fabric->HCA->Xeon  (direct->direct)
    HST<-HST:    Xeon<-HCA<-fabric<-HCA<-Xeon  (direct<-direct)

2.  MSS->MSS:    KNC->Xeon->HCA->fabric->HCA->KNC  (proxy->direct)
    MSS<-MSS:    KNC<-HCA<-fabric<-HCA<-Xeon<-KNC  (direct<-proxy)

3.  MSX->MSX:    KNC->Xeon->HCA->fabric->HCA->Xeon->KNC  (proxy->proxy)
    MSX<-MSX:    KNC<-Xeon<-HCA<-fabric<-HCA<-Xeon<-KNC  (proxy<-proxy)

4.  MSS->MSX:    KNC->Xeon->HCA->fabric->HCA->Xeon->KNC  (proxy->proxy)
    MSS<-MXS:    KNC<-HCA<-fabric<-HCA<-Xeon<-KNC        (direct<-proxy)

5.  MSS->HST:    KNC->Xeon->HCA->fabric->HCA->Xeon  (proxy->direct)
    MSS<-HST:    KNC<-HCA<-fabric<-HCA<-Xeon        (direct<-direct)

6.  MSX->HST:    KNC->Xeon->HCA->fabric->HCA->Xeon  (proxy->direct)
    MSX<-HST:    KNC<-Xeon<-HCA<-fabric<-HCA<-Xeon  (proxy<-direct)

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dapl/openib_mcm/cm.c [new file with mode: 0644]
dapl/openib_mcm/dapl_ib_util.h [new file with mode: 0644]
dapl/openib_mcm/device.c [new file with mode: 0644]
dapl/openib_mcm/linux/openib_osd.h [new file with mode: 0644]
dapl/openib_mcm/mix.c [new file with mode: 0644]
dapl/openib_mcm/proxy.c [new file with mode: 0644]