Architecture of a message-driven processor
ISCA '87 Proceedings of the 14th annual international symposium on Computer architecture
Active messages: a mechanism for integrated communication and computation
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
The importance of non-data touching processing overheads in TCP/IP
SIGCOMM '93 Conference proceedings on Communications architectures, protocols and applications
Virtual memory mapped network interface for the SHRIMP multicomputer
ISCA '94 Proceedings of the 21st annual international symposium on Computer architecture
U-Net: a user-level network interface for parallel and distributed computing
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
An implementation of the Hamlyn sender-managed interface architecture
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Effects of communication latency, overhead, and bandwidth in a cluster architecture
Proceedings of the 24th annual international symposium on Computer architecture
Computer architecture (2nd ed.): a quantitative approach
Computer architecture (2nd ed.): a quantitative approach
Fast Messages: Efficient, Portable Communication for Workstation Clusters and MPPs
IEEE Parallel & Distributed Technology: Systems & Technology
Using the Memory Channel Network
IEEE Micro
An agent model platform for realizing efficient and reusable agent software
AGENTS '00 Proceedings of the fourth international conference on Autonomous agents
Using the VI architecture to build distributed, multithreaded runtime systems: a case study
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
Adding extensible synchronization capabilities to the agent model of a FIPA-compliant agent platform
First international workshop, AOSE 2000 on Agent-oriented software engineering
QoS provisioning in clusters: an investigation of Router and NIC design
ISCA '01 Proceedings of the 28th annual international symposium on Computer architecture
An implementation and analysis of the virtual interface architecture
SC '98 Proceedings of the 1998 ACM/IEEE conference on Supercomputing
Server Capacity Planning for Web Traffic Workload
IEEE Transactions on Knowledge and Data Engineering
DSM-PM2: A Portable Implementation Platform for Multithreaded DSM Consistency Protocols
HIPS '01 Proceedings of the 6th International Workshop on High-Level Parallel Programming Models and Supportive Environments
VIBe: A Micro-benchmark Suite for Evaluating Virtual Interface Architecture (VIA) Implementations
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Implementing Multithreaded Protocols for Release Consistency on Top of the Generic DSM-PM Platform
IWCC '01 Proceedings of the NATO Advanced Research Workshop on Advanced Environments, Tools, and Applications for Cluster Computing-Revised Papers
Bottleneck Analysis of a Gigabit Network Interface Card: Formal Verification Approach
Proceedings of the 9th International SPIN Workshop on Model Checking of Software
Building Distributed Applications Using Multiple, Heterogeneous Environments
Euro-Par '00 Proceedings from the 6th International Euro-Par Conference on Parallel Processing
Stepwise Optimizations of UDP/IP on a Gigabit Network (Research Note)
Euro-Par '02 Proceedings of the 8th International Euro-Par Conference on Parallel Processing
An MPI Implementation on the Top of the Virtual Interface Architecture
Proceedings of the 6th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
High performance RDMA-based MPI implementation over InfiniBand
ICS '03 Proceedings of the 17th annual international conference on Supercomputing
Firmware-Level Latency Analysis on a Gigabit Network
The Journal of Supercomputing
Architectural Impact of Secure Socket Layer on Internet Servers
ICCD '00 Proceedings of the 2000 IEEE International Conference on Computer Design: VLSI in Computers & Processors
Realistic Modeling and Svnthesis of Resources for Computational Grids
Proceedings of the 2004 ACM/IEEE conference on Supercomputing
Proceedings of the 2004 ACM/IEEE conference on Supercomputing
ParADE: An OpenMP Programming Environment for SMP Cluster Systems
Proceedings of the 2003 ACM/IEEE conference on Supercomputing
PRESS: A Clustered Server Based on User-Level Communication
IEEE Transactions on Parallel and Distributed Systems
PROC: Process ReOrdering-Based Coscheduling on Workstation Clusters
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 01
A Cheap and Safe COTS Wormhole for Local Area Networks
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Workshop 16 - Volume 17
Shared memory computing on clusters with symmetric multiprocessors and system area networks
ACM Transactions on Computer Systems (TOCS)
Network Interface Data Caching
IEEE Transactions on Computers
Transformations to Parallel Codes for Communication-Computation Overlap
SC '05 Proceedings of the 2005 ACM/IEEE conference on Supercomputing
Note: The distributed virtual shared-memory system based on the InfiniBand architecture
Journal of Parallel and Distributed Computing - Special issue: Design and performance of networks for super-, cluster-, and grid-computing: Part I
High performance RDMA-based MPI implementation over infiniBand
International Journal of Parallel Programming - Special issue I: The 17th annual international conference on supercomputing (ICS'03)
Study of OpenMP applications on the InfiniBand-based software distributed shared-memory system
Parallel Computing - OpenMp
Log-based rollback recovery without checkpoints of shared memory in software DSM
The Journal of Supercomputing
Performance of optimized software implementation of the iSCSI protocol
SNAPI '03 Proceedings of the international workshop on Storage network architecture and parallel I/Os
Efficient remote block-level I/O over an RDMA-capable NIC
Proceedings of the 20th annual international conference on Supercomputing
Locality and parallelism optimization for dynamic programming algorithm in bioinformatics
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
Evaluating network processing efficiency with processor partitioning and asynchronous I/O
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
A runtime resolution scheme for priority boost conflict in implicit coscheduling
The Journal of Supercomputing
CSP: a novel system architecture for scalable internet and communication services
USITS'01 Proceedings of the 3rd conference on USENIX Symposium on Internet Technologies and Systems - Volume 3
Nomad: migrating OS-bypass networks in virtual machines
Proceedings of the 3rd international conference on Virtual execution environments
The Journal of Supercomputing
WINSYM'98 Proceedings of the 2nd conference on USENIX Windows NT Symposium - Volume 2
WINSYM'99 Proceedings of the 3rd conference on USENIX Windows NT Symposium - Volume 3
Optimization and bottleneck analysis of network block I/O in commodity storage systems
Proceedings of the 21st annual international conference on Supercomputing
A detailed performance analysis of UDP/IP, TCP/IP, and M-VIA network protocols using Linux/SimOS
Journal of High Speed Networks
Frame shared memory: line-rate networking on commodity hardware
Proceedings of the 3rd ACM/IEEE Symposium on Architecture for networking and communications systems
SEPCOM: customizable zero copy model
Proceedings of the 2nd international conference on Performance evaluation methodologies and tools
Performance evaluation of the Sun Fire Link SMP clusters
International Journal of High Performance Computing and Networking
High-performance ethernet-based communications for future multi-core processors
Proceedings of the 2007 ACM/IEEE conference on Supercomputing
Microprocessors & Microsystems
Computer Networks: The International Journal of Computer and Telecommunications Networking
A parallel programming environment on grid
ICCS'03 Proceedings of the 1st international conference on Computational science: PartI
SoftRDMA: implementing iWARP over TCP kernel sockets
IBM Journal of Research and Development
Seekable sockets: a mechanism to reduce copy overheads in TCP-based messaging
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Lightweight logging and recovery for distributed shared memory over virtual interface architecture
ISPDC'03 Proceedings of the Second international conference on Parallel and distributed computing
Application-specific service technologies for commodity operating systems in real-time environments
ACM Transactions on Embedded Computing Systems (TECS)
NIC-NET: a host-independent network solution for high-end network servers
PDCAT'04 Proceedings of the 5th international conference on Parallel and Distributed Computing: applications and Technologies
An M-VIA-Based channel bonding mechanism on gigabit ethernet
PDCAT'04 Proceedings of the 5th international conference on Parallel and Distributed Computing: applications and Technologies
A distributed VOD server based on VIA and interval cache
PCM'04 Proceedings of the 5th Pacific Rim conference on Advances in Multimedia Information Processing - Volume Part I
Lightweight messages: true zero-copy communication for commodity gigabit ethernet
EUC'06 Proceedings of the 2006 international conference on Emerging Directions in Embedded and Ubiquitous Computing
Tolerating message latency through the early release of blocked receives
Euro-Par'05 Proceedings of the 11th international Euro-Par conference on Parallel Processing
HiPC'04 Proceedings of the 11th international conference on High Performance Computing
Design of scalable Java message-passing communications over InfiniBand
The Journal of Supercomputing
NetSlices: scalable multi-core packet processing in user-space
Proceedings of the eighth ACM/IEEE symposium on Architectures for networking and communications systems
Hi-index | 0.01 |
Network bandwidths have been increasing and latencies through these networks have been decreasing. Unfortunately, applications have not been able to take full advantage of these performance improvements due to the many layers of user level and kernel level software that is required to get to the network. The Virtual Interface Architecture (or simply VI Architecture) was developed to significantly reduce the software overhead between a high performance CPU/memory subsystem and a high performance network. The Virtual Interface Architecture defines a set of functions and associated semantics used for moving data into and out of a process' memory. The design focus of the VI Architecture is to achieve low latency, high bandwidth communication/data exchange between processes running on two nodes within a computing cluster, with minimal CPU usage. Low latency and sustained high bandwidth are achieved by allowing a user process direct access to the network interface, avoiding intermediate copies of data and bypassing the operating system in a fully-protected fashion. CPU utilization is minimized by avoiding interrupts and context switches whenever possible. This article presents the mechanisms which support protected, zero-copy user-level access and the performance data of one implementation of the VI Architecture. Intel Corporation, Compaq Computer Corporation and Microsoft Corporation jointly authored the VI Architecture specification. A copy of the specification can be found at http://www.viarch.org/.