A High Performance Packet Core for Next Generation Cellular Networks - - PowerPoint PPT Presentation

a high performance packet core for next generation
SMART_READER_LITE
LIVE PREVIEW

A High Performance Packet Core for Next Generation Cellular Networks - - PowerPoint PPT Presentation

A High Performance Packet Core for Next Generation Cellular Networks Zafar Qazi + Melvin Walls , Aurojit Panda + , Vyas Sekar, Sylvia Ratnasamy + , Scott Shenker + + 1 Explosive Cellular Growth Many Diverse Devices: Signaling tra


slide-1
SLIDE 1

A High Performance Packet Core for Next Generation Cellular Networks

1

Zafar Qazi +

Melvin Walls , Aurojit Panda+ , Vyas Sekar, Sylvia Ratnasamy+ , Scott Shenker+

§ §

+

slide-2
SLIDE 2

Explosive Cellular Growth

2

Many Diverse Devices: 3B IoTs by 2019* Signaling traffic growth: 50% faster growth than data+ Demanding applications 3/4 of data traffic will be video*

Cisco visual networking index* Nokia Study+

slide-3
SLIDE 3

Evolved Packet Core (EPC)

3

EPC1 EPC3 EPC2

Radio Access Network

Internet IP Multimedia System (IMS)

Data Traffic Signaling Traffic Voice Traffic

slide-4
SLIDE 4

Existing Cellular Core Cannot Keep Up!

4

Concerns from Operators Academic Studies Industrial Efforts

slide-5
SLIDE 5

EPCs are factored based on functions

5

Distributed user state

Component-1 Component-2 Component-N

user-1 user-k

. . .

user-1 user-k

. . .

user-1 user-k

. . .

slide-6
SLIDE 6

Performant EPC (PEPC)

PEPC: EPC functions factored around state

6

An abstraction of independent and customizable EPC slices

slide-7
SLIDE 7

Rest of the Talk …

  • Scalability challenges
  • Design of PEPC
  • Implementation and Evaluation

7

slide-8
SLIDE 8

Traditional EPCs

8 Packet Data Network Gateway (P-GW) Serving Gateway (S-GW)

Data Gateways

Mobility Management Entity (MME)

Signaling Function

EPC

Policy Server

Policy and Charging Rules Function (PCRF)

Subscriber Database

Home Subscriber Server (HSS)

Backend servers Implemented as hardware appliances Statically provisioned at a few central locations

slide-9
SLIDE 9

User state in EPC

9

State Type MME S-GW P-GW Update Frequency

Per-user QoS/policy state w+r w+r w+r per-signaling_event User id w+r w+r w+r per-signaling_event User location w+r w+r NA per-signaling_event Per-user control tunnel state w+r w+r w+r per-signaling_event Per-user data tunnel state w+r w+r w+r per-signaling_event Per-user bandwidth counters NA w+r w+r per-packet

slide-10
SLIDE 10

Distributed User State is Problematic!

10

  • Performance overheads + high complexity
  • Frequent cross component synchronization
  • Migration is hard
  • Distributed user state
  • Customization is hard
  • Distributed user state + distributed computation

user1 user2 usern

… MME S-GW P-GW

user signaling traffic user data traffic

GTP-C GTP-C

user1 user2 usern

user1 user2 usern

slide-11
SLIDE 11

Rest of the Talk …

  • Scalability challenges
  • Design of PEPC
  • Implementation and Evaluation

11

slide-12
SLIDE 12

Existing EPC vs. PEPC

12

Slice1

signaling traffic data traffic user1 state

R R R R Slice2

signaling traffic data traffic user2 state

R R R R

user signaling traffic user data traffic user1 state user2 state user1 state user2 state user1 state user2 state

MME S-GW P-GW

Existing EPCs PEPC

slide-13
SLIDE 13

PEPC Slice

Separation of control and data thread —> avoid HOL blocking

  • Processing time for signaling messages > 10X higher
  • Control and data threads assigned to separate cores

13

user signaling traffic

Control Thread Data Thread

user data traffic

shared state

slide-14
SLIDE 14

PEPC Slice

