• Tidak ada hasil yang ditemukan

Membangun Sistem Fault Tolerant Pada Fie

N/A
N/A
Protected

Academic year: 2018

Membagikan "Membangun Sistem Fault Tolerant Pada Fie"

Copied!
5
0
0

Teks penuh

(1)

MEMBANGUN SISTEM FAULT TOLERANT PADA FIELDBUS

UNTUK APLIKASI SISTEM TERDISTRIBUSI

Hany Ferdinando

Jurusan Teknik Elektro Fakultas Teknologi Industri, Universitas Kristen Petra Jl. Siwalanlerto 121-131, Surabaya 60236, Indonesia

email : hanyf@petra.ac.id

ABSTRAK

Fault tolerant merupakan bagian yang penting yang saat ini terus dikembangkan untuk meningkatkan reliabilitas system. Secara umum terdapat dua metode fault tolerant, yaitu hardware dan software fault tolerant. Sistem dengan fault tolerant merupakan system dengan kemampuan untuk tetap beroperasi walaupun kondisi saat itu tidak mendukung (terjadi fault pada sistem).

Makalah ini membahas software fault tolerant yang diaplikasikan pada system terdistribusi. Fault tolerant ini diaplikasikan pada fieldbus yang dipergunakan dalam system terdistribusi. Saat ini sudah banyak fieldbus yang dipergunakan di industri, di antaranya Control Area Network (CAN), Profibus, I2C, dll. Makalah ini menggunakan CAN dan SPORT (Serial PORT) untuk membangun system terdistribusi dengan fault tolerant.

