Fine-Grained Pipeline Parallelization for Network Function Programs

作者: Hanjun Kim , Seungbin Song , Heelim Choi

DOI: 10.1109/CGO51591.2021.9370309

关键词: Cycles per instructionSoftwarePacket processingCompilerPipeline (software)Networking hardwareComputer scienceSynchronization (computer science)Public switched data networkParallel computing

摘要: Network programming languages enable programmers to implement new network functions on various hardware and software stacks in the domain of Software Defined Net-working (SDN). Although extend flexibility devices, existing compilers do not fully optimize programs due their coarse-grained parallelization methods. The consider each packet processing table that consists match action as a unit tasks parallelize without decomposing functions. This work proposes fine-grained pipeline compiler for languages, named PSDN. First, PSDN decouples from tables analyzes dependencies among matches actions. While respecting dependencies, efficiently schedules function into with clock cycle estimation fuses reduce synchronization overheads. implements translates P4 program Xilinx PX program, which is synthesizable NetFPGA-SUME hardware. proposed reduces latency by 12.1 % utilization 3.5 compared previous work.

参考文章(40)
Nick McKeown, George Varghese, Lisa Yan, Lavanya Jose, Compiling packet programs to reconfigurable switches networked systems design and implementation. pp. 103- 115 ,(2015)
Keith Amidon, Andy Zhou, Ben Pfaff, Justin Pettit, Ethan J. Jackson, Martín Casado, Jesse Gross, Pravin Shelar, Teemu Koponen, Jarno Rajahalme, Alex Wang, Jonathan Stringer, The design and implementation of open vSwitch networked systems design and implementation. pp. 117- 130 ,(2015)
Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, David Walker, P4: programming protocol-independent packet processors acm special interest group on data communication. ,vol. 44, pp. 87- 95 ,(2014) , 10.1145/2656877.2656890
Jinquan Dai, Bo Huang, Long Li, Luddy Harrison, Automatically partitioning packet processing applications for pipelined architectures programming language design and implementation. ,vol. 40, pp. 237- 248 ,(2005) , 10.1145/1064978.1065039
Gautam Upadhyaya, Vijay S. Pai, Samuel P. Midkiff, Expressing and exploiting concurrency in networked applications with aspen Proceedings of the 12th ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '07. pp. 13- 23 ,(2007) , 10.1145/1229428.1229433
Gordon Brebner, Weirong Jiang, High-Speed Packet Processing using Reconfigurable Computing IEEE Micro. ,vol. 34, pp. 8- 18 ,(2014) , 10.1109/MM.2014.19
Haoyu Song, Protocol-oblivious forwarding: unleash the power of SDN through a future-proof forwarding plane acm special interest group on data communication. pp. 127- 132 ,(2013) , 10.1145/2491185.2491190
Noa Zilberman, Yury Audzevich, G. Adam Covington, Andrew W. Moore, NetFPGA SUME: Toward 100 Gbps as Research Commodity IEEE Micro. ,vol. 34, pp. 32- 41 ,(2014) , 10.1109/MM.2014.61
Ron Cytron, Jeanne Ferrante, V. Sarkar, Compact representations for control dependence Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation - PLDI '90. ,vol. 25, pp. 337- 351 ,(1990) , 10.1145/93542.93592