全部产品
Search
文档中心

Container Service for Kubernetes:Sesuaikan unit alokasi memori minimum untuk penjadwalan GPU bersama

更新时间:Jul 06, 2025

Secara default, unit alokasi memori minimum adalah 1 GiB untuk penjadwalan GPU bersama. Jika Anda memerlukan alokasi memori GPU yang lebih halus, Anda dapat menyesuaikan unit alokasi memori minimum. Topik ini menjelaskan cara mengubah unit alokasi memori minimum menjadi 128 MiB untuk penjadwalan GPU bersama.

Prasyarat

Catatan penggunaan

  • Jika bidang aliyun.com/gpu-mem ditentukan untuk sebuah pod, maka pod tersebut meminta sumber daya GPU. Jika kluster Anda berisi pod yang meminta sumber daya GPU, Anda harus menghapus pod-pod tersebut sebelum mengubah unit alokasi memori minimum untuk penjadwalan GPU bersama. Jika tidak, buku besar penjadwal mungkin menjadi kacau.

  • Anda hanya dapat menyesuaikan unit alokasi memori minimum untuk node-node yang memiliki GPU sharing is enabled but memory isolation is disabled. Node-node ini memiliki label ack.node.gpu.schedule=share. Baik GPU sharing and memory isolation diaktifkan untuk node-node yang memiliki label ack.node.gpu.schedule=cgpu. Karena batasan modul isolasi memori, setiap GPU hanya dapat membuat maksimal 16 pod meskipun Anda mengubah unit alokasi memori minimum menjadi 128 MiB.

  • Jika Anda mengatur unit alokasi memori minimum menjadi 128 MiB, node-node dalam kluster tidak dapat diskalakan secara otomatis meskipun penskalaan otomatis diaktifkan. Sebagai contoh, jika Anda mengatur bidang aliyun.com/gpu-mem menjadi 32 untuk sebuah pod, dan memori GPU yang tersedia dalam kluster tidak cukup untuk memenuhi permintaan memori pod, tidak ada node baru yang ditambahkan dan pod tetap dalam keadaan Pending.

  • Jika Anda menggunakan kluster yang dibuat sebelum 20 Oktober 2021, Anda harus mengajukan tiket untuk memulai ulang penjadwal. Unit alokasi memori minimum yang baru akan berlaku hanya setelah penjadwal dimulai ulang.

Menyesuaikan unit alokasi memori minimum

ack-ai-installer belum diinstal

  1. Masuk ke Konsol ACK. Di panel navigasi di sebelah kiri, klik Clusters.

  2. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel navigasi di sebelah kiri, pilih Applications > Cloud-native AI Suite.

  3. Di bagian bawah halaman, klik Deploy. Pada halaman yang muncul, pilih Scheduling Policy Extension (Batch Task Scheduling, GPU Sharing, Topology-aware GPU Scheduling) dan klik Advanced.

  4. Tambahkan parameter gpuMemoryUnit: 128MiB pada bagian berikut, lalu klik OK.

    image

  5. Setelah konfigurasi, klik Deploy Cloud-native AI Suite.

    Tunggu hingga status dari ack-ai-installer berubah dari Deploying menjadi Deployed, yang menunjukkan bahwa ack-ai-installer telah diterapkan.

ack-ai-installer sudah diinstal

  1. Masuk ke Konsol ACK. Di panel navigasi di sebelah kiri, klik Clusters.

  2. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel navigasi di sebelah kiri, pilih Applications > Cloud-native AI Suite.

  3. Di halaman Cloud-native AI Suite, temukan ack-ai-installer dalam daftar komponen dan klik Uninstall di kolom Aksi. Dalam pesan Uninstall Component, klik Confirm.

  4. Setelah ack-ai-installer di-uninstall, klik Deploy di kolom Aksi. Di panel Parameters, tambahkan gpuMemoryUnit: 128MiB ke kode.1

  5. Klik OK.

    Tunggu hingga status dari ack-ai-installer berubah dari Deploying menjadi Deployed, yang menunjukkan bahwa ack-ai-installer telah diterapkan.

Contoh

Kode sampel berikut memberikan contoh tentang cara meminta memori GPU untuk sebuah pod. Dalam contoh ini, bidang aliyun.com/gpu-mem diatur menjadi 16, dan unit alokasi memori minimum adalah 128 MiB. Oleh karena itu, jumlah total memori GPU yang diminta oleh pod adalah 2 GiB.

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: binpack
  labels:
    app: binpack
spec:
  replicas: 1
  serviceName: "binpack-1"
  podManagementPolicy: "Parallel"
  selector: # definisikan bagaimana deployment menemukan pod yang dikelola
    matchLabels:
      app: binpack-1
  template: # Spesifikasi pod.
    metadata:
      labels:
        app: binpack-1
    spec:
      containers:
      - name: binpack-1
        image: registry.cn-beijing.aliyuncs.com/ai-samples/gpushare-sample:tensorflow-1.5
        command:
        - bash
        - gpushare/run.sh
        resources:
          limits:
            # 128 MiB
            aliyun.com/gpu-mem: 16   # 16 * 128 MiB = 2 GiB