CCoW: Mengoptimalkan Copy-on-Write Mengingat Lokalitas Spasial dalam Beban Kerja Bagian 6

Apr 03, 2024

Ukuran wilayah terbaik dan ambang batas bervariasi sesuai dengan karakteristik beban kerja. Untuk mengevaluasi pengaruh beban kerja, kami mengukur kinerja CCoW pada beban kerja dengan berbagai lokalitas. Secara khusus, kami mengubah parameter distribusi Zipf, yang menentukan tingkat lokalitas.

Ada hubungan erat antara ingatan manusia dan beban kerja. Ketika kita perlu memproses informasi dalam jumlah besar atau menyelesaikan tugas-tugas kompleks, otak kita harus tetap waspada untuk memastikan bahwa semua informasi yang diperlukan diproses dan disimpan dengan benar. Neuron di otak terus terhubung dan berkomunikasi, yang sangat memengaruhi cara kita berpikir dan mengingat.

Meskipun memproses informasi dalam jumlah besar dan menyelesaikan tugas-tugas kompleks dapat menantang ingatan dan kemampuan kognitif kita, penelitian menunjukkan bahwa dengan pelatihan dan latihan yang tepat, kita dapat meningkatkan ingatan dan produktivitas kita secara signifikan. Misalnya, melalui eksperimen, para ilmuwan telah menemukan bahwa melalui pelatihan dan praktik memori ekstensif, orang dapat meningkatkan memori dan efisiensi kerja mereka secara signifikan.

Dari sudut pandang ini, kita dapat menyimpulkan bahwa latihan dan pelatihan terus menerus sangat penting bagi mereka yang ingin meningkatkan daya ingat dan efisiensi kerja. Selain itu, pertahankan sikap positif, karena stres dapat menghambat daya ingat dan produktivitas seseorang.

Singkatnya, ada korelasi kuat antara beban kerja dan memori. Selama kita tetap fokus, berlatih dan berlatih secara teratur, serta menjaga sikap positif, kita dapat meningkatkan daya ingat dan efisiensi kerja secara signifikan. Cistanche deserticola juga dapat mengatur keseimbangan neurotransmiter, seperti peningkatan kadar asetilkolin dan faktor pertumbuhan, yang penting untuk memori dan pembelajaran. Selain itu, Cistanche deserticola juga dapat meningkatkan aliran darah dan meningkatkan pengiriman oksigen, yang dapat memastikan otak menerima nutrisi dan energi yang cukup, sehingga meningkatkan vitalitas dan daya tahan otak.

supplements to improve memory

Klik tahu cara untuk meningkatkan daya ingat Anda

Akses didistribusikan secara seragam ketika adalah {{0}}, dan semakin tinggi nilai , semakin tinggi pula tingkat lokalitas beban kerja yang ditampilkan. Ketika 1.0, sekitar 80% operasi melibatkan 20% data.

Tingkat lokalitas ini umumnya ditemukan dalam beberapa beban kerja nyata, sebagaimana dinyatakan dalam prinsip Pareto. Kami mengukur dengan tiga nilai berbeda, 1.0, 0.9, dan 1.1, dengan 1.0 adalah garis dasar, dan 0.9 dan 1.1 mewakili beban kerja lokalitas rendah dan tinggi.

Kinerja Kontrak Karya asli bervariasi sesuai dengan beban kerja, sehingga periode fork untuk suatu beban kerja diatur sesuai dengan waktu yang diukur dengan pengaturan Kontrak Karya asli. Misalnya, jika konfigurasi Kontrak Karya asli memerlukan 10 detik untuk memulihkan kinerja normal setelah afork, konfigurasi CCoW lainnya juga melakukan fork proses anak setiap 10 detik.

Gambar 5 merangkum rata-rata throughput dan penggunaan memori CCoW dengan beban kerja lokalitas yang berbeda. Untuk beban kerja lokalitas rendah, konfigurasi dengan ambang batas CCoW kecil menunjukkan kinerja yang lebih baik dibandingkan konfigurasi dengan ambang batas besar. 'CCoW-all'bahkan mengungguli Kontrak Karya asli sebesar 15% pada beban kerja lokalitas rendah. Hal ini disebabkan oleh efektivitas prakopi. Dalam beban kerja lokalitas rendah, sebagian besar memori harus direplikasi karena akses tersebar di seluruh ruang alamat proses. Akibatnya, penyalinan seluruh wilayah menghasilkan penyalinan memori yang diperlukan terlebih dahulu dengan overhead yang rendah.

improve brain

