Documentation
¶
Index ¶
Constants ¶
const ( ThroughPutScaleDownThreshold = 1.2 ThroughputScaleUpThreshold = 1.05 )
Variables ¶
This section is empty.
Functions ¶
func Start ¶
Start starts all of the goroutines that will take care of the proper functioning of the scheduler 1) Find next parallelism 2) Fetch metrics 3) **maybe look for the failed tasks queue? If the router fails keep the task there and retry 4) API so the scheduler is reachable from the other components
Types ¶
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
func (*Scheduler) GetHandler ¶
Create the handler for the scheduler to receive requests from the API
type SchedulerPolicy ¶
type SchedulerPolicy interface {
// contains filtered or unexported methods
}
SchedulerPolicy defines the methods needed to be implemented by the scheduler in order to support the tasks from KubeML, these involve how to calculate the parallelism of the task based on previous performance of the task
type SchedulerQueue ¶
type SchedulerQueue struct {
// contains filtered or unexported fields
}
SchedulerQueue is the queue that will be used for the scheduler
type TaskOperation ¶
type TaskOperation int
const ( CreateTask TaskOperation = iota UpdateTask )
Declare the task operation
type ThroughputBasedPolicy ¶
type ThroughputBasedPolicy struct {
// contains filtered or unexported fields
}
SchedulerPolicy defines the methods needed to be implemented by the scheduler in order to support the tasks from KubeML, these involve how to calculate the parallelism of the task based on previous performance of the task