Skip to content

Latest commit

 

History

History
25 lines (13 loc) · 1.11 KB

README.md

File metadata and controls

25 lines (13 loc) · 1.11 KB

ElasticJBalancer

ElasticJBalancer is an elastic load balancer implemented in Java.

ElasticJBalancer can not only automatically scale up and scale down workers based on the number of incoming requests, but also predict the number of incoming requests using machine learning algorithm REPTree, which is the best model based on our experiments. ElasticJBalancer allocates the incoming requests to workers based on the monitoring information of resource usage and the peak prediction. We use parallelism to implement ElasticJBalancer in one node. The goal of ElasticJBalancer is to balance load generated by huge clients across worker nodes.

To build the project, run

gradle build

To Use, first edit master_addresses and worker_addresses to add the ip and port you will be using:

Run Worker

java -jar 15618.jar worker worker_port (eg. java -jar 15618.jar worker 5000)

Run Master

java -jar 15618.jar master master_port (eg. java -jar 15618.jar master 3000)

Run Client

java -jar 15618.jar client your_trace_file/request_rate (eg. java -jar 15618.jar client 100)

The Repository is only used for study. All rights reserved.