skip to main content
article

Balancing performance and flexibility with hardware support for network architectures

Published:01 November 2003Publication History
Skip Abstract Section

Abstract

The goals of performance and flexibility are often at odds in the design of network systems. The tension is common enough to justify an architectural solution, rather than a set of context-specific solutions. The Programmable Protocol Processing Pipeline (P4) design uses programmable hardware to selectively accelerate protocol processing functions. A set of field-programmable gate arrays (FPGAs) and an associated library of network processing modules implemented in hardware are augmented with software support for function selection and composition, and applied to processing-intensive portions of a user-programmable protocol stack. The system is sufficiently flexible to support protocol stacks that are dynamically altered in reaction to changing network conditions or user needs.The P4 can be transparently inserted into a conventional protocol architecture, such as that of TCP/IP. This experimental demonstration shows that the P4's programmability can be used to significantly improve the performance of TCP/IP under operating conditions where the protocol would perform poorly without augmentation. Generalizing from these experiments, the P4 is shown to have many applications as an open platform for implementing adaptive and programmable networks, and has illustrated new security issues that arise in FPGA-based architectures.The P4 and closely-related systems, such as network processors, are attractive architectural solutions to balancing performance and flexibility.

References

  1. Alexander, D. S., Arbaugh, W. A., Hicks, M. W., Kakkar, P., Keromytis, A. D., Moore, J. T., Gunter, C. A., Nettles, S. M., and Smith, J. M. 1998. The SwitchWare Active Network Architecture. IEEE Network Special Issue on Active and Programmable Networks 12, 3, 29--36. Google ScholarGoogle Scholar
  2. Alexander, D. S., Shaw, M., Nettles, S. M., and Smith, J. M. 1997. Active Bridging. In Proceedings of ACM SIGCOMM Conference. ACM, 101--111. Google ScholarGoogle Scholar
  3. Altera Application Note 116 2001. Configuring SRAM-Based LUT Devices, 2.0 ed. AN-116, Altera Corporation.Google ScholarGoogle Scholar
  4. Anderson, R. J. 2001. Security Engineering: A Guide to Building Dependable Distributed Systems. John Wiley & Sons. Google ScholarGoogle Scholar
  5. Apostolopoulos, G., Aubespin, D., Peris, V., Pradhan, P., and Saha, D. 2000. Design, Implementation and Performance of a Content-Based Switch. In Proceedings of IEEE Infocom 2000, Vol. 3. IEEE, 1117--1126.Google ScholarGoogle Scholar
  6. ATM Forum 1994. ATM User-Network Interface, Version 3.1 (UNI 3.1) Specification. ATM Forum. see also ftp://ftp.atmforum.com/pub/approved-specs/af-uni-0010.002/.Google ScholarGoogle Scholar
  7. Baccelli, F., Borovkov, A., and Mairesse, J. 2000. Asymptotic Results on Infinite Tandem Queuing Networks. Probability Theory Related Fields 118, 3, 365--405.Google ScholarGoogle Scholar
  8. Biersack, E. 1993. Performance Evaluation of Forward Error Correction in an ATM Environment. IEEE J. Sel. Areas Comm. 11, 4 (May), 631--640.Google ScholarGoogle Scholar
  9. Bos, H., Isaacs, R., Mortier, R., and Leslie, I. 2001. Elastic Network Control: An Alternative to Active Networks. J. Comm. Netw. 3, 2 (June), 153--163.Google ScholarGoogle Scholar
  10. Camposano, R. and Rosenstiel, W. 1989. Synthesizing Circuits from Behavioral Descriptions. IEEE Trans. Comput.-Aided Des. 8, 2 (February), 171--180.Google ScholarGoogle Scholar
  11. Clark, D. D., Jacobson, V., Romkey, J., and Salwen, H. 1989. An Analysis of TCP Processing Overhead. IEEE Comm. Mag. 27, 6 (June), 23--29.Google ScholarGoogle Scholar
  12. Decasper, D. S., Parulkar, G. M., Choi, S., DeHart, J. D., Wolf, T., and Plattner, B. 1999. A Scalable High-Performance Active Network Node. IEEE Netw. Mag. 13, 1 (January/February), 8--19. Google ScholarGoogle Scholar
  13. Feldmeier, D. C., McAuley, A. J., Smith, J. M., , Bakin, D., Marcus, W. S., and Raleigh, T. 1998. Protocol Boosters. IEEE JSAC Special Issue on Protocol Architectures for the 21st Century 16, 3 (April), 437--444. Google ScholarGoogle Scholar
  14. Flex 8000 Datasheet 1998. Flex 8000 Programmable Logic Family. Datasheet. available from http://www.altera.com.Google ScholarGoogle Scholar
  15. Garey, M. R. and Johnson, D. S. 1983. Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman. Updated Printing, First Printing in 1979. Google ScholarGoogle Scholar
  16. Gelenbe, E. and Pujolle, G. 1998. Introduction to Queueing Networks, 2nd ed. John Wiley & Sons, Chapter 2. Jackson Networks, 46--75. Google ScholarGoogle Scholar
  17. Glynn, P. W. and Whitt, W. 1991. Departures from Many Queues in Series. The Annals of Applied Probability 1, 4 (November), 546--572.Google ScholarGoogle Scholar
  18. Grassmann, W. K. and Drekic, S. 2000. An Analytical Solution for a Tandem Queue with Blocking. Queueing Systems 36, 1-3 (December), 221--235. Google ScholarGoogle Scholar
  19. Gupta, P., Lin, S., and McKeown, N. 1998. Routing Lookups in Hardware at Memory Access Speeds. In Proceedings of IEEE Infocom 98, Vol. 3. IEEE, 1240--1247.Google ScholarGoogle Scholar
  20. Hadžić, I. 1998. Signalling Protocol for P4 (SPP4), version 1.0. Tech. Rep. MS-CIS-98-20, University of Pennsylvania, Department of Computer Science.Google ScholarGoogle Scholar
  21. Hadžić, I. 1999. Applying Reconfigurable Computing to Reconfigurable Networks. Ph.D. thesis, University of Pennsylvania, Department of Electrical Engineering.Google ScholarGoogle Scholar
  22. Hadžić, I. and Smith, J. M. 1997. P4: A Platform for FPGA Implementation of Protocol Boosters. In Field-programmable logic and applications: 7th International Workshop, FPL'97, Proceedings. LNCS, 1304. Springer, 438--447. Google ScholarGoogle Scholar
  23. Hadžić, I., Smith, J. M., and Marcus, W. S. 1998. On-the-fly Programmable Hardware for Networks. In Proceedings of IEEE Globecom, Vol. 2. 821--826.Google ScholarGoogle Scholar
  24. Halls, D. A. and Rooney, S. G. 1998. Controlling the Tempest: Adaptive Management in Advanced ATM Control Architectures. IEEE J. Sel. Areas Comm. (Special Issue on Protocol Architectures for 21st Century Applications) 16, 3 (April).Google ScholarGoogle Scholar
  25. Hicks, M. W. 1998. PLAN Service Programmer's Guide. University of Pennsylvania. URL http:// www.cis.upenn.edu/˜switchware/PLAN/docs-ocaml/serv_guide/index.html.Google ScholarGoogle Scholar
  26. Hicks, M. W., Kakkar, P., Moore, J. T., Gunter, C. A., and Nettles, S. 1998. PLAN: A Packet Language for Active Networks. In Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming Languages. ACM, 86--93. Google ScholarGoogle Scholar
  27. Hutchinson, N. C. and Peterson, L. L. 1991. The x-Kernel: An Architecture for Implementing Network Protocols. IEEE Trans. Softw. Eng. 17, 1 (January), 64--76. Google ScholarGoogle Scholar
  28. IXP1200 Datasheet 2001. IXP1200 Network Processor. Datasheet. available from http://developer.intel.com.Google ScholarGoogle Scholar
  29. Jacobson, V. 1988. Congestion Avoidance and Control. In Proceedings of ACM SIGCOMM Conference. ACM, 314--329. Google ScholarGoogle Scholar
  30. Knessl, C. 1998. An Explicit Solution to a Tandem Queueing Model. Queueing Systems 30, 3-4, 261--272. Google ScholarGoogle Scholar
  31. Knutsson, B. and Peterson, L. 2001. Transparent Proxy Signalling. J. Comm. Netw. 3, 2 (June), 164--174.Google ScholarGoogle Scholar
  32. Kohler, E., Morris, R., Chen, B., Jannotti, J., and Kaashoek, M. F. 2000. The Click Modular Router. ACM Trans. Comput. Syst. 18, 3 (August), 263--297. Google ScholarGoogle Scholar
  33. Lazar, A. A., Lim, K. S., and Marconcini, F. 1996. Realizing a Foundation for Programmability of ATM Networks with the Binding Architecture. IEEE J. Sel. Areas Comm. 14, 7 (September), 1214--1227. Google ScholarGoogle Scholar
  34. Leroy, X. 1999. The Objective Caml System, Documentation and User's Guide. INRIA. URL http://pauillac.inria.fr/caml/ocaml/htmlman/index.html.Google ScholarGoogle Scholar
  35. Lin, S. and Costello, D. J. 1983. Error Control Coding, 1st ed. Prentice-Hall, Chapter 3, 10 and 11. Google ScholarGoogle Scholar
  36. Mangione-Smith, W. H., Hutchings, B., Andrews, D., DeHon, A., Ebeling, C., Hartenstein, R., Mencer, O., Morris, J., Palem, K., Prasanna, V. K., and Spaanenburg, H. A. E. 1997. Seeking Solutions in Configurable Computing. IEEE Comput. Mag. 30, 12 (December), 38--43. Google ScholarGoogle Scholar
  37. Marcus, W. S. 1996. An Architecture for QoS Analysis and Experimentation. IEEE/ACM Trans. Netw. 4, 4 (August), 597--603. Google ScholarGoogle Scholar
  38. Martin, J. B. 2002. Large Tandem Queueing Networks with Blocking. Queueing Systems 1-2 (June), 45--72. Google ScholarGoogle Scholar
  39. Maxwell, K. 1996. Asymmetric Digital Subscriber Line: Interim Technology for the Next Forty Years. IEEE Comm. Mag. 34, 10 (October), 100--106. Google ScholarGoogle Scholar
  40. Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., and Malik, S. 2001. Chaff: Engineering an Efficient SAT Solver. In Proceedings of 39th Design Automation Conference. 530--535. Google ScholarGoogle Scholar
  41. Newman, M. 2001. Introducing Software Paradigms to Hardware Design. Celoxica Ltd. White Paper. available from http://www.celoxica.com/technical_library/white_papers/.Google ScholarGoogle Scholar
  42. Ohta, H. and Kitami, T. 1991. A Cell Loss Recovery Method Using FEC in ATM Networks. IEEE J. Sel. Areas Comm. 9, 9 (December), 1471--1483.Google ScholarGoogle Scholar
  43. O'Malley, S. W. and Peterson, L. L. 1992. A Dynamic Network Architecture. ACM Trans. Comput. Syst. 10, 2 (May), 110--143. Google ScholarGoogle Scholar
  44. Omundsen, D. S., Kaye, R., and Mahmoud, S. A. 1994. A Pipelined Multiprocessor Architecture for a Connectionless Server for Broadband ISDN. IEEE/ACM Trans. Netw. 2, 2 (April), 181--192. Google ScholarGoogle Scholar
  45. Padhye, J., Firoiu, V., Towsley, D., and Kurose, J. 1998. Modeling TCP Throughput: A Simple Model and its Empirical Validation. In Proceedings of ACM SIGCOMM Conference. ACM. Google ScholarGoogle Scholar
  46. Partridge, C., Carvey, P. P., Burgess, E., Castineyra, I., Clarke, T., Graham, L., Hathaway, M., Herman, P., King, A., Kohalmi, S., Ma, T., Mcallen, J., Mendez, T., Milliken, W. C., Pettyjohn, R., Rokosz, J., Seeger, J., Sollins, M., Storch, S., Tober, B., Troxel, G. D., Waitzman, D., and Winterble, S. 1998. A 50 Gb/s IP Router. IEEE/ACM Trans. Netw. 6, 3 (June), 237--248. Google ScholarGoogle Scholar
  47. Peterson, L. L., Gottlieb, Y., Hilber, M., Tullmann, P., Lepreau, J., Schwab, S., Dandekar, H., Purtell, A., and Hartman, J. 2001. An OS Interface for Active Routers. IEEE J. Sel. Areas Comm. 19, 3 (March), 473--487. Google ScholarGoogle Scholar
  48. Ritchie, D. M. 1984. A Stream Input-Output System. Bell Labs Technical Journal 63, 8 (October), 1897--1910.Google ScholarGoogle Scholar
  49. Romanow, A. and Floyd, S. 1994. Dynamics of TCP Traffic over ATM Networks. In Proceedings of ACM SIGCOMM Conference, Vol. 24. ACM, 79--88. Google ScholarGoogle Scholar
  50. Rooney, S. 1997. Connection Closures: Adding Application-Defined Behaviour to Network Connections. ACM Comput. Comm. Rev. 27, 2, 74--88. Google ScholarGoogle Scholar
  51. Smith, J. M. 1999. Selected Challenges in Computer Networking. IEEE Comput. Mag. 32, 1 (January), 40--42. Google ScholarGoogle Scholar
  52. Smith, J. M., Calvert, K. L., Murphy, S. L., Orman, H. K., and Peterson, L. L. 1999. Activating Networks: A Progress Report. IEEE Comput. Mag. 32, 4 (April), 32--41. Google ScholarGoogle Scholar
  53. Tennenhouse, D. L., Smith, J. M., Sincoskie, W. D., Wetherall, D. J., and Minden, G. J. 1997. A Survey of Active Network Research. IEEE Comm. Mag. 35, 1 (January), 80--86. Google ScholarGoogle Scholar
  54. Traw, C. B. S. and Smith, J. M. 1991. A High-Performance Host Interface for ATM Networks. In ACM SIGCOMM Conference (Zurich). 317--325. Google ScholarGoogle Scholar
  55. Traw, C. B. S. and Smith, J. M. 1993. Hardware/Software Organization of a High-Performance ATM Host Interface. IEEE J. Sel. Areas Comm. (Special Issue on High Speed Computer/Network Interfaces) 11, 2 (February), 240--253.Google ScholarGoogle Scholar
  56. Turner, J. S. 1986. New Directions in Communications (or Which Way to the Information Age). IEEE Comm. Mag. 24, 10 (October), 8--15.Google ScholarGoogle Scholar
  57. van der Merwe, J. E. and Leslie, I. M. 1997. Switchlets and Dynamic Virtual ATM Networks. In IFIP Integrated Network Management V. Google ScholarGoogle Scholar
  58. van der Merwe, J. E. and Leslie, I. M. 1998. Service-Specific Control Architectures for ATM. IEEE J. Sel. Areas Comm. (Special Issue on Protocol Architectures for 21st Century Applications) 16, 3 (April). Google ScholarGoogle Scholar
  59. Wang, Y. and Lin, S. 1983. A Modified Selective-Repeat Type II Hybrid ARQ System and its Performance Analysis. IEEE Trans. Comm. 31, 5 (May), 593--607.Google ScholarGoogle Scholar
  60. Wetherall, D., Legedza, U., and Guttag, J. 1998a. Introducing New Internet Services: Why and How. IEEE Netw. Mag. 12, 3 (May-June), 12--19. Google ScholarGoogle Scholar
  61. Wetherall, D. J., Guttag, J., and Tennenhouse, D. L. 1998b. ANTS: A Toolkit for Building and Dynamically Deploying Network Protocols. In Proceedings of IEEE Openarch'98. 117--129.Google ScholarGoogle Scholar
  62. Wolf, T. and Turner, J. S. 2001. Design Issues for High-Performance Active Routers. IEEE J. Sel. Areas Comm. 19, 3 (March), 404--409. Google ScholarGoogle Scholar

Index Terms

  1. Balancing performance and flexibility with hardware support for network architectures

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader