constraints

package
v0.15.2 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 License: Apache-2.0 Imports: 8 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"
	SchedulingPausedOnQueueUnschedulableReason = "scheduling paused on queue"

	// 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 ScaleQuantity

func ScaleQuantity(q resource.Quantity, f float64) resource.Quantity

ScaleQuantity scales q in-place by a factor f. This functions overflows for quantities the milli value of which can't be expressed as an int64. E.g., 1Pi is ok, but not 10Pi.

func UnschedulableReasonIsPropertyOfGang

func UnschedulableReasonIsPropertyOfGang(reason string) bool

Types

type SchedulingConstraints

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

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

func NewSchedulingConstraints

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

func (*SchedulingConstraints) CapResources

func (*SchedulingConstraints) CheckConstraints

func (constraints *SchedulingConstraints) CheckConstraints(
	sctx *context.SchedulingContext,
	gctx *context.GangSchedulingContext,
) (bool, string, error)

func (*SchedulingConstraints) CheckRoundConstraints

func (constraints *SchedulingConstraints) CheckRoundConstraints(sctx *context.SchedulingContext) (bool, string, error)

func (*SchedulingConstraints) GetMaxQueueLookBack

func (constraints *SchedulingConstraints) GetMaxQueueLookBack() uint

Jump to

Keyboard shortcuts

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