scheduling

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CalculatePriorityUpdateFromReports

func CalculatePriorityUpdateFromReports(reports map[string]*api.ClusterUsageReport, report *api.ClusterUsageReport, previousPriority map[string]float64, halfTime time.Duration) map[string]float64

func CalculateQueuesPriorityInfo

func CalculateQueuesPriorityInfo(clusterPriorities map[string]map[string]float64, activeClusterReports map[string]*api.ClusterUsageReport, queues []*api.Queue) map[*api.Queue]QueuePriorityInfo

func FilterActiveClusters

func FilterActiveClusters(reports map[string]*api.ClusterUsageReport) map[string]*api.ClusterUsageReport

func GetClusterReportIds

func GetClusterReportIds(reports map[string]*api.ClusterUsageReport) []string

func LeaseJobs added in v0.1.2

func LeaseJobs(
	ctx context.Context,
	config *configuration.SchedulingConfig,
	jobQueueRepository repository.JobQueueRepository,
	onJobLease func([]*api.Job),
	request *api.LeaseRequest,
	activeClusterReports map[string]*api.ClusterUsageReport,
	clusterPriorities map[string]map[string]float64,
	activeQueues []*api.Queue,
) ([]*api.Job, error)

func QueueSlicesToShares added in v0.1.2

func QueueSlicesToShares(resourceScarcity map[string]float64, slices map[*api.Queue]common.ComputeResourcesFloat) map[*api.Queue]float64

func ResourceScarcityFromReports

func ResourceScarcityFromReports(reports map[string]*api.ClusterUsageReport) map[string]float64

func ResourcesAsUsage

func ResourcesAsUsage(resourceScarcity map[string]float64, resources common.ComputeResources) float64

func ResourcesFloatAsUsage

func ResourcesFloatAsUsage(resourceScarcity map[string]float64, resources common.ComputeResourcesFloat) float64

func SliceResource

func SliceResource(resourceScarcity map[string]float64, queuePriorities map[*api.Queue]QueuePriorityInfo, quantityToSlice common.ComputeResourcesFloat) map[*api.Queue]common.ComputeResourcesFloat

func SumQueueSlices added in v0.1.2

Types

type LeaseManager added in v0.1.0

type LeaseManager struct {
	// contains filtered or unexported fields
}

func NewLeaseManager added in v0.1.0

func NewLeaseManager(
	jobRepository repository.JobRepository,
	queueRepository repository.QueueRepository,
	eventRepository repository.EventRepository,
	leaseExpiryDuration time.Duration) *LeaseManager

func (*LeaseManager) ExpireLeases added in v0.1.0

func (l *LeaseManager) ExpireLeases()

type QueuePriorityInfo

type QueuePriorityInfo struct {
	Priority     float64
	CurrentUsage common.ComputeResources
}

Jump to

Keyboard shortcuts

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