CCoW: Mengoptimumkan Copy-on-Write Memandangkan Lokasi Spatial dalam Beban Kerja Bahagian 1

Apr 02, 2024

Abstrak:

Copy-on-write (CoW) ialah teknik pengurusan memori penting yang membolehkan perkongsian halaman yang cekap antara proses. Khususnya, gabungan CoW dengan panggilan sistem fork, aplikasi, walaupun dengan jejak memori yang besar, boleh mengambil gambar data dalam memori semasa pada overhed rendah.

Data ingatan merujuk kepada data yang disimpan dalam ingatan komputer. Walaupun ia berbeza dengan ingatan manusia, terdapat kaitan tertentu antara keduanya.

Pertama, data ingatan boleh menggalakkan perkembangan ingatan manusia. Sebagai contoh, kita boleh menggunakan fungsi rakaman, penyimpanan dan pengambilan semula komputer untuk membantu kita mempelajari, mengingat dan memahami pengetahuan. Teknologi moden memberikan kita cara yang lebih cekap untuk mengingat dan belajar, yang memastikan kita dapat menguasai pengetahuan dan kemahiran dengan lebih baik.

Kedua, data memori juga boleh membantu orang ramai mengurus ingatan mereka dengan lebih baik. Dengan menyusun dan mengelaskan data dengan kemas, kita dapat mencari dan mengingat kembali maklumat yang kita perlukan dengan lebih cepat, yang sangat penting untuk kehidupan, pekerjaan dan pembelajaran kita.

Paling penting, data dalam memori menghalang kehilangan ingatan manusia. Ingatan manusia secara beransur-ansur melemah dari semasa ke semasa, satu proses yang dipanggil "melupakan." Walau bagaimanapun, dengan menyimpan data pada cakera keras komputer, kami boleh memastikan maklumat dan ingatan yang kami perlukan dapat dikekalkan dan diambil pada bila-bila masa.

Oleh itu, hubungan antara data ingatan dan ingatan manusia boleh dikatakan positif. Walaupun kita tidak seharusnya terlalu bergantung pada teknologi, penggunaan data memori yang munasabah boleh meningkatkan kecekapan kerja dan hasil pembelajaran kita, membantu kita mengurus memori dengan lebih baik dan mengelakkan lupa. Ia dapat dilihat bahawa kita perlu meningkatkan daya ingatan, dan Cistanche deserticola boleh meningkatkan daya ingatan dengan ketara kerana Cistanche deserticola adalah bahan perubatan tradisional Cina yang mempunyai banyak kesan unik, salah satunya adalah untuk meningkatkan daya ingatan. Keberkesanan Cistanche deserticola berasal daripada pelbagai bahan aktif yang terkandung di dalamnya, termasuk asid tannic, polisakarida, glikosida flavonoid, dll. Bahan-bahan ini boleh menggalakkan kesihatan otak melalui pelbagai laluan.

improve memory

Klik tahu 10 cara untuk meningkatkan ingatan

Walau bagaimanapun, memandangkan CoW berlaku setiap halaman dalam pengendali kesalahan halaman, setiap kali kesalahan halaman berlaku, sistem pengendalian harus terlibat. Ini membawa kepada kemerosotan prestasi yang ketara untuk beban kerja intensif tulis.

Kertas kerja ini mencadangkan salin-tulis (CCoW) berasaskan liputan, skim CoW yang dioptimumkan dengan mengambil kira lokaliti dalam akses memori untuk mengurangkan masalah CoW. CCoW mengukur lokaliti spatial dalam ruang alamat proses dengan konsep liputan.

Semasa memproses CoW, CCoW menyalin berbilang halaman terlebih dahulu untuk kawasan ingatan berketempatan tinggi, dengan itu meminimumkan penglibatan OS untuk beban kerja intensif tulis. Kami menerangkan cabaran untuk mengukur lokaliti dan menyediakan pengoptimuman untuk melaksanakan konsep tersebut.

