Topik ini memberikan panduan komprehensif untuk mengoptimalkan performa baca ossfs dengan menyesuaikan parameter dalam skenario hanya-baca.
Berikut ini berlaku untuk ossfs versi 1.91.3 dan yang lebih baru. Untuk informasi lebih lanjut tentang cara mengunduh dan menginstal versi terbaru ossfs, lihat Instal ossfs.
Mode
ossfs menyediakan tiga kebijakan mode yang dirancang untuk berbagai skenario.
Mode default
Mode default cocok untuk operasi baca acak pada file kecil (file yang dapat disimpan sepenuhnya di dalam page cache) dan file besar. Sebagai contoh, jika proyek pelatihan AI Anda memiliki performa buruk dalam membaca gambar dalam mode baca langsung meskipun Anda menambahkan beberapa operasi baca acak, kami merekomendasikan agar Anda beralih ke mode baca default.
Ketika ossfs membaca sebuah file, kernel menyimpan salinan file dari titik pemasangan ke memori dan menulis data tersebut ke file di disk lokal. Akibatnya, ukuran cache yang dikonsumsi oleh operasi baca adalah dua kali lipat dari ukuran file.
Jika page cache di sistem operasi Anda dapat menyimpan hingga 6 GB data dalam halaman kotor, mode baca default secara teoritis cocok untuk membaca file berukuran kurang dari 3 GB.
Anda dapat menggunakan parameter
parallel_countuntuk menyesuaikan jumlah tugas unduhan bersamaan dan parametermultipart_sizeuntuk menentukan jumlah data yang dapat diunduh dalam satu tugas tunggal.
Mode baca langsung
Mode baca langsung cocok untuk skenario yang melibatkan pembacaan berurutan file besar dan memungkinkan tingkat akses baca acak yang terbatas (seperti pembacaan yang melewati beberapa chunk). Sebagai contoh, dalam skenario inferensi AI, Anda dapat menggunakan mode baca langsung untuk memuat file Safetensors besar.
Untuk mengaktifkan mode baca langsung, atur parameter
-odirect_readmenjadi enabled.Dalam mode baca langsung, ossfs menyimpan data dalam rentang
[-direct_read_backward_chunks * direct_read_chunk_size, +direct_read_prefetch_chunks * direct_read_chunk_size], di manadirect_read_chunk_sizemenentukan chunk sebesar 4 MB secara default,direct_read_prefetch_chunksbernilai default 32, dandirect_read_backward_chunksbernilai default 1. Secara default, ossfs menyimpan data dalam rentang[-4 MB, +128 MB]. Mode baca langsung juga mendukung pembacaan acak yang dibatasi pada rentang kecil. Sebagai contoh, jika dua pembacaan berturut-turut dari file Safetensors berada dalam rentang[-32 MB, +32 MB], Anda dapat mengatur-odirect_read_backward_chunks=8untuk menyimpan 32 MB data sebelum offset saat ini.Anda dapat menyesuaikan parameter
direct_read_prefetch_chunksdandirect_read_chunk_sizeuntuk meningkatkan jumlah data yang dapat diambil secara paralel demi memaksimalkan penggunaan bandwidth.
Mode baca hibrid
Mode baca hibrid cocok untuk operasi baca saja pada kombinasi file kecil (file yang dapat disimpan sepenuhnya di dalam page cache) dan file besar serta memungkinkan tingkat akses baca acak yang terbatas, seperti pembacaan yang melewati beberapa chunk. Sebagai contoh, Anda dapat menggunakan mode baca hibrid dalam skenario inferensi AI untuk memuat file Safetensors besar. Jika pembacaan acak mencakup rentang offset yang luas, mode baca hibrid memberikan performa baca yang lebih rendah dibandingkan mode baca default.
Untuk mengaktifkan mode baca hibrid, atur parameter
-odirect_readmenjadi enabled.Anda harus mengonfigurasi parameter
direct_read_local_file_cache_size_mbuntuk menentukan ambang batas ukuran data di mana mode baca langsung digunakan. Sebagai contoh, jika mesin Anda menawarkan hingga 6 GB page cache, Anda dapat mengatur-odirect_read_local_file_cache_size_mb=3072untuk beralih ke mode baca langsung ketika data yang diunduh mencapai 3 GB.Dalam mode baca hibrid, ossfs menyimpan data dalam rentang
[-direct_read_backward_chunks * direct_read_chunk_size, +direct_read_prefetch_chunks * direct_read_chunk_size], di manadirect_read_chunk_sizemenentukan chunk sebesar 4 MB secara default,direct_read_prefetch_chunkbernilai default 32, dandirect_read_backward_chunksbernilai default 1. Secara default, ossfs menyimpan data dalam rentang[-4 MB, +128 MB]. Pembacaan acak yang dibatasi pada rentang kecil didukung. Sebagai contoh, jika dua pembacaan berturut-turut dari file Safetensors berada dalam rentang[-32 MB, +32 MB], Anda dapat mengatur-odirect_read_backward_chunks=8untuk menyimpan 32 MB data sebelum offset saat ini.Anda dapat menyesuaikan parameter
direct_read_prefetch_chunksdandirect_read_chunk_sizeuntuk meningkatkan jumlah data yang dapat diambil secara paralel demi memaksimalkan penggunaan bandwidth.
Rekomendasi
Jika ossfs membaca sebuah file dan menulis file tersebut pada saat yang sama, gunakan mode baca default.
Jika ossfs hanya membaca sebuah file, atau membaca sebuah file dan menulis file lain:
Target
Deskripsi
Hanya file kecil
Gunakan mode baca default.
Hanya file besar
Untuk membaca berurutan file besar atau membaca acak file Safetensors tertentu yang memiliki offset baca yang mencakup rentang sempit, gunakan mode baca langsung.
Untuk melakukan operasi baca acak yang mencakup rentang offset luas, gunakan mode baca default.
Jika Anda tidak yakin mode baca yang tepat untuk skenario bisnis Anda atau performa tetap tidak memuaskan setelah Anda menyesuaikan parameter direct_read_backward_chunks dalam mode baca langsung, gunakan mode baca default.
File kecil dan file besar
Untuk membaca berurutan file besar atau membaca acak file Safetensors tertentu yang memiliki offset baca yang mencakup rentang sempit, gunakan mode baca hibrid.
Jika Anda perlu melakukan pembacaan acak dengan offset yang mencakup rentang luas, tidak yakin mode baca yang tepat, atau masih mengalami performa yang tidak memuaskan setelah menyesuaikan parameter direct_read_backward_chunks dalam mode baca hibrid, gunakan mode baca default.
CatatanKetika mode baca langsung atau mode baca hibrid memberikan performa yang tidak memuaskan, beralihlah ke mode default untuk menyimpan data ke disk lokal. Dalam mode baca default, performa disk merupakan kendala utama performa baca ossfs. Kami merekomendasikan Anda menggunakan disk dengan tingkat performa yang lebih tinggi. Sebagai contoh, Anda dapat menggunakan disk ESSD AutoPL dengan pengaturan performa provisioned dan burst yang sesuai.