Coba jelasin Kebijakan penulisan dari Tembolok (komputer) dong

Ketika sistem menulis data ke tembolok, pada titik tertentu ia harus menulis data itu ke penyimpanan cadangan juga. Waktu penulisan ini dikendalikan oleh apa yang dikenal sebagai write policy. Ada dua pendekatan menulis dasar:

Write-through: penulisan dilakukan secara sinkron baik ke tembolok maupun ke penyimpanan cadangan.

Write-back (disebut juga write-behind): awalnya, penulisan dilakukan hanya untuk tembolok. Penulisan ke penyimpanan pendukung ditunda hingga konten yang dimodifikasi akan segera diganti dengan blok tembolok lain.

Tembolok tulis-balik lebih kompleks untuk diterapkan, karena itu perlu melacak lokasi mana yang telah ditimpa, dan menandainya sebagai kotor untuk kemudian ditulis ke penyimpanan pendukung. Data di lokasi ini ditulis kembali ke penyimpanan pendukung hanya saat mereka dikeluarkan dari tembolok, efek yang disebut sebagai lazy write.

Kebijakan lain juga dapat memicu pengembalian data. Klien mungkin membuat banyak perubahan pada data di tembolok, dan kemudian secara eksplisit memberi tahu tembolok untuk menulis kembali data tersebut.

Karena tidak ada data yang dikembalikan ke pemohon pada operasi tulis, keputusan perlu dibuat pada kesalahan tulis, apakah data akan dimuat ke tembolok atau tidak. Ini ditentukan oleh dua pendekatan ini:

Write allocate (disebut juga fetch on write): data di lokasi tulis yang terlewat dimuat ke tembolok, diikuti dengan operasi tulis hit. Dalam pendekatan ini, kesalahan tulis mirip dengan kesalahan membaca.

No-write allocate (disebut juga write-no-allocate or write around): data di lokasi penulisan yang terlewat tidak dimuat ke tembolok, dan ditulis langsung ke penyimpanan pendukung. Dalam pendekatan ini, data dimuat ke tembolok pada read miss only.

Kebijakan write-through dan write-back dapat menggunakan salah satu dari kebijakan write-miss ini, tetapi biasanya keduanya dipasangkan dengan cara ini:

Tembolok write-back menggunakan alokasi tulis, berharap untuk penulisan berikutnya (atau bahkan membaca) ke lokasi yang sama, yang sekarang disimpan dalam tembolok.

Tembolok write-through menggunakan alokasi no-write. Di sini, penulisan selanjutnya tidak memiliki keuntungan, karena masih perlu ditulis langsung ke penyimpanan pendukung.

Entitas selain tembolok dapat mengubah data di penyimpanan cadangan, dalam hal ini salinan dalam tembolok mungkin menjadi kedaluwarsa atau basi. Alternatifnya, saat klien memperbarui data di tembolok, salinan data tersebut di tembolok lain akan menjadi basi. Protokol komunikasi antara pengelola tembolok yang menjaga konsistensi data dikenal sebagai protokol koherensi.