Tuesday, August 22, 2017

Session 2, Paper 1: NFP: Enabling Network Function Parallelism in NFV (Sun, Bi, Zheng, Yu, Hu)

Presenter: Chen Sun

Chen sun introduces how networks have changed from the usage of middleboxes to the use of service chains. Sun et al, argues that sequential service chaining in network function introduce latency and overhead in NFV. He proposes the use of virtualization techniques that exploits low cost, flexibility, and scalability. There have been recent networks that reduce NFV latency such as ClickNP NetBricks and OpenBox via a horizontal sequence.

Sun et al implements an NFP framework that enables network function parallelism to improve NFV performance.  The framework consists of three main components: policy specification scheme, NFP orchestrator and NFP infrastructure.

The Policy Specification Scheme applies an intuitive graph description. This involves a step-by-step process to order the packets, set the priority of the packets and position the packets. The Orchestrator uses a three-stack workflow in handling the packets. This involves NF Dependency Identification (Add/drop, read, write, drop a packet), Resource Overhead Optimization and Service Graph Construction. The NFP Infrastructure aspires to overcome four main challenges: Packet Copying, Packet Delivery, Packet Merging and Packet Dropping. For example, to tackle packet delivery, a distributed packet delivery process is deployed to deliver more packets (example four packets) at the same time as opposed to central packet delivery system. This results in a higher number of packets being delivered.

The authors have implemented a prototype of the NFP framework called OpenNetVM, which showcases the benefits and limitations of NF parallelism. The NFP framework results in a slightly higher latency rate than that of the service chain but has an improved rate of distributed packet delivery.

There is a 53.5% of NF pairs that can run in parallel and 41.5% of NF pairs can be parallelized without causing extra resource overhead. Therefore, from these calculations, we can extract the opportunities posed by the NFP framework to increase the performance of NFV.

Questions posed:

Q: In NF Parallelism with branching, when one packet is dropped by one branch, what are the actions of the other branch?
A: The NF Analysis process is used to detect which packet has been dropped. From there, the framework considers what actions to take and solve the problem. This is done via the identification algorithm.

Q: With branching in NF Parallelism, how does the system handle packets with branches operating at different speeds?
A: Through Packet Tagging, we identify, copy, merge and determine if we should drop the packets.
In the future, we will add branching policies and implement optimization.

Q: How do NF read/write information to packets with the use of 3rd parties?
A: The programming interface can be used to identify the actions and detect network functions.

Related work:
  • ·         Bath processing (e.g NetVM [NSDI’14], Intel DPDK)
  • ·         Parallel processing pf NF building blocks (e.g CLickNP [SIGCOMM’16])
  • ·         Parallelism between match-action tables (e.g P4, RMT [SIGCOMM’13])
  • ·         Module composition in parallel in SDN (e.g Pyretic [NSDI’13])