Skip to content

A micro FaaS framework and tools to test performance of load balancing algorithms

License

Notifications You must be signed in to change notification settings

Prev/HotFunctions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HotFunctions Build Status GitHub license

A micro FaaS framework and tools to test performance of load balancing algorithms. Consists of 5 parts like described in below:

  • Worker front: Codes for the worker node to run the user functions in the Docker container.
  • Load balancer: Codes for distributing requests to multiple worker nodes
  • Simulator: Codes to run a simulation with load balancer
  • Sample functions: Pre-defined user functions to run a simulation
  • Utils: Utilities like generating simulation scenario or analyzing the result.

Getting Started

Prerequisites

  • Golang >= 1.13 (Since we use gomod for dependency control, at least 1.11 is required)
  • Docker (Functions are running in the Docker container)

Step1: Configure a worker node (or worker nodes)

$ cd worker_front
$ go run *.go start

You can see the details in worker front page.
After configuration, visit http://localhost:8222/execute?name=W1 to test worker node.

Our framework supports 30 different functions. You can see the detail of the supporting sample functions in sample functions page.

Step2: Configure a load balancer

$ cd load_balancer
$ go run *.go rr|ll|ch|pasch|ours

You can also see the details on load balancer page.
After configuration, visit http://localhost:8111/execute?name=W1 to test load balancer. Note that you should not close the worker node while running the load balancer.

Step3: Run simulator and analyze result with utils

Follow the "How to run" section on simulator page. After the simulation is finished, utils for analyzing the logs are prepared on utils.

About

A micro FaaS framework and tools to test performance of load balancing algorithms

Resources

License

Stars

Watchers

Forks

Packages

No packages published