autoscaler

package module
v0.0.0-...-6928099 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2019 License: MIT Imports: 2 Imported by: 0

README

Kaburaya AutoScaler

An autoscaler controller based on queuing theory.

  • The controller automatically estimates the throughput of servers while running.
  • It reduces the effects due to delay of load detection.
  • And it also reduces the effects due to delay of increasing servers.

Architecture

image

Simulation

$ go run cmd/simulator/main.go --step 500 \
                               --DT 0.00001 \
                               --lambda 20,100,5000,200,10000,300,15000,400,10000 \
                               --mu 1000 \
                               --in-delay 1.0 \
                               --delay 6.0 \
                               --out-delay 6.0

image

License

MIT

Author

monochromegane

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Component

type Component interface {
	Work(float64) float64
}

type Delay

type Delay struct {
	Gamma int
	// contains filtered or unexported fields
}

func NewDelay

func NewDelay(gamma int) *Delay

func (*Delay) Work

func (c *Delay) Work(x float64) float64

type KaburayaController

type KaburayaController struct {
	Rho    float64
	Mu     float64
	Lambda float64
	// contains filtered or unexported fields
}

func NewKaburayaController

func NewKaburayaController(rho, iDelay, oDelay float64) *KaburayaController

func (*KaburayaController) Calculate

func (c *KaburayaController) Calculate(lambda_, mu_, ts_ float64) float64

type RoundAndMinimum

type RoundAndMinimum struct {
	Minimum float64
}

func (*RoundAndMinimum) Work

func (c *RoundAndMinimum) Work(x float64) float64

Directories

Path Synopsis
cmd
simulator command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL