Menggunakan caching file Cloud Storage FUSE

Halaman ini memberikan detail tentang cache file Cloud Storage FUSE dan cara mengonfigurasi properti pendukungnya.

Ringkasan

Cache file Cloud Storage FUSE adalah cache baca berbasis klien yang memungkinkan pembacaan file berulang ditayangkan dari penyimpanan cache yang lebih cepat sesuai pilihan Anda. Halaman ini menjelaskan cara mengaktifkan dan menggunakan caching file Cloud Storage FUSE.

Manfaat penayangan file dari cache

Penyimpanan dalam cache file memberikan manfaat berikut:

  • Meningkatkan performa untuk I/O kecil dan acak: caching file meningkatkan latensi dan throughput dengan menyajikan pembacaan langsung dari media cache. Operasi I/O kecil dan acak dapat jauh lebih cepat jika ditayangkan dari cache.

  • Memanfaatkan download paralel: download paralel diaktifkan secara otomatis di Cloud Storage FUSE versi 2.12 dan yang lebih baru saat cache file diaktifkan. Download paralel menggunakan beberapa pekerja untuk mendownload file secara paralel menggunakan direktori cache file sebagai buffer pengambilan data, yang dapat menghasilkan waktu pemuatan model hingga sembilan kali lebih cepat. Sebaiknya gunakan download paralel untuk skenario pembacaan berutas tunggal yang memuat file besar seperti penayangan model dan pemulihan titik pemeriksaan.

  • Gunakan kapasitas yang ada: penyiapan cache file dapat menggunakan kapasitas mesin yang disediakan yang ada untuk direktori cache Anda tanpa menimbulkan biaya untuk penyimpanan tambahan. Hal ini mencakup SSD Lokal yang disertakan dengan jenis mesin GPU Cloud seperti a2-ultragpu, a3-highgpu, Persistent Disk (yang merupakan disk booting yang digunakan oleh setiap VM), atau /tmpfs.

  • Pengurangan biaya: hit cache ditayangkan secara lokal dan tidak menimbulkan biaya operasi atau jaringan Cloud Storage.

  • Peningkatan total biaya kepemilikan untuk pelatihan AI dan ML: penyiapan cache file meningkatkan pemanfaatan GPU Cloud dan TPU Cloud dengan memuat data lebih cepat, yang mengurangi waktu pelatihan dan memberikan rasio harga-performa yang lebih baik untuk workload pelatihan kecerdasan buatan dan machine learning (AI/ML).

Download paralel

Download paralel dapat meningkatkan performa baca dengan menggunakan beberapa pekerja untuk mendownload beberapa bagian file secara paralel menggunakan direktori cache file sebagai buffer pengambilan data. Sebaiknya gunakan download paralel untuk skenario baca yang memuat file besar seperti penayangan model, pemulihan checkpoint, dan pelatihan pada objek besar.

Kasus penggunaan untuk mengaktifkan penayangan file dengan download paralel meliputi hal berikut:

Jenis kasus penggunaan Deskripsi
Pelatihan Aktifkan caching file jika data yang ingin Anda akses dibaca beberapa kali, baik file yang sama beberapa kali, atau offset yang berbeda dari file yang sama. Jika set data lebih besar daripada cache file, cache file harus tetap dinonaktifkan, dan sebagai gantinya, gunakan salah satu metode berikut:
Menyajikan bobot model dan pembacaan checkpoint Aktifkan caching file dengan download paralel agar dapat memanfaatkan download paralel, yang memuat file besar jauh lebih cepat daripada jika caching file dan download paralel tidak digunakan.

Pertimbangan

Bagian berikut memberikan pertimbangan penting untuk menggunakan penyimpanan file dalam cache.

Ukuran file dan kapasitas yang tersedia

File yang dibaca harus sesuai dengan kapasitas yang tersedia di direktori cache file yang dapat dikontrol menggunakan opsi CLI --file-cache-max-size-mb atau kolom file-cache:max-size-mb.

Pengelolaan pembacaan acak dan sebagian

Jika operasi pembacaan file pertama dimulai dari awal file, pada offset 0, cache file Cloud Storage FUSE akan menyerap dan memuat seluruh file ke dalam cache, meskipun Anda hanya membaca dari subset rentang kecil. Hal ini memungkinkan pembacaan acak atau sebagian berikutnya dari objek yang sama disalurkan langsung dari cache.

