Skip to main content

SSH-Backed API Performance Case Study

  • Conference paper
  • First Online:
Book cover Benchmarking, Measuring, and Optimizing (Bench 2019)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 12093))

Included in the following conference series:

  • 1046 Accesses

Abstract

We establish that SSH is a viable transport mechanism for API access to HPC resources. In this paper, we study the performance and scalability properties of SSH using various SSH libraries (Python, Java, Linux command line client). We consider SSH daemon configuration changes that improve the API scalability significantly. We observe that, for the memory and CPU resources available on the test machines, our SSH-based API performs sufficiently well until a certain threshold of requests per second (RPS). At 90 RPS, 99% of the requests finish in less than two seconds. At 50 RPS, almost 90% of the requests finish in one second, which shows that the API is responsive enough under these loads. However, as the number of concurrent requests increases past 100, we see a gradual increase in time to complete requests. We perform load tests for the SSH API by sending bursts of concurrent connections and continued sustained connections over time and observe an acceptable responsiveness from the remote systems in both cases. With this study we conclude that SSH performance is sufficient for API access to computational HPC resources.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Amazon AWS. https://aws.amazon.com

  2. Google Cloud. https://cloud.google.com

  3. Microsoft Azure. https://azure.microsoft.com/en-us/

  4. Tapis Cloud API. https://tacc-cloud.readthedocs.io/projects/agave/en/latest/

  5. Stubbs, J., et al.: Tapis: an API platform for distributed computational research. Futur. Gener. Comput. Syst. (2020)

    Google Scholar 

  6. Forcier, J: Paramiko: A Python Implementation of SSHv2 (2019). http://www.paramiko.org/

  7. Pkittenis, ssh2-python (2019). https://github.com/ParallelSSH/ssh2-python

  8. Pernavas, R.: J2SSH API. http://freshmeat.net/projects/sshtools-j2ssh

  9. Locust. https://locust.io

  10. Allcock, W., Bester, J., et al.: Secure, efficient data transport and replica management for high-performance data- intensive computing. In: Proceedings of the IEEE Mass Storage Conference, pp. 13–28, April 2001

    Google Scholar 

  11. Rosmanith, H., Kranzlmuller, D.: glogin - a multifunctional, interactive tunnel into the grid. In: Fifth IEEE/ACM International Workshop on Grid Computing (GRID 2004), pp. 266–272 (2004)

    Google Scholar 

  12. BBCP. https://github.com/slaclab/bbcp

  13. LFTP. https://lftp.yar.ru

  14. Cyberduck. https://cyberduck.io

  15. SCP. https://linux.die.net/man/1/scp

  16. Rsync. https://linux.die.net/man/1/rsync

  17. Data transfer basics and best practises. https://princetonuniversity.github.io/PUbootcamp/sessions/data-transfer-basics/PUBootCamp_20181031_DataTransfer.pdf

  18. Kohl, J., Neuman, C.: The kerberos network authentication service (V5). Request for Comments (Proposed Standard) RFC 1510, Internet Engineering Task Force, (Web site: www.ietf.org)

  19. Einav Y., Amazon Found Every 100ms of Latency Cost them 1% in sales https://www.gigaspaces.com/blog/amazon-found-every-100ms-of-latency-cost-them-1-in-sales/

  20. RabbitMQ. https://www.rabbitmq.com

  21. Stewart, C.A., et al.: Jetstream: a self-provisioned, scalable science and engineering cloud environment. In: Proceedings of the 2015 XSEDE Conference: Scientific Advancements Enabled by Enhanced Cyberinfrastructure, 2792774, pp. 1–8. ACM, St. Louis (2015). https://doi.org/10.1145/2792745.2792774

  22. Towns, J., et al.: XSEDE: accelerating scientific discovery. Comput. Sci. Eng. 16(5), 62–74 (2014). https://doi.org/10.1109/MCSE.2014.80

  23. Ansible. https://github.com/ansible

  24. SSH2 Python Comparison with Paramiko. https://parallel-ssh.org/post/ssh2-python/

  25. Json Web Tokens. https://jwt.io

  26. Jain, R.: The Art of Computer Systems Performance Analysis: Techniques for Experimental Design Design, Measurement, Simulation and Modeling. Wiley, New York (1991)

    MATH  Google Scholar 

Download references

Acknowledgments

This work was made possible by grant funding from National Science Foundation award numbers ACI-1547611 and OAC-1931439. We thank the staff of TACC and Jetstream for providing resources and support.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anagha Jamthe .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Jamthe, A., Packard, M., Stubbs, J., Curbelo, G., Shapi, R., Chalhoub, E. (2020). SSH-Backed API Performance Case Study. In: Gao, W., Zhan, J., Fox, G., Lu, X., Stanzione, D. (eds) Benchmarking, Measuring, and Optimizing. Bench 2019. Lecture Notes in Computer Science(), vol 12093. Springer, Cham. https://doi.org/10.1007/978-3-030-49556-5_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-49556-5_27

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-49555-8

  • Online ISBN: 978-3-030-49556-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics