Skip to main content

Abstract

This paper describes an implementation of stream sockets for the SHRIMP multicomputer. SHRIMP supports protected, user-level data transfer, allows user-level code to perform its own buffer management, and separates data transfers from control transfers so that data transfers can be done without the interrupting the receiving node's CPU. Our sockets implementation exploits all of these features to provide high performance. End-to-end latency for 8 byte transfers is 11 microseconds, which is considerably lower than all previous implementations of the sockets interface. For large transfers, we obtain a bandwidth of 13.5 MBytes/sec, which is close to the hardware limit when the receiver must perform a copy. Further experiments with the public-domain benchmarks ttcp and netperf confirm the performance of our implementation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Richard Alpert and Edward W. Felten. Design and Implementation of NX Message Passing Using SHRIMP Virtual Memory Mapped Communication. Technical Report TR-507-96, Dept. of Computer Science, Princeton University, January 1996.

    Google Scholar 

  2. Angelos Bilas and Edward W. Felten. Fast RPC on the SHRIMP Virtual Memory Mapped Network Interface. Technical Report TR-512-96, Dept. of Computer Science, Princeton University, February 1996.

    Google Scholar 

  3. M. Blumrich, K. Li, R. Alpert, C. Dubnicki, E. Felten, and J. Sandberg. A Virtual Memory Mapped Network Interface for the Shrimp Multicomputer. In Proceedings of 21th International Symposium on Computer Architecture, pages 142–153, April 1994.

    Google Scholar 

  4. Matthias A. Blumrich. Network Interface for Protected, User-Level Communication. PhD thesis, Dept. of Computer Science, Princeton University, June 1996. Available as technical report TR-522-96.

    Google Scholar 

  5. Matthias A. Blumrich, Cezary Dubnicki, Edward W. Felten, and Kai Li. Protected, User-Level DMA for the SHRIMP Network Interface. In Proc. 2nd Intl. Symposium on High-Performance Computer Architecture, pages 154–165, February 1996.

    Google Scholar 

  6. Nanette J. Boden, Danny Cohen, Robert E. Felderman, Alan E. Kulawik, Charles L. Seitz, Jakov N. Seizovic, and Wen-King Su. Myrinet: A Gigabit-per-Second Local Area Network. IEEE Micro, 15(1):29–36, February 1995.

    Google Scholar 

  7. S. Borkar, R. Cohn, G. Cox, T. Gross, H.T. Kung, M. Lam, M. Levine, B. Moore, W. Moore, C. Peterson, J. Susman, J. Sutton, J. Urbanski, and J. Webb. Supporting Systolic and Memory Communication in iWarp. In Proceedings of 17th International Symposium on Computer Architecture, June 1990.

    Google Scholar 

  8. William J. Dally. The J-Machine System. In P.H. Winston and S.A. Shellard, editors, Artificial Intelligence at MIT: Expanding Frontiers, pages 550–580. MIT Press, 1990.

    Google Scholar 

  9. Stefanos Damianakis, Cezary Dubnicki, and Edward W. Felten. Stream Sockets on SHRIMP. Technical Report TR-513-96, Dept. of Computer Science, Princeton University, February 1996.

    Google Scholar 

  10. Cezary Dubnicki, Liviu Iftode, Edward W. Felten, and Kai Li. Software Support for Virtual Memory-Mapped Communication. In Proceedings of the IEEE 8th International Parallel Processing Symposium, April 1996.

    Google Scholar 

  11. Edward W. Felten, Richard Alpert, Angelos Bilas, Matthias A. Blumrich, Douglas W. Clark, Stefanos Damianakis, Cezary Dubnicki, Liviu Iftode, and Kai Li. Early Experience with Message-Passing on the Shrimp Multicomputer. In Proceedings of 23th International Symposium on Computer Architecture, May 1996.

    Google Scholar 

  12. FORE Systems. TCA-100 TURBOchannel ATM Computer Interface, User's Manual, 1992.

    Google Scholar 

  13. Dana S. Henry and Christopher F. Joerg. A Tightly-Coupled Processor-Network Interface. In Proceedings of 5th International Conference on Architectur al Support for Programming Languages and Operating Systems, pages 111–122, October 1992.

    Google Scholar 

  14. Internet Request for Comments RFC 1057, Internet Network Working Group. RPC: Remote Procedure Call Protocol Specification, Version 2, June 1988.

    Google Scholar 

  15. Kimberly K. Keeton, Thomas E. Anderson, and David A. Patterson. LogP: The Case for Low-Overhead Local Area Networks. In Hot Interconnects III, August 1995.

    Google Scholar 

  16. Samuel J. Leffler, Marshall Kirk McKusick, Michael J. Karels, and John S. Quarterman. The Design and Implementation of the 4.3BSD Unix Operating System. Addison Wesley, 1989.

    Google Scholar 

  17. C.E. Leiserson, Z.S. Abuhamdeh, D.C. Douglas, C.R. Feynman, M.N. Ganmukhi, J.V. Hill, D. Hillis, B.C. Kuszmaul, M.A. St. Pierre, D.S. Wells, M.C. Wong, S. Yang, and R. Zak. The Network Architecture of the Connection Machine CM-5. In Proceedings of 4th ACM Symposium on Parallel Algorithms and Architectures, pages 272–285, June 1992.

    Google Scholar 

  18. Chris Maeda and Brian N. Bershad. Protocol Service Decomposition for High-Performance Networking. In Proceedings of 14th ACM Symposium on Operating Systems Principles, pages 244–255, December 1993.

    Google Scholar 

  19. Scott Pakin, Mario Lauria, and Andrew Chien. High Performance Messaging on Workstations: Illinois Fast Message (FM) for Myrinet. In Supercomputing '95, November 1995.

    Google Scholar 

  20. Paul Pierce. The NX/2 Operating System. In Proceedings of Third Conference on Hypercube Concurrent Computers and Applications, pages 384–390, January 1988.

    Google Scholar 

  21. Steven H. Rodrigues, Thomas E. Anderson, and David E. Culler. High-Performance Local-Area Communication With Fast Sockets. In Proc. of Winter 1997 USENIX Symposium, January 1997.

    Google Scholar 

  22. Roger Traylor and Dave Dunning. Routing Chip Set for Intel Paragon Parallel Supercomputer. In Proceedings of Hot Chips '92 Symposium, August 1992.

    Google Scholar 

  23. Thorsten von Eicken, Anindya Basu, Vineet Buch, and Werner Vogels. U-Net: A User-Level Network Interface for Parallel and Distributed Computing. In Proceedings of 15th ACM Symposium on Operating Systems Principles, pages 40–53, December 1995.

    Google Scholar 

  24. Thorsten von Eicken, David E. Culler, Seth Copen Goldstein, and Klaus Erik Schauser. Active Messages: A Mechanism for Integrated Communication and Computation. In Proceedings of 19th International Symposium on Computer Architecture, pages 256–266, May 1992.

    Google Scholar 

  25. John Wilkes. Hamlyn — An Interface for Sender-Based Communications. Technical Report HPL-OSR-92-13, Hewlett-Packard Laboratories, November 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Dhabaleswar K. Panda Craig B. Stunkel

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Damianakis, S.N., Dubnicki, C., Felten, E.W. (1997). Stream sockets on SHRIMP . In: Panda, D.K., Stunkel, C.B. (eds) Communication and Architectural Support for Network-Based Parallel Computing. CANPC 1997. Lecture Notes in Computer Science, vol 1199. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62573-9_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-62573-9_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62573-5

  • Online ISBN: 978-3-540-68085-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics