CCoW: Mengoptimumkan Copy-on-Write Memandangkan Lokasi Spatial dalam Beban Kerja Bahagian 6
Apr 03, 2024
Saiz wilayah terbaik dan ambang berbeza mengikut ciri beban kerja. Untuk menilai pengaruh beban kerja, kami mengukur prestasi CCoW pada beban kerja dengan pelbagai lokaliti. Khususnya, kami menukar parameter Zipfdistribution, yang menentukan tahap lokaliti.
Terdapat hubungan rapat antara ingatan manusia dan beban kerja. Apabila kita perlu memproses sejumlah besar maklumat atau menyelesaikan tugas yang kompleks, otak kita mesti sentiasa berwaspada untuk memastikan semua maklumat yang diperlukan diproses dan disimpan dengan betul. Neuron dalam otak sentiasa berhubung dan berkomunikasi, yang sangat mempengaruhi cara kita berfikir dan mengingati.
Walaupun memproses sejumlah besar maklumat dan menyelesaikan tugas yang kompleks boleh mencabar ingatan dan kebolehan kognitif kita, penyelidikan menunjukkan bahawa dengan latihan dan amalan yang betul, kita boleh meningkatkan ingatan dan produktiviti kita dengan ketara. Sebagai contoh, melalui eksperimen, saintis telah mendapati bahawa melalui latihan dan amalan ingatan yang meluas, orang ramai boleh meningkatkan daya ingatan dan kecekapan kerja mereka dengan ketara.
Dari perspektif ini, kita boleh membuat kesimpulan bahawa latihan dan latihan berterusan adalah sangat penting bagi mereka yang ingin meningkatkan daya ingatan dan kecekapan kerja mereka. Juga, kekalkan sikap positif, kerana tekanan boleh menghalang ingatan dan produktiviti seseorang.
Secara ringkasnya, terdapat perkaitan yang kuat antara beban kerja dan ingatan. Selagi kita kekal fokus, berlatih dan berlatih dengan kerap, dan mengekalkan sikap positif, kita boleh meningkatkan daya ingatan dan kecekapan kerja kita dengan ketara. Cistanche deserticola juga boleh mengawal keseimbangan neurotransmitter, seperti meningkatkan tahap asetilkolin dan faktor pertumbuhan, yang penting untuk ingatan dan pembelajaran. Selain itu, Cistanche deserticola juga boleh meningkatkan aliran darah dan menggalakkan penghantaran oksigen, yang dapat memastikan otak menerima nutrien dan tenaga yang mencukupi, seterusnya meningkatkan daya hidup dan daya tahan otak.

Klik tahu cara untuk meningkatkan ingatan anda
Akses diedarkan secara seragam apabila {{0}}, dan semakin tinggi nilai , semakin tinggi tahap lokaliti yang ditunjukkan oleh beban kerja. Apabila 1.0, kira-kira 80% daripada operasi melibatkan 20% daripada data.
Tahap lokaliti ini biasanya ditemui dalam beberapa beban kerja sebenar, seperti yang dinyatakan oleh prinsip Pareto. Kami mengukur dengan tiga nilai yang berbeza, 1.0, 0.9 dan 1.1, dengan 1.0 ialah garis dasar dan 0.9 dan 1.1 mewakili beban kerja setempat rendah dan tinggi, masing-masing.
Prestasi CoW asal berbeza-beza mengikut beban kerja, jadi tempoh garpu untuk beban kerja ditetapkan mengikut masa yang diukur dengan persediaan CoW asal. Sebagai contoh, jika konfigurasi CoW asal memerlukan 10 saat untuk memulihkan prestasi normal selepas berlaku, konfigurasi CCoW yang lain turut menghentikan proses anak setiap 10 saat.
Rajah 5 meringkaskan purata penggunaan dan penggunaan memori CCoW dengan beban kerja lokaliti yang berbeza. Untuk beban kerja setempat yang rendah, konfigurasi dengan ambang smallCCoW mempamerkan prestasi yang lebih baik daripada yang mempunyai ambang yang besar. 'CCoW-semua' malah mengatasi prestasi CoW asal sebanyak 15% dalam beban kerja setempat yang rendah. Ini disebabkan oleh keberkesanan prasalinan. Dalam beban kerja setempat yang rendah, sebahagian besar memori harus direplikasi kerana akses tersebar ke seluruh ruang alamat proses. Sebenarnya, menyalin seluruh kawasan menghasilkan penyalinan memori yang diperlukan terlebih dahulu dengan lowoverhead.

