View a markdown version of this page

Kebijakan - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kebijakan

SageMaker HyperPod Tata kelola tugas Amazon menyederhanakan cara sumber daya klaster Amazon EKS dialokasikan dan bagaimana tugas diprioritaskan. Berikut ini memberikan informasi tentang kebijakan klaster HyperPod EKS. Untuk informasi tentang cara mengatur tata kelola tugas, lihatPengaturan tata kelola tugas.

Kebijakan dibagi menjadi prioritas Komputasi dan alokasi Komputasi. Konsep kebijakan di bawah ini akan diatur dalam konteks kebijakan ini.

Prioritas komputasi, atau kebijakan klaster, menentukan bagaimana komputasi idle dipinjam dan bagaimana tugas diprioritaskan oleh tim.

  • Alokasi komputasi idle menentukan bagaimana komputasi idle dialokasikan di seluruh tim. Artinya, bagaimana komputasi yang tidak terpakai dapat dipinjam dari tim. Saat memilih alokasi komputasi Idle, Anda dapat memilih antara:

    • First-come first-serve: Ketika diterapkan, tim tidak diprioritaskan satu sama lain dan setiap tugas yang masuk memiliki kemungkinan yang sama untuk mendapatkan sumber daya yang berlebihan. Tugas diprioritaskan berdasarkan urutan pengajuan. Ini berarti pengguna mungkin dapat menggunakan 100% dari komputasi idle jika mereka memintanya terlebih dahulu.

    • Fair-share: Saat diterapkan, tim meminjam komputasi idle berdasarkan bobot Fair-share yang ditetapkan. Bobot ini didefinisikan dalam alokasi Komputasi. Untuk informasi lebih lanjut tentang bagaimana ini dapat digunakan, lihatBerbagi contoh sumber daya komputasi idle.

  • Prioritas tugas mendefinisikan bagaimana tugas diantrian saat komputasi tersedia. Saat memilih prioritas Tugas, Anda dapat memilih antara:

    • First-come first-serve: Saat diterapkan, tugas diantrian sesuai urutan yang diminta.

    • Peringkat tugas: Ketika diterapkan, tugas diantrian dalam urutan yang ditentukan oleh prioritas mereka. Jika opsi ini dipilih, Anda harus menambahkan kelas prioritas bersama dengan bobot di mana mereka harus diprioritaskan. Tugas dari kelas prioritas yang sama akan dieksekusi berdasarkan first-come first-serve. Saat diaktifkan dalam alokasi Komputasi, tugas didahului dari tugas prioritas rendah oleh tugas prioritas yang lebih tinggi dalam tim.

      Ketika ilmuwan data mengirimkan pekerjaan ke cluster, mereka menggunakan nama kelas prioritas dalam file YAMM. Kelas prioritas ada dalam formatpriority-class-name-priority. Sebagai contoh, lihat Kirim pekerjaan ke antrian dan namespace yang SageMaker dikelola AI.

    • Kelas prioritas: Kelas-kelas ini menetapkan prioritas relatif untuk tugas-tugas ketika meminjam kapasitas. Ketika tugas berjalan menggunakan kuota pinjaman, itu mungkin didahului oleh tugas lain dengan prioritas lebih tinggi daripada itu, jika tidak ada lagi kapasitas yang tersedia untuk tugas yang masuk. Jika Preemption diaktifkan dalam alokasi Komputasi, tugas prioritas yang lebih tinggi juga dapat mendahului tugas dalam timnya sendiri.

  • Berbagi sumber daya yang tidak dialokasikan memungkinkan tim meminjam sumber daya komputasi yang tidak dialokasikan ke tim mana pun melalui kuota komputasi. Saat diaktifkan, kapasitas klaster yang tidak terisi akan tersedia bagi tim untuk meminjam secara otomatis. Untuk informasi selengkapnya, lihat Cara kerja berbagi sumber daya yang tidak terisi.

Alokasi komputasi, atau kuota komputasi, menentukan alokasi komputasi tim dan berapa bobot (atau tingkat prioritas) yang diberikan tim untuk alokasi komputasi idle share yang adil.

  • Nama tim: Nama tim. Namespace yang sesuai akan dibuat, dari jenis. hyperpod-ns-team-name

  • Anggota: Anggota namespace tim. Anda perlu menyiapkan kontrol akses berbasis peran Kubernetes (RBAC) untuk pengguna ilmuwan data yang Anda inginkan menjadi bagian dari tim ini, untuk menjalankan tugas pada cluster yang diatur dengan Amazon EKS. HyperPod Untuk menyiapkan Kubernetes RBAC, gunakan instruksi dalam membuat peran tim.

  • Bobot pembagian adil: Ini adalah tingkat prioritas yang diberikan kepada tim saat Fair-share diterapkan untuk alokasi komputasi Idle. Prioritas tertinggi memiliki bobot 100 dan prioritas terendah memiliki bobot 0. Bobot yang lebih tinggi memungkinkan tim untuk mengakses sumber daya yang tidak digunakan dalam kapasitas bersama lebih cepat. Bobot nol menandakan prioritas terendah, menyiratkan tim ini akan selalu berada pada posisi yang kurang menguntungkan dibandingkan dengan tim lain.

    Bobot pembagian yang adil memberikan keunggulan komparatif bagi tim ini saat bersaing untuk sumber daya yang tersedia melawan yang lain. Penerimaan memprioritaskan tugas penjadwalan dari tim dengan bobot tertinggi dan pinjaman terendah. Misalnya, jika Tim A memiliki bobot 10 dan Tim B memiliki bobot 5, Tim A akan memiliki prioritas dalam mengakses sumber daya yang tidak digunakan karena akan memiliki pekerjaan yang dijadwalkan lebih awal dari Tim B.

  • Pendahuluan tugas: Komputasi diambil alih dari tugas berdasarkan prioritas. Secara default, tim yang meminjamkan komputasi idle akan mendahului tugas dari tim lain.

  • Meminjamkan dan meminjam: Bagaimana komputasi idle dipinjamkan oleh tim dan jika tim dapat meminjam dari tim lain.

    • Batas pinjaman berbasis persentase: Batas komputasi idle yang diizinkan untuk dipinjam oleh tim, dinyatakan sebagai persentase dari kuota yang dijamin. Sebuah tim dapat meminjam hingga 10.000% dari perhitungan yang dialokasikan. Nilai yang Anda berikan di sini ditafsirkan sebagai persentase. Misalnya, nilai 500 akan ditafsirkan sebagai 500%. Persentase ini berlaku secara seragam di semua jenis sumber daya (CPU, GPU, Memori) dan jenis instans dalam kuota tim.

    • Batas pinjaman absolut: Batas komputasi idle yang diizinkan untuk dipinjam oleh tim, didefinisikan sebagai nilai sumber daya absolut per jenis instance. Ini memberikan kontrol terperinci atas perilaku meminjam untuk jenis instance tertentu. Anda perlu menentukan batas absolut menggunakan skema yang sama dengan kuota Compute, termasuk jumlah instans, akselerator, vCPU, memori, atau partisi akselerator. Anda dapat menentukan batas absolut untuk satu atau beberapa jenis instans dalam kuota tim Anda.

Untuk informasi tentang bagaimana konsep-konsep ini digunakan, seperti kelas prioritas dan spasi nama, lihatContoh perintah tata kelola HyperPod AWS CLI tugas.

Berbagi contoh sumber daya komputasi idle

Total kuota cadangan tidak boleh melebihi kapasitas kluster yang tersedia untuk sumber daya tersebut, untuk memastikan pengelolaan kuota yang tepat. Misalnya, jika klaster terdiri dari 20 ml.c5.2xlarge instance, kuota kumulatif yang ditetapkan untuk tim harus tetap di bawah 20.

Jika kebijakan alokasi Komputasi untuk tim mengizinkan Pinjaman dan Pinjam atau Pinjamkan, kapasitas idle akan dibagi di antara tim-tim ini. Misalnya, Tim A dan Tim B mengaktifkan Lend and Borrow. Tim A memiliki kuota 6 tetapi hanya menggunakan 2 untuk pekerjaannya, dan Tim B memiliki kuota 5 dan menggunakan 4 untuk pekerjaannya. Pekerjaan yang diserahkan ke Tim B yang membutuhkan 4 sumber daya. 3 akan dipinjam dari Tim A.

