quota

package
v1.34.7 Latest Latest
Warning

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

Go to latest
Published: Jun 25, 2025 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Calculator

type Calculator struct{}

Calculator provides shared quota calculation logic

func NewCalculator

func NewCalculator() *Calculator

NewCalculator creates a new quota calculator

func (*Calculator) AggregateWorkloadResources

func (c *Calculator) AggregateWorkloadResources(baseResource tfv1.Resource, replicas int32) tfv1.Resource

AggregateWorkloadResources aggregates workload resources with replicas

func (*Calculator) ApplyUsageOperation

func (c *Calculator) ApplyUsageOperation(currentUsage, available *tfv1.GPUResourceUsage, operation *ResourceOperation, isIncrease bool)

ApplyUsageOperation atomically applies a usage operation (increase or decrease)

func (*Calculator) CalculateActualDeallocation

func (c *Calculator) CalculateActualDeallocation(currentUsage *tfv1.GPUResourceUsage, operation *ResourceOperation) *ResourceOperation

CalculateActualDeallocation calculates actual deallocation amounts clamped to current usage

func (*Calculator) CalculateAvailablePercent

func (c *Calculator) CalculateAvailablePercent(quota *tfv1.GPUResourceQuota, usage *tfv1.GPUResourceUsage) *tfv1.GPUResourceAvailablePercent

CalculateAvailablePercent calculates available percentage for each resource

func (*Calculator) CalculateUsagePercent

func (c *Calculator) CalculateUsagePercent(quota *tfv1.GPUResourceQuota, usage *tfv1.GPUResourceUsage) map[string]int64

CalculateUsagePercent calculates usage percentage for alert checking

func (*Calculator) CopyUsageToTotal

func (c *Calculator) CopyUsageToTotal(quota *tfv1.GPUResourceQuota) *tfv1.GPUResourceUsage

CopyUsageToTotal copies available quota from total quota specification

func (*Calculator) CreateStandardConditions

func (c *Calculator) CreateStandardConditions(exceeded, alertReached bool, alertThreshold int32) []metav1.Condition

CreateStandardConditions creates standard quota conditions

func (*Calculator) CreateZeroUsage

func (c *Calculator) CreateZeroUsage() *tfv1.GPUResourceUsage

CreateZeroUsage creates a zero-initialized usage object

func (*Calculator) DecreaseUsage

func (c *Calculator) DecreaseUsage(usage *tfv1.GPUResourceUsage, operation *ResourceOperation)

DecreaseUsage safely decreases resource usage with bounds checking

func (*Calculator) IncreaseUsage

func (c *Calculator) IncreaseUsage(usage *tfv1.GPUResourceUsage, operation *ResourceOperation)

IncreaseUsage safely increases resource usage

func (*Calculator) IsAlertThresholdReached

func (c *Calculator) IsAlertThresholdReached(availablePercent *tfv1.GPUResourceAvailablePercent, threshold int32) bool

IsAlertThresholdReached checks if alert threshold is reached for any resource

func (*Calculator) IsQuotaExceeded

func (c *Calculator) IsQuotaExceeded(quota *tfv1.GPUResourceQuota, usage *tfv1.GPUResourceUsage) bool

IsQuotaExceeded checks if any quota limit is exceeded

func (*Calculator) NewResourceOperation

func (c *Calculator) NewResourceOperation(baseResource tfv1.Resource, replicas int32) *ResourceOperation

NewResourceOperation creates a resource operation from base resource and replicas

func (*Calculator) NewResourceOperationFromUsage

func (c *Calculator) NewResourceOperationFromUsage(usage *tfv1.GPUResourceUsage) *ResourceOperation

NewResourceOperationFromUsage creates a resource operation from current usage

func (*Calculator) SafeAdd

func (c *Calculator) SafeAdd(a *resource.Quantity, b resource.Quantity)

SafeAdd safely adds quantities with nil checks

func (*Calculator) SafeSub

func (c *Calculator) SafeSub(a *resource.Quantity, b resource.Quantity)

SafeSub safely subtracts b from a, ensuring a doesn't go negative

func (*Calculator) UpdateAvailableQuota

func (c *Calculator) UpdateAvailableQuota(available *tfv1.GPUResourceUsage, operation *ResourceOperation, isIncrease bool)

UpdateAvailableQuota updates available quota after usage change

type ResourceOperation

type ResourceOperation struct {
	TFlops  resource.Quantity
	VRAM    resource.Quantity
	Workers int32
}

ResourceOperation represents a resource operation (increase/decrease)

Jump to

Keyboard shortcuts

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