An MPI Implementation on the Top of the Virtual Interface Architecture [chapter]

Massimo Bertozzi, Franco Boselli, Gianni Conte, Monica Reggiani
1999 Lecture Notes in Computer Science  
This paper describes an implementation of the LAM MPI suite on the top of the Virtual Interface Architecture. The Virtual Interface Architecture (VIA) is an emerging standard designed by Intel, Microsoft, and Compaq aimed at the reduction of communication latency for cluster of workstations or system area networks. Thanks to M-VIA, a Linux software module that emulates VIA and provides programmers of VIA APIs, it has been possible to develop an MPI implementation even in absence of a hardware
more » ... A interface. Nonetheless, M-VIA module high optimization as well as VIA protocol simplicity permitted a reduction of latency time with respect to the use of the TCP/IP protocol on Ethernet network interfaces. Many solutions to these problems have been proposed, ranging from the development of hardware components dedicated to speedup communications [2, 6, 3] to the implementation of light communication protocols [11, 15, 10] . Nevertheless, no one of the proposed solutions has gained a wide acceptance. Starting from previous experiences [16], a consortium composed by Intel, Compaq, and Microsoft introduced a new standard for cluster of workstation: the Virtual Interface Architecture (VIA), that seems the most promising solution for reducing the communication latency and speeding up the application-network link. The VIA standard, in fact, endorses a direct interface between user applications and network layer without requiring participation of the operating system. The first products based on the VIA standard are now appearing and the proposing consortium seems strong enough to guarantee a wide acceptance of this network standard. This paper presents an implementation of the LAM MPI suite on the top of the Virtual Interface Architecture. Thanks to M-VIA, a Linux software module that emulates VIA and provides programmers of VIA APIs, it has been possible to develop an MPI implementation even in absence of a hardware VIA implementation. This paper is organized as follows. Section 2 discusses communication issues and introduces VIA. Section 3 presents the implementation, while section 4 discusses the results and performance of the final product. Section 5 ends the paper with some final remarks. The Communication Architecture An ideal communication interface/protocol for cluster of workstations or system area networks should feature the following characteristics: low communication latency, high bandwidth, small overhead, and small CPU intervention. A number of solutions have been proposed to overcome these problems: U-Net [16], Active Messages [17], or Fast Messages [14] . These solutions share the underlying idea of giving to user processes direct access to network resources. Unfortunately, none of the above solutions has reached a wide acceptance.More recently, starting from these experiences, a consortium composed by Microsoft, Compaq and Intel authored a new standard, the Virtual Interface Architecture specifically designed for fast interprocess communication in a cluster or System Area Network environment. The Virtual Interface architecture The basic concepts that have been used for the VIA design are the following: -the process has to execute a small number of operations for starting, ending, or managing a communication session; -these operations have to be as simple as possible; -I/O operations must not require the use of interrupts; -context switches as well as copies of data have to be avoided whenever possible; -concurrency for the communication interface must be managed without operating system intervention.
doi:10.1007/3-540-48158-3_25 fatcat:dozfpz3zrzdwffd4or4yrjfsoq