scheduler

package module
v0.0.0-...-154c96d Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2021 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConsistentHashingScheduler

type ConsistentHashingScheduler struct {
	Scheduler
	// contains filtered or unexported fields
}

func NewConsistentHashingScheduler

func NewConsistentHashingScheduler(nodes *[]*Node, numVirtualNodes int, maxLoadThreshold uint) *ConsistentHashingScheduler

func (ConsistentHashingScheduler) Finished

func (s ConsistentHashingScheduler) Finished(node *Node, _ string) error

func (ConsistentHashingScheduler) Select

func (s ConsistentHashingScheduler) Select(functionName string) (*Node, error)

type LeastLoadedScheduler

type LeastLoadedScheduler struct {
	Scheduler
	// contains filtered or unexported fields
}

func NewLeastLoadedScheduler

func NewLeastLoadedScheduler(nodes *[]*Node) *LeastLoadedScheduler

func (*LeastLoadedScheduler) Finished

func (s *LeastLoadedScheduler) Finished(node *Node, _ string) error

func (*LeastLoadedScheduler) Select

func (s *LeastLoadedScheduler) Select(_ string) (*Node, error)

type Node

type Node struct {
	Id   int
	Url  string
	Load uint
}

func NewNode

func NewNode(id int, url string) *Node

type OurScheduler

type OurScheduler struct {
	Scheduler

	TMax      uint
	TOpt      uint
	CacheSize int
	// contains filtered or unexported fields
}

func NewOurScheduler

func NewOurScheduler(nodes *[]*Node, TMax uint, TOpt uint, cacheSize int) *OurScheduler

func (*OurScheduler) Finished

func (s *OurScheduler) Finished(node *Node, functionName string) error

func (*OurScheduler) Select

func (s *OurScheduler) Select(functionName string) (*Node, error)

type PASchExtendedScheduler

type PASchExtendedScheduler struct {
	Scheduler
	// contains filtered or unexported fields
}

func NewPASchExtendedScheduler

func NewPASchExtendedScheduler(nodes *[]*Node, loadThreshold uint) *PASchExtendedScheduler

func (*PASchExtendedScheduler) Finished

func (s *PASchExtendedScheduler) Finished(node *Node, _ string) error

func (*PASchExtendedScheduler) Select

func (s *PASchExtendedScheduler) Select(functionName string) (*Node, error)

type RoundRobinScheduler

type RoundRobinScheduler struct {
	Scheduler
	// contains filtered or unexported fields
}

func NewRoundRobinScheduler

func NewRoundRobinScheduler(nodes *[]*Node) *RoundRobinScheduler

func (*RoundRobinScheduler) Finished

func (s *RoundRobinScheduler) Finished(node *Node, _ string) error

func (*RoundRobinScheduler) Select

func (s *RoundRobinScheduler) Select(_ string) (*Node, error)

type Scheduler

type Scheduler interface {
	Select(string) (*Node, error)
	Finished(*Node, string) error
}

type TradeOffScheduler

type TradeOffScheduler struct {
	Scheduler
	// contains filtered or unexported fields
}

func NewTradeOffScheduler

func NewTradeOffScheduler(nodes *[]*Node, alpha float64, beta float64) *TradeOffScheduler

func (*TradeOffScheduler) Finished

func (s *TradeOffScheduler) Finished(node *Node, _ string) error

func (*TradeOffScheduler) Select

func (s *TradeOffScheduler) Select(functionName string) (*Node, error)

Jump to

Keyboard shortcuts

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