Skip to main content

Stream Engine: A New Kernel Interface for High-Performance Internet Streaming Servers

  • Conference paper
Web Content Caching and Distribution

Abstract

As high-speed Internet connections and Internet streaming media become widespread, the demand for high-performance, cheap Internet streaming servers increases. In this paper, we look into the performance limitations of streaming server applications running on PC servers with Linux, and propose a new kernel optimization called “stream engine” that combines both copy elimination and context switch avoidance to double the streaming server throughput. Our experiments with stream engine show that for Internet streaming, eliminating context switches is just as important as eliminating data copying. Using profile data, we also project the benefits of TCP offloading hardware implementing part or all of the stream engine optimization.

Cisco Systems, Inc.

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alacritech Inc. The 1000x1 Internet protocol processor: Patented, third-generation TCP/IP Offload Engine (TOE) ASIC. In http://www.alacritech.com/html/081902a.html, Aug. 2002.

  2. B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer, M. Fiuczynski, D. Becker, S. Eggers, and C. Chambers. Extensibility, safety and performance in the SPIN operating system. In 15th Symposium on Operating Systems Principles, pages 267–284, Copper Mountain, Colorado, 1995.

    Google Scholar 

  3. J. V. der Merwe, S. Sen, and C. Kalmanek. Streaming video traffic: Characterization and network impact. In Proceedings of 7th International Workshop on Web Content Caching and Distribution, Aug. 2002.

    Google Scholar 

  4. P. Druschel. Operating systems support for highspeed networking. Technical Report TR 94-24, Department of Computer Science, University of Arizona, Oct. 1994.

    Google Scholar 

  5. P. Druschel and L. L. Peterson. Fbufs: A high-bandwidth cross-domain transfer facility. In Symposium on Operating Systems Principles, pages 189–202, 1993.

    Google Scholar 

  6. Intel. Intel PRO/1000T IP storage adaptor. In http://www.intel.com/network/connectivity/resources/doc_library/data_sheets/pro1000_T_IP_SA.pdf, Feb. 2002.

  7. M. F. Kaashoek, D. R. Engler, G. R. Ganger, H. M. Briceno, R. Hunt, D. Mazieres, T. Pinckney, R. Grimm, J. Jannotti, and K. Mackenzie. Application performance and flexibility on exokernel systems. In Proceedings of the 16th ACM Symposium on Operating Systems Principles (SOSP’ 97), pages 52–65, Saint-Malo, France, October 1997.

    Google Scholar 

  8. I. M. Leslie, D. McAuley, R. Black, T. Roscoe, P. T. Barham, D. Evers, R. Fairbairns, and E. Hyden. The design and implementation of an operating system to support distributed multimedia applications. IEEE Journal of Selected Areas in Communications, 14(7):1280–1297, 1996.

    Article  Google Scholar 

  9. J. Liedtke. Improving IPC by kernel design. In 14th ACM Symposium on Operating System Principles (SOSP), Dec. 1993.

    Google Scholar 

  10. Linux man page. Linux system call sendfile(2). In http://www.die.net/doc/linux/man/man2/sendfile.2.html, 2000.

  11. D. L. Moai. Cost-effective streaming server implementation using hi-tactix. In ACM Multimedia 2002, 2002.

    Google Scholar 

  12. J. Mogul. TCP offload is a dumb idea whose time has come. In Proceedings of the 9th Workshop on Hot Topics in Operating Systems (HotOS IX), 2003.

    Google Scholar 

  13. A. B. Montz, D. Mosberger, S. W. O’Malley, L. L. Peterson, T. A. Proebsting, and J. H. Hartman. Scout: A communications-oriented operating system (abstract). In Operating Systems Design and Implementation, page 200, 1994.

    Google Scholar 

  14. Open-Source Community. The Apache Software Foundation, 2003. http://www.apache.org/.

  15. V. S. Pai, P. Druschel, and W. Zwaenepoel. Flash: An efficient and portable web server. In Proceedings of the 1999 USENIX Technical Conference, Monterey, CA, June 1999.

    Google Scholar 

  16. V. S. Pai, P. Druschel, and W. Zwaenepoel. IO-Lite: A unified I/O buffering and caching system. ACM Transactions on Computer Systems, 18(1):37–66, 2000.

    Article  Google Scholar 

  17. H. Schulzrinne, A. Rao, and R. Lanphier. Real time streaming protocol (RTSP). RFC 2326, IETF Network Working Group, 1998.

    Google Scholar 

  18. SGI — Developer Central Open Source. Linux Kernprof (kernel profiling). In http://oss.sgi.com/projects/kernprof/, 2002.

  19. Trebia Networks, Inc. SNP-1000i dual port TCP offload engine. In http://www.trebia.com/products/snp_1000i.shtml, Oct. 2002.

  20. R. von Behren, J. Condit, and E. Brewer. Why events are a bad idea (for high-concurrency servers). In Proceedings of the 9th Workshop on Hot Topics in Operating Systems (HotOS IX), 2003.

    Google Scholar 

  21. WindRiver Systems, Inc. Complete TCP/IP offload for high-speed ethernet networks. In http://www.windriver.com/products/tina/tcpip_offload.pdf, Sept. 2001.

  22. E. Yeh, H. Chao, V. Mannem, J. Gervais, and B. Booth. Introduction to TCP/IP Offload Engine (TOE). In http://www.10gea.org/SP0502IntroToTOE_F.pdf, Apr. 2002.

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Kluwer Academic Publishers

About this paper

Cite this paper

Lemon, J., Wang, Z., Yang, Z., Cao, P. (2004). Stream Engine: A New Kernel Interface for High-Performance Internet Streaming Servers. In: Douglis, F., Davison, B.D. (eds) Web Content Caching and Distribution. Springer, Dordrecht. https://doi.org/10.1007/1-4020-2258-1_11

Download citation

  • DOI: https://doi.org/10.1007/1-4020-2258-1_11

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-1-4020-2257-9

  • Online ISBN: 978-1-4020-2258-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics