mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-12-13 07:46:43 +00:00
add GPU share support
This commit is contained in:
@@ -85,7 +85,7 @@ func (allocator *AllocatorFIFO) requestResource(task Task) NodeStatus {
|
|||||||
for id, node := range pool.nodes {
|
for id, node := range pool.nodes {
|
||||||
var available []GPUStatus
|
var available []GPUStatus
|
||||||
for _, status := range node.Status {
|
for _, status := range node.Status {
|
||||||
if status.MemoryAllocated == 0 {
|
if status.MemoryTotal-status.MemoryAllocated >= task.MemoryGPU {
|
||||||
available = append(available, status)
|
available = append(available, status)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -97,7 +97,8 @@ func (allocator *AllocatorFIFO) requestResource(task Task) NodeStatus {
|
|||||||
for i := range res.Status {
|
for i := range res.Status {
|
||||||
for j := range node.Status {
|
for j := range node.Status {
|
||||||
if res.Status[i].UUID == node.Status[j].UUID {
|
if res.Status[i].UUID == node.Status[j].UUID {
|
||||||
node.Status[j].MemoryAllocated = task.MemoryGPU
|
node.Status[j].MemoryAllocated += task.MemoryGPU
|
||||||
|
res.Status[i].MemoryTotal = task.MemoryGPU
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -114,7 +115,7 @@ func (allocator *AllocatorFIFO) returnResource(agent NodeStatus) {
|
|||||||
for _, gpu := range agent.Status {
|
for _, gpu := range agent.Status {
|
||||||
for j := range nodes.Status {
|
for j := range nodes.Status {
|
||||||
if gpu.UUID == nodes.Status[j].UUID {
|
if gpu.UUID == nodes.Status[j].UUID {
|
||||||
nodes.Status[j].MemoryAllocated = 0
|
nodes.Status[j].MemoryAllocated -= gpu.MemoryTotal
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user