feat: update resourceRange add RUNNING_TASK、BALANCE、MLU、RATE filter

This commit is contained in:
qiwang 2025-03-10 15:14:06 +08:00
parent e3354245ee
commit 7eea3599c9
1 changed files with 36 additions and 35 deletions

View File

@ -1254,48 +1254,49 @@ func (svc *JobSetService) ResourceRange() ([]sch.ResourceRange, error) {
// 获取资源类型的 key
resourceType := resource.Resource.Type
// 获取资源的 Available Value
//availableValue := resource.Available.Value
if resourceType != "RUNNING_TASK" && resourceType != "BALANCE" && resourceType != "MLU" && resourceType != "RATE" {
// 获取现有的 ResourceRange
resourceRange, exists := resourceMap[resourceType]
if !exists {
// 如果该资源类型还没有添加过,初始化一个新的 Range
resourceRange = sch.ResourceRange{
Type: resourceType,
GPU: sch.Range{}, // 初始的 GPU 范围
GPUNumber: 0, // 初始的 GPU 数量
CPU: sch.Range{}, // 初始的 CPU 范围
Memory: sch.Range{}, // 初始的 Memory 范围
Storage: sch.Range{}, // 初始的 Storage 范围
// 获取现有的 ResourceRange
resourceRange, exists := resourceMap[resourceType]
if !exists {
// 如果该资源类型还没有添加过,初始化一个新的 Range
resourceRange = sch.ResourceRange{
Type: resourceType,
GPU: sch.Range{}, // 初始的 GPU 范围
GPUNumber: 0, // 初始的 GPU 数量
CPU: sch.Range{}, // 初始的 CPU 范围
Memory: sch.Range{}, // 初始的 Memory 范围
Storage: sch.Range{}, // 初始的 Storage 范围
}
}
}
if CPUValue < resourceRange.CPU.Min || resourceRange.CPU.Min == 0 {
resourceRange.CPU.Min = CPUValue
}
if CPUValue > resourceRange.CPU.Max {
resourceRange.CPU.Max = CPUValue
}
if CPUValue < resourceRange.CPU.Min || resourceRange.CPU.Min == 0 {
resourceRange.CPU.Min = CPUValue
}
if CPUValue > resourceRange.CPU.Max {
resourceRange.CPU.Max = CPUValue
}
if MemValue < resourceRange.Memory.Min || resourceRange.Memory.Min == 0 {
resourceRange.Memory.Min = MemValue
}
if MemValue > resourceRange.Memory.Max {
resourceRange.Memory.Max = MemValue
}
if MemValue < resourceRange.Memory.Min || resourceRange.Memory.Min == 0 {
resourceRange.Memory.Min = MemValue
}
if MemValue > resourceRange.Memory.Max {
resourceRange.Memory.Max = MemValue
}
if StorageValue < resourceRange.Storage.Min || resourceRange.Storage.Min == 0 {
resourceRange.Storage.Min = StorageValue
}
if StorageValue > resourceRange.Storage.Max {
resourceRange.Storage.Max = StorageValue
}
if StorageValue < resourceRange.Storage.Min || resourceRange.Storage.Min == 0 {
resourceRange.Storage.Min = StorageValue
}
if StorageValue > resourceRange.Storage.Max {
resourceRange.Storage.Max = StorageValue
}
// 增加资源数量统计
resourceRange.GPUNumber++
// 增加资源数量统计
resourceRange.GPUNumber++
// 更新 resourceMap 中对应资源类型的 ResourceRange
resourceMap[resourceType] = resourceRange
// 更新 resourceMap 中对应资源类型的 ResourceRange
resourceMap[resourceType] = resourceRange
}
}
}