Anda di halaman 1dari 14

BAB II LANDASAN TEORI 2.

1 Teknik design untuk mencapai Fault Tolerance Fault tolerance system 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 komputing 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 lingkngan, keamanan nasional, bahkan nyawa manusia. Singkatnya, fault tolerance menjadi lebih penting karena fungsi komputer dan sistem digital lainnya menjadi lebih kritis.

Fault tolerance adalah 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 di mana fault dapat terjadi. Kemungkinan penyebab fault dapat dihubungkan dengan permasalahan pada emapt 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 usang 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.

2.1.1 Filosofi rancangan memberantas fault Ada tiga bentuk teknik utama usaha memperbaiki atau memelihara unjuk kerja normal sistem yaitu : fault avoidance, fault masking, dan fault tolerance. 1. Fault avoidance Fault avoidance adalah teknik yang digunakan untuk mencegah fault pada tempat yang pertama. Fault avoidance dapat termasuk hal-hal seperti :

tinjauan design, penyaringan komponen, testing, metode kontrol kualitas lainnya. Jika tinjauan design misalnya, dilakukan dengan tepat, banyak kesalahan spesifikasi yang dapat mengakibatkan fault dapat dihilangkan. Juga sistem dapat sering dilindungi untuk mencegah gangguan luar yang menimbulakn fault dalam sistem seperti halililntas atau radiasi. Perlindungan adalah bentuk fault avoidance. Terakhir, jika sistem setelah manufaktur dapat dideteksi dan dihilangkan sebelum sistem diletakkan dalam operasi. 2. Fault masking Fault masking adalah proses yang mencegah kerusakan dalam sistem dari error yang masuk ke dalam susunan informasi dari sistem tersebut. Error correcting memories, sebagai contohnya, memperbaiki data memori sebelum sistem memakai data. Jadi sistem tidak pernah mengalami dampak kerusakan dalam memori. Contoh lain dari fault masking adalah pengambilan suara mayoritas. Jika komite tiga orang membuat keputusan dengan voting ya atau tidak dalam suatu perbandingan, setiap saat vote yang disetujui menentukan keputusan dari komite. Keputusan yang dihasilkan oleh komite mewakili keinginan mayoritas anggota komite dan menutupi (mask) keinginan dari anggota yang mungkin saja tidak setuju dengan mayoritas. Teknik yang sama dapat diterapkan pada sistem digital sedemikian hingga dua modul dapat menutupi akibat dari modul yang rusak.

3. Fault tolerance Fault tolerance adalah kemampuan sistem untuk melanjutkan tugasnya setelah terjadinya kerusakan. Sasaran pokok fault tolerance adalah mencegah kegagalan (failure) sistem jika sekiranya terjadi. Karena failure disebabkan langsung oleh error, istilah fault tolerance dan error tolerance sering digunakan saling bertukaran. Untuk tujuan kita, bagaimana, kita memakai istilah faut tolerance. Fault tolerance dapat dicapai dengan banyak teknik. Tentu saja fault masking adalah salah satu pendekatan untu 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, perncang 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 yagn 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. Masing-masing konsep ini sudah dijelaskan dalam bab sebelumnya, tetapi di sini kita mempertimbangkan peranan dari masing-masing fungsi dalam mendesign fault-tolerant sistem. Bab ini memperkenalkan teknik untuk mencapai fault detection, fault location, fault containment, fault masking, fault recovery, dan fault tolerance, masingmasing membutuhkan beberapa bentuk redundansi (cadangan). Sebelum kita membahas bentuk khusus redundansi, sebuah definisi fundamental dari redundansi akan dipaparkan dan dijelaskan.

2.2 Konsep Redundansi Redundansi adalah penambahan informasi, sumber-sumber, atau waktu di luar yang diperlukan untuk operasi sistem normal. Redundansi dapat mengambil satu dari beberapa bentuk : 1. Hardware redundancy adalah penambahan hardware extra, biasanya untuk tujuan deteksi atau mentolerir fault.

10

2. Software redundancy adalah penambahan software extra, di luar yang diperlukan untuk mengerjakan fungsi yang diberikan, untuk deteksi dan mungkin mentolerir fault. 3. Information redundancy adalah penambahan informasi extra di luar yang diperlukan untuk mengimplementasikan fungsi yagn diberikan; sebagai contoh, error detecting code menggunakan bentuk information redundancy. 4. Time redundancy menggunakan penambahan waktu untuk mengerjakan fungsi system sehingga fault detection dan fault tolerance dapat tercapai. Pemakaian redundansi dapat menyediakan kemampuan tambahan dalam suatu sistem. Pada kenyataannya, jika fault tolerance atau fault detection dibutuhkan, beberapa bentuk redundasi juga dibutuhkan. Tetapi, redundansi dapat mempunyai dampak penting dalam unjuk kerja sistem, ukuran, berat, konsumsi daya, dan keandalan. Kita harus mengerti jenis-jenis teknik redundansi yang tersedia dan metode yang dapat digunakan untuk mengevaluasi dampak redundansi.

