Menskalakan cluster Ray di Gemini Enterprise Agent Platform

Cluster Ray di Gemini Enterprise Agent Platform menawarkan dua opsi penskalaan: penskalaan otomatis dan penskalaan manual. Penskalaan otomatis memungkinkan cluster menyesuaikan jumlah node pekerja secara otomatis berdasarkan resource yang diperlukan oleh tugas dan aktor Ray. Jika Anda menjalankan workload yang berat dan tidak yakin dengan resource yang diperlukan, sebaiknya gunakan penskalaan otomatis. Penskalaan manual memberi pengguna kontrol yang lebih mendetail atas node.

Penskalaan otomatis dapat mengurangi biaya workload, tetapi menambahkan overhead peluncuran node dan dapat sulit dikonfigurasi. Jika Anda baru menggunakan Ray, mulailah dengan cluster non-penskalaan otomatis, dan gunakan fitur penskalaan manual.

Penskalaan otomatis

Aktifkan fitur penskalaan otomatis cluster Ray dengan menentukan jumlah replika minimum (min_replica_count) dan jumlah replika maksimum (max_replica_count) dari kumpulan pekerja.

Perhatikan hal berikut:

  • Konfigurasi spesifikasi penskalaan otomatis semua kumpulan pekerja.
  • Kecepatan penskalaan ke atas dan ke bawah kustom tidak didukung. Untuk nilai default, lihat Kecepatan penskalaan ke atas dan ke bawah dalam dokumentasi Ray.

Menetapkan spesifikasi penskalaan otomatis kumpulan pekerja

Gunakan Google Cloud konsol atau Agent Platform SDK untuk Python untuk mengaktifkan fitur penskalaan otomatis cluster Ray.

Ray di Agent Platform SDK

from google.cloud import aiplatform
import vertex_ray
from vertex_ray import AutoscalingSpec

autoscaling_spec = AutoscalingSpec(
 min_replica_count=1,
 max_replica_count=3,
)

head_node_type = Resources(
 machine_type="n1-standard-16",
 node_count=1,
)

worker_node_types = [Resources(
 machine_type="n1-standard-16",
 accelerator_type="NVIDIA_TESLA_T4",
 accelerator_count=1,
 autoscaling_spec=autoscaling_spec,
)]

# Create the Ray cluster on Gemini Enterprise Agent Platform
CLUSTER_RESOURCE_NAME = vertex_ray.create_ray_cluster(
head_node_type=head_node_type,
worker_node_types=worker_node_types,
...
)

Konsol

Sesuai dengan rekomendasi praktik terbaik OSS Ray, menetapkan jumlah CPU logis ke 0 pada node head Ray akan diterapkan untuk menghindari menjalankan workload apa pun di node head.

  1. Di Google Cloud konsol, buka halaman Ray di Agent Platform.

    Buka halaman Ray di Agent Platform

  2. Klik Create cluster untuk membuka panel Create cluster.

  3. Untuk setiap langkah di panel Create cluster, tinjau atau ganti informasi cluster default. Klik Continue untuk menyelesaikan setiap langkah:

    1. Untuk Name and region, tentukan Name, lalu pilih lokasi untuk cluster Anda.
    2. Untuk Compute settings, tentukan konfigurasi cluster Ray di node head, termasuk jenis mesin, jenis dan jumlah akselerator, jenis dan ukuran disk, serta jumlah replika. Secara opsional, tambahkan URI image kustom untuk menentukan image container kustom guna menambahkan dependensi Python yang tidak disediakan oleh image container default. Lihat Image kustom.

      Di bagian Advanced options, Anda dapat:

      • Menentukan kunci enkripsi Anda sendiri.
      • Menentukan akun layanan kustom.
      • Jika Anda tidak perlu memantau statistik resource workload selama pelatihan, nonaktifkan pengumpulan metrik.
    3. Untuk membuat cluster dengan kumpulan pekerja penskalaan otomatis, berikan nilai untuk jumlah replika maksimum kumpulan pekerja. Setelan komputasi untuk penskalaan otomatis

  4. Klik Create.

Penskalaan manual

Saat workload Anda melonjak atau menurun di cluster Ray di Gemini Enterprise Agent Platform, skalakan jumlah replika secara manual agar sesuai dengan permintaan. Misalnya, jika Anda memiliki kapasitas berlebih, perkecil skala kumpulan worker untuk menghemat biaya.

Batasan dengan Peering VPC

Saat menskalakan cluster, Anda hanya dapat mengubah jumlah replika di kumpulan pekerja yang ada. Misalnya, Anda tidak dapat menambahkan atau menghapus kumpulan pekerja dari cluster atau mengubah jenis mesin kumpulan pekerja. Selain itu, jumlah replika untuk kumpulan pekerja tidak boleh kurang dari satu.

Jika Anda menggunakan koneksi peering VPC untuk terhubung ke cluster, ada batasan pada jumlah node maksimum. Jumlah node maksimum bergantung pada jumlah node yang dimiliki cluster saat Anda membuat cluster. Untuk mengetahui informasi selengkapnya, lihat Perhitungan jumlah node maksimum. Jumlah maksimum ini tidak hanya mencakup kumpulan pekerja, tetapi juga node head. Jika Anda menggunakan konfigurasi jaringan default, jumlah node tidak boleh melebihi batas atas seperti yang dijelaskan dalam dokumentasi pembuatan cluster.

Praktik terbaik alokasi subnet

Saat men-deploy Ray di Gemini Enterprise Agent Platform menggunakan akses layanan pribadi (PSA), penting untuk memastikan bahwa rentang alamat IP yang dialokasikan cukup besar dan berdekatan untuk mengakomodasi jumlah node maksimum yang mungkin diskalakan oleh cluster Anda. Penggunaan IP dapat terjadi jika rentang IP yang dicadangkan untuk koneksi PSA terlalu kecil atau terfragmentasi, sehingga menyebabkan kegagalan deployment.

Sebagai alternatif, sebaiknya deploy Ray di Agent Platform dengan a Antarmuka Private Service Connect, yang mengurangi konsumsi IP ke subnet /28.

Pemantauan Akses Layanan Pribadi

Sebagai praktik terbaik, gunakan Network Analyzer alat diagnostik dalam Network Intelligence Center Google Cloud yang secara otomatis memantau konfigurasi jaringan Virtual Private Cloud (VPC) Anda untuk mendeteksi konfigurasi yang salah dan setelan yang tidak optimal. Network Analyzer beroperasi secara terus-menerus, yang secara proaktif menjalankan pengujian dan menghasilkan insight untuk membantu Anda mengidentifikasi, mendiagnosis, dan menyelesaikan masalah jaringan sebelum memengaruhi ketersediaan layanan.

Network Analyzer memiliki kemampuan untuk memantau subnet yang digunakan untuk Akses Layanan Pribadi (PSA) dan memberikan insight spesifik terkait subnet tersebut. Ini adalah fungsi penting untuk mengelola layanan seperti Cloud SQL, Memorystore, dan Agent Platform, yang menggunakan PSA.

Cara utama Network Analyzer memantau subnet PSA adalah dengan memberikan insight penggunaan alamat IP untuk rentang yang dialokasikan.

  • Penggunaan Rentang PSA: Network Analyzer secara aktif melacak persentase alokasi alamat IP dalam blok CIDR khusus yang telah Anda alokasikan untuk PSA. Hal ini penting karena saat Anda membuat layanan terkelola (seperti Agent Platform), Google akan membuat VPC produsen layanan dan subnet di dalamnya, dengan mengambil rentang IP dari blok yang dialokasikan.

  • Peringatan Proaktif: Jika penggunaan alamat IP untuk rentang yang dialokasikan PSA melebihi batas tertentu (misalnya, 75%), Network Analyzer akan menghasilkan insight peringatan. Hal ini secara proaktif memberi tahu Anda tentang potensi masalah kapasitas, sehingga memberi Anda waktu untuk memperluas rentang IP yang dialokasikan sebelum Anda kehabisan alamat yang tersedia untuk resource layanan baru.

Pembaruan subnet Akses Layanan Pribadi

Untuk deployment Ray di Agent Platform, Google merekomendasikan pengalokasian blok CIDR /16 atau /17 untuk koneksi PSA Anda. Hal ini memberikan blok alamat IP yang berdekatan dan cukup besar untuk mendukung penskalaan yang signifikan, yang mengakomodasi hingga 65.536 atau 32.768 alamat IP unik. Hal ini membantu mencegah penggunaan IP meskipun dengan cluster Ray yang besar.

Jika Anda kehabisan ruang alamat IP yang dialokasikan, Google Cloud akan menampilkan error ini:

Gagal membuat subnetwork. Tidak dapat menemukan blok gratis dalam rentang IP yang dialokasikan.

Sebaiknya perluas rentang subnet saat ini atau alokasikan rentang yang mengakomodasi pertumbuhan di masa mendatang.

Perhitungan jumlah node maksimum

Jika Anda menggunakan akses layanan pribadi (peering VPC) untuk terhubung ke node, gunakan rumus berikut untuk memeriksa bahwa Anda tidak melebihi jumlah node maksimum (M), dengan asumsi f(x) = min(29, (32 - ceiling(log2(x))):

  • f(2 * M) = f(2 * N)
  • f(64 * M) = f(64 * N)
  • f(max(32, 16 + M)) = f(max(32, 16 + N))

Jumlah total node maksimum di cluster Ray di Agent Platform yang dapat Anda tingkatkan skalanya (M) bergantung pada jumlah total node awal yang Anda siapkan (N). Setelah membuat cluster Ray di Agent Platform, Anda dapat menskalakan jumlah total node ke jumlah apa pun antara P dan M inklusif, dengan P adalah jumlah kumpulan di cluster Anda.

Jumlah total node awal dalam cluster dan jumlah target penskalaan ke atas harus berada dalam blok warna yang sama.

Diagram yang menunjukkan hubungan antara jumlah node awal dan yang diskalakan

Memperbarui jumlah replika

Gunakankonsol atau Agent Platform SDK untuk Python untuk memperbarui jumlah replika kumpulan pekerja . Google Cloud Jika cluster Anda menyertakan beberapa kumpulan pekerja, Anda dapat mengubah jumlah replika masing-masing secara individual dalam satu permintaan.

Ray di Agent Platform SDK

import vertexai
import vertex_ray

vertexai.init()
cluster = vertex_ray.get_ray_cluster("CLUSTER_NAME")

# Get the resource name.
cluster_resource_name = cluster.cluster_resource_name

# Create the new worker pools
new_worker_node_types = []
for worker_node_type in cluster.worker_node_types:
 worker_node_type.node_count = REPLICA_COUNT # new worker pool size
 new_worker_node_types.append(worker_node_type)

# Make update call
updated_cluster_resource_name = vertex_ray.update_ray_cluster(
 cluster_resource_name=cluster_resource_name,
 worker_node_types=new_worker_node_types,
)

Konsol

  1. Di Google Cloud konsol, buka halaman Ray di Agent Platform.

    Buka halaman Ray di Agent Platform

  2. Dari daftar cluster, klik cluster yang akan diubah.

  3. Di halaman Cluster details, klik Edit cluster.

  4. Di panel Edit cluster , pilih kumpulan pekerja yang akan diperbarui, lalu ubah jumlah replika.

  5. Klik Update.

    Tunggu beberapa menit hingga cluster Anda diperbarui. Setelah pembaruan selesai, Anda dapat melihat jumlah replika yang diperbarui di halaman Cluster details.

  6. Klik Create.