Jadi, semakin kecil ambang batasnya, semakin tinggi kinerja program dengan beban kerja lokalitas rendah. Namun, tren ini mempunyai efek sebaliknya dengan beban kerja lokalitas yang tinggi. Dengan beban kerja lokalitas tinggi, banyak akses terfokus pada beberapa halaman.

Ini menyiratkan bahwa hanya sebagian kecil memori yang perlu direplikasi selama penyalinan-penulisan. Menyalin seluruh wilayah pada kesalahan halaman cenderung menyalin halaman yang tidak diakses sama sekali.

Hal ini hanya menimbulkan overhead sementara, sehingga mengganggu kinerja dengan beban kerja lokalitas yang lebih tinggi. Hasilnya, CCoW-all menunjukkan performa terburuk dengan beban kerja lokalitas tinggi. Konfigurasi lain menunjukkan pola beban kerja dasar yang serupa; performa mencapai puncaknya pada nilai ambang batas 80% dan menurun pada ambang batas yang lebih kecil.

improving brain function

Penggunaan memori pada benchmark menunjukkan tren yang konsisten terlepas dari tingkat lokalitas beban kerja. 'CCoW-all' selalu mewakili penggunaan memori tertinggi karena selalu menyalin semua halaman di memori setelah percabangan. Selain itu, jejak memori berbanding terbalik dengan nilai ambang batas; semakin kecil nilai ambang batasnya, semakin banyak memori yang digunakan benchmark.

Amplifikasi memori hanya meningkat hingga 10% dibandingkan dengan konfigurasi Kontrak Karya asli, yang dianggap berada dalam kisaran yang wajar. Selain menganalisis kinerja CCoW, kami membandingkan kinerja CCoW dengan halaman besar transparan (THP) skema Linux.

THP agak mirip dengan CCoW karena bertujuan untuk mengurangi overhead yang berasal dari halaman kecil. 'CoW-THP' pada Gambar 5 mewakili kinerja konfigurasi yang mendukung THP. Perhatikan bahwa sistem yang mendukung THP menangani Kontrak Karya dengan membagi halaman besar menjadi halaman dasar sebelum menyalin halaman yang salah, dan begitu pula skema lain yang mengoptimalkan THP [12–15,17].

Kita dapat mengamati bahwa THP menunjukkan kinerja yang lebih baik daripada konfigurasi default 'CoW-only'. Kami menghubungkan peningkatan kinerja dengan peningkatan efisiensi dalam penerjemahan alamat dengan halaman yang besar.

Secara khusus, menurut skema THP, bagian panas dari ruang alamat proses kemungkinan besar akan dipecah menjadi halaman dasar, sehingga memberikan kinerja yang sama seperti konfigurasi 'Khusus Kontrak Karya'. Namun, bagian dingin dari ruang alamat proses tidak dipecah, dan dikelola dengan halaman yang besar. Dengan demikian, hal ini dapat meningkatkan kinerja aplikasi sampai batas tertentu.

Namun, THP tidak memberikan peningkatan kinerja sebanyak CCoW. Gambar 6 menunjukkan distribusi kumulatif throughput selama evaluasi. Sumbu x mewakili throughput dalam operasi per detik, dan sumbu y mewakili rasio kumulatif kinerja terhadap nilai throughput. Kecuali CCoW-semuanya, kita dapat menemukan tiga rentang throughput yang sering diamati, apa pun konfigurasinya.

Kelompok pertama dalam rasio kumulatif {{0}} hingga 0.1 menunjukkan periode di mana kinerja tolok ukur menurun tepat setelah percabangan. Kemudian kinerjanya pulih seiring berjalannya waktu, seperti pada kelompok kedua dengan rasio kumulatif 0,1 hingga 0,7.

Rasio kumulatif yang tersisa dalam kisaran {{0}},7 hingga 1,0 berasal dari akses yang tidak menyebabkan kesalahan halaman. Secara keseluruhan, konfigurasi PKP2B cenderung mengalami penurunan kinerja yang lebih parah dibandingkan Kontrak Karya asli. Khususnya, dengan beban kerja lokalitas yang tinggi dari skema Kontrak Karya asli, throughput turun menjadi sekitar 1900 K operasi per detik segera setelah fork.

improve memory