2.2.1

Hardware Redundancy Tiruan fisik hardware barangkali merupakan bentuk paling umum dari

redundansi yang digunakan dalam sistem digital saat ini. Sebagaimana komponen semikonduktor menjadi semakin kecil dan murah, konsep hardware redundancy sudah menjadi lebih umum dan lebih praktis. Biaya dari penggandaan hardware dalam sistem berkurang karena biaya hardware berkurang.

11

Ada tiga bentuk dasar hardware redundancy : pasif, aktif, dan hibrid. Teknik pasif memakai konsep fault masking untuk menyembunyikan terjadinya fault dan mencegah fault menghasilkan error. Pendekatan pasif dirancang untuk mencapai fault tolerance tanpa membutuhkan tindakan pada bagian sistem atau operator. Teknik pasif, dalam bentuk dasarnya, lebih menutupi fault daripada mendeteksinya. Teknik aktif, kadang-kadang disebut metode dinamik, mencapai fault tolerance dengan mendeteksi keberadaan fault dan melakukan tindakan memindahkan hardware yang rusak dari sistem. Dengan kata lain, teknik aktif membutuhkan sistem direkonfigurasi untuk mentolerir fault. Redundansi hardware aktif menggunakan faul detection, fault location, dan fault recovery dalam usaha mencapai fault tolerance. Teknik hibrid menggabungkan kelebihan pendekatan pasif dan aktif. Fault masking digunakan dalam sistem hibrid untuk mencegah hasil yang salah. Fault detection, fault location, dan fault recovery juga digunakan dalam pendekatan hibrid untuk memperbaiki fault tolerance dengan memindahkan hardware yang rusak dan menggantinya dengan cadangan. Elemen cadangan dalam sistem adalah suatu tambahan, elemen cadangan tidak diperlukan sampai elemen lainnya rusak, pada saat itu cadangan digunakan mengganti elemen yang rusak tersebut. Penyediaan cadangan adalah satu bentuk dari penyediaan redundansi dalam sistem. Metode hibrid lebih sering digunakan dalam aplikasi komputasi kritis dimana fault masking dibutuhkan untuk mencegah error sementara, dan keandalan tinggi harus dicapai. Hibrid hardware redundancy biasanya bentuk redundansi yang sangat mahal untuk diimplementasikan.

12

2.2.1.1 Redundansi Hardware Pasif Redundansi hardware pasif mengandalkan mekanisme voting untuk menutupi terjadinya fault. Seperti yang dijelaskan terdahulu, pendekatan pasif mencapai fault tolerance tanpa perlu fault detection atau rekonfigurasi sistem, rancangan pasif sudah bersifat mentolerir fault.

1. Triple Modular Redundancy Bentuk yang paling umum dari redundansi hardware pasif disebut modular redundancy (TMR). Konsep dasar dari TMR (digambarkan dalam gambar ) adalah merangkap tiga hardware dan mengambil suara mayoritas untuk menentukan output sistem. Jika salah satu modul rusak, dua sisanya modul yang bebas fault menutupi akibat modul yang rusak ketika suara mayoritas dikerjakan. Dalam aplikasi tertentu, modul digandakan adalah prosesor, memori, dan kesatuan hardware. Di samping itu, TMR dapat diterapkan pada software dimana tiga versi program berbeda mngerjakan fungsi yang sama untuk mengulangi software fault.

Gambar TMR menggunakan tiga modul identik dan memilih suara mayoritas sebagai output

13

Kesulitan utama dengan TMR adalah voter, jika voter rusak, sistem keseluruhan akan rusak. Dengan kata lain, keandalan dari bentuk paling sederhana dari TMR dapat menjadi tidak lebih baik dari keandalan voter. Beberapa teknik dapat digunakan untuk menanggulangi akibat dari kegagalan voter. Satu pendekatan adalah dengan melipat tiga voter dan menyediakan tiga output independent, seperti yang diperlihatkan pada gambar 3.2. Setiap hasil adalah benar sepanjang tidak lebih dari satu modul atau input yang rusak. Beberapa tahap TMR dapat saling dihubungkan menggunakan pendekatan ini, seperti yang diperlihatkan dalam gambar 3.3. Jika sebuah voter rusak dalam satu tahap sistem, tahap berikutnya melihat failure sebagai satu input menjadi buruk. Voting pada output dari tahapan yang memperoleh input yang salah mengoreksi hasil yang keliru tersebut. Sistem TMR dengan pelipat-tigaan voter lebih umum disebut restoring organ (bagian perbaikan) karena konfigurasinya menghasilkan tiga output yang benar sekalipun satu input rusak.

Gambar TMR dengan pelipat-tigaan voter dapat digunakan menanggulangi kelemahan kegagalan voter

14

2. N-Modular Redundancy Bentuk umum TMR adalah teknik N-modular redundancy (NMR). NMR memakai prinsip yagn sama dengan TMR tetapi memakai N modul. Dalam banyak kasus, N dipilih sebagai nomor ganjil sehingga susunan suara mayoritas dapat dipakai. Konsep NMR diperlihatkan pada gambar 3.4. Keuntungan menggunakan N modul daripada tiga adalah lebih banyak fault modul dapat ditolerir.