Oleh itu, lebih kecil ambang, lebih tinggi prestasi program dengan beban kerja setempat yang rendah. Walau bagaimanapun, aliran ini mempunyai kesan sebaliknya dengan beban kerja setempat yang tinggi. Dengan beban kerja setempat yang tinggi, banyak akses tertumpu pada beberapa halaman.
Ini menunjukkan bahawa hanya sebahagian kecil memori perlu direplikasi sepanjang salinan-tulis. Menyalin seluruh rantau pada kesalahan halaman cenderung untuk menyalin halaman yang tidak dapat diakses sama sekali.
Ini hanya memerlukan overhed sementara, menjejaskan prestasi dengan beban kerja setempat yang lebih tinggi. Akibatnya, CCoW-semua mempamerkan prestasi terburuk dengan beban kerja setempat yang tinggi. Konfigurasi lain menunjukkan corak beban kerja garis dasar yang serupa; prestasi memuncak pada nilai ambang 80% dan menurun dengan ambang yang lebih kecil.

Penggunaan memori penanda aras menunjukkan arah aliran yang konsisten tanpa mengira tahap lokaliti beban kerja. 'CCoW-all' sentiasa mewakili penggunaan memori tertinggi kerana ia sentiasa menyalin semua halaman dalam ingatan selepas satu garpu. Selain itu, jejak memori adalah berkadar songsang dengan nilai ambang; lebih kecil nilai ambang, lebih banyak memori yang digunakan oleh penanda aras.
Penguatan memori hanya ditingkatkan sehingga 10% berbanding konfigurasi CoW asal, yang dianggap berada dalam julat bersesuaian kawasan. Selain menganalisis prestasi CCoW, kami membandingkan prestasi CCoW dengan transparent large page (THP) skema Linux.
THP agak serupa dengan CCoW kerana ia bertujuan untuk mengurangkan overhed yang berasal dari halaman kecil.'CoW-THP' dalam Rajah 5 mewakili prestasi konfigurasi yang didayakan THP. Ambil perhatian bahawa sistem yang didayakan THP mengendalikan CoW dengan membahagikan halaman besar kepada halaman asas sebelum menyalin halaman yang rosak, dan begitu juga dengan skim lain yang mengoptimumkan THP [12–15,17].
Kita boleh perhatikan bahawa THP mempamerkan prestasi yang lebih baik daripada konfigurasi lalai 'CoW-only'. Kami mengaitkan peningkatan prestasi kepada peningkatan kecekapan dalam terjemahan alamat dengan halaman yang besar.
Khususnya, mengikut skema THP, bahagian hangat ruang alamat proses mungkin akan dipecahkan kepada halaman asas, dengan itu memberikan prestasi yang sama seperti konfigurasi 'CoW-sahaja'. Walau bagaimanapun, bahagian sejuk ruang alamat proses tidak berpecah, dan dikekalkan dengan halaman yang besar. Oleh itu, ini boleh meningkatkan prestasi aplikasi sedikit sebanyak.
Walau bagaimanapun, THP tidak memberikan peningkatan prestasi sebanyak CCoW. Rajah 6 menunjukkan taburan kumulatif daya pemprosesan semasa penilaian. Paksi-x mewakili daya pemprosesan dalam operasi sesaat, dan paksi-y mewakili nisbah kumulatif prestasi kepada nilai throughput. Kecuali untuk CCoW-all, kita boleh menemui tiga julat daya pemprosesan yang kerap diperhatikan tanpa mengira konfigurasi.
Kumpulan pertama dalam nisbah terkumpul {{0}} kepada 0.1 menunjukkan tempoh di mana prestasi penanda aras menurun sejurus selepas garpu. Kemudian prestasi pulih lebih masa, seperti dalam kumpulan kedua dengan nisbah terkumpul 0.1 hingga 0.7.
Nisbah terkumpul yang selebihnya dalam julat {{0}}.7 hingga 1.0 adalah daripada akses yang tidak mengalami kerosakan halaman. Secara keseluruhan, konfigurasi CCoW cenderung mengalami penurunan prestasi yang lebih teruk daripada CoW asal. Khususnya, dengan beban kerja berketempatan tinggi bagi skim CoW asal, daya pengeluaran menurun kepada kira-kira 1900 K operasi sesaat sejurus selepas garpu.

