Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

17
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane Supervisor: Prof. Francesco Delli Priscoli Tutor: Letterio Zuccaro Candidate: Daniel Gheorghita

Transcript of Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

Page 1: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Supervisor: Prof. Francesco Delli PriscoliTutor: Letterio Zuccaro

Candidate: Daniel Gheorghita

Page 2: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

• Co-funded by the European Commission under the Seventh Framework Programme for Research(FP7)

• It promotes and supports Network Functions Virtualization(NFV)

• Partners: – Universities: Rome, Milan, Zurich– Companies: Intel, HP

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

2

Page 3: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

3

Software Defined Networking

SDN• Decoupled control logic and forwarding logic• Logically centralized control• Network devices programmability using

APIs

OpenFlow• The most used standard and southbound API• Install flow entries in all network devices

– What to do when a specific packet arrives

OVSDB• Management and configuration of network

devices

Control Plane

Data Plane

Application Plane

API(e.g. OpenFlow)

API(e.g. REST)

OtherNetworkDevice

Application 1

Basic functionalities – Abstraction layer

Application 2

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Page 4: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

4

Software Defined Network: Example

Control Plane

Data Plane

Network Control Applications

Packet-in OpenFlow

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Problem:Asynchronous messages

Page 5: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

5

Software Defined Network: ExampleNetwork Control Applications

OpenFlow

Inconvenience: • overprovisioning

Control Plane

Data Plane

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Page 6: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

Load Balancing Algorithm. Dynamic Assignment

6

• Compute average CPU load of the entire cluster (AVG)• Divide controllers in overloaded and non overloaded• Divide the switches connected to the overloaded

controllers in classes of load• “Fill” every non overloaded controller up to AVG

– Best fit switches

• One cluster controller collects statistics from all controllers about the last interval of time(e.g. 4 sec) – Average CPU load – Number of messages received from every switch

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

The main steps:

Page 7: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

Pagina 7

Load balancing algorithm: Running example

Sw8(15)

Sw6(30) Sw9(2

0)Sw10(1

0)

30: Sw3, Sw625: Sw715: Sw1, Sw2, Sw510: Sw4

46.25

Sw11(10)Sw1(1

5)

Sw2(15)

Sw5(15)

11.25 26.25

Sw3(30)

Sw7(25)

Sw4(10)

C1

Output:

{(Sw4, C1, C3)

, (Sw7, C2, C4)}

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

C2 C3 C4

Page 8: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

Pagina 8

Migration for OpenFlow 1.0 and successive versions

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Goal:• Avoid losing messages• Avoid duplicated responses

Problem:• In OF 1.0 the switch X sends

the packet-in messages to both controllers

X : A

X

BA

The main steps of the migration algorithm:

• Connect X to B and install a migration signaling entry in X

• Freeze roles(do not use the distributed cache content for X)• Change cache entry for X

• A removes the migration signaling entry from switch X

• Both controllers receive the notification and resume the use of the distributed cache

• Disconnect X from A

Do not reply

Do reply

X : B

Page 9: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

9

Why OpenDaylight controller:• Open platform• Developed under the Linux Foundation. • Supported by 44 members. Some of them: Brocade, Cisco, Dell,

HP, IBM, Intel, Juniper, Microsoft, Redhat, NEC, vmware, Oracle • Promising future. It aims to support multiple vendor southbound

interfaces– In the industry there is not fully agreement about the southbound protocol

• Supports clustering and has a distributed cache

My contribution in OpenDaylight:• Fairness in the initial (switch : controller) mapping• Dynamic load balancing service• Extended OVSDB

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Implementation details

Page 10: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

10

Testing environment

Mininet

S1 S2 Sn-1 Sn

H1 H2 Hn-1 Hn

A B

Open vSwitch

Network Control Application

Gigabit Switch

A B

Mininet

Page 11: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

11

The benefits of load balancing

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Packet-in/s (104)

w/o load balancingwith load balancing

95-p

erc

resp

onse

tim

e(m

s)

6 - 2 imbalance

Page 12: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

12

Conclusion and future works

Conclusion: • Designed, implemented(in OpenDaylight) a load balancing

and switch migration algorithms• Developed support tools:

– a traffic generator application– a network control application– test scripts that measure the performances

Future works: • Deal with the failure of switches and controllers

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Page 13: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

13

Thank you for your attention!

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Page 14: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

Pagina 14

The benefits of multiple controller. Test scenarios

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

S1

H1

S1

3

H13

S2

H2

S1

2

H12

S1

4

H14

S2

6

H26

S1

5

H15

S2

5

H25

C1C2

S1

H1

S1

3

H13

S2

H2

S1

2

H12

S1

4

H14

S2

6

H26

S1

5

H15

S2

5

H25

C1 C2

S1

H1

S1

3

H13

S2

H2

S1

2

H12

S1

4

H14

S2

6

H26

S1

5

H15

S2

5

H25

C1

Single:

All:

Selective:

Page 15: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

Pagina 15

The benefits of multiple controller. Results

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Packet-in/s (104)

95-p

erc

resp

onse

tim

e(1

04 ) m

s SingleAll

Selective

Page 16: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

Pagina 16

Tests: Migration timing

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

Aver

age

mig

ratio

n tim

e(m

s) AllSelective

Packet-in/s (104)

Page 17: Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane - Slides

Pagina 17

Migration for OF 1.0 and successive versions

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN Control Plane

X’s Master Contr.

Controller B

Controller A

Connect

Switch X

X : A X : {A}

X : {A,B}Connect Ack

Start Migration & X-do not process

X : BChange map

Start Migration & X-do not process Ack

Install and Remove dummy-flowAdd dummy-flow

Barrier Request

Barrier Request

Remove dummy flowDummy-flow removeDummy-flow

remove

DisconnectDisconnect

Ack

End migration

X : {B}

X’s controllersMigrate X to B

Migration completed

Barrier Replay

Barrier Replay