High Performance Sockets and RPC over Virtual Interface (VI) Architecture

  • Hemal V. Shah
  • Calton Pu
  • Rajesh S. Madukkarumukumana
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1602)


Standard user-level networking architecture such as Virtual Interface (VI) Architecture enables distributed applications to perform low overhead communication over System Area Networks (SANs). This paper describes how high-level communication paradigms like stream sockets and remote procedure call (RPC) can be efficiently built over user-level networking architectures. To evaluate performance benefits for standard client-server and multi-threaded environments, our focus is on off-the-shelf sockets and RPC interfaces and commercially available VI Architecture based SANs. The key design techniques developed in this research include credit-based flow control, decentralized user-level protocol processing, caching of pinned communication buffers, and deferred processing of completed send operations. The one-way bandwidth achieved by stream sockets over VI Architecture was 3 to 4 times better than the same achieved by running legacy protocols over the same interconnect. On the same SAN, high-performance stream sockets and RPC over VI Architecture achieve significantly better (between 2-3x) latency than conventional stream sockets and RPC over standard network protocols in Windows NT TM 4.0 environment. Furthermore, our high-performance RPC transparently improved the network performance of Distributed Component Object Model (DCOM) by a factor of 2 to 3.


Connection Request Remote Procedure Call Virtual Interface Work Queue Fast Message 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bilas, A., Felten, E.W.: Fast RPC on the SHRIMP Virtual Memory Mapped Network Interface. J. of Parallel and Distributed Computing 40(1), 138–146 (1997)CrossRefGoogle Scholar
  2. 2.
    Blumrich, M., et al.: A Virtual Memory Mapped Network Interface for the Shrimp Multicomputer. In: Proceedings of the 21st Annual Symposium on Computer Architecture, pp. 142–153 (1994)Google Scholar
  3. 3.
    Chang, C.-C., von Eicken, T.: A Software Architecture for Zero-Copy RPC in Java. CS Technical Report 98-1708, Cornell University (1998)Google Scholar
  4. 4.
    Damianakis, S.N., Dubnicki, C., Felten, E.W.: Stream Sockets on SHRIMP. In: Proceedings of 1st International Workshop on Communication and Architectural Support for Network-Based Parallel Computing (1997)Google Scholar
  5. 5.
    DCOM Architecture. Microsoft Corporation (1997)Google Scholar
  6. 6.
    Dunning, D., et al.: The Virtual Interface Architecture: A Protected, Zero Copy, User-level Interface to Networks. IEEE MICRO 18(2), 66-76 (1998)Google Scholar
  7. 7.
    von Eicken, T., et al.: U-Net: A User-Level Network Interface for Parallel and Distributed Computing. In: Proceedings of the 15th ACM Symposium on Operating System Principles. 40-53 (1995)Google Scholar
  8. 8.
    GigaNet Incorporated. GigaNet cLAN Product Family,
  9. 9.
    JavaTM Remote Method Invocation Specification,
  10. 10.
    Madukkarumukumana, R.S., Pu, C., Shah, H.V.: Harnessing User-level Networking Architectures for Distributed Object Computing over High-Speed Networks. In: Proc. of 2nd USENIX Windows NT Symposium, pp. 127-135 (1998)Google Scholar
  11. 11.
    Muller, G., et al.: Fast, Optimized Sun RPC Using Automatic Program Specialization. In: Proceedings of the International Conference on Distributed Computing Systems, ICDCS-18, pp. 240-249 (1998)Google Scholar
  12. 12.
    Object Management Group: The Common Object Request Broker: Architecture and Specification. 2.0 Edition (1995)Google Scholar
  13. 13.
    Pakin, S., Karamcheti, V., Chien, A.A.: Fast Messages: Efficient, Portable Communication for Workstation Clusters and MPPs. IEEE Concurrency 5(2), 60–73 (1997)Google Scholar
  14. 14.
    Rodrigues, S.H., Anderson, T.E., Culler, D.E.: High-Performance Local Area Communication with Fast Sockets. In: USENIX 1997 Conference (1997)Google Scholar
  15. 15.
    Virtual Interface Architecture Specification. Version 1.0 (1997),
  16. 16.
    Windows Sockets 2 Service Provider Interface,
  17. 17.
    Zelesko, M.J., Cheriton, D.R.: Specializing Object-Oriented RPC for Functionality and Performance. In: Proceedings of the International Conference on Distributed Computing Systems, ICDCS-16 (1996)Google Scholar
  18. 18.
    Zimmer, O.M., Chien, A.A.: The Impact of Inexpensive Communication on a Commercial RPC System. In: Concurrent System Architecture Group Memo, University of Illinois at Urbana-Champaign and University of California at San Diego (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • Hemal V. Shah
    • 1
  • Calton Pu
    • 2
  • Rajesh S. Madukkarumukumana
    • 1
    • 2
  1. 1.M/S CO3-202, Server Architecture LabIntel CorporationHillsboroUSA
  2. 2.Department of Computer Science & EngineeringOregon Graduate Institute of Science and TechnologyPortlandUSA

Personalised recommendations