Jika kebijakan alokasi Komputasi tim mana pun disetel ke Jangan Pinjamkan, tim tidak akan dapat meminjam kapasitas tambahan apa pun di luar alokasi sendiri.

Cara kerja berbagi sumber daya yang tidak terisi

Berbagi sumber daya yang tidak teralokasikan secara otomatis mengelola kumpulan sumber daya yang tidak dialokasikan ke kuota komputasi apa pun di klaster Anda. Ini berarti HyperPod terus memantau status cluster Anda dan secara otomatis memperbarui ke konfigurasi yang benar dari waktu ke waktu.

Pengaturan Awal

  • Ketika Anda mengatur IdleResourceSharing ke Enabled dalam ClusterSchedulerConfig (secara default ituDisabled), tata kelola HyperPod tugas mulai memantau klaster Anda dan menghitung sumber daya idle yang tersedia dengan mengurangi kuota tim dari total kapasitas node.

  • Berbagi sumber daya yang tidak terisi ClusterQueues dibuat untuk mewakili kumpulan sumber daya yang dapat dipinjam.

  • Saat pertama kali mengaktifkan berbagi sumber daya yang tidak terisi, penyiapan infrastruktur membutuhkan waktu beberapa menit. Anda dapat memantau kemajuan melalui kebijakan Status dan DetailedStatus dalam ClusterSchedulerConfig.

Rekonsiliasi yang sedang berlangsung

  • HyperPod Tata kelola tugas terus memantau perubahan seperti penambahan atau penghapusan node dan pembaruan kuota antrian cluster.

  • Ketika perubahan terjadi, pembagian sumber daya yang tidak teralokasikan menghitung ulang kuota dan pembaruan. ClusterQueues Rekonsiliasi biasanya selesai dalam hitungan detik.

Pemantauan

Anda dapat memverifikasi bahwa pembagian sumber daya yang tidak teralokasikan sepenuhnya dikonfigurasi dengan memeriksa pembagian sumber daya yang tidak terisi: ClusterQueues

kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing

Ketika Anda melihat ClusterQueues dengan nama sepertihyperpod-ns-idle-resource-sharing-cq-1, berbagi sumber daya yang tidak terisi aktif. Perhatikan bahwa beberapa pembagian sumber daya yang tidak teralokasikan ClusterQueues mungkin ada tergantung pada jumlah ragam sumber daya di klaster Anda.

Kelayakan node untuk berbagi sumber daya yang tidak dialokasikan

Unllocated Resource Sharing hanya mencakup node yang memenuhi persyaratan berikut:

  1. Status Siap Node

    • Node harus dalam Ready status untuk berkontribusi pada kumpulan sumber daya yang tidak terisi.

    • Node dalam NotReady atau keadaan tidak siap lainnya dikecualikan dari perhitungan kapasitas.

    • Ketika sebuah node menjadiReady, secara otomatis dimasukkan dalam siklus rekonsiliasi berikutnya.

  2. Status yang Dapat Dijadwalkan Node

    • Node dengan spec.unschedulable: true dikecualikan dari berbagi sumber daya yang tidak terisi.

    • Ketika sebuah node menjadi dijadwalkan lagi, itu secara otomatis dimasukkan dalam siklus rekonsiliasi berikutnya.

  3. Konfigurasi MIG (hanya node GPU)

    • Untuk node GPU dengan partisi MIG (Multi-Instance GPU), nvidia.com/mig.config.state label harus ditampilkan success agar node dapat menyumbangkan profil MIG ke pembagian sumber daya yang tidak terisi.

    • Node ini akan dicoba ulang secara otomatis setelah konfigurasi MIG selesai dengan sukses.

  4. Jenis Instance yang Didukung

    • Instance harus berupa tipe SageMaker HyperPod instance yang didukung.

    • Lihat daftar jenis instans yang didukung di SageMaker HyperPod cluster.