Top Banner
Docker Overlay Networks Performance analysis in high-latency environments Students: Siem Hermans Patrick de Niet Supervisor: Dr. Paola Grosso Research Project 1 System and Network Engineering System and Network Engineering
18

Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

Apr 22, 2018

Download

Documents

lyxuyen
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

Docker Overlay Networks Performance analysis in high-latency environments

Students: Siem HermansPatrick de Niet

Supervisor: Dr. Paola GrossoResearch Project 1

System and Network Engineering System and Network Engineering

Page 2: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

Research question2

“What is the performance of various Docker overlay solutions when implemented in high latency environments and more specifically in the GÉANT Testbeds Services (GTS)?”

Page 3: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

3

• Claassen, J. (2015, July). Container Network Solutions. Retrieved January 31, 2016, from http://rp.delaat.net/2014-2015/p45/report.pdf.

• Rohprimardho, A. (2015, August). Measuring The Impact of Docker on Network I/O Performance. Retrieved January 31, 2016, from http://rp.delaat.net/2014-2015/p92/report.pdf.

Internal

• Kratzke, N. (2015). About Microservices, Containers and their Underestimated Impact on Network Performance. CLOUD COMPUTING 2015, 180.

• Barker, S. K., & Shenoy, P. (2010, February). Empirical evaluation of latency-sensitive application performance in the cloud. In Proceedings of the first annual ACM SIGMM conference on Multimedia systems (pp. 35-46). ACM.

External

Related Work

Page 4: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

4

Virtual Machine Container

• Containerization• Gaining traction• Performance increases

• Role of Docker

Basics

Docker - Concepts

Page 5: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

5

• Virtual networks that span underlying hosts• Powered by libnetwork

Multi-host networking

Page 6: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

6

Libnetwork(Native overlay driver)

Weave Net Project CalicoFlannel

• Based on SocketPlane• Integrating OVS APIs in

Docker• VXLAN based forwarding

• Previously routing based on pcap. Now uses OVS.

• Libnetwork plugin• VXLAN based forwarding

• Technically not an overlay• Routing via BGP• Segmentation via iptables• State distribution via BGP

route reflectors• No tunneling

• Flanneld agent• No integration with

libnetwork

• Subnet per host• UDP or VXLAN forwarding

Overlay solutions

Kratzke, N. (2015).

Page 7: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

7

• European research community- Amsterdam- Bratislava- Ljubljana- Milan- Prague

• GÉANT Testbeds Service (GTS)• OpenStack platform, interconnected by MPLS• KVM for compute nodes• Resembles IaaS providers; Shared infrastructure

GÉANT - Introduction

Page 8: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

Topologies (1)8

•• Four full mesh instances

• DSL 2.0 grammar (JSON)• Local site; Feasibility evaluation

FullMesh {

id="FullMesh_Dispersed"

host { id= "h1" location= "AMS"

port { id="port11"}

port { id="port12"} }

link { id="l1" port {id="src"} port {id="dst"} }

adjacency h1.port14, l1.src

adjacency h2.port24, l1.dst

} {...}

DSL

Page 9: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

9

Topologies (2)

• Flannel VXLAN tunneling• Key-value store placement

• Storing network state• Separate distributed system

Setup

• Scaling up from single-site feasibility check• Calico dropped

• Full mesh divided in:1. Point-to-point, synthetic benchmarks2. Star topology, real-world scenario

Page 10: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

10

Synthetic benchmark (PtP)• Placement of nodesNetperf

• Latency• Jitter

Iperf• TCP/UDP throughput• Jitter

Latency sensitive application (Media streaming) • Darwin Streaming Server, Faban RTSP clients

• Jitter (with netperf)• Bitrate

Methodology - Performance

Barker, S. K., & Shenoy, P. (2010, February).

Page 11: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

11

Setup

Documentation

VPN

Provisioning

Resources

Access

Support

Results - GÉANT

Page 12: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

Results - PtP VM to VM Latency12

Page 13: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

13

Results - PtP Docker to Docker Latency

In Milliseconds (ms)Circuit Topology Min. Latency Mean Latency 99th % Latency

AMS – MIL

LIBNET 36.3 36.5 37.0

WEAVE 36.2 36.5 37.0

FLANNEL 42.5 42.9 43.0

AMS – LJU

LIBNET 30.1 30.3 31.0

WEAVE 29.8 30.3 31.0

FLANNEL 29.8 30.3 31.0

AMS – BRA

LIBNET 17.6 17.7 18.0

WEAVE 17.4 17.7 18.0

FLANNEL 17.4 17.7 18.0

MIL – LJULIBNET 61.8 62.1 62.4WEAVE 59.6 59.8 60.0FLANNEL 55.6 55.8 56.0

MIL – BRA

LIBNET 12.7 13.0 14.0

WEAVE 12.9 13.1 14.0

FLANNEL 12.9 13.1 14.0

BRA – LJU

LIBNET 47.1 47.4 48.0

WEAVE 43.1 59.5 130.0

FLANNEL 43.1 43.4 44.0

Page 14: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

Results - PtP Throughput14

0 50 100 150 200 250

Libnet

Weave

Flannel

VM

Mbps

Solu

tio

n

AMS to BRA TCP Throughput

0 50 100 150 200 250 300

Libnet

Weave

Flannel

VM

Mbps

Solu

tio

n

AMS to BRA UDP Throughput

Page 15: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

15

Results - Streaming Experiment

0.000.200.400.600.801.001.201.401.601.802.00

1 W

ork

er

3 W

ork

er

9 W

ork

er

1 W

ork

er

3 W

ork

er

9 W

ork

er

1 W

ork

er

3 W

ork

er

9 W

ork

er

1 W

ork

er

3 W

ork

er

9 W

ork

er

VM LIBNET WEAVE FLANNEL

BRA – AMS

Bit

rate

per

str

eam

in M

bp

sInstance

BRA - AMS Concurrency BitrateMean Maximum

0

0.5

1

1.5

2

2.5

1 W

ork

er

3 W

ork

er

9 W

ork

er

1 W

ork

er

3 W

ork

er

9 W

ork

er

1 W

ork

er

3 W

ork

er

9 W

ork

er

1 W

ork

er

3 W

ork

er

9 W

ork

erVM LIBNET WEAVE FLANNEL

BRA – AMS

Mea

n J

itte

r in

ms

Instance

BRA - AMS Concurrency Jitter

Page 16: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

16

• Measurements currently only valid within GTS environment;– Reconduct performance analysis in heavily shared environment (e.g. Amazon EC2)– Perform experiments with more compute resources (CPU capping)

• Anomalies in throughput performance not identified (UDP, TCP)– Similar behavior discovered in the work of J. Claassen

• Ideally more measurements to increase accuracy• No significant performance degradations by implementing Docker overlays within GTS• Use Weave ideally within the GTS environment

Conclusion & Future Work

Page 17: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based

A: Science Park 904, Amsterdam NHW: rp.delaat.net

github.com/siemhermans/gtsperfThank you

Questions ?

[email protected]@os3.nl

Research Project 1System and Network EngineeringSystem and Network Engineering

Page 18: Docker Overlay Networks - OS3 · 6 Libnetwork (Native overlay driver) Weave Net Flannel Project Calico • Based on SocketPlane • Integrating OVS APIs in Docker • VXLAN based