Virtual Interface Architecture: Difference between revisions

Content deleted Content added
stubby
m clean up, removed stub tag
Line 1:
{{ref-improvemore citations needed|date=December 2011}}
 
The '''Virtual Interface Architecture''' ('''VIA''') is an abstract model of a user-level [[zero-copy]] [[computer network|network]], and is the basis for [[InfiniBand]], [[iWARP]] and [[RDMA_over_Converged_EthernetRDMA over Converged Ethernet|RoCE]]. Created by [[Microsoft]], [[Intel]], and [[Compaq]], the original VIA sought to standardize the interface for high-performance network technologies known as System Area Networks (SANs; not to be confused with [[Storage Area Network]]s).
 
Networks are a shared resource. With traditional network APIs such as the [[Berkeley_socketsBerkeley sockets|Berkeley socket API]], the [[kernel (computer science)|kernel]] is involved in every network communication. This presents a tremendous performance bottleneck when [[lag|latency]] is an issue.
 
One of the classic developments in computing systems is [[virtual memory]], a combination of hardware and software that creates the illusion of private memory for each process. In the same school of thought, a virtual network interface protected across process boundaries could be accessed at the user level. With this technology, the "consumer" manages its own buffers and communication schedule while the "provider" handles the protection.
Line 15:
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 involve 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_EthernetRDMA over Converged Ethernet|RoCE]] standards.
 
==External links==
Line 26:
[[Category:Supercomputing]]
[[Category:Computer networks]]
 
 
{{network-stub}}