5G User Plane Function Acceleration with Programmable Dataplanes

5G User Plane Function Acceleration with Programmable Dataplanes

AccelUPF introduces a 5G User Plane Function (UPF) that offloads both data forwarding and Packet Forwarding Control Protocol (PFCP) signaling message processing to programmable hardware like P4 switches and smartNICs. Unlike prior work, which only offloads data forwarding, AccelUPF’s full offload design demonstrates superior performance—crucial for applications with high signaling traffic (e.g., IoT)—through novel parsing, fastpath/slowpath task split, memory management, and fault tolerance for session state.

TurboEPC – Accelerating Mobile Packet Core Using Programmable Dataplane

TurboEPC – Accelerating Mobile Packet Core Using Programmable Dataplane

TurboEPC redesigns the mobile packet core by offloading a subset of control plane signaling procedures to programmable dataplane switches. This improves throughput and latency by processing frequent signaling messages closer to the edge. The paper discusses challenges like user state partitioning and replication for fault tolerance, provides software and hardware prototypes using P4 switches and smartNICs, and reports up to 102% throughput increase and 98% latency reduction.

pcube – Primitives to Simplify P4 Dataplane Programming

pcube – Primitives to Simplify P4 Dataplane Programming

Pcube is a framework providing programming abstractions and primitives such as loops, summations, min-max, conditional tests, and state synchronization for P4-based programmable dataplanes. These simplify and reduce the complexity of writing dataplane applications like load balancers and heavy hitter detection across distributed switches. pcube preprocessor automatically expands these primitives into P4 code, enhancing developer productivity by up to 5.4x and reducing coding errors.

Virtual Memory in xv6

Virtual Memory in xv6

xv6 memory management including virtual address spaces, page tables, memory allocation, and demand paging mechanisms in the xv6 teaching operating system.