Giter VIP home page Giter VIP logo

malob's Introduction

MALOB

MALOB is a SDN load balancer application for the Floodlight controller.

Different applications have different requirements. A web browsing application requires short response times, whereas for a large file transfer, high throughput is preferable. For that reason, different service requests may benefit from different load balancing algorithms. In light of that, we created MALOB a Multi-Algorithm Load Balancer that has the capability to adapt to the different types of requests. In the design of MALOB we considered three broad types of requests: One type of request that prefers short response time, hence the load balancer should choose the path with the lowest latency (Web browsing applications), one that praises the path with the higher throughput (File transfer applications) and finally, one that requires a significant amount of processing (genome’s treatment applications). The first is used when clients request relatively small data with high intensity but requiring an insignificant processing. HTTP requests are an example of such: the first GET request must be returned as quickest as possible, and the pages are very small, making latency the prime factor to consider. The second one is a request for larger amount of data. Downloading files using protocols such as FTP are an example of this type of request where, the throughput a path can offer is the variable with highest impact on the download time. In the last application we consider, requests requires a significant processing For these applications, path latency or throughput do not have a great impact, choosing the server with highest available CPU is the most important factor.

Considering this, upon receiving a new request MALOB analyses the destination port of the request, checks its services table and decides which algorithm fits better that type of request. The service tables that currently only has two entries(HTTP on port 80 and FTP on port 20), can be extended using the REST API:

curl –x POST –d '{"service_name":" BioApp ","algorithm":"3","port":"6789"}' http:///quantum/v1.0/services/

Algorithm - 1: Shortest Latency-Path Server (SL-PS): chooses the server whose path between itself and the client offers the lowest latency.

Algorithm - 2: Highest Throughput-Path Server (HT-PS): chooses the server whose path between itself and the client has the best throughput.

Algorithm - 3: Least CPU usage (CPU): in this algorithm, the server is with lowest CPU usage is chosen.

malob's People

Contributors

goncalosemedo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.