Jika operasi baca pertama file dimulai dari tempat selain offset 0, Cloud Storage FUSE, secara default, tidak memicu pengambilan file lengkap asinkron. Untuk mengubah perilaku ini sehingga Cloud Storage FUSE menyerap file ke cache saat pembacaan acak awal, gunakan salah satu metode berikut untuk menyetel perilaku ke true:

Sebaiknya aktifkan properti ini jika banyak operasi baca acak atau parsial yang berbeda dilakukan pada objek yang sama.

Penghapusan cache

Penghapusan metadata dan data yang di-cache didasarkan pada algoritma paling jarang digunakan (LRU) yang dimulai setelah batas ruang yang dikonfigurasi per batas --file-cache-max-size-mb tercapai. Jika entri berakhir berdasarkan TTL-nya, panggilan metadata GET akan dilakukan terlebih dahulu ke Cloud Storage dan tunduk pada latensi jaringan. Karena data dan metadata dikelola secara terpisah, Anda mungkin mengalami satu entitas yang dikeluarkan atau dibatalkan dan bukan entitas lainnya.

Persistensi cache

Cache Cloud Storage FUSE tidak dipertahankan saat pelepasan dan dimulai ulang. Untuk penyiapan cache file, meskipun entri metadata yang diperlukan untuk menyajikan file dari cache dikeluarkan saat pelepasan dan dimulai ulang, data dalam cache file mungkin masih ada di direktori file. Sebaiknya hapus data di direktori cache file setelah melepas atau memulai ulang.

Keamanan data

Saat Anda mengaktifkan caching, Cloud Storage FUSE menggunakan direktori cache yang Anda tentukan menggunakan salah satu metode berikut sebagai direktori pokok untuk cache guna mempertahankan file dari bucket Cloud Storage Anda dalam format terenkripsi:

Setiap pengguna atau proses yang memiliki akses ke direktori cache ini dapat mengakses file ini. Sebaiknya batasi akses ke direktori ini.

Akses langsung atau beberapa akses ke cache file

Menggunakan proses selain Cloud Storage FUSE untuk mengakses atau mengubah file di direktori cache dapat menyebabkan kerusakan data. Cache Cloud Storage FUSE khusus untuk setiap proses yang menjalankan Cloud Storage FUSE tanpa mengetahui proses Cloud Storage FUSE yang berbeda yang berjalan di mesin yang sama atau berbeda. Oleh karena itu, sebaiknya jangan gunakan direktori cache yang sama untuk berbagai proses Cloud Storage FUSE.

Jika beberapa proses Cloud Storage FUSE perlu dijalankan di mesin yang sama, setiap proses Cloud Storage FUSE harus mendapatkan direktori cache spesifiknya sendiri, atau menggunakan salah satu metode berikut untuk memastikan data Anda tidak rusak:

  • Pasang semua bucket dengan cache bersama: gunakan pemasangan dinamis untuk memasang semua bucket yang dapat Anda akses dalam satu proses dengan cache bersama. Untuk mempelajari lebih lanjut, lihat Pemasangan dinamis Cloud Storage FUSE.

  • Mengaktifkan penyimpanan dalam cache pada bucket tertentu: mengaktifkan penyimpanan dalam cache hanya pada bucket yang ditentukan menggunakan pemasangan statis. Untuk mempelajari lebih lanjut, lihat Pemasangan statis Cloud Storage FUSE.

  • Hanya menyimpan folder atau direktori tertentu dalam cache: pasang dan simpan dalam cache hanya folder tingkat bucket tertentu, bukan memasang seluruh bucket. Untuk mempelajari lebih lanjut, lihat Memasang direktori dalam bucket.

Sebelum memulai

Cache file memerlukan jalur direktori yang akan digunakan untuk menyimpan file dalam cache. Anda dapat membuat direktori baru di sistem file yang ada atau membuat sistem file baru di penyimpanan yang disediakan. Jika Anda menyediakan penyimpanan baru untuk digunakan, gunakan petunjuk berikut untuk membuat sistem file baru:

  1. Untuk Google Cloud Hyperdisk, lihat Membuat volume Google Cloud Hyperdisk baru.

  2. Untuk Persistent Disk, lihat Membuat volume Persistent Disk baru.

  3. Untuk SSD Lokal, lihat Menambahkan SSD Lokal ke VM.

  4. Untuk disk RAM dalam memori, lihat Membuat disk RAM dalam memori.

Mengaktifkan dan mengonfigurasi perilaku caching file

