Mengoptimalkan driver CSI Cloud Storage FUSE untuk performa GKE


Panduan ini menunjukkan cara mengoptimalkan performa driver CSI FUSE Cloud Storage di Google Kubernetes Engine (GKE).

Meskipun Cloud Storage FUSE menawarkan fleksibilitas dan skalabilitas, konfigurasi dan penyesuaian yang cermat sangat penting untuk mencapai performa yang optimal. Performa Cloud Storage FUSE dapat berbeda dengan sistem file POSIX dalam hal latensi, throughput, dan konsistensi. Tujuan penyesuaian adalah untuk meminimalkan overhead operasi metadata dan memaksimalkan efisiensi akses data. Jika Anda menjalankan aplikasi AI/ML yang menggunakan data di bucket Cloud Storage, penyesuaian driver CSI dapat menghasilkan waktu pelatihan dan inferensi yang lebih cepat untuk aplikasi AI/ML Anda.

Panduan ini ditujukan untuk Developer dan engineer Machine Learning (ML) yang ingin meningkatkan performa aplikasi mereka yang mengakses data yang disimpan di bucket Cloud Storage.

Sebelum membaca halaman ini, pastikan Anda sudah memahami dasar-dasar Cloud Storage, Kubernetes, dan driver CSI Cloud Storage FUSE. Pastikan untuk juga memeriksa persyaratan versi GKE untuk fitur tertentu yang ingin Anda gunakan.

Mengonfigurasi opsi pemasangan

Driver CSI Cloud Storage FUSE mendukung opsi pemasangan untuk mengonfigurasi cara memasang bucket Cloud Storage di sistem file lokal Anda. Untuk mengetahui daftar lengkap opsi pemasangan yang didukung, lihat dokumentasi file Cloud Storage FUSE CLI.

Anda dapat menentukan opsi pemasangan dengan cara berikut, bergantung pada jenis volume yang Anda gunakan:

Volume efemeral CSI

Jika Anda menggunakan volume efemeral CSI, tentukan opsi pemasangan di kolom spec.volumes[n].csi.volumeAttributes.mountOptions manifes Pod Anda.

Anda harus menentukan opsi pemasangan sebagai string, dengan flag yang dipisahkan dengan koma dan tanpa spasi. Contoh:

  mountOptions: "implicit-dirs,file-cache:enable-parallel-downloads:true,file-cache:download-chunk-size-mb:3"

Volume persisten

Jika Anda menggunakan volume persisten, tentukan opsi pemasangan di kolom spec.mountOptions dalam manifes PersistentVolume.

Anda harus menentukan opsi pemasangan sebagai daftar. Contoh:

  mountOptions:
    - implicit-dirs
    - file-cache:enable-parallel-downloads:true
    - file-cache:download-chunk-size-mb:3

Pertimbangan pemasangan

Gunakan pertimbangan berikut saat mengonfigurasi pemasangan dengan driver CSI:

Pertimbangan umum

  • Flag berikut tidak diizinkan: app-name, temp-dir, foreground, log-file, log-format, key-file, token-url, dan reuse-token-from-url.
  • Cloud Storage FUSE tidak menjadikan direktori implisit terlihat secara default.
  • Jika Anda hanya ingin memasang direktori di bucket, bukan seluruh bucket, teruskan jalur relatif direktori menggunakan flag only-dir=relative/path/to/the/bucket/root.

Keamanan dan izin

  • Jika Anda menggunakan Konteks Keamanan untuk Pod atau container, atau jika image container Anda menggunakan pengguna atau grup non-root, Anda harus menetapkan flag pemasangan uid dan gid. Anda juga harus menggunakan flag pemasangan file-mode dan dir-mode untuk menetapkan izin sistem file. Perhatikan bahwa Anda tidak dapat menjalankan perintah chmod, chown, atau chgrp terhadap sistem file Cloud Storage FUSE, jadi gunakan flag pemasangan uid, gid, file-mode, dan dir-mode untuk mendapatkan akses bagi pengguna atau grup non-root.

Opsi pemasangan kernel Linux

  • Jika perlu mengonfigurasi opsi pemasangan kernel Linux, Anda dapat meneruskan opsi menggunakan flag o. Misalnya, jika Anda tidak ingin mengizinkan eksekusi langsung biner apa pun pada sistem file yang dipasang, tetapkan flag o=noexec. Setiap opsi memerlukan flag terpisah, misalnya, o=noexec,o=noatime. Hanya opsi berikut yang diizinkan: exec, noexec, atime, noatime, sync, async, dan dirsync.

Mengonfigurasi caching

Bagian ini memberikan ringkasan opsi penyimpanan dalam cache yang tersedia dengan driver CSI Cloud Storage FUSE untuk meningkatkan performa.

Penyimpanan file dalam cache

Anda dapat menggunakan driver CSI Cloud Storage FUSE dengan cache file untuk meningkatkan performa baca aplikasi yang menangani file kecil dari bucket Cloud Storage. Fitur cache file Cloud Storage FUSE adalah cache baca berbasis klien yang memungkinkan pembacaan file berulang ditayangkan lebih cepat dari penyimpanan cache pilihan Anda.

Anda dapat memilih dari berbagai opsi penyimpanan untuk cache baca, termasuk SSD Lokal, penyimpanan berbasis Persistent Disk, dan disk RAM (memori), berdasarkan kebutuhan harga-performa Anda.

Mengaktifkan dan menggunakan penyimpanan file ke dalam cache

Secara default, fitur penyimpanan dalam cache file dinonaktifkan di GKE. Anda harus memilih ikut serta untuk mengaktifkan penyimpanan dalam cache file dengan driver CSI Cloud Storage FUSE.

Untuk mengaktifkan dan mengontrol penyimpanan dalam cache file, tetapkan atribut volume fileCacheCapacity atau gunakan opsi pemasangan file-cache:max-size-mb.

GKE menggunakan volume emptyDir secara default untuk caching file Cloud Storage FUSE yang didukung oleh penyimpanan efemeral yang dikonfigurasi di node. Ini dapat berupa boot disk yang terpasang ke node atau SSD Lokal di node. Jika Anda mengaktifkan SSD Lokal di node, GKE akan menggunakan SSD Lokal untuk mendukung volume emptyDir.

Anda dapat mengonfigurasi volume cache baca kustom untuk penampung sidecar untuk mengganti volume emptyDir default untuk penyimpanan dalam cache file dalam operasi baca.

Untuk mempelajari lebih lanjut praktik terbaik untuk penyimpanan dalam cache file, lihat Performa Cloud Storage FUSE.

Memilih penyimpanan untuk mencadangkan cache file Anda

Untuk memilih penyimpanan guna mendukung cache file Anda, lihat pertimbangan berikut:

  • Untuk grup VM GPU dan CPU yang mendukung SSD Lokal (misalnya, VM A3), sebaiknya gunakan SSD Lokal.
    • Untuk VM A3+, GKE akan otomatis menyiapkan SSD Lokal untuk digunakan Pod Anda.
    • Jika kelompok VM Anda tidak mendukung SSD Lokal, GKE akan menggunakan boot disk untuk penyimpanan dalam cache. Jenis disk default untuk disk booting di GKE adalah pd-balanced.
  • Untuk keluarga VM TPU, terutama v6+, sebaiknya gunakan RAM sebagai cache file untuk performa terbaik karena instance VM ini memiliki RAM yang lebih besar.
    • Saat menggunakan RAM, perhatikan error kehabisan memori (OOM) karena menyebabkan gangguan Pod.
    • Untuk keluarga TPU lainnya, sebaiknya gunakan pd-balanced atau pd-ssd. Jenis disk default untuk disk booting di GKE adalah pd-balanced.
  • Hindari penggunaan disk booting untuk penyimpanan data ke dalam cache karena dapat menyebabkan penurunan performa dan penghentian yang tidak terduga. Sebagai gantinya, pertimbangkan untuk menggunakan PersistentVolume yang didukung oleh Persistent Disk.

Menggunakan cache file berbasis disk RAM

Anda dapat menggunakan disk RAM untuk caching file atau download paralel guna mengurangi overhead penggunaan disk booting atau Disk Permanen, jika Anda menggunakan VM TPU dengan RAM yang cukup besar.

Untuk menggunakan disk RAM dengan driver CSI Cloud Storage FUSE, tambahkan kode berikut ke manifes Anda:

volumes:
  - name: gke-gcsfuse-cache
    emptyDir:
      medium: Memory

Cache statistik

Driver CSI Cloud Storage FUSE meningkatkan performa dengan meng-cache metadata file, seperti ukuran dan waktu perubahan. Driver CSI mengaktifkan cache statistik ini secara default dan mengurangi latensi dengan menyimpan informasi secara lokal, bukan memintanya berulang kali dari Cloud Storage. Anda dapat mengonfigurasi ukuran maksimumnya (defaultnya adalah 32 MB) dan berapa lama data tetap berada dalam cache (defaultnya adalah 60 detik). Dengan menyesuaikan cache metadata, Anda dapat mengurangi panggilan API ke Cloud Storage, untuk meningkatkan performa dan efisiensi aplikasi dengan meminimalkan traffic dan latensi jaringan.

Untuk mempelajari lebih lanjut praktik terbaik untuk penyimpanan cache statistik, lihat ringkasan penyimpanan cache Cloud Storage FUSE.

Menggunakan pengambilan data metadata untuk mengisi otomatis cache metadata

Fitur pengambilan metadata memungkinkan driver CSI Cloud Storage FUSE secara proaktif memuat metadata yang relevan tentang objek di bucket Cloud Storage Anda ke cache Cloud Storage FUSE. Pendekatan ini mengurangi panggilan ke Cloud Storage dan sangat bermanfaat bagi aplikasi yang mengakses set data besar dengan banyak file, seperti workload pelatihan AI/ML.

Fitur ini memerlukan GKE versi 1.31.3-gke.1162000 atau yang lebih baru.

Untuk melihat peningkatan performa dari pengambilan data metadata, Anda harus menetapkan nilai time to live (TTL) item cache metadata ke tidak terbatas. Biasanya, menetapkan TTL akan mencegah konten yang di-cache menjadi usang. Saat menetapkan TTL ke tidak terbatas, Anda harus mengambil tindakan pencegahan agar tidak mengubah konten bucket secara out-of-band (artinya mengizinkan workload atau aktor lain untuk mengubah workload). Perubahan di luar band tidak terlihat secara lokal dan dapat menyebabkan masalah konsistensi.

Untuk mengaktifkan pengambilan data metadata, buat perubahan konfigurasi berikut. Sebaiknya aktifkan fitur ini pada volume yang banyak dibaca.

Misalnya, lihat contoh kode di Meningkatkan performa pembacaan file besar menggunakan download paralel.

Cache daftar

Untuk mempercepat listingan direktori untuk aplikasi, Anda dapat mengaktifkan cache daftar. Fitur ini menyimpan listingan direktori dalam memori sehingga permintaan berulang dapat ditayangkan lebih cepat. Cache daftar dinonaktifkan secara default; Anda dapat mengaktifkannya dengan menetapkan parameter kernel-list-cache-ttl-secs di opsi pemasangan. Ini menentukan berapa lama listingan di-cache.

Meningkatkan performa baca file besar menggunakan download paralel

Anda dapat menggunakan download paralel Cloud Storage FUSE untuk mempercepat pembacaan file besar dari Cloud Storage untuk download multi-thread. Download paralel Cloud Storage FUSE dapat sangat bermanfaat untuk kasus penggunaan penayangan model dengan ukuran baca lebih dari 1 GB.

Contoh umum mencakup:

  • Penyaluran model, tempat Anda memerlukan buffer pengambilan data yang besar untuk mempercepat download model selama booting instance.
  • Pemulihan titik pemeriksaan, tempat Anda memerlukan cache data hanya baca untuk meningkatkan akses satu kali ke beberapa file besar.
Praktik terbaik:

Gunakan download paralel untuk aplikasi yang melakukan pembacaan file besar dengan thread tunggal. Aplikasi dengan paralelisme operasi baca tinggi (menggunakan lebih dari delapan thread) mungkin mengalami performa yang lebih rendah dengan fitur ini.

Untuk menggunakan download paralel dengan driver CSI Cloud Storage FUSE, ikuti langkah-langkah berikut:

  1. Buat cluster dengan cache file diaktifkan, seperti yang dijelaskan di Mengaktifkan dan menggunakan cache file.

  2. Di manifes, konfigurasikan setelan tambahan ini menggunakan opsi pemasangan untuk mengaktifkan download paralel:

    1. Tetapkan file-cache:enable-parallel-downloads:true.
    2. Sesuaikan file-cache:parallel-downloads-per-file, file-cache:parallel-downloads-per-file, file-cache:max-parallel-downloads, dan file-cache:download-chunk-size-mb sesuai kebutuhan.
  3. (Opsional) Jika diperlukan, pertimbangkan untuk menyesuaikan atribut volume berikut:

Mengurangi konsumsi kuota dari pemeriksaan kontrol akses

Secara default, driver CSI melakukan pemeriksaan kontrol akses untuk memastikan bahwa akun layanan Pod memiliki akses ke bucket Cloud Storage Anda. Hal ini menghasilkan overhead tambahan dalam bentuk Kubernetes Service API, Layanan Token Keamanan, dan panggilan IAM. Mulai GKE versi 1.29.9-gke.1251000, Anda dapat menggunakan skipCSIBucketAccessCheck atribut volume untuk melewati pemeriksaan yang berlebihan tersebut dan mengurangi penggunaan kuota.

Contoh penayangan inferensi

Contoh berikut menunjukkan cara mengaktifkan download paralel untuk penayangan inferensi:

  1. Buat manifes PersistentVolume dan PersistentVolumeClaim dengan spesifikasi berikut:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: serving-bucket-pv
    spec:
      accessModes:
      - ReadWriteMany
      capacity:
        storage: 64Gi
      persistentVolumeReclaimPolicy: Retain
      storageClassName: example-storage-class
      claimRef:
        namespace: NAMESPACE
        name: serving-bucket-pvc
      mountOptions:
        - implicit-dirs #avoid if list cache enabled and doing metadata prefetch
        - metadata-cache:ttl-secs:-1
        - metadata-cache:stat-cache-max-size-mb:-1
        - metadata-cache:type-cache-max-size-mb:-1
        - file-cache:max-size-mb:-1
        - file-cache:cache-file-for-range-read:true
        - file-system:kernel-list-cache-ttl-secs:-1
        - file-cache:enable-parallel-downloads:true
      csi:
        driver: gcsfuse.csi.storage.gke.io
        volumeHandle: BUCKET_NAME
        volumeAttributes:
          skipCSIBucketAccessCheck: "true"
          gcsfuseMetadataPrefetchOnMount: "true"
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: serving-bucket-pvc
      namespace: NAMESPACE
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 64Gi
      volumeName: serving-bucket-pv
      storageClassName: example-storage-class
    

    Ganti nilai berikut:

    • NAMESPACE: namespace Kubernetes tempat Anda ingin men-deploy Pod.
    • BUCKET_NAME: nama bucket Cloud Storage yang Anda tentukan saat mengonfigurasi akses ke bucket Cloud Storage. Anda dapat menentukan garis bawah (_) untuk memasang semua bucket yang dapat diakses oleh Kubernetes ServiceAccount. Untuk mempelajari lebih lanjut, lihat Pemasangan dinamis dalam dokumentasi Cloud Storage FUSE.
  2. Terapkan manifes ke cluster:

    kubectl apply -f PV_FILE_PATH
    

    Ganti PV_FILE_PATH dengan jalur ke file YAML Anda.

  3. Buat manifes Pod dengan spesifikasi berikut untuk menggunakan PersistentVolumeClaim, bergantung pada apakah Anda menggunakan caching file yang didukung SSD Lokal atau caching file yang didukung disk RAM:

    SSD Lokal

    apiVersion: v1
    kind: Pod
    metadata:
      name: gcs-fuse-csi-example-pod
      namespace: NAMESPACE
      annotations:
        gke-gcsfuse/volumes: "true"
        gke-gcsfuse/cpu-limit: "0"
        gke-gcsfuse/memory-limit: "0"
        gke-gcsfuse/ephemeral-storage-limit: "0"
    spec:
      containers:
        # Your workload container spec
        ...
        volumeMounts:
        - name: serving-bucket-vol
          mountPath: /serving-data
          readOnly: true
      serviceAccountName: KSA_NAME
      volumes:
      - name: serving-bucket-vol
        persistentVolumeClaim:
          claimName: serving-bucket-pvc
    

    Disk RAM

    apiVersion: v1
    kind: Pod
    metadata:
      name: gcs-fuse-csi-example-pod
      namespace: NAMESPACE
      annotations:
        gke-gcsfuse/volumes: "true"
        gke-gcsfuse/cpu-limit: "0"
        gke-gcsfuse/memory-limit: "0"
        gke-gcsfuse/ephemeral-storage-limit: "0"
    spec:
      containers:
        # Your workload container spec
        ...
        volumeMounts:
        - name: serving-bucket-vol
          mountPath: /serving-data
          readOnly: true
      serviceAccountName: KSA_NAME 
      volumes:
        - name: gke-gcsfuse-cache # gcsfuse file cache backed by RAM Disk
          emptyDir:
            medium: Memory 
      - name: serving-bucket-vol
        persistentVolumeClaim:
          claimName: serving-bucket-pvc
    
  4. Terapkan manifes ke cluster:

    kubectl apply -f POD_FILE_PATH
    

    Ganti POD_FILE_PATH dengan jalur ke file YAML Anda.

Mengonfigurasi atribut volume

Atribut volume memungkinkan Anda mengonfigurasi perilaku tertentu dari driver CSI Cloud Storage FUSE.

Driver CSI Cloud Storage FUSE tidak mengizinkan Anda menentukan file konfigurasi Cloud Storage FUSE secara langsung. Anda dapat mengonfigurasi beberapa kolom dalam file konfigurasi menggunakan atribut volume CSI Cloud Storage FUSE. Driver CSI menangani penerjemahan nilai atribut volume ke kolom file konfigurasi.

Untuk mengetahui daftar lengkap atribut volume yang didukung, lihat Referensi atribut volume.

Anda dapat menentukan atribut volume dengan cara berikut:

  • Di kolom spec.csi.volumeAttributes pada manifes PersistentVolume, jika Anda menggunakan volume persisten.
  • Di kolom spec.volumes[n].csi.volumeAttributes, jika Anda menggunakan volume efemeral CSI.

Dalam manifes, atribut volume dapat ditentukan sebagai key-value pair. Contoh:

volumeAttributes:
  mountOptions: "implicit-dirs"
  fileCacheCapacity: "-1"
  gcsfuseLoggingSeverity: warning

Metrik Cloud Storage FUSE

Metrik Cloud Storage FUSE berikut kini tersedia melalui GKE Monitoring API. Detail tentang metrik Cloud Storage FUSE seperti label, jenis, dan unit dapat ditemukan di Metrik Sistem GKE. Metrik ini tersedia untuk setiap Pod yang menggunakan Cloud Storage FUSE dan Anda dapat menggunakan metrik untuk mengonfigurasi insight per volume dan bucket.

Metrik dinonaktifkan secara default. Untuk mengaktifkannya, tetapkan atribut volume disableMetrics ke "false".

Metrik sistem file

Metrik sistem file melacak performa dan kondisi sistem file Anda, termasuk jumlah operasi, error, dan kecepatan operasi. Metrik ini dapat membantu mengidentifikasi bottleneck dan mengoptimalkan performa.

  • gcsfusecsi/fs_ops_count
  • gcsfusecsi/fs_ops_error_count
  • gcsfusecsi/fs_ops_latency

Metrik Cloud Storage

Anda dapat memantau metrik Cloud Storage, termasuk volume data, kecepatan, dan aktivitas permintaan, untuk memahami cara aplikasi Anda berinteraksi dengan bucket Cloud Storage. Data ini dapat membantu Anda mengidentifikasi area untuk pengoptimalan, seperti meningkatkan pola baca atau mengurangi jumlah permintaan.

  • gcsfusecsi/gcs_download_bytes_count
  • gcsfusecsi/gcs_read_count
  • gcsfusecsi/gcs_read_bytes_count
  • gcsfusecsi/gcs_reader_count
  • gcsfusecsi/gcs_request_count
  • gcsfusecsi/gcs_request_latencies

Metrik cache file

Anda dapat memantau metrik cache file, termasuk volume pembacaan data, kecepatan, dan rasio hit cache, untuk mengoptimalkan Cloud Storage FUSE dan performa aplikasi. Analisis metrik ini untuk meningkatkan strategi penyimpanan dalam cache dan memaksimalkan hit cache.

  • gcsfusecsi/file_cache_read_bytes_count
  • gcsfusecsi/file_cache_read_latencies
  • gcsfusecsi/file_cache_read_count

Praktik terbaik untuk penyesuaian performa

