Algoritma ostrich adalah strategi mengabaikan masalah yang mungkin
terjadi atas dasar bahwa masalah itu mungkin sangat jarang terjadi –
“menempel kepala di pasir dan berpura-pura bahwa tidak ada masalah”.
Dengan mengasumsikan bahwa lebih efektif untuk memungkinkan masalah itu
terjadi dibandingkan upaya pencegahannya.
Pendekatan Hybrid
Pendekatan Hybrid menggunakan algoritma Ostrich
adalah menentukan bahwa kasus sangat jarang tidak terjadi, dan kemudian
beralih dari algoritma lain yang lebih kompleks. Trade-off di sini
adalah bahwa jika keadaan berubah atau belum ditemukan, masalah langka
dapat kembali terjadi.
Contohnya dapat ditemukan di Hard Mengunci Non-ReadWriteLocker situs
ini, di mana Anda memiliki pilihan untuk menentukan di mana deadlock
mungkin terjadi, dan kemudian mematikan deteksi kebuntuan setelah Anda
menentukan tidak perlu digunakan.
Pendekatan ini dapat digunakan dalam menangani deadlock pada
pemrograman concurrent jika deadlock diyakini sangat jarang terjadi, dan
jika biaya untuk mendeteksi atau pencegahan lebih tinggi.
Algoritma ostrich merupakan strategi penanganan deadlock dengan cara
mengabaikan masalah yang mungkin terjadi atas dasar bahwa masalah itu
mungkin sangat jarang terjadi.dalam hal ini berarti diasumsikan bahwa
tidak ada masalah. Dengan begitu mengasumsikan bahwa tidak ada masalah
lebih efektif daripada untuk memungkinkan masalah itu terjadi
dibandingkan upaya pencegahannya.
Trade-offs
1.Kenyamanan
2.Kebenaran
Ini adalah salah satu metode untuk menangani deadlock. Metode lainnya
adalah: penghindaran (‘s algoritma bankir), pencegahan, deteksi dan
pemulihan.
Beberapa algoritma dengan kinerja yang buruk banyak digunakan karena
mereka hanya menunjukkan kinerja yang buruk pada kasus yang sengaja
dibuat dan jarang terjadi dalam praktik sesungguhnya, contoh-contoh yang
khas adalah algoritma simplex dan algoritma pengecekan tipe Standard
ML. Masalah seperti integer overflow dalam bahasa pemrograman tetap juga
sering diabaikan karena mereka hanya terjadi dalam kasus luar biasa
yang tidak muncul untuk input sederhana.
Tidak ada komentar:
Posting Komentar