1 building a fast, virtualized data plane with programmable hardware bilal anwer nick feamster

27
1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

Upload: andrew-daniels

Post on 27-Mar-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

1

Building a Fast, Virtualized Data Plane with

Programmable Hardware

Building a Fast, Virtualized Data Plane with

Programmable Hardware

Bilal AnwerNick Feamster

Page 2: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

2

Network VirtualizationNetwork Virtualization

• Network virtualization enables many virtual networks to share the same physical network resources.

• Many possible applications:– Hosting of multiple service provider networks– Experimentation– Running new protocols side-by-side with old ones

Page 3: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

3

Fixed Network InfrastructureFixed Network Infrastructure

Page 4: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

4

Shared InfrastructureShared Infrastructure

Networks have illusion of dedicated hardware.

Page 5: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

5

Network Virtualization: RequirementsNetwork Virtualization: Requirements

• Scalability – Support large number of networks (implies sharing)

• Performance – Support real traffic at line rate

• Flexibility – Support custom network services

• Isolation – Protection of networks from each other

Page 6: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

6

Goal: Fast, Virtualized Data PlaneGoal: Fast, Virtualized Data Plane

• Strawman approach: Software– Provides flexibility – …but poor performance and often inadequate isolation

• Our approach– Control plane in software – Data plane in hardware– Share hardware elements among virtual networks where

possible

Page 7: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

7

Virtualized Data PlaneVirtualized Data Plane

Router-1

Router-6

Router-2

Router-5

Router-3

Router-7

Router-8

Source Sink

2 Ethernet links16 Ethernet links

Router-4Virtual routerRouter-4

Page 8: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

8

Hardware-Based VirtualizationHardware-Based Virtualization

• Forwarding in hardware– faster than software– provides better isolation

• Sharing physical substrate amortizes cost– Unused hardware resources are already paid for

• Key challenge: Design must take advantage of both hardware and software– Requires interface between hardware and software– Requires identifying elements that can be shared among

many virtual networks

Page 9: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

9

Design Overview

• Control plane– two contexts– virtual

environments in OpenVZ

• Interface to NetFPGA based on NetFPGA reference router

Page 10: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

10

Talk OutlineTalk Outline

• Implementation– Virtualization at Layer 2– Fast forwarding– Resource guarantees per virtual network

• Preliminary Results– Performance & Efficiency

• Conclusion and Future Work

Page 11: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

11

Virtualization at Layer 2Virtualization at Layer 2

VRouter-1

VRouter-6

VRouter-2

VRouter-5

VRouter-3

VRouter-7

VRouter-8

Source VRouter-4VMAC-VE

Table

Sink00:11:22:33:44:55

00:11:22:33:44:55 0x1

00:11:22:33:44:55l

Page 12: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

12

Layer-2 Virtualization: VMAC-VE TableLayer-2 Virtualization: VMAC-VE Table

• VMAC-VE Table – provides virtualization at Layer 2– maintains states for virtual Ethernet interfaces of each

virtual environment

• Current implementation– Max. of four Ethernet interfaces per virtual router

(currently limited by on-chip memory)– Max. of eight virtual routers working in parallel

• Hence, 32 Table Entries

Page 13: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

13

Mapping the Virtual Forwarding TablesMapping the Virtual Forwarding Tables

VMAC in packet determines the virtual network(and, hence, which CAMs to use)

Page 14: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

14

Resource GuaranteesResource Guarantees

• CPU Isolation– Provided by using PCI-based NetFPGA card

• Bandwidth Isolation– Virtual networks are not affected by each other if they

abide by their allocated bandwidth– What if user steps beyond allocated limited?

• Currently, no enforcement (limitation)• Limit could be enforced at either ingress or egress

Page 15: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

15

EvaluationEvaluation

• What forwarding rates does the architecture achieve?

• How do these rates compare to the forwarding rate of the base hardware?

• How will the architecture scale with future hardware trends?

Page 16: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

16

Experimental SetupExperimental Setup

Page 17: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

17

Forwarding Performance: RatesForwarding Performance: RatesF

orw

ard

ing

Rat

e (‘

000

pp

s)

Packet Size (bytes)

Packet forwarding rates are at least as good as Linux kernel. (~2.5x for small packets)

Page 18: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

18

Forwarding Performance: OverheadForwarding Performance: Overhead

Fo

rwar

din

g R

ate

(‘00

0 p

ps)

Packet Size (bytes)

Performance of up to eight virtual routers is equivalent to base router.

Page 19: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

19

EfficiencyEfficiency

• Base router: 45% of logic,53% of BRAM,8.6M gates

• 8 Virtual Routers:69% of logic,87% of BRAM,14.1M gates

Vir

tual

Ro

ute

rs

Cards will support more virtual routers asXilinx technology improves.

Page 20: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

20

Future WorkFuture Work

• Adding support for forwarding tables on SRAM.

• Providing bandwidth isolation when users exceed allocated bandwidth.

• Providing an interface to each user for performance statistics, etc.

Page 21: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

21

Summary: Fast, Virtualized Data PlaneSummary: Fast, Virtualized Data Plane

• Scalable– Design is scalable (Off-chip FIB will allow more virtual data

planes.)• Fast

– Current implementation has the same performance as base hardware

• Flexible– Support for custom control and data planes

• Provides Isolation– Virtual networks don’t interfere with each other if traffic

within limits

Page 22: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

22

ConclusionConclusion

• Resource sharing in routers using programmable hardware is possible

• Hardware resource sharing provides improved isolation and packet forwarding rates than software based solution

• Current implementation achieves isolation and forwarding performance of native hardware without any overhead

Page 23: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

23

Page 24: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

24

ExtraExtra

Page 25: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

25

ExtraExtra

Page 26: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

26

ExtraExtra

Page 27: 1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster

27

Performance OverheadPerformance Overhead

• Tested with 1,2,3,4,5,6,7,8 virtualized data-planes working in parallel and for 64-byte sized packets

• The forwarding rate was same for all eight virtualized data configuration

• All eight configuration showed forwarding rate equal to base router forwarding rate for 64-byte sized packets