Partition shared state at two levels —> reduces contention

  • By user
  • Per-user state whether control or data thread writes to it
  • Use fine grained locks —> up to 5X improvement over coarse grained locks

14

shared state

userN counter state userN control state

user signaling traffic

Control Thread Data Thread

user data traffic

RW R RW R user1 counter state user1 control state RW R RW R

slide-15
SLIDE 15

PEPC Server

15

Slice1

signaling traffic data traffic user1 state

R R R R SliceN

signaling traffic data traffic userN state

R R R R Manage Slices Manage Migration

Scheduler

Interface with backend servers

Proxy

signaling traffic data traffic

D e m u x

  • Pause + snapshot user state

—> simplifies state migration

  • Modify slice data/control flow

—> simplifies customization

slide-16
SLIDE 16

Rest of the Talk …

  • Scalability challenges
  • Design of PEPC
  • Implementation and Evaluation

16

slide-17
SLIDE 17

Implementation

17

  • Data plane functions
  • GPRS Tunnelling Protocol (GTP)
  • Policy and charging enforcement function
  • Signaling functions
  • Implements, S1AP, the protocol used to interface with the base stations
  • Supports state updates for attach request
  • Support for efficient state migration across slices
  • PEPC uses the NetBricks* programming framework

* Panda et al. NetBricks: Taking the V out of NFV. OSDI’16

slide-18
SLIDE 18

PEPC Customization/Optimization Examples

  • Two level user state storage

18

Active devices Attached but Inactive devices

user1 user2 user3 user4

Improves state lookup performance for data packets

  • Customization for a class of IoT devices (like smart meters)
  • Devices that run a single application
  • Reduce state and customize data processing
slide-19
SLIDE 19

Evaluation and Methodology

  • How does PEPC compare with other vEPCs?
  • How scalable is PEPC with increasing signaling traffic?
  • How scalable is PEPC is with increasing state migrations?
  • Benefits of PEPC’s customization/optimizations?
  • Methodology
  • DPDK based traffic generator
  • Replays cellular data and signaling traffic traces
  • Traces from OpenAirInterface and ng4T

19

slide-20
SLIDE 20

Baselines

  • Industrial#1: An industrial software EPC implementation
  • DPDK based
  • Ran as a process inside the host OS, not inside a VM/Container
  • S-GW/P-GW on one server, and MME on an another server
  • OpenAirInterface (OAI): An opensource EPC software
  • Ran as a process inside the host OS
  • Ran all EPC functions on the same server
  • OpenEPC on Phantomnet: Software EPC implementation
  • MME, S-GW, P-GW on different servers

20

slide-21
SLIDE 21

Data plane performance comparison

21

10K attach-requests/s 250K users

PEPC can sustain data plane throughput (~6 Mpps) for 1:10 signaling to data ratio In contrast, Industrial#1 throughput drops significantly (0.1 Mpps) for more than 1:100 signaling to data ratio

1 2 3 4 5 6 7 OAI OpenEPC Industrial#1 PEPC

Data-plane throughput (Mpps)

slide-22
SLIDE 22

PEPC Customization Benefits

22

For smart meter like devices, can achieve up to 38% improvement

5 10 15 20 25 30 35 40

5 25 50 75 100

Improvement in data plane throughput (%) % of stateless IoT devices

slide-23
SLIDE 23

Scalability with State Migrations

23

  • State migration across

two slices within a server

20 40 60 80 100 1 10 100 1000 10000 100000

Drop in data plane throughput (%) Number of migrations per second

Less than 5% drop in data plane throughput with 10K migrations per sec

slide-24
SLIDE 24

Related work

  • SDN based cellular designs
  • SoftCell [CoNEXT’13], SoftMoW [CoNEXT’15]
  • Virtual EPCs
  • KLEIN [SOSR’16], SCALE [CoNEXT’15]

24

slide-25
SLIDE 25

Summary

  • Existing EPC systems cannot keep up with cellular growth
  • Key reason: user state is distributed
  • New system architecture: PEPC
  • Refactoring of EPC functions based on user state
  • Enables horizontal slicing of EPC by users into independent and

customizable slices

  • PEPC performs 3-7x better and scales well with increasing

user devices, signaling traffic, and state migrations

25