Penilaian dengan prototaip menunjukkan bahawa pendekatan ini boleh meningkatkan prestasi keseluruhan aplikasi sehingga 10% dengan jumlah overhed memori yang kecil.

Kata kunci: copy-on-write; sistem ingatan maya; garpu; Redis; kesalahan halaman.

1. Pengenalan

Peranan utama sistem pengendalian (OS) adalah untuk mengurus sumber sistem yang berharga, dan copy-on-write (CoW) ialah salah satu teknik pengurusan memori paling asas yang diguna pakai oleh kebanyakan sistem pengendalian kontemporari.

Apabila dua atau lebih proses perlu mempunyai data yang sama, skim CoW membenarkan proses berkongsi halaman yang sama dan bukannya menduplikasi halaman dengan serta-merta. Halaman kongsi adalah pendua atas permintaan, hanya apabila salah satu proses menulis ke halaman kongsi.

Sistem ingatan maya secara berkesan boleh menyediakan perkongsian data antara proses, dan pelbagai ciri memori maya, seperti pendua ruang alamat semasa proses garpu, penyahduplikasian halaman yang sama, dan perkongsian halaman sifar, dilaksanakan berdasarkan salinan-atas-tulis [1–3]. Disebabkan ciri-ciri ini, aplikasi boleh membuat salinan diri mereka sendiri dengan spaceoverhead yang rendah, dan menggunakan klon dengan sewajarnya.

Sebagai contoh, Redis, salah satu sistem stor nilai kunci-memori yang popular [4], menggunakan salin atas-tulis bersama-sama dengan sistem garpu untuk memanggil data dalam memori yang berterusan ke storan. Semasa menyampaikan permintaan masuk, proses utama Redis secara berkala menghasilkan proses anak dengan garpu. Proses anak bermula dengan syot kilat memori yang sama dengan proses utama untuk menyimpan data dalam ingatan dalam storan.

short term memory how to improve

Memandangkan syot kilat diasingkan daripada ruang alamat proses utama tetapi diuruskan oleh salin atas tulisan, proses utama dan anak tidak memerlukan sebarang mekanisme rumit untuk mengekalkan konsistensi antara data semasa dan syot kilat.

Oleh itu, kita boleh menganggap bahawa salin atas tulis adalah penting dalam sistem ingatan maya. Walau bagaimanapun, salin atas tulis semasa bermasalah dalam aplikasi intensif memori dengan beban kerja intensif tulis. Khususnya, pertindihan data biasanya berlaku dalam pengendali pagefault dalam OS. Memandangkan pertindihan data diproses setiap halaman, dengan beberapa penulisan, proses itu boleh menyebabkan banyak kesalahan halaman.

OS terlibat dalam setiap kesalahan halaman, menyebabkan suis mod kernel pengguna kerap. Memandangkan jejak memori yang besar bagi aplikasi intensif memori, bilangan suis mod adalah besar.

Selain itu, jadual halaman diubah suai semasa penduaan, yang membawa kepada penembakan penampan ketepikan terjemahan (TLB) semua teras dalam sistem. Semua ini menanggung overhed yang tidak boleh diabaikan dan merosot prestasi aplikasi.

Makalah ini mencadangkan salinan-atas-tulis (CCoW) berasaskan liputan, skim pengoptimuman salin atas-tulis yang baru. Apabila halaman diakses untuk menulis, halaman berdekatannya juga berkemungkinan akan diakses tidak lama lagi untuk menulis kerana lokaliti spatial dalam akses memori. CCoW mengeksploitasi lokaliti spatial untuk mengurangkan bilangan ralat halaman untuk salinan-atas-tulis. Khususnya, CCoW memproses salinan atas tulis dalam butiran yang besar (dipanggil rantau).

Dengan menyalin berbilang halaman dalam pengendali kesalahan halaman, CCoW boleh mengurangkan sejumlah besar kesalahan halaman untuk salinan atas penulisan dan overhed yang disertakan. Walau bagaimanapun, tahap lokaliti ruang berbeza-beza bergantung pada lokasi dalam ruang alamat proses, dan penduaan bahagian ingatan berkelokalan rendah hanya memerlukan overhed dari segi masa dan ruang.

