简介P2P简称Peer-to-Peer,即点对点, PCIe P2P, 即一个EP设备直接访问另外一个EP设备。下图蓝色路径,两个EP P2P通信路径。本文介绍P2P应用以及PCIe P2P基础知识,通过本文掌握PCIe P2P原理。 P2P应用场景P2P典…
P2P简称Peer-to-Peer,即点对点, PCIe P2P, 即一个EP设备直接访问另外一个EP设备。 PCIe p2p功能在SPEC中没有明确的capability定义,实质上是由PCIe路由规则而决定;例如地址路由,通过bridge设备的mem window来判断如何路由mem request,TLP的地址如果在bridge的mem window中,则TLP向bridge的下一级转发,否则向上转发。 P...
PCIe peer-to-peer communication (P2P) is a PCIe feature which enables two PCIe devices to directly transfer data between each other without using host RAM as a temporary storage. The latest version of Alveo PCIe platforms support P2P feature via PCIe Resizeable BAR Capability. Data can be dire...
PCIe peer-to-peer topology and data transfer To use P2P, the DDR/HBM on a Alveo PCIe platform need to be mapped to host IO memory space. The total size of DDR/HBM on most Alveo PCIe platforms is 64 GB all of which needs to mapped to the host IO memory space. Partial mapping a s...
需要特别注意的是,PCIe的Spec中明确规定只有Root有权限发起配置请求(Originate Configuration Requests),也就是说PCIe系统里面的其他设备是不允许去配置其他设备的配置空间的,即peer-to-peer的配置请求是不允许的。并且配置请求的路由(Routing)方式只能是采用BDF(Bus,Device,Function)。
4.PCIe设备发起的,访问PCIe设备MMIO/IO的数据流, 亦称P2P (Peer to Peer)。同(3)类似,也是利用PCIe设备的DMAengine, 但是数据访问的是其他PCIe设备的MMIO地址空间而非HostMemory. CPU须配置桥片端口路由地址。 GDR (GPU directRDMA) 就是利用这种数据流,避免主机内存的数据拷贝。
4.PCIe 设备发起的,访问PCIe设备MMIO/IO的数据流, 亦称P2P (Peer to Peer)。同(3)类似,也是利用PCIe 设备的DMA engine, 但是数据访问的是其他PCIe 设备的MMIO地址空间而非Host Memory. CPU须配置桥片端口路由地址。 GDR (GPU direct RDMA) 就是利用这种数据流,避免主机内存的数据拷贝。
如果EP端ATC(Address Translation Cache)声称其发出的访问请求是经过转换后的地址,且该地址刚好落在PCIe交换开关的BAR范围内,则该访问请求不会到达RC,而是被交换开关路由到该地址所对应的EP。也就是说,该访问请求绕过了IOMMU的隔离,进行了P2P(peer-to-peer)传输。
第三,PCI Express没有沿用传统的共享式结构,它采用点对点工作模式(Peer to Peer,也被简称为P2P),每个PCI Express设备都有自己的专用连接,这样就无需向整条总线申请带宽,避免多个设备争抢带宽的糟糕情形发生,而此种情况在共享架构的PCI系统中司空见惯。