Reiser5 mengumumkan sokongan untuk Burst Buffers (Peningkatan Data)

Eduard Shishkin diumumkan peluang baharu dibangunkan dalam rangka kerja projek Reiser5. Reiser5 adalah a versi sistem fail ReiserFS yang direka bentuk semula dengan ketara, di mana sokongan untuk volum logik berskala selari dilaksanakan pada peringkat sistem fail, bukannya tahap peranti blok, membolehkan anda mengedarkan data dengan cekap merentas volum logik.

Antara inovasi yang dibangunkan baru-baru ini, penyediaan
peluang untuk pengguna menambah prestasi tinggi kecil
peranti blok (cth NVRAM) dipanggil cakera proksiUntuk
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:

  • pertama, fail baharu dicipta yang mengandungi data yang diubah;
  • fail baharu ini kemudiannya ditulis ke cakera menggunakan fsync(2);
  • selepas itu fail baru dinamakan semula kepada yang lama, iaitu secara automatik
    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, diumumkan pada awal tahun. Itu dia,
    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

  • Tambah komen