turboepc leveraging network programmability to accelerate
play

TurboEPC: Leveraging Network Programmability to Accelerate the - PowerPoint PPT Presentation

TurboEPC: Leveraging Network Programmability to Accelerate the Mobile Packet Core Rinku Shah , Vikas Kumar, Mythili Vutukuru, Purushottam Kulkarni Department of Computer Science & Engineering Indian Institute of Technology Bombay ACM SIGCOMM


  1. TurboEPC: Leveraging Network Programmability to Accelerate the Mobile Packet Core Rinku Shah , Vikas Kumar, Mythili Vutukuru, Purushottam Kulkarni Department of Computer Science & Engineering Indian Institute of Technology Bombay ACM SIGCOMM Symposium on SDN Research (SOSR) March 3, 2020

  2. Requirements of telecom applications Broadband; Media; High data rate Requirements of recent telecom applications * Low delay High data rate ● Ultra-low latencies for control/data plane Use Control Cases Smart ○ Latency as low as 1ms - 10ms for certain services Remote vehicles; Devices; ● Extremely high data rates Low delay Low delay ● Large number of mobile nodes per cell Human interaction (IoT); Low delay; high density Mobile network providers should ensure required user scalability and performance * 5G 3GPP specifications (2017), Qualcomm (2018) 2

  3. Typical cellular network The Mobile Packet Core Control Plane Signaling messages Authentication, Key generation, Session setup, Charging, ... Data packets user Data Plane Internet Packet forwarding base station ... multiple base stations connect to the core Signaling traffic Signaling messages control data communications. Data traffic 3

  4. Traditional Mobile Packet Core ... HSS MME SGW PGW Authentication, Session setup, Session setup, security setup, ... rule config, ... rule config, ... Internet Forward packets Forward packets user base station The Mobile Packet Core Signaling messages: Not flexible! MME: Mobility management entity ● Attach: user registers with the network S/PGW: Service/Packet gateway ● S1 release: deactivate data channel when idle HSS: Home subscriber server ● Service req: activate data channel when active ● Handover: manage network connection when the user changes location ● Detach: user is deregistered from the network 4

  5. CUPS-based Mobile Packet Core CUPS: Control User Plane Separation Controller Benefits ... HSS ● Flexibility ● Easy management ● ... SGW PGW MME Control plane-dataplane communication protocol Internet user switch switch base station The Mobile Packet Core Configure switch rules Poor scalability of the software control plane! Signaling traffic 5 Data traffic

  6. Solution approaches The Mobile Packet Core Key benefits ● Use of spare dataplane CPU ● Improved end-to-end latency SCALE [CoNext 2015] Horizontal scaling of the Mobilestream [CoNext 2018] ● Reduced load at the core software control plane MMELite [SOSR 2019] State refactoring to PEPC [SIGCOMM 2016] reduce interprocedure Heikki et al. [AllThingsCellular 2015] communication Modify EPC protocol; DPCM [MOBICOMM 2017] Distributed control CleanG [CAN 2016] reduce #messages, plane Pozza et al. [ICC 2017] parallel processing DMME [LCN 2011] Raza et al. [ICNP 2017] base station Offload control plane functions to to the Internet dataplane TurboEPC potentially far from the user close to the user (RTT ~ few tens of ms) 6

  7. Key idea of TurboEPC Offload subset of mobile core processing to the edge (close to the user) at programmable hardware switches Centralized Controller Signaling messages user Programmable switch base station close to the The Mobile Packet Core user potentially far from the What all can we program at the switch? user ● Packet header ● Packet parser ● Packet lifecycle 7 ● ...

  8. TurboEPC architecture The Mobile Packet Core Controller ... HSS Offloadable messages processed here MME SGW PGW Non-offloadable messages travel MME’ SGW’ PGW’ to the core user Internet base Programmable switch station potentially far from the close to the user user Signaling packets Data packets 8

  9. TurboEPC: Non-offloadable signaling message processing The Mobile Packet Core Controller ... user HSS context Attach MME SGW PGW MME’ SGW’ PGW’ user cached Internet user context base Programmable switch station close to the user potentially far from the user Non-offloadable signaling messages Attach procedure Attach ● User context is created at the core ● This context is then cached at the edge switch Detach Handover 9

  10. TurboEPC: Offloadable signaling message processing The Mobile Packet Core Controller ... S 1 HSS r e l e a s e MME SGW PGW MME’ SGW’ PGW’ user cached Internet user context base Programmable switch station potentially far from the close to the user user Offloadable signaling messages S1 release / Service request processing S1 release ● Cached user context is accessed and modified at the edge switch Service req 10

  11. Challenge I: Which EPC signaling messages can be offloaded? EPC state classification Non-offloadable state: Offloadable state: ● Global, network-wide scope ● Switch-local or session-wide scope ● Can be accessed concurrently from multiple ● Not accessed concurrently from multiple network locations network locations Examples Examples User connection state: idle, active Security keys generated during the session (HSS) Forwarding state: IP addr & tunnel ID User registration state; registered or not? Temporary subscriber identifiers Free pool of IP addr & tunnel identifiers User QoS state, charging state Permanent subscriber identifiers ... ... 11

  12. Challenge I: Which EPC signaling messages can be offloaded? If all states accessed by the message are Offloadable, message is Offloadable . Classes of EPC state Offloadable state access Non-offloadable state access EPC signaling messages user connection state, forwarding state, user QoS security keys, user registration state, permanent Attach state, temporary subscriber identifiers, location state identifiers, IP address pool, tunnel identifier pool user connection state, forwarding state, temporary user registration state, permanent identifiers, IP Detach subscriber identifiers, location state address pool, tunnel identifier pool user connection state, forwarding state, temporary Service request --- subscriber identifiers user connection state, forwarding state, temporary S1 release --- subscriber identifiers user connection state, forwarding state, user QoS security keys, user registration state, permanent Handover state, temporary subscriber identifiers, location state identifiers, IP address pool, tunnel identifier pool Probable Offloadable candidates: Service request, S1 release 12

  13. Solution I: Guide to identify offloadable messages Not offloadable An EPC message is a good candidate for offload if, Attach ● All states accessed are Offloadable. Detach ● It spans significant fraction of total traffic. Service request ● It is possible to implement over programmable switch. S1 release Handover ● Offloadable state is not accessed frequently by the EPC traffic distribution [1, 2] non-offloadable message. TurboEPC offloads S1 release & Service request messages to the programmable switch at the edge Our ideas can be generalized to other systems as well; where these definitions apply. [1] Managing LTE Core Network Signaling Traffic. Nokia. 2013. 13 [2] Core network and transmission dimensioning. ITU-INT. 2016.

  14. Challenge II: Ensure consistency of offloaded state What if non-offloadable message needs access to offloaded state? Guide for offloadable msg... Offloadable state is not accessed frequently by the non-offloadable message Programmable Centralized switch Controller eNB Offloadable messages processed here The Mobile Packet Core Can be stale! Non-offloadable messages Non-offloadable state processed here Offloadable state Naive solution: On every state update, sync state from switch to controller. Problem: expensive, negates benefit of offload 14

  15. Solution II: Synchronize state on demand The Mobile Packet Core Switch source Handover Handover request request Controller u s p t d a a base user l t station e e (source) Switch target Cache new state base station (target) Handovers comprise of 4 - 5% of total traffic => Low sync frequency => Overhead is acceptable offloaded user context 15

  16. Challenge III: State offload to memory-constrained hardware ● TurboEPC per-user state size on edge switch ≈ 96 bytes Netronome smartNIC [5] capacity ≈ 65K EPC users ● Barefoot Tofino switch [4] capacity ≈ few 100K EPC users ● Typical number of EPC users per core network [1,2,3] ≈ few millions ● Offload the state only for a subset of users AND/OR Use more than one switch to store offload state TurboEPC partitions the offload state and stores it over multiple switches. [1] https://telecom.economictimes.indiatimes.com/news/reliance-jio-gujarat-andhra-pradesh-top-circles-total-user-base-crosses-24-million-mark/55032251, Sep 2016. [2] https://telecom.economictimes.indiatimes.com/news/total-mobile-subscribers-base-grows-to-981-65-million/62549385, Jan 2018. [3] https://www.itu.int/en/ITU-D/Regional-Presence/AsiaPacific/SiteAssets/Pages/Events/2016/Aug-WBB-Iran/Wirelessbroadband/corenetworkdimensioning.pdf, Aug 2016. [4] https://noviflow.com/wp-content/uploads/NoviWare-Tofino-Datasheet.pdf [5] https://www.netronome.com/m/documents/PB_NFP-4000.pdf 16

  17. Implementation of TurboEPC dataplane switch table register key pointer array e cached state ... Packet processing pipeline compiler Offloadable messages Custom packet pipeline (written in P4 language) + configuration 17

Recommend


More recommend