Bagian ini mencantumkan beberapa teknik penyesuaian dan pengoptimalan performa yang direkomendasikan untuk driver CSI Cloud Storage FUSE.

  • Manfaatkan bucket Namespace Hierarkis (HNS): Pilih bucket HNS untuk mencapai peningkatan Kueri Per Detik (QPS) awal yang signifikan sebesar 8x. Pilihan ini juga memfasilitasi penggantian nama direktori yang cepat dan atomik, yang merupakan persyaratan penting untuk pemeriksaan titik kontrol yang efisien dengan Cloud Storage FUSE. Bucket HNS memastikan pengalaman seperti file yang lebih baik dengan mendukung 40.000 permintaan baca objek dan 8.000 permintaan tulis objek per detik, peningkatan yang signifikan dibandingkan dengan 8.000 permintaan baca objek dan 1.000 permintaan tulis objek per detik yang ditawarkan oleh bucket datar.

  • Pasang direktori tertentu jika memungkinkan: Jika beban kerja Anda melibatkan akses ke direktori tertentu dalam bucket, gunakan flag --only-dir selama pemasangan. Pendekatan yang difokuskan ini mempercepat panggilan daftar, karena membatasi cakupan panggilan LookUpInode, yang melibatkan panggilan list+stat untuk setiap file atau direktori di jalur yang ditentukan. Dengan mempersempit pemasangan ke subdirektori yang diperlukan, Anda meminimalkan panggilan ini, sehingga meningkatkan performa.

  • Optimalkan caching metadata: Konfigurasikan cache metadata untuk memaksimalkan kapasitas dan menetapkan time to live (TTL) yang tidak terbatas. Praktik ini secara efektif menyimpan semua metadata yang diakses dalam cache selama durasi tugas Anda, sehingga meminimalkan permintaan akses metadata ke Cloud Storage. Konfigurasi ini terbukti sangat berguna untuk volume hanya baca, karena menghilangkan pencarian metadata Cloud Storage berulang. Namun, pastikan konsumsi memori yang terkait dengan cache metadata besar ini sesuai dengan kemampuan sistem Anda.

  • Maksimalkan resource sidecar GKE: Cloud Storage FUSE beroperasi dalam penampung sidecar di lingkungan GKE. Untuk mencegah bottleneck resource, hapus batasan pada konsumsi CPU dan memori untuk penampung sidecar. Hal ini memungkinkan Cloud Storage FUSE menskalakan penggunaan resource-nya berdasarkan permintaan workload, mencegah throttling, dan memastikan throughput yang optimal.

  • Isi cache metadata secara proaktif: Aktifkan pengambilan data metadata untuk driver CSI. Tindakan ini akan mengisi metadata dan cache daftar secara efisien, sehingga meminimalkan panggilan metadata ke Cloud Storage dan mempercepat operasi awal. Banyak framework ML melakukan hal ini secara otomatis, tetapi penting untuk memastikan langkah ini untuk kode pelatihan kustom. Untuk mempelajari lebih lanjut, lihat Menggunakan pengambilan data metadata untuk mengisi otomatis cache metadata.

  • Gunakan cache file dan download paralel: Aktifkan fitur cache file, terutama untuk beban kerja pelatihan multi-epoch, tempat data dibaca berulang kali. Cache file menyimpan data yang sering diakses di penyimpanan lokal (SSD dalam kasus mesin A3), sehingga meningkatkan performa baca. Lengkapi hal ini dengan fitur download paralel, terutama untuk menayangkan beban kerja, guna mempercepat download file besar dengan membaginya menjadi beberapa bagian yang lebih kecil dan mendownloadnya secara serentak.

  • Mengoptimalkan checkpoint: Untuk checkpoint dengan Cloud Storage FUSE, sebaiknya gunakan bucket HNS. Jika menggunakan bucket non-HNS, tetapkan parameter rename-dir-limit ke nilai tinggi untuk mengakomodasi penggantian nama direktori yang sering digunakan oleh framework ML selama pembuatan checkpoint. Namun, perlu diketahui bahwa penggantian nama direktori di bucket non-HNS mungkin tidak bersifat atomik dan dapat memerlukan waktu lebih lama untuk diselesaikan.

  • Aktifkan penyimpanan dalam cache daftar: Aktifkan penyimpanan dalam cache daftar menggunakan flag --kernel-list-cache-ttl-secs untuk meningkatkan performa lebih lanjut. Fitur ini menyimpan listingan direktori dan file dalam cache, sehingga meningkatkan kecepatan operasi ls. Cache daftar sangat bermanfaat untuk beban kerja yang melibatkan listingan direktori penuh berulang, yang umum dalam skenario pelatihan AI/ML. Sebaiknya gunakan cache daftar dengan pemasangan hanya baca untuk mempertahankan konsistensi data.

Langkah selanjutnya