Skip to content

Latest commit

 

History

History
49 lines (32 loc) · 2 KB

README.md

File metadata and controls

49 lines (32 loc) · 2 KB

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.