Virtual Interface Architecture

Virtual Interface Architecture

The Virtual Interface Architecture (VIA) is an abstract model of a user-level zero-copy network, and is the basis for InfiniBand and iWARP. 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), regrettably it is the same acronym as Storage Area Networks.

Networks are a shared resource. In traditional networks such as Ethernet, the network is protected by the kernel, which presents a tremendous performance bottleneck when 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 his own buffers and communication schedule while the "provider" handles the protection.

Thus, the network interface card (NIC) provides a "private network" for a process, and a process is usually allowed to have multiple such networks. The virtual interface (VI) of VIA refers to this network and is merely the destination of the user's communication requests. Communication takes place over a pair of VIs, one on each of the processing nodes involved in the transmission. In "kernel-bypass" communication, the user manages his own buffers.

Another facet of traditional networks is that arriving data is placed in a pre-allocated buffer and then copied to the user-specified final destination. Copying large messages can take a long time, and so eliminating this step is beneficial. Another classic development in computing systems is direct memory access (DMA), in which a device can access main memory directly while the CPU is free to perform other tasks.

In a network with "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" his buffers before transmission, so as to prevent the OS from swapping the page out to the disk. This action—one of the few that involves 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 InfiniBand and iWARP.

External links

* [http://www.usenix.org/publications/library/proceedings/als00/2000papers/papers/full_papers/rangarajan/rangarajan_html/node3.html Usenix notes on VIA]
* [http://www.intel.com/intelpress/chapter-via.pdf The Virtual Interface Architecture] , a book from Intel


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Virtual private network — A virtual private network (VPN) is a computer network in which some of the links between nodes are carried by open connections or virtual circuits in some larger network (e.g., the Internet) instead of by physical wires. The link layer protocols… …   Wikipedia

  • Virtual synchrony — is an interprocess messaging passing (sometimes called event queue management) technology. Virtual synchrony systems allow programs running in a network to organize themselves into process groups , and to send messages to groups (as opposed to… …   Wikipedia

  • Virtual DOS machine — (VDM) is Microsoft s technology that allows running legacy DOS and 16 bit Windows programs on Intel 80386 or higher computers when there is already another operating system running and controlling the hardware. Contents 1 Overview 2 NTVDM 3… …   Wikipedia

  • Virtual File System — ou VFS (ou encore Virtual Filesystem Switch) est le nom commun de différents systèmes de fichiers virtuels fonctionnant sur la famille de systèmes d exploitation de type UNIX. Il est apparu dans la version 2.0 de SunOS, puis il a été adopté par… …   Wikipédia en Français

  • Virtual memory/rewrite — Virtual memory is a computer system technique that gives an application program the impression it has contiguous working memory, while in fact it is physically fragmented and may even overflow on to disk storage. Systems which use this technique… …   Wikipedia

  • Architecture Multimodale et Interfaces — est un standard ouvert en développement par le World Wide Consortium depuis 2005. Actuellement il est considéré comme brouillon de travail (Working Draft) du W3C. Le document est le rapport technique de spécification d une architecture… …   Wikipédia en Français

  • Virtual Sites Server — (V.S.S.) is the first web application framework for Microsoft ASP (Active Server Pages, now ASP Classic) that permits to use the MVC (Model View Controller) in ASP Classic applications.It was made with Microsoft COM+ architecture. Virtual Sites… …   Wikipedia

  • Virtual machine — A virtual machine (VM) is a completely isolated guest operating system installation within a normal host operating system .[1] Modern virtual machines are implemented with either software emulation or hardware virtualization or (in the most… …   Wikipedia

  • Architecture of Windows NT — The Windows NT operating system family s architecture consists of two layers (user mode and kernel mode), with many different modules within both of these layers. The architecture of Windows NT, a line of operating systems produced and sold by… …   Wikipedia

  • virtual reality — a realistic simulation of an environment, including three dimensional graphics, by a computer system using interactive software and hardware. [1985 90] * * * Use of computer modeling and simulation to enable a person to interact with an… …   Universalium

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”