Virtual Interface Architecture: Difference between revisions

Content deleted Content added
Intel book PDF gets a 404; substituted a link to the Intel's description of the book
correcting grammar: —> [one of a set] "one of the few that are involve ..."—User:Wavelength/About English/Subsets
Line 12:
In a network with "remote direct memory access" ([[Remote direct memory access|RDMA]]), the sending NIC uses DMA to read data in the user-specified buffer and transmit it as a self-contained message across the network. The receiving NIC then uses DMA to place the data into the user-specified buffer. There is no intermediary copying and all of these actions occur without involvement of the CPUs, which has an added benefit of lower CPU utilization.
 
For the NIC to actually access the data through DMA, the user's page must be in memory. In VIA, the user must "pin-down" its buffers before transmission, so as to prevent the OS from swapping the page out to the disk. This action—one of the few that involvesinvolve the kernel—ties the page to physical memory. To ensure that only the process that owns the registered memory may access it, the VIA NICs require permission keys known as "protection tags" during communication.
 
So essentially VIA is a standard that defines kernel bypassing and RDMA in a network. It also defines a programming library called "VIPL". It has been implemented, most notably in cLAN from Giganet (now [http://www.emulex.com/ Emulex]). Mostly though, VIA's major contribution has been in providing a basis for the [[InfiniBand]], [[iWARP]] and [[RDMA_over_Converged_Ethernet|RoCE]] standards.