Fault Tolerance
Fault tolerance adalah
suatu sistem yang dapat melanjutkan tugasnya dengan benar meskipun terjadi
kegagalan perangkat keras (hardware failure) dan kesalahan perangkat lunak
(software error). Fault tolerance perlengkapan yang memungkinkan sistem untuk
mencapai operasi fault-tolerant.
Istilah fault-tolerant
computing menggambarkan proses pelaksanaan perhitungan seperti yang dilakukan
komputer, dalam cara fault-tolerant. Konsep fault tolerance menjadi semakin
penting dalam dekade belakangan ini karena bertambahnya penggunaan komputer
dalam aspek vital kehidupan hampir semua orang. Komputer tidak lagi terbatas
digunakan sebagai kalkulator serbaguna dimana kesalahan yang dihasilkannya
dapat mengakibatkan lebih dari sekedar frustasi atau kerugian waktu. Bahkan,
komputer sekarang digabungkan dalam bidang komersil, sistem kontrol penerbangan
pesawat militer, pengontrol industri, aplikasi antariksa, dan sistem perbankan.
Dalam setiap aplikasi kesalahan kerja komputer dapat merusak catatan keuangan, keselamatan
lingkungan, keamanan nasional, bahkan nyawa manusia. Singkatnya, fault
tolerance menjadilebih penting karena fungsi komputer dan sistem digital
lainnya menjadi lebih kritis.
Fault tolerance merupakan
sistem perlengkapan yang dirancang didalam suatu sistem untuk mencapai tujuan
perancangannya. Sebagai rancangan maka harus sesuai dengan fungsi dan tujuan
kerjanya, hal ini memerlukan pemenuhan kebutuhan lain.
Ada tiga istilah pokok
dalam rancangan fault tolerance yaitu, fault, error,dan failure. Ketiganya
mempunyai hubungan sebab dan akibat. Tegasnya, fault adalah penyebab error, dan
error adalah penyebab failure. Fault (kerusakan) adalah kerusakan fisik,
ketidak sempurnaan, atau kerusakan yang terjadi di dalam komponen perangkat
keras atau lunak. Contoh fault : short (hubungan singkat) antara konduktor
listrik, open atau break dalam konduktor, atau kerusakan fisik atau
ketidaksempurnaan dalam device semikonduktor. Demikian juga pemakai ingin
membuat katup off, sistem akan mengalami kegagalan. Fault dapat disebabkan oleh
bermacam-macam hal yang terjadi di dalam komponen elektronika, diluar komponen,
atau selama komponen tersebut atau proses perancangan sistem. Hal ini sangat
penting untuk memahami semua kemungkinan penyebab fault. Untuk memahami bermacam-macam
penyebab fault, kita
pertamatama memeriksa
proses rancangan khusus untuk mengidentifikasi bidang-bidang dimana fault dapat
terjadi.
Kemungkinan penyebab fault
dapat dihubungkan dengan permasalahan pada empat bidang dasar yaitu :
spesifikasi, implementasi, komponen, dan factor luar.
1. Kesalahan spesifikasi
(Spesification Mistake).
Ini termasuk algortima,
arsitektur, atau spesifikasi perancangan hardware dan software yang salah.
2. Kesalahan implementasi
(Implementation Mistake).
Implementasi, yang
didefinisikan di sini, adalah proses transformasi spesifikasi hardware dan
software ke dalam bentuk fisik hardware dan software sebenarnya. Implementasi
dapat memasukkan fault yang disebabkan design yang jelek, pemilihan komponen
yang jelek, konstruksi jelek, kesalahan perngkodean software.
3. Kerusakan komponen
(Component Defect).
Ketidaksempurnaan
manufaktur, kerusakan device acak, dan komponen using adalah contoh jenis
kerusakan komponen. Kerusakan dapat diakibatkan putusnya ikatan dalam rangkaian
atau korosi logam. Kerusakan komponen paling umum dipertimbangkan sebagai salah
satu dari beberapa penyebab fault.
4. Gangguan luar (External
Disturbance).
Seperti : radiasi,
interfensi elektromagnetik, kerusakan akibat
perang,kesalahan operator
dan lingkungan yang ekstrim.
Semua fault-tolerant dilakukan
dengan memanfaatkan dan mengelola redundansi. Redundansi adalah properti
memiliki lebih banyak sumber daya dari minimal yang diperlukan untuk melakukan
pekerjaan. Ketika kegagalan terjadi, redundansi dimanfaatkan untuk
menutupi atau mengatasi kegagalan tersebut, dengan demikian sistem dapat
mempertahankan tingkat fungsional yang diinginkan.
Jenis-jenis Redundansi
Ada 4 jenis redundansi :
- Redundansi hardware, dilakukan dengan memasukkan hardware tambahan ke dalam desain untuk mendeteksi atau mengesampingkan efek dari komponen yang gagal. Misalnya, kita dapat menggunakan dua atau tiga prosesor yang melakukan fungsi sama. Dengan memiliki dua prosesor, kita dapat mendeteksi kegagalan prosesor tunggal; dengan memiliki tiga, kita bisa menggunakan output untuk mengganti output yang salah dari prosesor tunggal yang rusak.
- Redundansi software, dapat dilakukan dengan membuat dua atau lebih versi perangkat lunak dengan harapan bahwa versi yang berbeda tidak akan gagal pada input yang sama. Versi sekunder dapat didasarkan pada algoritma sederhana dan tidak lebih akurat dari versi utama, untuk digunakan hanya pada saat perangkat lunak utama mengalami kegagalan. Sama seperti redundansi hardware, beberapa versi dari program ini dapat dijalankan baik secara bersamaan (membutuhkan hardware berlebihan juga) atau berurutan (memerlukan waktu tambahan) saat deteksi kegagalan.
- Redundansi informasi, bentuk paling terkenal dari redundansi informasi adalah deteksi kesalahan dan koreksi kode program. Di sini, bit ekstra (yang disebut bit cek) ditambahkan ke bit data asli sehingga kesalahan dalam bit data dapat dideteksi atau bahkan dikoreksi. Mendeteksi kesalahan dan memperbaiki kesalahan-kode banyak digunakan saat ini dalam unit memori dan berbagai perangkat penyimpanan untuk melindunginya dari kegagalan ringan.
- Redundansi waktu, dilakukan dengan mengulang pelaksanaan program yang sama pada hardware yang sama. Redundansi waktu ini efektif terutama terhadap kesalahan sementara. Karena sebagian besar kesalahan hardware bersifat sementara, tidak mungkin bahwa eksekusi terpisah akan mengalami kesalahan yang sama. Redundansi waktu dapat digunakan untuk mendeteksi kesalahan sementara dalam situasi di mana kesalahan tersebut dinyatakan mungkin tidak terdeteksi. Redundansi waktu juga dapat digunakan untuk mendeteksi kesalahan pada sistem yang mampu pulih dari efek dari kesalahan dan mengulangi perhitungan. Dibandingkan dengan jenis redundansi lain, redundansi waktu memiliki hardware dan software yang jauh lebih rendah namun menghasilkan kinerja tinggi.
Ukuran Dasar Fault
Tolerance
Ukuran yang digunakan untuk
mengukur fault-tolerance adalah kehandalan (reliability)
dan ketersediaan (availability). Keandalan secara konvensional dinyatakan
dengan R(t), adalah probabilitas (sebagai fungsi dari waktu t) bahwa sistem
telah aktif terus menerus dalam interval waktu [0, t]. Ukuran ini cocok untuk
aplikasi di mana gangguan sesaat dapat berdampak pada biaya yang tinggi. Salah
satu contohnya adalah komputer yang mengendalikan proses fisik seperti pesawat,
yang jika gagal akan mengakibatkan bencana.
Terkait erat dengan
keandalan adalah Mean Time to Failure (MTTF), dan Mean
Time Between Faiure (MTBF). MTTF adalah waktu rata-rata sistem
beroperasi sampai kegagalan terjadi, sedangkan MTBF adalah waktu rata-rata
antara dua kegagalan berturut-turut. Perbedaan antara keduanya adalah jumlah
waktu yang dibutuhkan untuk memperbaiki sistem setelah kegagalan pertama.
Disebud dengan Mean Time to Repair (MTTR), kita memperoleh
MTBF = MTTF + MTTR
Ketersediaan (availability)
dinyatakan dengan A(t), yaitu rata-rata waktu selama interval [0, t] dimana
sistem aktif. Ukuran ini cocok untuk aplikasi di mana kinerja yang
berkesinambungan tidak kritis tetapi akan berdampak biaya tinggi jika sistem
tidak aktif dalam waktu yang signifikan. Sebuah sistem reservasi maskapai
penerbangan harus memiliki ketersediaan tinggi, karena kegagalan sistem dapat
menunda penerbangan pelanggan dan bisa kehilangan penjualan, namun, kegagalan
d sekali-kali dalam durasi pendek dapat ditoleransi. Ketersediaan jangka
panjang, dinotasikan dengan A, didefinisikan sebagai
A dapat direpresentasikan
sebagai probabilitas bahwa sistem akan sampai di beberapa titik acak waktu, dan
hanya bermakna pada sistem yang memiliki perbaikan terhadap komponen yang
salah. Ketersediaan jangka panjang dapat dihitung dari MTTF, MTBF, dan MTTR
sebagai berikut:
Teknik-Teknik Fault Tolerance
Fault
tolerance dapat dicapai dengan banyak teknik. Tentu saja fault masking adalah
salah satu pendekatan untuk mentolerir fault yang terjadi. Pendekatan lainnya
adalah mendeteksi dan melokasikan fault yang terjadi dan rekonfigurasi sistem
untuk mengganti komponen yang rusak.
Rekonfigurasi
adalah proses penghilangan bagian system yang rusak dan memperbaiki sistem pada
kondisi atau keadaan operasional. Jika teknik rekonfigurasi digunakan, perancang
harus memperhatikan proses-proses berikut ini :
1.
Fault detection adalah proses pengenalan apakah sebuah fault terjadi. Fault detection
sering digunakan sebelum prosedur pemulihan dapat diimplementasikan.
2.
Fault location adalah proses penentuan dimana fault terjadi sehingga pemulihan
yang tepat dapat diimplementasikan.
3.
Fault containment adalah proses pengisolasian fault dan mencegah akbiat fault menyebar
ke selururh sistem. Fault containment dibutuhkan dalam semua rancangan fault
tolerance.
4.
Fault recovery adalah proses dari penetapan operasional atau perolehan kembali
status operasional lewat rekonfigurasi jika sekiranya ada fault. Pengembangan
fault-tolerant sistem membutuhkan pertimbangan dari banyak persoalan design.
Diantaranya adalah fault detection, fault containment, fault recovery, dan
fault masking.
0 comments:
Post a Comment