Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Load Balancing on Containernet #1

Open
rohansuri1996 opened this issue Oct 18, 2021 · 1 comment
Open

Load Balancing on Containernet #1

rohansuri1996 opened this issue Oct 18, 2021 · 1 comment

Comments

@rohansuri1996
Copy link

Hi Sarthak,

I really like your simple approach.

I have few questions which I hope you can answer?

  1. How are you doing the telemetry? How do you get to know that this switch has more load so the traffic needs to go from another node?
  2. How can run your script with containernet instead of mininet? (https://github.com/containernet/containernet)
@sarthakpranesh
Copy link
Owner

sarthakpranesh commented Oct 18, 2021

Hey @rohansuri1996 👋🏽 ,
I really don't remember much of this project, but here is what I am able to recall

  1. I didn't implement load balancing natively on the switch, what I showcased was server load distribution. For doing this I ran three kind of tests: One client - One server no-load, Many clients - One server under load, and Many clients - Many server load balanced. All three clients send requests simultaneously and continuously. I logged the time for the request to get resolved from any one server for three cases and plotted them on the graph here. For load and load balancing cases, to avoid complexity (Mininet was challenging to understand) I just used an extra host node attached to the switch to compute and redirect requests simulating load balancing. This host node points the request to a single server in the case of load testing and to multiple servers in load balancing case ( this py script)
  2. I can't say if my scripts will work with containernet or not, never tried it. But as containernet is a fork of mininet I feel the scripts will work if the Mininet API does not change. The host command and its usage may be different though as containernet uses docker for host. Try running the project in One client - One server no-load mode, then you should be able to refactor the scripts to run in other modes too. Clone the project inside your containernet env and run the starTopo.py script from project base.

Best of luck 🍀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants