Skip to main content

Apa itu berbagi palsu?

Berbagi palsu adalah situasi yang dapat terjadi dalam program komputer ketika dua aplikasi yang berjalan secara bersamaan mencoba mengakses informasi di wilayah memori logis yang sama yang masing -masing program atau proses telah disimpan dalam cache sendiri.Data dalam cache setiap aplikasi disalin dari sumber umum, sehingga memodifikasi satu cache menyebabkan yang lain harus dimuat ulang dari sumber.Aspek yang salah dari berbagi muncul ketika perubahan yang dilakukan pada garis cache oleh satu program tidak benar -benar mempengaruhi data yang digunakan program kedua, dalam hal ini memaksa cache untuk dimuat ulang adalah pemborosan sumber daya sistem dan dapat mempengaruhi secara negatifkinerja program.Masalah berbagi palsu sulit dideteksi, karena ini bukan akibat langsung dari kode apa pun yang terkandung dalam aplikasi, meskipun ada cara yang efektif untuk mencegah pembagian palsu, seperti memindahkan data yang berada dalam jalur yang saat ini di -cache ke baris terpisah ke garis terpisah.

Salah satu alasan utama mengapa berbagi palsu dapat terjadi ditemukan dalam bagaimana sistem operasi atau perangkat keras menangani data membaca dan menulis.Ketika informasi dari hard disk atau sumber lain sedang dibaca atau ditulis oleh suatu program, biasanya dimuat ke dalam cache sementara sehingga dapat diakses dengan cepat.Jumlah informasi yang di -cache dari lokasi sumber disebut garis cache dan merupakan blok logis memori yang biasanya bisa antara 2 byte dan panjang 256 byte.Di bawah beberapa sistem operasi atau arsitektur sistem, program dapat berjalan pada saat yang sama, seperti dalam pemrosesan paralel.Ini berarti dimungkinkan bagi dua program terpisah untuk mencoba mengakses informasi di jalur cache yang sama, sehingga setiap program akan memiliki salinan data sumbernya sendiri, yang berpotensi menyebabkan perubahan dalam satu cache untuk tidak tercermin dalam cache lain, membatalkan validasidata yang dimilikinya.

Ada sejumlah mekanisme yang digunakan untuk menangani situasi ketika dua program berusaha untuk mengakses garis cache yang sama, tetapi hasilnya paling sering adalah bahwa satu program dipaksa untuk memuat ulang cache dengan informasi yang diperbarui program lain lainnyatelah dimodifikasi.Jenis insiden ini dikenal sebagai berbagi palsu ketika data dalam garis cache yang diakses setiap program tidak terkait, sehingga memaksa satu program untuk memuat ulang cache adalah pemborosan daya pemrosesan dan sumber daya lainnya.Ini paling sering merupakan masalah bagi suatu program yang tidak akan pernah memodifikasi informasi dalam cache -nya, jadi tidak ada risiko aplikasi yang menimpa perubahan yang telah dibuat oleh proses lain.

Ada dua cara yang lazim baik untuk mencegah atau mengurangi efek falsemembagikan.Yang pertama adalah menambahkan informasi kosong sebelum atau setelah data dalam memori, pada dasarnya memaksanya ke dalam garis cache terpisah yang tidak diakses oleh program lain.Metode kedua adalah membatasi frekuensi membaca dan menulis ke garis cache sehingga dimuat ulang sesedikit mungkin.Solusi yang lebih kompleks melibatkan manajemen tingkat cache atau bahkan perubahan pada bagaimana sistem operasi menangani berbagi.