Untuk mengatasi kelemahan ini, kami mencadangkan mekanisme overhed rendah yang tepat untuk menilai lokaliti spatial dalam ruang alamat proses. CCoW mengira bilangan copy-on-write dan menulis di setiap rantau.

Dengan membawa maklumat lokaliti di atas garpu, kami boleh menganggarkan tahap lokaliti spatial, dan CCoW melaksanakan prasalinan secara berkesan untuk kawasan berkelokalan tinggi. Kami melaksanakan skim CCoW yang dicadangkan dalam kernel Linux.

Sebagai disepadukan ke dalam sistem memori maya sistem pengendalian, aplikasi boleh mendapat manfaat daripada CCoW tanpa pengubahsuaian. Kami menganalisis ciri prestasi dengan penanda aras mikro, dan penilaian menggunakan penanda aras dengan beban kerja yang realistik menunjukkan bahawa CCoW boleh meningkatkan prestasi aplikasi sehingga 10% dengan jumlah overhed memori yang munasabah.

ways to improve memory

Selebihnya kertas kerja ini disusun seperti berikut. Dalam Bahagian 2, kami meninjau latar belakang dan kerja berkaitan kertas itu, termasuk memori maya dan garpu. Kami menerangkan butiran reka bentuk CCoW dan pelaksanaannya dalam Bahagian 3. Bahagian 4 membentangkan keputusan penilaian CCoW. Akhirnya, kami menyimpulkan kertas ini dalam Bahagian 5.

2. Latar Belakang dan Kerja Berkaitan

2.1. Paging dan Memori Maya

Hampir semua komputer moden dan sistem pengendalian menggunakan paging dan memori maya sebagai skim pengurusan memori utama mereka [5]. Memori utama dibahagikan kepada halaman bersaiz sama, dan OS memperuntukkan atau mengagihkan memori daripada proses pengguna dalam unit halaman.

OS juga mengekalkan pemetaan ruang alamat proses ke lokasi fizikal pada sistem. Setiap halaman logik dalam ruang alamat proses dipetakan ke lokasi fizikalnya, dan pemetaan ini disimpan dalam bentuk jadual halaman.

Untuk mengendalikan rujukan memori untuk proses, unit pengurusan memori (MMU), komponen perkakasan dalam pemproses, menterjemah alamat yang diminta kepada alamat fizikalnya dengan merujuk kepada jadual halaman. Jadual halaman terdiri daripada entri jadual halaman (PTE). Setiap PTE mengandungi maklumat pemetaan dan mungkin mempunyai medan tambahan untuk menerangkan status halaman dan pemetaan yang sepadan.

Saiz halaman, walaupun khusus seni bina, biasanya 4 KB dalam kebanyakan seni bina. Ini menunjukkan bahawa setiap 4 KB dalam ruang alamat proses harus mempunyai satu PTE. Memandangkan saiz ruang alamat proses yang besar, saiz jadual halaman, walaupun untuk satu proses, boleh menjadi sangat besar.

Sebagai contoh, jadual halaman untuk proses dalam 64-seni bina bit dengan halaman 4 KB dan 8-bait PTE akan bersaiz 32 PB (264/212 × 8=255 bait). Walau bagaimanapun, ruang alamat biasanya berpenduduk jarang, dan kebanyakan ruang alamat tidak diperlukan.

Ini mencerahkan organisasi hierarki jadual halaman. Seluruh jadual halaman dibahagikan kepada kepingan jadual halaman yang sesuai pada halaman. Kepingan jadual halaman tidak diperuntukkan kepada kawasan alamat yang tidak diperuntukkan.

memory enhancement

Potongan meja halaman yang diisi boleh diringkaskan sebagai kepingan meja halaman peringkat lebih tinggi. Arahan ini diulang sehingga hanya kepingan pada satu halaman wujud, dengan itu membenarkan bentuk jadual halaman yang padat.


For more information:1950477648nn@gmail.com

Anda mungkin juga berminat