constraints

package
v0.15.6 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Indicates that the limit on resources scheduled per round has been exceeded.
	MaximumResourcesScheduledUnschedulableReason = "maximum resources scheduled"

	// Indicates that a queue has been assigned more than its allowed amount of resources.
	MaximumResourcesPerQueueExceededUnschedulableReason = "maximum total resources for this queue exceeded"

	// Indicates that the scheduling rate limit has been exceeded.
	GlobalRateLimitExceededUnschedulableReason = "global scheduling rate limit exceeded"
	QueueRateLimitExceededUnschedulableReason  = "queue scheduling rate limit exceeded"
	QueueCordonedUnschedulableReason           = "queue cordoned"

	// Indicates that scheduling a gang would exceed the rate limit.
	GlobalRateLimitExceededByGangUnschedulableReason = "gang would exceed global scheduling rate limit"
	QueueRateLimitExceededByGangUnschedulableReason  = "gang would exceed queue scheduling rate limit"

	// Indicates that the number of jobs in a gang exceeds the burst size.
	// This means the gang can not be scheduled without first increasing the burst size.
	GangExceedsGlobalBurstSizeUnschedulableReason = "gang cardinality too large: exceeds global max burst size"
	GangExceedsQueueBurstSizeUnschedulableReason  = "gang cardinality too large: exceeds queue max burst size"

	// Indicates that jobs cannot be scheduled due current executor state
	GangDoesNotFitUnschedulableReason = "unable to schedule gang since minimum cardinality not met"
	JobDoesNotFitUnschedulableReason  = "job does not fit on any node"

	UnschedulableReasonMaximumResourcesExceeded = "resource limit exceeded"
)

Variables

This section is empty.

Functions

func IsTerminalQueueUnschedulableReason

func IsTerminalQueueUnschedulableReason(reason string) bool

IsTerminalQueueUnschedulableReason returns true if reason indicates it's not possible to schedule any more jobs from this queue in this round.

func IsTerminalUnschedulableReason

func IsTerminalUnschedulableReason(reason string) bool

IsTerminalUnschedulableReason returns true if reason indicates it's not possible to schedule any more jobs in this round.

func UnschedulableReasonIsPropertyOfGang

func UnschedulableReasonIsPropertyOfGang(reason string) bool

Types

type SchedulingConstraints

type SchedulingConstraints interface {
	CheckRoundConstraints(sctx *context.SchedulingContext) (bool, string, error)
	CheckJobConstraints(sctx *context.SchedulingContext, gctx *context.GangSchedulingContext) (bool, string, error)
	CapResources(queue string, resourcesByPc map[string]internaltypes.ResourceList) map[string]internaltypes.ResourceList
}

SchedulingConstraints contains scheduling constraints, e.g. per-queue resource limits.

func NewSchedulingConstraints

func NewSchedulingConstraints(
	pool string,
	totalResources internaltypes.ResourceList,
	config configuration.SchedulingConfig,
	queues []*api.Queue,
) SchedulingConstraints

Jump to

Keyboard shortcuts

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