From 11b14a05511f4880ee520862edab9b813c73d940 Mon Sep 17 00:00:00 2001 From: peiniliu Date: Mon, 15 Mar 2021 09:45:34 +0100 Subject: [PATCH] Add predicates gpu-number. Signed-off-by: peiniliu --- docs/images/gpu-number.png | Bin 0 -> 170725 bytes docs/user-guide/how_to_use_gpu_number.md | 135 ++++++++++++++++++ docs/user-guide/how_to_use_gpu_sharing.md | 8 +- pkg/scheduler/api/device_info.go | 23 +++ pkg/scheduler/api/node_info.go | 27 +++- pkg/scheduler/api/pod_info.go | 30 ++-- pkg/scheduler/plugins/predicates/gpu.go | 51 ++++++- .../plugins/predicates/predicates.go | 77 ++++++++-- 8 files changed, 313 insertions(+), 38 deletions(-) create mode 100644 docs/images/gpu-number.png create mode 100644 docs/user-guide/how_to_use_gpu_number.md diff --git a/docs/images/gpu-number.png b/docs/images/gpu-number.png new file mode 100644 index 0000000000000000000000000000000000000000..600f48dafcee8fadcbd77d3e6f0ee40db1bbcf29 GIT binary patch literal 170725 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/user-guide/how_to_use_gpu_number.md b/docs/user-guide/how_to_use_gpu_number.md new file mode 100644 index 00000000000..21ec5472682 --- /dev/null +++ b/docs/user-guide/how_to_use_gpu_number.md @@ -0,0 +1,135 @@ +# GPU Number User guide + +## Environment setup + +### Install volcano + + +#### 1. Install from source + +Refer to [Install Guide](../../installer/README.md) to install volcano. + +After installed, update the scheduler configuration: + +```shell script +kubectl edit cm -n volcano-system volcano-scheduler-configmap +``` + +```yaml +kind: ConfigMap +apiVersion: v1 +metadata: + name: volcano-scheduler-configmap + namespace: volcano-system +data: + volcano-scheduler.conf: | + actions: "enqueue, allocate, backfill" + tiers: + - plugins: + - name: priority + - name: gang + - name: conformance + - plugins: + - name: drf + - name: predicates + arguments: + predicate.GPUNumberEnable: true # enable gpu number + - name: proportion + - name: nodeorder + - name: binpack +``` + +#### 2. Install from release package. + +Same as above, after installed, update the scheduler configuration in `volcano-scheduler-configmap` configmap. + +### Install Volcano device plugin + +Please refer to [volcano device plugin](https://github.com/volcano-sh/devices/blob/master/README.md#quick-start) + +* Remember to config volcano device plugin to support gpu-number, users need to config volcano device plugin --gpu-strategy=number. For more information [volcano device plugin configuration](https://github.com/peiniliu/devices/blob/dev/doc/config.md) + +### Verify environment is ready + +Check the node status, it is ok `volcano.sh/gpu-number` is included in the allocatable resources. + +```shell script +$ kubectl get node {node name} -oyaml +... +Capacity: + attachable-volumes-gce-pd: 127 + cpu: 2 + ephemeral-storage: 98868448Ki + hugepages-1Gi: 0 + hugepages-2Mi: 0 + memory: 7632596Ki + pods: 110 + volcano.sh/gpu-memory: 0 + volcano.sh/gpu-number: 1 +Allocatable: + attachable-volumes-gce-pd: 127 + cpu: 1930m + ephemeral-storage: 47093746742 + hugepages-1Gi: 0 + hugepages-2Mi: 0 + memory: 5752532Ki + pods: 110 + volcano.sh/gpu-memory: 0 + volcano.sh/gpu-number: 1 +``` + +### Running Jobs With Multiple GPU Cards + +Jobs can have multiple exclusive NVIDIA GPUs cards via defining container level resource requirements `volcano.sh/gpu-number`: +```shell script +$ cat < 0 { - id := GetGPUIndex(pod) - if dev := ni.GPUDevices[id]; dev != nil { - dev.PodMap[string(pod.UID)] = pod + ids := GetGPUIndex(pod) + for _, id := range ids { + if dev := ni.GPUDevices[id]; dev != nil { + dev.PodMap[string(pod.UID)] = pod + } } } } @@ -580,9 +593,11 @@ func (ni *NodeInfo) AddGPUResource(pod *v1.Pod) { func (ni *NodeInfo) SubGPUResource(pod *v1.Pod) { gpuRes := GetGPUResourceOfPod(pod) if gpuRes > 0 { - id := GetGPUIndex(pod) - if dev := ni.GPUDevices[id]; dev != nil { - delete(dev.PodMap, string(pod.UID)) + ids := GetGPUIndex(pod) + for _, id := range ids { + if dev := ni.GPUDevices[id]; dev != nil { + delete(dev.PodMap, string(pod.UID)) + } } } } diff --git a/pkg/scheduler/api/pod_info.go b/pkg/scheduler/api/pod_info.go index 0c72401de51..b4ade809dc9 100644 --- a/pkg/scheduler/api/pod_info.go +++ b/pkg/scheduler/api/pod_info.go @@ -160,20 +160,29 @@ func GetPodResourceWithoutInitContainers(pod *v1.Pod) *Resource { } // GetGPUIndex returns the ID of the GPU -func GetGPUIndex(pod *v1.Pod) int { +//return the gpu index list +func GetGPUIndex(pod *v1.Pod) []int { if len(pod.Annotations) > 0 { value, found := pod.Annotations[GPUIndex] if found { - id, err := strconv.Atoi(value) - if err != nil { - klog.Errorf("invalid %s=%s", GPUIndex, value) - return -1 + ids := strings.Split(value, ",") + if len(ids) == 0 { + klog.Errorf("invalid gpu index annotation %s=%s", GPUIndex, value) + } + idSlice := make([]int, len(ids)) + for idx, id := range ids { + j, err := strconv.Atoi(id) + if err != nil { + klog.Errorf("invalid %s=%s", GPUIndex, value) + return nil + } + idSlice[idx] = j } - return id + return idSlice } } - return -1 + return nil } func escapeJSONPointer(p string) string { @@ -184,11 +193,12 @@ func escapeJSONPointer(p string) string { } // AddGPUIndexPatch returns the patch adding GPU index -func AddGPUIndexPatch(id int) string { +func AddGPUIndexPatch(ids []int) string { + idsstring := strings.Trim(strings.Replace(fmt.Sprint(ids), " ", ",", -1), "[]") return fmt.Sprintf(`[{"op": "add", "path": "/metadata/annotations/%s", "value":"%d"},`+ - `{"op": "add", "path": "/metadata/annotations/%s", "value": "%d"}]`, + `{"op": "add", "path": "/metadata/annotations/%s", "value": "%s"}]`, escapeJSONPointer(PredicateTime), time.Now().UnixNano(), - escapeJSONPointer(GPUIndex), id) + escapeJSONPointer(GPUIndex), idsstring) } // RemoveGPUIndexPatch returns the patch removing GPU index diff --git a/pkg/scheduler/plugins/predicates/gpu.go b/pkg/scheduler/plugins/predicates/gpu.go index cd28ac0db40..e176e5bb52c 100644 --- a/pkg/scheduler/plugins/predicates/gpu.go +++ b/pkg/scheduler/plugins/predicates/gpu.go @@ -20,37 +20,74 @@ import ( "fmt" v1 "k8s.io/api/core/v1" + "k8s.io/klog" "volcano.sh/volcano/pkg/scheduler/api" ) -// checkNodeGPUSharingPredicate checks if a gpu sharing pod can be scheduled on a node. +// checkNodeGPUSharingPredicate checks if a pod with gpu requirement can be scheduled on a node. func checkNodeGPUSharingPredicate(pod *v1.Pod, nodeInfo *api.NodeInfo) (bool, error) { // no gpu sharing request if api.GetGPUResourceOfPod(pod) <= 0 { return true, nil } + ids := predicateGPUbyMemory(pod, nodeInfo) + if ids == nil { + return false, fmt.Errorf("no enough gpu memory on node %s", nodeInfo.Name) + } + return true, nil +} - id := predicateGPU(pod, nodeInfo) - if id < 0 { - return false, fmt.Errorf("no enough gpu memory on single device of node %s", nodeInfo.Name) +func checkNodeGPUNumberPredicate(pod *v1.Pod, nodeInfo *api.NodeInfo) (bool, error) { + //no gpu number request + if api.GetGPUNumberOfPod(pod) <= 0 { + return true, nil + } + ids := predicateGPUbyNumber(pod, nodeInfo) + if ids == nil { + return false, fmt.Errorf("no enough gpu number on node %s", nodeInfo.Name) } return true, nil } // predicateGPU returns the available GPU ID -func predicateGPU(pod *v1.Pod, node *api.NodeInfo) int { +func predicateGPUbyMemory(pod *v1.Pod, node *api.NodeInfo) []int { gpuRequest := api.GetGPUResourceOfPod(pod) allocatableGPUs := node.GetDevicesIdleGPUMemory() + var devIDs []int + for devID := 0; devID < len(allocatableGPUs); devID++ { availableGPU, ok := allocatableGPUs[devID] if ok { if availableGPU >= gpuRequest { - return devID + devIDs = append(devIDs, devID) + return devIDs } } } - return -1 + return nil +} + +// predicateGPU returns the available GPU IDs +func predicateGPUbyNumber(pod *v1.Pod, node *api.NodeInfo) []int { + gpuRequest := api.GetGPUNumberOfPod(pod) + allocatableGPUs := node.GetDevicesIdleGPUs() + + var devIDs []int + + if len(allocatableGPUs) < gpuRequest { + klog.Errorf("Not enough gpu cards") + return nil + } + + for devID := 0; devID < len(allocatableGPUs); devID++ { + devIDs = append(devIDs, allocatableGPUs[devID]) + if len(devIDs) == gpuRequest { + return devIDs + } + } + + return nil } diff --git a/pkg/scheduler/plugins/predicates/predicates.go b/pkg/scheduler/plugins/predicates/predicates.go index 3d013484f71..7d086502391 100644 --- a/pkg/scheduler/plugins/predicates/predicates.go +++ b/pkg/scheduler/plugins/predicates/predicates.go @@ -46,6 +46,7 @@ const ( // GPUSharingPredicate is the key for enabling GPU Sharing Predicate in YAML GPUSharingPredicate = "predicate.GPUSharingEnable" + GPUNumberPredicate = "predicate.GPUNumberEnable" // CachePredicate control cache predicate feature CachePredicate = "predicate.CacheEnable" @@ -79,6 +80,7 @@ type baseResource struct { type predicateEnable struct { gpuSharingEnable bool + gpuNumberEnable bool cacheEnable bool proportionalEnable bool proportional map[v1.ResourceName]baseResource @@ -100,6 +102,7 @@ func enablePredicate(args framework.Arguments) predicateEnable { - name: predicates arguments: predicate.GPUSharingEnable: true + predicate.GPUNumberEnable: true predicate.CacheEnable: true predicate.ProportionalEnable: true predicate.resources: nvidia.com/gpu @@ -111,12 +114,19 @@ func enablePredicate(args framework.Arguments) predicateEnable { predicate := predicateEnable{ gpuSharingEnable: false, + gpuNumberEnable: false, cacheEnable: false, proportionalEnable: false, } // Checks whether predicate.GPUSharingEnable is provided or not, if given, modifies the value in predicateEnable struct. args.GetBool(&predicate.gpuSharingEnable, GPUSharingPredicate) + args.GetBool(&predicate.gpuNumberEnable, GPUNumberPredicate) + + if predicate.gpuSharingEnable && predicate.gpuNumberEnable { + klog.Errorf("can not define true in both gpu sharing and gpu number") + } + args.GetBool(&predicate.cacheEnable, CachePredicate) // Checks whether predicate.ProportionalEnable is provided or not, if given, modifies the value in predicateEnable struct. args.GetBool(&predicate.proportionalEnable, ProportionalPredicate) @@ -175,31 +185,62 @@ func (pp *predicatesPlugin) OnSessionOpen(ssn *framework.Session) { return } + //predicate gpu sharing if predicate.gpuSharingEnable && api.GetGPUResourceOfPod(pod) > 0 { nodeInfo, ok := ssn.Nodes[nodeName] if !ok { klog.Errorf("Failed to get node %s info from cache", nodeName) return } - - id := predicateGPU(pod, nodeInfo) - if id < 0 { + ids := predicateGPUbyMemory(pod, nodeInfo) + if ids == nil { klog.Errorf("The node %s can't place the pod %s in ns %s", pod.Spec.NodeName, pod.Name, pod.Namespace) return } - dev, ok := nodeInfo.GPUDevices[id] + patch := api.AddGPUIndexPatch(ids) + pod, err := kubeClient.CoreV1().Pods(pod.Namespace).Patch(context.TODO(), pod.Name, types.JSONPatchType, []byte(patch), metav1.PatchOptions{}) + if err != nil { + klog.Errorf("Patch pod %s failed with patch %s: %v", pod.Name, patch, err) + return + } + for _, id := range ids { + dev, ok := nodeInfo.GPUDevices[id] + if !ok { + klog.Errorf("Failed to get GPU %d from node %s", id, nodeName) + return + } + dev.PodMap[string(pod.UID)] = pod + } + klog.V(4).Infof("predicates with gpu sharing, update pod %s/%s allocate to node [%s]", pod.Namespace, pod.Name, nodeName) + } + + //predicate gpu number + if predicate.gpuNumberEnable && api.GetGPUNumberOfPod(pod) > 0 { + nodeInfo, ok := ssn.Nodes[nodeName] if !ok { - klog.Errorf("Failed to get GPU %d from node %s", id, nodeName) + klog.Errorf("Failed to get node %s info from cache", nodeName) + return + } + ids := predicateGPUbyNumber(pod, nodeInfo) + if ids == nil { + klog.Errorf("The node %s can't place the pod %s in ns %s", pod.Spec.NodeName, pod.Name, pod.Namespace) return } - patch := api.AddGPUIndexPatch(id) + patch := api.AddGPUIndexPatch(ids) pod, err := kubeClient.CoreV1().Pods(pod.Namespace).Patch(context.TODO(), pod.Name, types.JSONPatchType, []byte(patch), metav1.PatchOptions{}) if err != nil { klog.Errorf("Patch pod %s failed with patch %s: %v", pod.Name, patch, err) return } - dev.PodMap[string(pod.UID)] = pod - klog.V(4).Infof("predicates with gpu sharing, update pod %s/%s allocate to node [%s]", pod.Namespace, pod.Name, nodeName) + for _, id := range ids { + dev, ok := nodeInfo.GPUDevices[id] + if !ok { + klog.Errorf("Failed to get GPU %d from node %s", id, nodeName) + return + } + dev.PodMap[string(pod.UID)] = pod + } + klog.V(4).Infof("predicates with gpu number, update pod %s/%s allocate to node [%s]", pod.Namespace, pod.Name, nodeName) } node.AddPod(pod) @@ -214,9 +255,9 @@ func (pp *predicatesPlugin) OnSessionOpen(ssn *framework.Session) { return } - if predicate.gpuSharingEnable && api.GetGPUResourceOfPod(pod) > 0 { + if (predicate.gpuSharingEnable && api.GetGPUResourceOfPod(pod) > 0) || (predicate.gpuNumberEnable && api.GetGPUNumberOfPod(pod) > 0) { // deallocate pod gpu id - id := api.GetGPUIndex(pod) + ids := api.GetGPUIndex(pod) patch := api.RemoveGPUIndexPatch() _, err := kubeClient.CoreV1().Pods(pod.Namespace).Patch(context.TODO(), pod.Name, types.JSONPatchType, []byte(patch), metav1.PatchOptions{}) if err != nil { @@ -229,8 +270,10 @@ func (pp *predicatesPlugin) OnSessionOpen(ssn *framework.Session) { klog.Errorf("Failed to get node %s info from cache", nodeName) return } - if dev, ok := nodeInfo.GPUDevices[id]; ok { - delete(dev.PodMap, string(pod.UID)) + for _, id := range ids { + if dev, ok := nodeInfo.GPUDevices[id]; ok { + delete(dev.PodMap, string(pod.UID)) + } } klog.V(4).Infof("predicates with gpu sharing, update pod %s/%s deallocate from node [%s]", pod.Namespace, pod.Name, nodeName) @@ -362,6 +405,16 @@ func (pp *predicatesPlugin) OnSessionOpen(ssn *framework.Session) { klog.V(4).Infof("checkNodeResourceIsProportional predicates Task <%s/%s> on Node <%s>: fit %v", task.Namespace, task.Name, node.Name, fit) } + if predicate.gpuNumberEnable { + //CheckGPUNumberPredicate + fit, err := checkNodeGPUNumberPredicate(task.Pod, node) + if err != nil { + return err + } + + klog.V(4).Infof("checkNodeGPUNumberPredicate predicates Task <%s/%s> on Node <%s>: fit %v", + task.Namespace, task.Name, node.Name, fit) + } return nil }) }