Pada node system terdistribusi dipergunakan ADSP-21992 dari Analog Devices, Inc. Implementasi dilakukan dengan bantuan pustaka CT (CT Library yang dikembangkan oleh University of Twente, Belanda.

Sistem diuji dengan mengirimkan data dari satu node ke node yang lain. Pada saat pengiriman terjadi, dilakukan pemutusan pada fieldbus yang aktif.

Percobaan menunjukkan bahwa fault tolerant dapat dibangun sebagai layer di atas fieldbus yang ada. Penelitian ini dapat dikembangkan dengan mengembangkan jumlah node yang dipergunakan.

Kata kunci : fault tolerant, fieldbus, system terdistribusi

1. PENDAHULUAN

Fault tolerant merupakan bagian yang semakin hari semakin penting. Berbagai macam teknik dikembangkan untuk mendapatkan system dengan kemampuan ini. Ada dua metode fault tolerant yang ada, yaitu hardware dan software fault tolerant. Makalah ini menggunakan software fault tolerant yang diaplikasikan pada system terdistribusi.

Sistem dibangun dengan dua node, pada masing-masing node terdapat ADSP -21992 yang mensimulasikan suatu mesin yang mengirim dan menerima data tertentu.

Node terhubung ke suatu jaringan yang dibangun menggunakan CAN dan SPORT.

Implementasi dilakukan dengan bantuan pustaka CT (CT library) yang dikembangkan University of Twente, Belanda. Secara khusus, pustaka dalam bahasa C yang dipergunakan.

Bagian tentang system terdistribusi akan mengawali makalah ini, diikuti dengan penjelasan singkat tentang fault tolerant. CAN bus dan SPORT yang dipergunakan dalam percobaan dibahas pada bagian berikut . Pustaka CT sebagai inti dari pembangunan fault tolerant dijelaskan secara singkat karena [2] sudah menjelaskan hal ini. Percobaan dilakukan dengan program sederhana dan dibicarakan dalam bagian 7, disusul dengan diskusi hasil percobaan dan kesimpulan.

2 . SISTEM TERDISTRIBUSI

Sistem terdistribusi saat ini banyak dipergunakan di industri. Dalam system ini, setiap titik yang memiliki pengendali atau terhubung ke jaringan diberi nama node. Biasanya, jaringan yang dipakai dibangun dengan menggunakan fieldbus, misalnya I2C. gambar 1 menunjukkan suatu system terdistribusi yang mengendalikan suatu robot.

Gambar 1. Sistem terdistribusi [1]

Sebagai pengendali, biasanya dipergunakan sebuah Command and control

Node # 1 Node #2 … Node # n Embedded Computer Systems

(2)

Bahkan beberapa system menggunakan microcontroller. Dalam system terdistribusi ini, terjadi pertukaran data antar node. Selain itu, yang biasanya dilakukan dalam system ini adalah proses pengendalikan jarak jauh. Hal ini memungkinkan sensor dan aktuator diletakkan secara terpisah.

Sistem terdistribusi juga memudahkan proses pembuatan MMI (Man-Machine Interface) pada SCADA (Supervisory Control and Data Acquisition). Dengan berkembangnya dunia internet, orang menggunakan jaringan TCP/IP sebagai media komunikasi data. Hal ini membuat system menjadi lebih luas lagi. Sehingga jarak bukan menjadi masalah lagi. Masalah utamanya pada reliabilitas jaringan yang dipregunakan.

3. FAULT TOLERANT

Fault tolerant adalah pendekatan untuk meningkatkan reliabilitas suatu system komputer [3]. Melihat definisi tersebut, maka peran fault tolerant dalam system terdistribusi sangatlah penting.

Proses terjadinya fault tolerant digambarkan dalam [4]. Sebuah fault dan rentetannya akan menimbulkan fault berikutnya. Oleh karena itu, dipakai pendekatan fault tolerant yang membuat system menjadi kurang sensitif terhadap fault yang ada. Hal ini akan membuat fault yang terjadi tidak akan mengakibatkan sistem berhenti beroperasi.

Secara umum, ada dua jenis fault tolerant, yaitu fault tolerant secara hardware dan secara software. Fault tolerant secara hardware dilakukan pada integrated circuit (IC). Hal ini karena setelah IC dipasarkan, tidak ada kemungkinan lagi untuk memperbaiki kesalahan yang terjadi.

Fault tolerant secara software dilakukan pada berbagai macam program yang dijual di pasaran. Berbagai macam system operasi yang saat ini banyak digunakan pasti menggunakan metode ini. Sehingga kesalahan-kesalahan yang terjadi pada program sudah dapat diantisipasi oleh system. Implementasi fault tolerant secara software dilakukan dengan menambahkan program lain untuk mengatasi masalah yang terjadi pada suatu bagian program. Berbagai macam teknik sudah dikembangkan untuk mendapat hasil yang terbaik.

4. FIELDBUS

Fieldbus merupakan media yang dipergunakan dalam jaringan di industri. Jaringan ini memungkinkan terjadinya pertukaran data antar titik pada system terdistribusi. SCADA juga dapat dibangun dengan mudah jika fieldbus sudah terpasang pada system.

Percobaan dalam makalah ini menggunakan Control Area Network (CAN) bus dan Serial PORT (SPORT). CAN bus merupakan sebuah fieldbus yang dibuat oleh Bosch [5]. CAN bus dapat dipergunakan sampai dengan 1 Mbps untuk kecepatan pengiriman data. CAN menggunakan 2-3 kabel biasa sebagai media komunikasi. Kabel ini tidak perlu kabel yang terlindungi (shielded) karena CAN bus adalah differential bus [6]. Kabel-kabel ini menghubungkan dataH dan dataL pada CAN. Kabel ketiga biasanya dipergunakan sebagai ground.

SPORT sebenarnya bukanlah fieldbus, sebab hanya dapat menghubungkan dua titik (point to point). Penggunaannya dalam percobaan ini hanya sebagai alternatif fieldbus karena ADSP-21992 tidak memiliki fieldbus selain CAN. Kecepatan pengiriman data pada SPORT tergantung dari clock yang dipergunakan dalam processor. Penggunakan kabel pada SPORT juga tidak cocok untuk aplikasi fieldbus. Hal ini karena jumlah kabel yang dipergunakan terlalu banyak.

5 . PUSTAKA CT

Pustaka CT dikembangkan dari konsep pemrograman berbasis Communicating Sequential Process (CSP). Pustaka yang dikembangkan oleh University of Twente ini dibuat dalam tiga bahasa, yaitu Java, C dan C++.

Konsep penting yang diajukan dalam pustaka ini adalah pemisahan antara bagian program yang tergantung dan tidak tergantung perangkat keras. Pemisahan ini membuat program dapat berpindah dengan mudah dari satu processor ke processor yang lain. Programmer tinggal mengubah bagian yang tergantung perangkat keras saja. Bagian yang lain dibiarkan tetap sama [2]

6 . IMPLEMENTASI

6.1. Sistem Secara Umum

Fault tolerant yang diaplikasikan dalam percobaan ini difokuskan pada reliabilitas fieldbus yang dipergunakan. Apapun yang terjadi pada fieldbus, komunikasi data tetap harus terlaksana. Sehingga jika fieldbus yang sedang dipergunakan mengalami masalah, system akan beralih menggunakan fieldbus yang lain. Sistem diatur sedemikian rupa sehingga akan selalu menggunakan fieldbus dengan prioritas tertinggi.

(3)

Gambar 2. Diagram waktu master dan slave pada fault tolerant

Implementasi dilakukan pada ADSP-21992 dari Analog Devices, Inc., pada evaluation board yang diberi naman EZ -KIT LITE. Pemrograman dilakukan lewat VisualDSP++ 3.0. EZ-KIT LITE dan PC terhubung via kabel USB. Melalui kabel inilah dilakukan proses download data dan debug.

6.2. Link Driver

Pustaka CT mensyaratkan penggunaan pemrograman berorientasi obyek (PBO). Akan tetapi, C, bahasa yang dipakai dipakai dalam pembuatan program tidak mendukung PBO. Untuk itu, Hilderink meniru proses yang terjadi dalam PBO [7].

Implementasi fault tolerant menggunakan CANLinkDriver dan SPORTLinkDriver yang sudah dibuat sebelumnya [1]. Implementasi diawali dengan membuat sebuah layer di atas komunikasi fieldbus yang sudah ada.

Untuk itu diperlukan suatu link driver untuk fieldbus yang bersifat umum, dimana system dapat dengan mudah mengganti link driver pada saat system beroperasi. Bagian ini dinamakan RemoteLinkDriver. Prosedur pembuatan link driver dapat dilihat pada [1].

CANLinkDriver dan SPORTLinkDriver harus sedikit dimodifikasi untuk disesuaikan dengan format yang ada. Channel hanya tahu RemoteLinkDriver, sedang RemoteLinkDriver menggunakan link driver untuk CAN dan SPORT yang diberi nama CANDeviceDriver dan SPORTDeviceDriver [1] agar tidak membingungkan.

CANDeviceDriver dan SPORTDeviceDriver dimasukkan dalam sebuah array yang dapat diakses

dengan mudah. Penggantian dari CAN bus ke SPORT dilakukan dengan mengakses array ini.

Pada percobaan ini dipergunakan kecepatan pengiriman data yang rendah untuk CAN bus, yaitu 100 kbps. Hal ini dikarenakan EZ-KIT LITE menggunakan clock 16 MHz. Sebenarnya dengan pengali frekuensi, nilai clock maksimum EZ -KIT LITE (160 MHz) dapat diperoleh. Namun, hal ini berarti mencari kombinasi parameter untuk inisialisasi CAN bus. Padahal, tidak semua calon parameter yang didapat dari rumus dapat dipergunakan. Hal ini tergantung dari panjang, kapasitansi dan resistansi kabel.

6.3. Fault Tolerant

Fault tolerant pada makalah ini, sebagaimana tercantum pada bagian 6.1 diaplikasikan untuk menjaga reliabilitas jaringan. Oleh karena itu diperlukan suatu mekanisme untuk memeriksa reliabilitas jaringan tersebut.

Reliabilitas jaringan diperiksa dengan mengirimkan data secara berkala dan menunggu balasan dari titik yang lain. Untuk itu dibuat sebuah master dan sebuah slave, karena dalam penelitian ini dipergunakan dua titik.

Master bertindak sebagai pengendali utama yang mengirim data secara berkala kepada slave. Setelah mengirim data, master menunggu balas an dari slave. Jika setelah lewat waktu tertentu tidak ada balasan dari slave, maka master mengetahui bahwa fieldbus sedang bermasalah. Rentang waktu untuk mengirim data tentu saja lebih besar daripada rentang waktu untuk menunggu balasan.

Slave sebagai bagian yang pasif akan membalas data

master Wait for

an echo Send

data

Time out Get echo and set

the flag

Wait for an echo Send

data

Time out Get echo and set

the flag

slave Send

echo Read data

Set the flag Wait for

regular data

Send echo Read data

Set the flag Wait for

(4)

itu, slave juga mengetahui rentang waktu pengiriman data tersebut. Sehingga jika dalam rentang waktu yang sudah ditentukan slave tidak menerima data sama sekali, berarti ada masalah pada fieldbus tersebut. Gambar 2 menunjukkan diagram waktu proses ini [1].

Konsep master dan slave ini diaplikasikan bukan saja pada fieldbus utama (CAN bus), tetapi juga pada fieldbus alternatif (SPORT). Dengan pengaturan seperti ini, master akan dapat mengetahui apabila fieldbus dengan prioritas lebih tinggi sudah dapat dipergunakan lagi atau tidak.

6.4. Producer dan Consumer

Pemrograman berbasis CSP menggunakan konsep proses. Proses -proses berkomunikasi satu sama lain lewat kanal. Dalam kanal ini dipergunakan link driver [8].

Producer dan Consumer merupakan dua proses yang dibuat untuk mensimulasikan proses komunikasi data antar titik-titik dalam system terdistribusi. Penjelasan lengkap tentang Producer dan Consumer dapat dibaca di [8]

Producer dan Consumer ditempatkan di tempat yang berbeda. Kedua proses berkomunikasi lewat fieldbus yang dipergunakan oleh system. Producer dan Consumer merupakan bagian program yang tidak tergantung perangkat keras. Sebab, keduanya dapat beroperasi dengan menggunakan CAN bus maupun SPORT tanpa perlu diubah lagi.

7. HASIL PERCOBAAN

Percobaan awal dilakukan pada [8]. Hasilnya ditampilkan pada tabel 1. Sedang untuk SPORT, dapat dilihat pada tabel 2.

Tabel 1. Percobaan dengan CAN bus

CAN speed (kbps) Time consumed (ms)

8.00 20.4413

Tabel 2. Percobaan dengan SPORT

SPORT speed (kbps) Time consumed (ms)

8.00 18.7963

80.00 2.0880

800.00 0.4728

Hasil tabel 1 dan 2 tidak banyak berbeda. Karena system menggunakan CAN bus sebagai fieldbus dengan prioritas tertinggi, maka perhitungan rentang waktu untuk

pengiriman data secara berkala oleh master juga waktu time out dilakukan berdasarkan tabel 1.

Perhitungan rentang waktu ini harus dipikirkan dengan baik. Jika master terlalu sering mengirimkan data berkala ini, fieldbus akan terbebani dengan data-data ini. Sebab data-data ini memiliki prioritas yang tertinggi (pada CAN bus data dapat diatur prioritasnya – lihat [5]). Jika fieldbus dibebani dengan data-data ini, maka efisiensi fieldbus untuk mengirim data yang sebenarnya menjadi turun.

Jika master mengirim data berkala tidak terlalu sering akan berakibat pada keterlambatan system dalam merespon permasalahan pada fieldbus. Hal ini dikarenakan system harus menunggu sampai waktu tunggu habis untuk mengambil keputusan.

Dalam implementasi, rentang waktu data berkala ditetapkan empat kali nilai pada tabel 1. Sedangkan waktu tunggu dipilih tiga kali nilai pada tabel 1. Dengan demikian, untuk kecepatan 100 kbps, waktu reaksi jika ada masalah pada fieldbus adalah sekitar 5,4 ms. Diterima atau tidaknya nilai ini tergantung dari aplikasi yang dipergunakan dalam system. Hasil selengkapnya ditampilkan pada tabel 3.

Tabel 3. Time out dan cycle time pada mekanisme fault tolerant

CAN speed

Untuk aplikasi yang jarang menggunakan fieldbus, nilai 5,4 ms merupakan nilai yang sangat bagus. Akan tetapi, untuk aplikasi yang sering menggunakan fieldbus, nilai cukup buruk, karena respon system untuk mengantisipasi fault yang ada dinilai lambat.

Percobaan dengan menggunakan Producer dan Consumer menunjukkan hasil yang memuaskan. Kedua proses tetap dapat berkomunikasi walaupun fieldbus utama sempat terputus. Pada pemeriksaan data, didapati bahwa tidak ada data yang hilang saat fieldbus putus, demikian juga saat fieldbus tersambung kembali. Untuk aplikasi Producer dan Consumer, waktu respon ini dianggap sangat lambat.

8 . KESIMPULAN

(5)

sisi aplikasi yang dipergunakan dalam system terdistribusi.

Apabila dalam percobaan dapat dipergunakan CAN bus dengan kecepatan yang lebih tinggi, maka hasilnya mungkin akan sangat menarik. Oleh karena itu sangat direkomendasikan untuk mengulang percobaan ini dengan menggunakan kecepatan yang lebih tinggi lagi.

Mekanisme yang dipergunakan untuk memeriksa reliabilitas fieldbus ternyata masih kurang sempurna. Hal ini dikarenakan kurang fleksibelnya metode ini jika jumlah titik yang terlibat dalam percobaan lebih dari 2. Untuk itu perlu dipikirkan suatu alternatif untuk hal ini.

Salah satu ide yang dapat dipergunakan adalah dengan menggunakan system token, yaitu tidak semua slave dapat membalas data yang dikirim master. Tetapi setiap slave memiliki alokasi waktu untuk dapat mengirim balasan ke master. Mekanisme ini tidak hanya dapat dipakai untuk memeriksa reliabilitas fieldbus, tetapi juga memeriksa apakah titik yang dituju masih aktif atau tidak.

Sistem dapat diaplikasikan pada system terdistribusi dengan plant tertentu. Sehingga fieldbus juga dipergunakan untuk melakukan pengendalian, bukan sekedar mengirimkan data. Terlibat dalam pengendalian, berarti berhubungan dengan frekuensi sampling system kendali loop tertutup.

REFERENSI

[1] Ferdinando, H., Fault Tolerance in Real-time Distributed System Using the CT Library, Electrical Engineering, University of Twente, Enschede. 2004.

[2] Hilderink, G.H., A.W. Bakker and J. F. Broenink, A Distributed Real-time Java Based on CSP, Proc. The Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing ISORC 2000, March 15-17, 2000, Newport Beach, California, (Ed.). 2000.

[3] Jalote, P., Fault Tolerance in Distributed System, Prentice-Hall, Englewood Cliffs, NJ. 1994.

[4] Avizienis, A., J.-C. Laprie and B. Randell Fundamental Concepts of Dependability

[5] Robert Bosch GmBH, CAN Specification version 2.0, Robert Bosch GmBH. 1991.

[6] Kvaser Advanced CAN solutions for hardware, software, consulting and education, [http://www.kvaser.com]

[7] Hilderink, G. H., Communicating Threads for C - Portability Guide. A White Paper. 2000.

Gambar

gambar 1
Gambar 2. Diagram waktu master dan slave pada fault tolerant
Tabel 2. Percobaan dengan SPORT

Referensi

Dokumen terkait

Talun hutan rakyat Talun adalah lahan di luar wilayah permukiman penduduk yangditanami tanaman tahunan yang dapat diambil kayu maupunbuahnya.Sistem ini tidak

Modifikasi yang dilakukan pada suhu pemanasan 110 o C selama 6 jam dapat menghasilkan pati termodifikasi dengan karakteristik gelatinisasi tipe C, pati tersebut

Kelompok ikan Elasmobranchii, yaitu hiu dan pari, sirip ventralnya bermodifikasi menjadi miksopterigium (klasper) yang berfungsi sebagai penyalur sperma yang

Hutang piutang menurut Purnama (2015:23), merupakan transaksi yang dilakukan oleh pihak yang memberikan harta baik berupa uang maupun barang kepada pihak yang

Apakah Ekstrak Etanol Daun Mimba (Azadirachta indica A. Juss) memiliki potensi yang sebanding dengan povidone iodine 10% dalam mempercepat penyembuhan luka... 4 1.3

Suku Cadang material permesinan selain mempunyai tempat penyimpanan seperti tersebut diatas, setiap item material juga hams memiliki "dokumen" yang dapat

Pada kegiatan ini akan dikembangkan pengujian beberapa komponen Metode PHT dalam pengendalian penyakit Vascular Streak dieback (VSD) pada tanaman kakao dengan

Secara yuridis, sesuai dengan Perda Kabupaten Jembrana Nomor 15 Tahun 2011 tentang Pembentukan Organisasi Dan Tata Kerja Perangkat Daerah Kabupaten Jembrana, memiliki dua