Ia kemudian perlahan-lahan meningkat sehingga 2500 K operasi sesaat. Dengan CCoW, prestasi menurun lebih banyak, kepada julat 1700 K operasi sesaat. Walau bagaimanapun, prestasi pulih lebih cepat, menunjukkan prestasi yang lebih baik daripada CoW asal pada kebanyakan masa (iaitu, kebanyakannya di sebelah kanan graf terkumpul). Kita boleh melihat aliran yang sama daripada beban kerja lain juga, dan konfigurasi CCoW-semua menunjukkan tingkah laku melampau; sejurus selepas garpu prestasi menurun dengan ketara dan kekal rendah manakala kebanyakan ruang alamat disalin dengan akses hamparan.
Selepas itu, bagaimanapun, hanya beberapa kesalahan halaman berlaku, jadi kebanyakan akses diproses tanpa kerosakan halaman. Oleh itu, throughput mempunyai taburan bimodal dalam CCoW. Daripada penilaian ini, kami mengesahkan bahawa CCoW memberikan prestasi optimum dengan mengoptimumkan kes biasa.
Walau bagaimanapun, penurunan prestasi perlu ditangani untuk mendapatkan ciri prestasi yang lebih baik. Untuk tujuan ini, kami sedang berusaha untuk mengecilkan jumlah data yang disalin sejurus selepas garpu.

4.2. Prestasi CCoW pada Beban Kerja Realistik
Untuk menilai CCoW yang dicadangkan pada beban kerja yang realistik, kami menggunakan Redis dan YCSB. Redis ialah pangkalan data nilai kunci dalam memori yang digunakan secara meluas untuk mempercepatkan aplikasi skala Internet.
Kami menggunakan Penanda Aras YCSB untuk mengisi pasangan nilai kunci dalam contoh Redis dan untuk melaksanakan operasi pada pasangan tersebut. Khususnya, tika Redis dimulakan dengan 10 GB pasangan nilai kunci dengan konfigurasi YCSB lalai.
Semua kunci dan nilai masing-masing bersaiz 23 dan 100 bait, dan setiap kunci mengandungi 10 medan nilai. Selepas mengisi contoh Redis, kami mengkonfigurasinya untuk membuat syot kilat dan kemudian memberi operasi kemas kini dengan YCSB.
Untuk memasukkan lokaliti temporal dalam akses nilai kunci, kami menyediakan beban kerja YCSB untuk memilih kunci sasaran mengikut pengedaran Zip menggunakan nilai parameter 1.0.
Semasa membuat kemas kini 100 GB, kami mengumpul hasil untuk setiap saat laporan penanda aras YCSB. Rajah 7 meringkaskan purata daya pemprosesan dan penggunaan memori bagi contoh Redis apabila sistem dikonfigurasikan untuk menggunakan CoW atauCCoW asal. Ambil perhatian bahawa kami menggunakan 2 MB untuk saiz rantau, dan semua nilai hasil telah dinormalkan kepada nilai CoW.

Secara keseluruhan, semua konfigurasi CCoW mengatasi prestasi CoW asal, tanpa mengira ambang liputan. Begitu juga, seperti yang kami analisis di atas, prestasi ditentukan oleh pertukaran antara keuntungan prestasi daripada salinan atas tulis yang dikurangkan dan overhed penyalinan halaman tambahan. Apabila nilai ambang adalah tinggi, hanya beberapa wilayah yang disalin, menjadikan kedua-dua peluang pengoptimuman dan overhed memori kecil.
Apabila nilai ambang menurun di bawah 85%, jejak memori meningkat dan menanggung lebih banyak overhed. Akibatnya, daya pemprosesan purata CCoW berbeza mengikut ambang liputan tetapi menunjukkan peningkatan prestasi sehingga 5% berbanding dengan CoW asal.
Dengan beban kerja Redis dan YCSB, kami hanya melihat peningkatan prestasi kecil dengan THP. Ini disebabkan oleh itu, dalam beban kerja, akses tulis tersebar di seluruh ruang alamat proses, dan halaman besar secara berkesan dibahagikan kepada halaman asas semasa mengendalikan CoW.
Oleh kerana proses Redis hanya boleh mempunyai beberapa halaman besar, prestasinya serupa dengan konfigurasi asas. Keputusan ini menunjukkan bahawa pendekatan berasaskan THP kurang berkesan dalam beban kerja intensif tulis, dan CCoW mengatasi THP.
Untuk menilai ketepatan mekanisme dalam mengenal pasti kawasan berketempatan tinggi, kami mengklasifikasikan sebab mekanisme penjanaan salinan bagi setiap halaman yang disalin. Secara khusus, kami mengumpul nisbah halaman yang disalin daripada semua halaman yang disalin. Apabila nisbah prasalinan ialahx%, meningkatkan jumlah jejak memori sebanyak y%, kita boleh mengira nisbah prasalinan yang tidak perlu dengan membahagikan y dengan x.
Contohnya, pada konfigurasi CCoW-80, 26.9% halaman yang disalin disalin, meningkatkan jejak memori sebanyak 6.7%. Ini menunjukkan bahawa 24.9% daripada halaman pra-salinan tidak dirujuk. Jadual 1 meringkaskan pengiraan. Nisbah prasalinan yang tidak perlu berjulat dari 23.4% hingga 35.6%, dan daripada hasil penilaian dapat disimpulkan bahawa skim yang dicadangkan itu menangkap kawasan berkelokal tinggi dengan tepat.