Gambar NMR sebagai bentuk umum dari TMR

2.2.1.2 Redundancy Hardware Aktif Teknik redundansi hardware aktif berusaha untuk mencapai fault tolerance dengan fault detection, fault location, dan fault recovery. Karena kerusakan dari banyak design dideteksi pada basis dari error yang dihasilkannya, ini lebih tepat menggunakan bentuk error detection, error location, dan error recovery. Sifat fault masking, bagaimanapun, tidak dicapai dengan penggunaan pendekatan active redundancy. Dengan kata lain, pendekatan ini tidak berusaha mencegah fault

15

menghasilkan error dalam sistem. Akibatnya, pendekatan aktif umum dalam aplikasi yang mentolerir untuk sementara, hasil yang salah selama rekonfigurasi sistem untuk memperoleh kembali status operasionalnya dalam panjang waktu memuaskan. Sistem satelit adalah contoh yang bagus dari aplikasi redundani aktif. Pada kenyataannya, biasanya lebih baik untuk mempunyai failure sementara dibanding memuat tingkatan yang tinggi redundansi yagn diperlukan untuk mencapai fault masking. Contoh pertama dari redundansi aktif adalah skema duplication with comparison sederhana diperlihatkan pada gambar 3.7. Konsep dasar dari duplikasi dengan perbandingan adalah membangun dua potong hardware identik, mengerjakan komputansi yang sama secara paralel, dan membandingkan hasil komputansinya. Jika ada disagreement (pertentangan), error mesage dibangkitkan. Dalam bentuk paling dasarnya, konsep duplikasi hanya dapat mendeteksi keberadaan fault, tidak mentolerirnya, karena tidak ada metode untuk menentukan yang mana dari kedua modul yang rusak. Bagaimanapun, duplikasi dengan perbandingan dapat digunakan sebagai asas teknik fault detection dalam pendekatan redundansi aktif.

Gambar Duplication with camparison menggunakan dua modul identik

16

Metode duplikasi dengan perbandingan dari redundansi aktif mengajukan beberapa masalah potensial, yaitu : 1. Jika kedua modul menerima input yagn sama, kegagalan peralatan input atau saluran dimana sinyal input harus dikirimkan akan menyebabkan kedua modul menghasilkan hasil yang sama yaitu hasil yang salah. 2. Komparator mungkin tidak dapat mengerjakan perbandingan yang tepat, tergantung pada bidang aplikasi. 3. Fault dalam komparator dapat menyebabkan indikasi error bila tidak ada error, atau, lebih buruk lagi, komparator dapat merusak sehingga akhirnya fault dalam modul duplikat tidak pernah terdeteksi. Konsep dasar untuk mengimplementasikan proses perbandingan dalam software yang dilakukan dalam setiap mikroprosesor. Setiap mikroprosesor memiliki memori sendiri untuk menyimpan program dan data. Selanjutnya, two-port memory dapat mentransfer hasil dari satu prosesor ke lainnya untuk tujuan perbandingan. Prosesor melakukan kalkulasi yang sama dan meletakkan satu copy dari hasil kedalam memorinya dan copy kedua ke dalam two-port memori. Masing-masing prosesor kemudian membaca hasil prosesor lainnya dari two-port memori dan membandingkan hasil tersebut dengan miliknya. Jika two-port rusak, kedua prosesor mendeteksi ketidak-sesuaian antara data yang disimpan dalam memorinya dan yang terisi di two-port memori. Jika satu dari prosesor rusak, kondisi ini dapat juga dideteksi menggunkan pendekatan ini. Untuk menyediakan kemampuan

membatalkan output sistem saat terjadinya disagreement (ketidak-sesuaian), dua set

17

switch disediakan. Switch dapat diimplemetasikan dalam bidang digital atau analog, tergantung pada aplikasi. Jika salah satu prosesor mendeteksi ketidak-sesuaian dengan yang lainnya, prosesor menemukan permasalahan membuka switchnya dan membatalkan output. Kedua prosesor harus setuju bahwa komputansi mereka adalah sama sebelum sistem diijinkan menghasilkan output.

2.2.1.3 Redundansi Hardware Hybrid Konsep fundamental dari redundansi hardware hibrid adalah gabungan keunggulan dari pendekatan aktif dan pasif. Fault masking digunakan untuk mencegah sistem menghasilkan hasil yang salah, dan fault detection, fault location, dan fault recovery digunakan untuk merekonfigurasi sistem sekiranya terjadi fault. Redundandsi hibrid biasanya sangat mahal karena banyaknya hardware yang dibutuhkan untuk mengimplementasikan sistem. Akibatnya, redundansi hibrid lebih sering digunakan dalam aplikasi yang membutuhkan integritas komputansi yang sangat tinggi.

18

Anda mungkin juga menyukai