podgroup_info

package
v0.6.21 Latest Latest
Warning

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

Go to latest
Published: May 7, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OverCapacity        = "OverCapacity"
	PodSchedulingErrors = "PodSchedulingErrors"
)

Variables

This section is empty.

Functions

func GetTasksToAllocate

func GetTasksToAllocate(
	podGroupInfo *PodGroupInfo, taskOrderFn common_info.LessFn, isRealAllocation bool,
) []*pod_info.PodInfo

func GetTasksToAllocateInitResource

func GetTasksToAllocateInitResource(
	podGroupInfo *PodGroupInfo, taskOrderFn common_info.LessFn, isRealAllocation bool, minNodeGPUMemory int64,
) *resource_info.Resource

func GetTasksToAllocateRequestedGPUs

func GetTasksToAllocateRequestedGPUs(
	podGroupInfo *PodGroupInfo, taskOrderFn common_info.LessFn, isRealAllocation bool,
) (float64, int64)

func GetTasksToEvict

func GetTasksToEvict(job *PodGroupInfo, taskOrderFn common_info.LessFn) ([]*pod_info.PodInfo, bool)

func HasTasksToAllocate

func HasTasksToAllocate(podGroupInfo *PodGroupInfo, isRealAllocation bool) bool

Types

type JobRequirement

type JobRequirement struct {
	GPU      float64
	MilliCPU float64
	Memory   float64
}

func (*JobRequirement) Get

func (jr *JobRequirement) Get(resourceName v1.ResourceName) float64

type PodGroupInfo

type PodGroupInfo struct {
	UID common_info.PodGroupID

	Name           string
	Namespace      string
	NamespacedName string

	Queue common_info.QueueID

	Priority int32

	MinAvailable int32

	JobFitErrors   enginev2alpha2.UnschedulableExplanations
	NodesFitErrors map[common_info.PodID]*common_info.FitErrors

	// All tasks of the Job.
	PodInfos pod_info.PodsMap

	Allocated *resource_info.Resource

	CreationTimestamp  metav1.Time
	LastStartTimestamp *time.Time
	PodGroup           *enginev2alpha2.PodGroup
	PodGroupUID        types.UID

	// TODO(k82cn): keep backward compatibility, removed it when v1alpha1 finalized.
	PDB *policyv1.PodDisruptionBudget

	StalenessInfo

	PodStatusIndex map[pod_status.PodStatus]pod_info.PodsMap
	// contains filtered or unexported fields
}

func NewPodGroupInfo

func NewPodGroupInfo(uid common_info.PodGroupID, tasks ...*pod_info.PodInfo) *PodGroupInfo

func (*PodGroupInfo) AddTaskInfo

func (podGroupInfo *PodGroupInfo) AddTaskInfo(ti *pod_info.PodInfo)

func (*PodGroupInfo) Clone

func (podGroupInfo *PodGroupInfo) Clone() *PodGroupInfo

func (*PodGroupInfo) CloneWithTasks

func (podGroupInfo *PodGroupInfo) CloneWithTasks(tasks []*pod_info.PodInfo) *PodGroupInfo

func (*PodGroupInfo) DeleteTaskInfo

func (podGroupInfo *PodGroupInfo) DeleteTaskInfo(ti *pod_info.PodInfo) error

func (*PodGroupInfo) GetActiveAllocatedTasksCount added in v0.4.8

func (podGroupInfo *PodGroupInfo) GetActiveAllocatedTasksCount() int

func (*PodGroupInfo) GetActivelyRunningTasksCount added in v0.4.8

func (podGroupInfo *PodGroupInfo) GetActivelyRunningTasksCount() int32

func (*PodGroupInfo) GetAliveTasksRequestedGPUs

func (podGroupInfo *PodGroupInfo) GetAliveTasksRequestedGPUs() float64

func (*PodGroupInfo) GetNumActiveUsedTasks

func (podGroupInfo *PodGroupInfo) GetNumActiveUsedTasks() int

func (*PodGroupInfo) GetNumAliveTasks

func (podGroupInfo *PodGroupInfo) GetNumAliveTasks() int

func (*PodGroupInfo) GetNumAllocatedTasks added in v0.5.2

func (podGroupInfo *PodGroupInfo) GetNumAllocatedTasks() int

func (*PodGroupInfo) GetNumGatedTasks added in v0.5.1

func (podGroupInfo *PodGroupInfo) GetNumGatedTasks() int

func (*PodGroupInfo) GetNumPendingTasks

func (podGroupInfo *PodGroupInfo) GetNumPendingTasks() int

func (*PodGroupInfo) GetPendingTasks

func (podGroupInfo *PodGroupInfo) GetPendingTasks() []*pod_info.PodInfo

func (*PodGroupInfo) GetSchedulingConstraintsSignature

func (podGroupInfo *PodGroupInfo) GetSchedulingConstraintsSignature() common_info.SchedulingConstraintsSignature

func (*PodGroupInfo) GetTasksActiveAllocatedReqResource

func (podGroupInfo *PodGroupInfo) GetTasksActiveAllocatedReqResource() *resource_info.Resource

func (*PodGroupInfo) IsElastic added in v0.6.0

func (podGroupInfo *PodGroupInfo) IsElastic() bool

func (*PodGroupInfo) IsPodGroupStale

func (podGroupInfo *PodGroupInfo) IsPodGroupStale() bool

func (*PodGroupInfo) IsPreemptibleJob

func (podGroupInfo *PodGroupInfo) IsPreemptibleJob(isInferencePreemptible bool) bool

func (*PodGroupInfo) IsReadyForScheduling

func (podGroupInfo *PodGroupInfo) IsReadyForScheduling() bool

func (*PodGroupInfo) SetJobFitError

func (podGroupInfo *PodGroupInfo) SetJobFitError(reason enginev2alpha2.UnschedulableReason, message string, details *enginev2alpha2.UnschedulableExplanationDetails)

func (*PodGroupInfo) SetPDB

func (podGroupInfo *PodGroupInfo) SetPDB(pdb *policyv1.PodDisruptionBudget)

func (*PodGroupInfo) SetPodGroup

func (podGroupInfo *PodGroupInfo) SetPodGroup(pg *enginev2alpha2.PodGroup)

func (*PodGroupInfo) SetTaskFitError

func (podGroupInfo *PodGroupInfo) SetTaskFitError(task *pod_info.PodInfo, fitErrors *common_info.FitErrors)

func (*PodGroupInfo) ShouldPipelineJob

func (podGroupInfo *PodGroupInfo) ShouldPipelineJob() bool

func (PodGroupInfo) String

func (podGroupInfo PodGroupInfo) String() string

func (*PodGroupInfo) UpdateTaskStatus

func (podGroupInfo *PodGroupInfo) UpdateTaskStatus(task *pod_info.PodInfo, status pod_status.PodStatus) error

type PodGroupInfos added in v0.4.8

type PodGroupInfos struct {
	PodGroupInfos []*PodGroupInfo
}

type StalenessInfo

type StalenessInfo struct {
	TimeStamp *time.Time
	Stale     bool
}

Jump to

Keyboard shortcuts

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