Aktifkan dan konfigurasi penayangan cache file menggunakan salah satu opsi berikut:

  1. Tentukan direktori cache yang ingin Anda gunakan dengan salah satu metode berikut. Dengan begitu, Anda dapat mengaktifkan cache file untuk deployment non-Google Kubernetes Engine:

    Jika Anda menggunakan deployment Google Kubernetes Engine yang menggunakan driver CSI Cloud Storage FUSE untuk Google Kubernetes Engine, tentukan salah satu opsi berikut:

  2. Opsional: aktifkan download paralel dengan menyetel salah satu opsi berikut ke true jika download paralel tidak diaktifkan secara otomatis:

  3. Batasi total kapasitas yang dapat digunakan cache Cloud Storage FUSE dalam direktori yang dipasang dengan menyesuaikan salah satu opsi berikut, yang secara otomatis disetel ke nilai -1 saat Anda menentukan direktori cache:

    Anda juga dapat menentukan nilai dalam MiB atau GiB untuk membatasi ukuran cache.

  4. Opsional: lewati masa berlaku TTL entri yang di-cache dan sajikan metadata file dari cache jika tersedia menggunakan salah satu metode berikut dan menetapkan nilai -1:

    Defaultnya adalah 60 detik, dan nilai -1 akan menetapkannya ke tidak terbatas. Anda juga dapat menentukan nilai tinggi berdasarkan persyaratan Anda. Sebaiknya tetapkan nilai ttl-secs setinggi yang memungkinkan beban kerja Anda. Untuk mengetahui informasi selengkapnya tentang menyetel TTL untuk entri yang di-cache, lihat Masa aktif.

  5. Opsional: Aktifkan kemampuan cache file untuk memuat seluruh file secara asinkron ke dalam cache jika operasi baca pertama file dimulai dari mana saja selain dari offset 0 sehingga pembacaan berikutnya dari offset yang berbeda dari file yang sama juga dapat ditayangkan dari cache. Gunakan salah satu metode berikut dan tetapkan opsi ke true:

  6. Opsional: mengonfigurasi statistik caching dan jenis caching. Untuk mempelajari lebih lanjut cache stat dan jenis, lihat Ringkasan jenis caching atau Ringkasan stat caching.

  7. Jalankan perintah ls -R secara manual di bucket yang di-mount sebelum Anda menjalankan workload untuk mengisi metadata terlebih dahulu guna memastikan cache jenis diisi sebelum pembacaan pertama dengan metode batch yang lebih cepat. Untuk mengetahui informasi selengkapnya tentang cara meningkatkan performa pembacaan pertama kali, lihat Meningkatkan pembacaan pertama kali.

Setelah Anda mengaktifkan penyiapan file, download paralel akan diaktifkan secara otomatis di Cloud Storage FUSE versi 2.12 dan yang lebih baru. Jika Anda menggunakan Cloud Storage FUSE versi lama, setel opsi enable-parallel-downloads ke true untuk mengaktifkan download paralel.

Mengonfigurasi properti pendukung untuk download paralel

Anda dapat secara opsional mengonfigurasi properti pendukung berikut untuk download paralel menggunakan Cloud Storage FUSE CLI atau file konfigurasi Cloud Storage FUSE:

Deskripsi properti Opsi CLI Kolom file konfigurasi
Jumlah maksimum pekerja yang dapat dibuat per file untuk mendownload objek dari Cloud Storage ke dalam cache file. --file-cache-parallel-downloads-per-file file-cache:parallel-downloads-per-file
Jumlah maksimum pekerja yang dapat dibuat pada waktu tertentu di semua tugas download file. Default disetel ke dua kali jumlah core CPU di mesin Anda. Untuk menentukan tidak ada batas, masukkan nilai `-1`. --file-cache-max-parallel-downloads file-cache:max-parallel-downloads
Ukuran setiap permintaan baca dalam MiB yang dilakukan setiap worker ke Cloud Storage saat mendownload objek ke dalam cache file. Perhatikan bahwa download paralel hanya dipicu jika file yang dibaca berukuran yang ditentukan. --file-cache-download-chunk-size-mb file-cache:download-chunk-size-mb

Menonaktifkan download paralel

Untuk menonaktifkan download paralel, tetapkan salah satu opsi berikut ke false:

  • Opsi --file-cache-enable-parallel-downloads CLI
  • Kolom file-cache:enable-parallel-downloads

Langkah berikutnya