Skip to content
This repository was archived by the owner on Apr 1, 2023. It is now read-only.
This repository was archived by the owner on Apr 1, 2023. It is now read-only.

Explore the upper size of Distrinet cluster #45

@VanderChen

Description

@VanderChen

To explore the upper size of the Distrinet cluster, the following experiments are completed.

Physical resources limitation

server type server size cluster size
kvm 1 ( 1 master ) <= 500 vhosts
kvm 2 (1 master + 1 worker) < 700 vhosts
kvm 3 (1 master + 2 workers) < 800 vhosts
bare metal 3 (1 master + 2 workers) < 800 vhosts

one kvm for 64 G memory + 600G Disk HDD + 32-thread CPU
one bare metal server for 600G memory + 600G Disk SSD + 88-thread CPU

In the bare metal experiment, resource utilization is below 10%.

Conclusion: Physical resources are not the cluster size bottleneck.

SSH limitation

Due to the implementation of Distrinet, the client keeps ssh connections to each vhost. The number of ssh connections may constrain the cluster scalability.

  1. The default setting of ssh limitation is 1024 which is bigger than the cluster size (800 vhost).
  2. Distrinet is able to set up more than 1000 vhost without RYU controller.

Conclusion: ssh limitation is not the bottleneck at least under the current cluster size.

SDN controller limitation

The SDN controller is currently considered to be the main bottleneck of the cluster. Some attempts are made to solve this problem.

  1. More compute resources for a single RYU controller.

Results are shown in the resource part. In short, no significant improvement.

  1. Replace by RYU k8s cluster

1 master with RYU cluster + 2 worker reachs 800 vhosts.

10 replications are set up in k8s cluster and found that there is a workload on each pod. Since RYU does not support horizontal scaling, we are not sure that this can really achieve load balancing, that is, distributed computing.

  1. Replace by ONOS k8s cluster

ONOS controller support horizontal scaling originally and the k8s cluster is set as ONOS K8S Cluster. However, we can set up a lager Distrinet cluster but ONOS cluster will crash when client execute pingall.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions