Eduard Shishkin
Antara inovasi yang dibangunkan baru-baru ini, penyediaan
peluang untuk pengguna menambah prestasi tinggi kecil
peranti blok (cth NVRAM) dipanggil
isipadu logik yang agak besar terdiri daripada perlahan
pemacu bajet. Ini akan mewujudkan tanggapan bahawa semua
volumnya terdiri daripada prestasi tinggi mahal yang sama
peranti, seperti "cakera proksi".
Kaedah yang dilaksanakan adalah berdasarkan pemerhatian mudah bahawa dalam praktiknya cakera tidak ditulis secara berterusan, dan lengkung beban I/O mempunyai bentuk puncak. Dalam selang antara "puncak" sedemikian, adalah sentiasa mungkin untuk menetapkan semula data dari cakera proksi, menulis semula semua data (atau sebahagian sahaja) di latar belakang ke storan utama, "perlahan". Oleh itu, cakera proksi sentiasa bersedia untuk menerima bahagian data baharu.
Teknik ini (dikenali sebagai Burst Buffers) pada asalnya berasal dari
bidang pengkomputeran prestasi tinggi (HPC). Tetapi ia juga ternyata menjadi permintaan untuk aplikasi biasa, terutamanya bagi mereka yang meningkatkan permintaan terhadap integriti data (biasanya pelbagai jenis pangkalan data). Aplikasi sedemikian melakukan sebarang perubahan dalam mana-mana fail dengan cara atom, iaitu:
Membebaskan blok yang diduduki oleh data lama.
Semua langkah ini, pada satu tahap atau yang lain, menyebabkan ketara
kemerosotan prestasi pada mana-mana sistem fail. Situasi
bertambah baik jika fail baharu pertama kali ditulis kepada yang diperuntukkan
peranti berprestasi tinggi, yang sebenarnya berlaku dalam
sistem fail dengan sokongan Burst Buffers.
Dalam Reiser5 ia dirancang untuk menghantar secara pilihan bukan sahaja
blok logik baharu fail, tetapi juga semua halaman kotor secara umum. Lebih-lebih lagi,
bukan sahaja halaman dengan data, tetapi juga dengan data meta yang
ditulis dalam langkah (2) dan (3).
Sokongan untuk cakera proksi dijalankan dalam konteks kerja biasa dengan
Jilid logik Reiser5,
sistem agregat "cakera proksi - storan utama" adalah normal
volum logik dengan satu-satunya perbezaan ialah cakera proksi mempunyai keutamaan
antara komponen volum lain dalam dasar peruntukan alamat cakera.
Menambah cakera proksi pada volum logik tidak disertakan dengan sebarang
pengimbangan semula data, dan penyingkirannya berlaku dengan cara yang sama seperti
mengeluarkan cakera biasa. Semua operasi cakera proksi adalah atom.
Pengendalian ralat dan penggunaan sistem (termasuk selepas ranap sistem) berlaku dengan cara yang sama seperti cakera proksi ialah komponen biasa
isipadu logik.
Selepas menambah cakera proksi, jumlah kapasiti volum logik
bertambah dengan kapasiti cakera ini. Pemantauan ruang percuma
cakera proksi dilakukan dengan cara yang sama seperti komponen volum lain, i.e. menggunakan utiliti volum.reiser4(8).
Cakera proksi mesti dibersihkan secara berkala, i.e. set semula data daripada
ia ke storan utama. Selepas mencapai kestabilan beta Reiser5
pembersihan dirancang secara automatik (ia akan diuruskan oleh
benang kernel khas). Pada peringkat ini, tanggungjawab untuk pembersihan
terletak pada pengguna. Menetapkan semula data daripada cakera proksi kepada yang utama
storan dihasilkan dengan hanya memanggil utiliti volume.reiser4 dengan pilihan
"-b". Sebagai hujah, anda perlu menentukan titik lekapan logik
jilid Sudah tentu, anda mesti ingat untuk menjalankan pembersihan secara berkala. Untuk
Anda boleh menulis skrip shell mudah untuk melakukan ini.
Jika tiada ruang kosong pada cakera proksi, semua data
ditulis secara automatik ke storan utama. Pada masa yang sama, secara lalai
prestasi keseluruhan FS dikurangkan (disebabkan oleh panggilan berterusan
prosedur untuk melakukan semua transaksi sedia ada). Secara pilihan anda boleh menetapkan
mod tanpa kehilangan prestasi. Walau bagaimanapun, dalam kes ini cakera
Ruang peranti proksi akan digunakan dengan kurang cekap.
Adalah mudah untuk menggunakan subseksyen metadata (bata) sebagai cakera proksi, dengan syarat ia dicipta pada peranti blok berprestasi tinggi yang cukup.
Sumber: opennet.ru