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.
- 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 Scholar
- 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 Scholar
- Altera Application Note 116 2001. Configuring SRAM-Based LUT Devices, 2.0 ed. AN-116, Altera Corporation.Google Scholar
- Anderson, R. J. 2001. Security Engineering: A Guide to Building Dependable Distributed Systems. John Wiley & Sons. Google Scholar
- 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 Scholar
- 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 Scholar
- Baccelli, F., Borovkov, A., and Mairesse, J. 2000. Asymptotic Results on Infinite Tandem Queuing Networks. Probability Theory Related Fields 118, 3, 365--405.Google Scholar
- Biersack, E. 1993. Performance Evaluation of Forward Error Correction in an ATM Environment. IEEE J. Sel. Areas Comm. 11, 4 (May), 631--640.Google Scholar
- 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 Scholar
- Camposano, R. and Rosenstiel, W. 1989. Synthesizing Circuits from Behavioral Descriptions. IEEE Trans. Comput.-Aided Des. 8, 2 (February), 171--180.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Flex 8000 Datasheet 1998. Flex 8000 Programmable Logic Family. Datasheet. available from http://www.altera.com.Google Scholar
- 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 Scholar
- Gelenbe, E. and Pujolle, G. 1998. Introduction to Queueing Networks, 2nd ed. John Wiley & Sons, Chapter 2. Jackson Networks, 46--75. Google Scholar
- Glynn, P. W. and Whitt, W. 1991. Departures from Many Queues in Series. The Annals of Applied Probability 1, 4 (November), 546--572.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Hadžić, I. 1999. Applying Reconfigurable Computing to Reconfigurable Networks. Ph.D. thesis, University of Pennsylvania, Department of Electrical Engineering.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- IXP1200 Datasheet 2001. IXP1200 Network Processor. Datasheet. available from http://developer.intel.com.Google Scholar
- Jacobson, V. 1988. Congestion Avoidance and Control. In Proceedings of ACM SIGCOMM Conference. ACM, 314--329. Google Scholar
- Knessl, C. 1998. An Explicit Solution to a Tandem Queueing Model. Queueing Systems 30, 3-4, 261--272. Google Scholar
- Knutsson, B. and Peterson, L. 2001. Transparent Proxy Signalling. J. Comm. Netw. 3, 2 (June), 164--174.Google Scholar
- 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 Scholar
- 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 Scholar
- Leroy, X. 1999. The Objective Caml System, Documentation and User's Guide. INRIA. URL http://pauillac.inria.fr/caml/ocaml/htmlman/index.html.Google Scholar
- Lin, S. and Costello, D. J. 1983. Error Control Coding, 1st ed. Prentice-Hall, Chapter 3, 10 and 11. Google Scholar
- 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 Scholar
- Marcus, W. S. 1996. An Architecture for QoS Analysis and Experimentation. IEEE/ACM Trans. Netw. 4, 4 (August), 597--603. Google Scholar
- Martin, J. B. 2002. Large Tandem Queueing Networks with Blocking. Queueing Systems 1-2 (June), 45--72. Google Scholar
- Maxwell, K. 1996. Asymmetric Digital Subscriber Line: Interim Technology for the Next Forty Years. IEEE Comm. Mag. 34, 10 (October), 100--106. Google Scholar
- 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 Scholar
- Newman, M. 2001. Introducing Software Paradigms to Hardware Design. Celoxica Ltd. White Paper. available from http://www.celoxica.com/technical_library/white_papers/.Google Scholar
- 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 Scholar
- O'Malley, S. W. and Peterson, L. L. 1992. A Dynamic Network Architecture. ACM Trans. Comput. Syst. 10, 2 (May), 110--143. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Ritchie, D. M. 1984. A Stream Input-Output System. Bell Labs Technical Journal 63, 8 (October), 1897--1910.Google Scholar
- 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 Scholar
- Rooney, S. 1997. Connection Closures: Adding Application-Defined Behaviour to Network Connections. ACM Comput. Comm. Rev. 27, 2, 74--88. Google Scholar
- Smith, J. M. 1999. Selected Challenges in Computer Networking. IEEE Comput. Mag. 32, 1 (January), 40--42. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Turner, J. S. 1986. New Directions in Communications (or Which Way to the Information Age). IEEE Comm. Mag. 24, 10 (October), 8--15.Google Scholar
- van der Merwe, J. E. and Leslie, I. M. 1997. Switchlets and Dynamic Virtual ATM Networks. In IFIP Integrated Network Management V. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Index Terms
- Balancing performance and flexibility with hardware support for network architectures
Recommendations
P4-Compatible High-Level Synthesis of Low Latency 100 Gb/s Streaming Packet Parsers in FPGAs
FPGA '18: Proceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate ArraysPacket parsing is a key step in SDN-aware devices. Packet parsers in SDN networks need to be both reconfigurable and fast, to support the evolving network protocols and the increasing multi-gigabit data rates. The combination of packet processing ...
Efficient FPGA hardware development: A multi-language approach
This paper presents a multi-language framework to FPGA hardware development which aims to satisfy the dual requirement of high-level hardware design and efficient hardware implementation. The central idea of this framework is the integration of ...
Hardware-Accelerated Cryptography for Software-Defined Networks with P4
Innovative Security Solutions for Information Technology and CommunicationsAbstractThe paper presents a hardware-accelerated cryptographic solution for Field Programmable Gate Array (FPGA) based network cards that provide throughput up to 200 Gpbs. Our solution employs a Software-Defined Network (SDN) concept based on the high-...
Comments