Kemudian perlahan-lahan meningkat hingga kisaran 2500 K operasi per detik. Dengan CCoW, kinerjanya turun lebih jauh, hingga kisaran 1700 K operasi per detik. Namun, kinerjanya pulih lebih cepat, menunjukkan kinerja yang lebih baik dibandingkan Kontrak Karya awal (yaitu, sebagian besar berada di sisi kanan grafik kumulatif). Kita juga dapat mengamati tren serupa dari beban kerja lain, dan semua konfigurasi CCoW menunjukkan perilaku ekstrem; tepat setelah percabangan, kinerja turun secara signifikan dan tetap rendah sementara sebagian besar ruang alamat disalin dengan akses tersebar.

Namun setelah titik tersebut, hanya terjadi beberapa kesalahan halaman, sehingga sebagian besar akses diproses tanpa kesalahan halaman. Dengan demikian, throughput memiliki distribusi bimodal di CCoW. Dari evaluasi ini, kami memastikan bahwa CCoW memberikan kinerja optimal dengan mengoptimalkan kasus umum.

Namun penurunan kinerja tersebut harus diatasi untuk mendapatkan karakteristik kinerja yang lebih baik. Untuk tujuan ini, kami sedang berupaya membatasi jumlah data yang disalin tepat setelah fork.

supplements to boost memory

4.2. Kinerja CCoW pada Beban Kerja Realistis

Untuk mengevaluasi CCoW yang diusulkan pada beban kerja yang realistis, kami menggunakan Redis dan YCSB. Redis adalah database nilai kunci dalam memori yang banyak digunakan untuk mempercepat aplikasi berskala Internet.

Kami menggunakan Tolok Ukur YCSB untuk mengisi pasangan nilai kunci dalam instance Redis dan melakukan operasi pada pasangan tersebut. Secara khusus, instans Redis diinisialisasi dengan pasangan nilai kunci sebesar 10 GB dengan konfigurasi YCSB default.

Semua kunci dan nilai masing-masing berukuran 23 dan 100 byte, dan setiap kunci berisi 10 bidang nilai. Setelah mengisi instance Redis, kami mengonfigurasinya untuk membuat snapshot dan kemudian memasukkan operasi pembaruan dengan YCSB.

Untuk menggabungkan lokalitas temporal dalam akses nilai kunci, kami menyiapkan beban kerja YCSB untuk memilih kunci target sesuai dengan distribusi Zip menggunakan nilai parameter 1.0.

Saat melakukan pembaruan sebesar 100 GB, kami mengumpulkan throughput untuk setiap detik laporan benchmark YCSB. Gambar 7 merangkum rata-rata throughput dan penggunaan memori instans Redis ketika sistem dikonfigurasi untuk menggunakan Kontrak Karya atau CCoW asli. Perhatikan bahwa kami menggunakan 2 MB untuk ukuran wilayah, dan semua nilai hasil dinormalisasi ke KK.

improve cognitive function

Secara keseluruhan, seluruh konfigurasi PKP2B mengungguli KK asli, berapapun ambang batas cakupannya. Demikian pula, seperti yang kami analisis di atas, kinerja ditentukan oleh trade-off antara perolehan kinerja dari copy-on-write yang dimitigasi dan biaya penyalinan halaman tambahan. Ketika nilai ambang batas tinggi, hanya beberapa wilayah yang disalin, sehingga peluang pengoptimalan dan overhead memori menjadi kecil.

Ketika nilai ambang batas menurun di bawah 85%, jejak memori meningkat dan menimbulkan lebih banyak overhead. Hasilnya, rata-rata throughput PKP2B bervariasi sesuai dengan ambang batas cakupan namun menunjukkan peningkatan kinerja hingga 5% dibandingkan dengan Kontrak Karya asli.

Dengan beban kerja Redis dan YCSB, kami hanya mengamati sedikit peningkatan kinerja dengan THP. Hal ini disebabkan, dalam beban kerja, akses tulis tersebar di seluruh ruang alamat proses, dan halaman besar secara efektif dibagi menjadi halaman dasar saat menangani Kontrak Karya.

Karena proses Redis hanya memiliki beberapa halaman besar, kinerjanya mirip dengan konfigurasi dasar. Hasil ini menunjukkan bahwa pendekatan berbasis THP kurang efektif dalam beban kerja intensif tulis, dan CCoW mengungguli THP.

Untuk mengevaluasi keakuratan mekanisme dalam mengidentifikasi wilayah dengan lokalitas tinggi, kami mengklasifikasikan alasan mekanisme pembuatan salinan untuk setiap halaman yang disalin. Secara khusus, kami mengumpulkan rasio halaman yang disalin dari semua halaman yang disalin. Ketika rasio pra-penyalinan adalahx%, yang meningkatkan total jejak memori sebesar y%, kita dapat menghitung rasio pra-penyalinan yang tidak diperlukan dengan membagi y dengan x.

