Dokumen ini memberikan ringkasan tentang caching file Cloud Storage FUSE dan petunjuk cara mengonfigurasi serta menggunakan caching file.
Penyimpanan dalam cache file Cloud Storage FUSE adalah cache baca sisi klien yang meningkatkan performa operasi baca dengan menyajikan pembacaan file berulang dari penyimpanan cache yang lebih cepat pilihan Anda. Jika caching file diaktifkan, Cloud Storage FUSE akan menyimpan salinan file yang sering diakses secara lokal, sehingga pembacaan berikutnya dapat disajikan langsung dari cache, yang mengurangi latensi dan meningkatkan throughput.
Manfaat caching file
Penyimpanan dalam cache file memberikan manfaat berikut:
Peningkatan 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.
Download paralel diaktifkan secara otomatis: 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 Anda menggunakan download paralel untuk skenario baca berutas tunggal yang memuat file besar seperti penayangan model dan pemulihan titik pemeriksaan.
Penggunaan 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: caching file meningkatkan penggunaan 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
Time to live (TTL) cache file: jika entri cache file belum habis masa berlakunya berdasarkan TTL-nya dan file ada dalam cache, operasi baca ke file tersebut akan ditayangkan dari cache klien lokal tanpa permintaan apa pun yang dikeluarkan ke Cloud Storage.
Masa berlaku entri cache file: jika masa berlaku entri cache file telah berakhir, panggilan atribut file
GET
dilakukan terlebih dahulu ke Cloud Storage. Jika file tidak ada atau atribut atau isinya telah berubah, konten baru akan diambil. Jika atribut hanya dibatalkan validasinya, tetapi konten tetap valid, yang berarti pembuatan objek tidak berubah, konten hanya ditayangkan dari cache setelah panggilan atribut mengonfirmasi validitasnya. Kedua operasi tersebut menimbulkan latensi jaringan.Pembatalan validasi cache file: saat klien Cloud Storage FUSE mengubah file yang di-cache atau atributnya, entri cache klien tersebut akan segera dibatalkan validasinya untuk menjaga konsistensi. Namun, klien lain yang mengakses file yang sama akan terus membaca versi yang di-cache hingga setelan TTL masing-masing menyebabkan invalidasi.
Ukuran file dan kapasitas yang tersedia: file yang sedang dibaca harus sesuai dengan kapasitas yang tersedia di direktori cache file yang dapat dikontrol menggunakan opsi
--file-cache-max-size-mb
atau kolomfile-cache:max-size-mb
.Pengusiran cache: pengusiran 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 masa berlakunya berdasarkan TTL-nya, panggilan metadataGET
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 yang lain.Persistensi cache: Cache Cloud Storage FUSE tidak dipertahankan saat pelepasan dan dimulai ulang. Untuk caching 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.
Pengelolaan pembacaan acak dan sebagian: saat 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 parsial berikutnya dari objek yang sama disalurkan langsung dari cache.Secara default, membaca dari offset lain tidak akan memicu pengambilan file lengkap asinkron. Untuk mengubah perilaku ini sehingga Cloud Storage FUSE menyerap file ke cache saat pembacaan acak awal, tetapkan opsi
--file-cache-cache-file-for-range-read
atau kolomfile-cache:cache-file-for-range-read
ketrue
.Sebaiknya aktifkan properti ini jika banyak operasi baca acak atau parsial yang berbeda dilakukan pada objek yang sama.
Keamanan data: saat Anda mengaktifkan caching, Cloud Storage FUSE menggunakan direktori cache yang Anda tentukan menggunakan opsi
--cache-dir
atau kolomcache-dir
sebagai direktori pokok agar cache tetap menyimpan 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 proses Cloud Storage FUSE yang berbeda.
Menjalankan beberapa proses Cloud Storage FUSE di mesin yang sama: 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:
Untuk Google Cloud Hyperdisk, lihat Membuat volume Google Cloud Hyperdisk baru.
Untuk Persistent Disk, lihat Membuat volume Persistent Disk baru.
Untuk SSD Lokal, lihat Menambahkan SSD Lokal ke VM.
Untuk disk RAM dalam memori, lihat Membuat disk RAM dalam memori.
Mengaktifkan dan mengonfigurasi perilaku caching file
Pilih metode yang ingin Anda gunakan untuk mengaktifkan dan mengonfigurasi penayangan file menggunakan salah satu metode berikut:
Berikan sebagai nilai untuk opsi
gcsfuse
Tentukan di file konfigurasi Cloud Storage FUSE
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:
- Opsi
gcsfuse
:--cache-dir
- Kolom file konfigurasi:
cache-dir
Jika Anda menggunakan deployment Google Kubernetes Engine yang menggunakan driver CSI Cloud Storage FUSE untuk Google Kubernetes Engine, tentukan salah satu metode berikut:
- Opsi
gcsfuse
:--file-cache-max-size-mb
- Kolom file konfigurasi:
file-cache:max-size-mb
- Opsi
Opsional: aktifkan download paralel dengan menyetel salah satu metode berikut ke
true
jika download paralel tidak diaktifkan secara otomatis:- Opsi
gcsfuse
:--file-cache-enable-parallel-downloads
- Kolom file konfigurasi:
file-cache:enable-parallel-downloads
- Opsi
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:- Opsi
gcsfuse
:--file-cache-max-size-mb
- Kolom file konfigurasi:
file-cache:max-size-mb
Anda juga dapat menentukan nilai dalam MiB atau GiB untuk membatasi ukuran cache.
- Opsi
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
:- Opsi
gcsfuse
:--metadata-cache-ttl-secs
- Kolom file konfigurasi:
metadata-cache:ttl-secs
Defaultnya adalah 60 detik, dan nilai
-1
akan menyetelnya ke tidak terbatas. Anda juga dapat menentukan nilai tinggi berdasarkan persyaratan Anda. Sebaiknya tetapkan nilaittl-secs
setinggi yang memungkinkan beban kerja Anda. Untuk mengetahui informasi selengkapnya tentang TTL untuk entri yang di-cache, lihat Pertimbangan.- Opsi
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 ketrue
:- Opsi
gcsfuse
:--file-cache-cache-file-for-range-read
- Kolom file konfigurasi:
file-cache:cache-file-for-range-read
- Opsi
Opsional: konfigurasikan statistik caching dan jenis caching. Untuk mempelajari lebih lanjut cache stat dan jenis, lihat Ringkasan jenis caching atau Ringkasan stat caching.
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, lihat Meningkatkan pembacaan pertama.
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 gcsfuse |
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
:
gcsfuse
opsi:--file-cache-enable-parallel-downloads
- Kolom file konfigurasi:
file-cache:enable-parallel-downloads
Langkah berikutnya
Tinjau pertimbangan untuk penyimpanan dalam cache di Cloud Storage FUSE.
Pelajari cara meningkatkan performa Cloud Storage FUSE.