5. Kesimpulan
Dalam kajian ini, kami mencadangkan CCoW, skim salinan atas tulis yang dioptimumkan untuk beban kerja dengan lokaliti spatial yang tinggi. CCoW membahagikan ruang alamat proses kepada wilayah dan menganggarkan lokaliti mereka dengan liputan.
Tulisan ke kawasan berketempatan tinggi membawa pengendali pagefault untuk menyalin halaman berdekatan. Untuk menjejaki liputan dengan betul selepas pra-salinan, CCoW memanfaatkan bit kotor dalam jadual halaman. Penilaian dengan penanda aras mengesahkan bahawa skim yang dicadangkan boleh mengenal pasti kawasan berkelokal tinggi dengan overhed kecil, membolehkan keuntungan prestasi daripada aplikasi tanpa pengubahsuaian.
Seperti yang kami nyatakan, prestasi menurun dengan ketara sejurus selepas fork disebabkan oleh jumlah data yang besar untuk disalin. Kami sedang berusaha untuk menguruskan penurunan prestasi yang mendikitkan kadar prasalinan dan melaksanakan prasalinan secara tidak segerak. Kami juga merancang untuk menggabungkan mekanisme penyesuaian yang menyesuaikan parameter konfigurasi mengikut ciri beban kerja semasa.
Sumbangan Pengarang: Konseptualisasi, MH dan S.-HK; metodologi, MH; perisian, MH;pengesahan, MH, dan S.-HK; analisis formal, MH, dan S.-HK; penyiasatan, MH, dan S.-HK;sumber, S.-HK; penyusunan data, MH; penyediaan draf penulisan-asal, MH; menulis-semakan dan menyunting, MH dan S.-HK; visualisasi, MH; penyeliaan, S.-HK; pentadbiran projek,S.-HK; pemerolehan pembiayaan, S.-HK Semua pengarang telah membaca dan bersetuju dengan versi manuskrip yang diterbitkan.

Pembiayaan: Penyelidikan ini disokong oleh geran Institut Penyelidikan Elektronik dan Telekomunikasi(ETRI) yang dibiayai oleh kerajaan Korea (20ZS1310) dan program BK21 FOUR Yayasan Penyelidikan Kebangsaan Korea yang dibiayai oleh Kementerian Pendidikan (NRF5199991014091).
Penyata Lembaga Semakan Institusi: Tidak berkenaan.
Kenyataan Persetujuan Termaklum: Tidak berkenaan.
Pernyataan Ketersediaan Data: Tidak berkenaan.
Konflik Kepentingan: Pengarang mengisytiharkan tiada konflik kepentingan.
Rujukan
1. Gorman, M. Memahami Pengurus Memori Maya Linux; Prentice Hall: Upper Saddle River, NJ, Amerika Syarikat, 2007.
2. Bovet, DP; Cesati, M. Memahami Kernel Linux; O'Reilly: Newton, MA, Amerika Syarikat, 2001.
3. Love, R. Linux Kernel Development, 3rd ed.; Addison Wesley: Boston, MA, Amerika Syarikat, 2010.
4. Makmal, R. Redis. Tersedia dalam talian: https://github.com/redis/redis (diakses pada 7 Jun 2021).
5. Silberschatz, A.; Galvin, PB; Gagne, G. Konsep Sistem Pengoperasian; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, USA, 2018.
6. Harris, SL; Harris, D. Reka Bentuk Digital dan Seni Bina Komputer; Morgan Kaufmann: Burlington, MA, Amerika Syarikat, 2022.
7. Abi-Chahla, F. Intel Core i7 (Nehalem): Senibina Oleh AMD? Tersedia dalam talian: https://www.tomshardware.com/reviews/Intel-i7-nehalem-cpu,2041.html (diakses pada 18 Oktober 2021).
8. Pham, B.; Bhattacharjee, A.; Eckert, Y.; Loh, GH Meningkatkan jangkauan TLB dengan mengeksploitasi pengelompokan dalam terjemahan halaman. Dalam Prosiding Simposium Antarabangsa IEEE ke-20 mengenai Seni Bina Komputer Berprestasi Tinggi 2014 (HPCA'14), Orlando, FL, Amerika Syarikat, 15–19 Februari 2014; ms 558–567.
For more information:1950477648nn@gmail.com






