Documentation
¶
Index ¶
Constants ¶
View Source
const ( UnschedulableReasonMaximumNumberOfJobsScheduled = "maximum number of jobs scheduled" UnschedulableReasonMaximumNumberOfGangsScheduled = "maximum number of gangs scheduled" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PriorityClassSchedulingConstraints ¶
type PriorityClassSchedulingConstraints struct {
PriorityClassName string
PriorityClassPriority int32
// Prevents jobs of this priority class from being scheduled if doing so would exceed
// cumulative resource usage at priority priorityClassPriority for the queue the job originates from.
//
// Cumulative resource usage at priority x includes resources allocated to jobs of priorityClassPriority x or lower.
MaximumCumulativeResourceFractionPerQueue map[string]float64
}
PriorityClassSchedulingConstraints contains scheduling constraints that apply to jobs of a specific priority class.
type SchedulingConstraints ¶
type SchedulingConstraints struct {
// Max number of jobs to scheduler per lease jobs call.
MaximumJobsToSchedule uint
// Max number of jobs to scheduler per lease jobs call.
MaximumGangsToSchedule uint
// Max number of jobs to consider for a queue before giving up.
MaxLookbackPerQueue uint
// Jobs leased to this executor must be at least this large.
// Used, e.g., to avoid scheduling CPU-only jobs onto clusters with GPUs.
MinimumJobSize schedulerobjects.ResourceList
// Per-queue resource limits.
// Map from resource type to the limit for that resource.
//
// TODO: Remove
MaximalResourceFractionPerQueue map[string]float64
// Scheduling constraints for specific priority classes.
PriorityClassSchedulingConstraintsByPriorityClassName map[string]PriorityClassSchedulingConstraints
// Max resources to schedule per queue at a time.
MaximalResourceFractionToSchedulePerQueue map[string]float64
// Max resources to schedule at a time.
MaximalResourceFractionToSchedule map[string]float64
}
SchedulingConstraints contains scheduling constraints, e.g., per-queue resource limits.
func SchedulingConstraintsFromSchedulingConfig ¶
func SchedulingConstraintsFromSchedulingConfig( minimumJobSize schedulerobjects.ResourceList, config configuration.SchedulingConfig, ) SchedulingConstraints
func (*SchedulingConstraints) CheckGlobalConstraints ¶
func (constraints *SchedulingConstraints) CheckGlobalConstraints(sctx *schedulercontext.SchedulingContext) (bool, string, error)
func (*SchedulingConstraints) CheckPerQueueAndPriorityClassConstraints ¶
func (constraints *SchedulingConstraints) CheckPerQueueAndPriorityClassConstraints( sctx *schedulercontext.SchedulingContext, queue string, priorityClassName string, ) (bool, string, error)
Click to show internal directories.
Click to hide internal directories.