Misalnya, pada konfigurasi CCoW-80, 26,9% halaman yang disalin disalin, sehingga meningkatkan penggunaan memori sebesar 6,7%. Hal ini berarti 24,9% halaman pra-salinan tidak dirujuk. Tabel 1 merangkum perhitungannya. Rasio pra-penyalinan yang tidak perlu berkisar antara 23,4% hingga 35,6%, dan dari hasil evaluasi dapat disimpulkan bahwa skema yang diusulkan secara akurat mencakup wilayah dengan lokalitas tinggi.

improve working memory

5. Kesimpulan

Dalam studi ini, kami mengusulkan CCoW, skema copy-on-write yang dioptimalkan untuk beban kerja dengan lokalitas spasial yang tinggi. CCoW membagi ruang alamat proses menjadi beberapa wilayah dan memperkirakan lokalitasnya beserta cakupannya.

Penulisan ke wilayah lokalitas tinggi akan mengarahkan pengendali kesalahan halaman untuk menyalin terlebih dahulu halaman terdekat. Untuk melacak cakupan dengan benar setelah pra-salinan,CCoW memanfaatkan bagian kotor di tabel halaman. Evaluasi dengan tolok ukur menegaskan bahwa skema yang diusulkan dapat mengidentifikasi wilayah dengan lokalitas tinggi dengan overhead yang kecil, sehingga memungkinkan peningkatan kinerja dari aplikasi tanpa modifikasi.

Seperti yang kami sebutkan, kinerja turun secara signifikan segera setelah fork karena banyaknya jumlah data yang harus disalin. Saat ini kami sedang berupaya mengelola kinerja dengan membatasi laju pra-penyalinan dan melakukan pra-penyalinan secara asinkron. Kami juga berencana untuk menggabungkan mekanisme adaptif yang menyesuaikan parameter konfigurasi sesuai dengan karakteristik beban kerja saat ini.

Kontribusi Penulis: Konseptualisasi, MH dan S.-HK; metodologi, MH; perangkat lunak, MH;validasi, MH, dan S.-HK; analisis formal, MH, dan S.-HK; penyidikan, MH, dan S.-HK;sumber daya, S.-HK; kurasi data, MH; penyusunan naskah asli tulisan, MH; penulisan-resensi dan penyuntingan, MH dan S.-HK; visualisasi, MH; pengawasan, S.-HK; administrasi proyek,S.-HK; perolehan dana, S.-HK Semua penulis telah membaca dan menyetujui versi naskah yang diterbitkan.

boost memory

Pendanaan: Penelitian ini didukung oleh hibah Lembaga Penelitian Elektronika dan Telekomunikasi (ETRI) yang didanai oleh pemerintah Korea (20ZS1310) dan program BK21 EMPAT dari Yayasan Penelitian Nasional Korea yang didanai oleh Kementerian Pendidikan (NRF5199991014091).

Pernyataan Dewan Peninjau Kelembagaan: Tidak berlaku.

Pernyataan Persetujuan yang Diinformasikan: Tidak berlaku.

Pernyataan Ketersediaan Data: Tidak berlaku.

Konflik Kepentingan: Penulis menyatakan tidak ada konflik kepentingan.


Referensi
1. Gorman, M. Memahami Manajer Memori Virtual Linux; Prentice Hall: Upper Saddle River, NJ, AS, 2007.

2. Bovet, DP; Cesati, M. Pengertian Kernel Linux; O'Reilly: Newton, MA, AS, 2001.

3. Love, R. Pengembangan Kernel Linux, edisi ke-3; Addison Wesley: Boston, MA, AS, 2010.

4. Lab, R. Redis. Tersedia online: https://github.com/redis/redis (diakses pada 7 Juni 2021).

5. Silberschatz, A.; Galvin, PB; Gagne, G. Konsep Sistem Operasi; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, AS, 2018.

6. Haris, SL; Harris, D. Desain Digital dan Arsitektur Komputer; Morgan Kaufmann: Burlington, MA, AS, 2022.

7. Abi-Cahla, F. Intel Core i7 (Nehalem): Arsitektur Oleh AMD? Tersedia online: 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 memanfaatkan clustering dalam terjemahan halaman. Dalam Prosiding Simposium Internasional ke-20 IEEE 2014 tentang Arsitektur Komputer Berkinerja Tinggi (HPCA'14), Orlando, FL, AS, 15–19 Februari 2014; hal.558–567.


For more information:1950477648nn@gmail.com

Anda Mungkin Juga Menyukai