Arsitektur Sistem Komputer - Sistem Clustered
Contoh lain dari sistem multiprocessor adalah sistem clustered, yang mengumpulkan multiple CPUs. Sistem clustered berbeda dari sistem multiprocessor, pada sistem ini tersusun atas dua atau lebih sistem komputer atau disebut dengan node, yang digabungkan bersama-sama. Setiap node dapat berupa sistem single-processor atau sistem multicore. Karakteriktik utama dari sistem clustered biasanya dihubungkan melalui network baik local area network (LAN) maupun interkoneksi yang lebih cepat untuk melakukan share storage.
Sistem clustered biasanya digunakan untuk menyediakan layanan high-availability (HA), yang artinya sebuah service akan tetap berlanjut meskipun satu atau lebih sistem didalam cluster sedang mengalami kegagalan. Umumnya untuk mencapai HA service dilakukan dengan cara menambahkan redudancy level didalam sistem cluster itu sendiri. Secara garis besar cara kerja HA service dilakukan oleh layer software yang berjalan di cluster nodes, sehingga setiap node dapat memantau (monitoring) satu atau lebih node lainnya. Sebagai perumpamaan jika node/machine yang di-monitoring gagal (fail), node yang memantau dapat mengambil ahli kepemilikan storage-nya dan melakukan restart application yang berjalan pada node/machine yang gagal, sehingga disisi users/clients hanya melihat adanya gangguan layanan (interrupt service) secara singkat.
Sistem cluster dapat disusun secara symmetric atau asymmetric. Pada sistem asymmetric clustering satu machine dalam mode siaga (hot-standby), sementara machine lainnya menjalankan aplikasi. Host machine yang sebagai hot-standby tidak melakukan apapun selain monitoring terhadap active node/server. Jika server mengalami faillure maka hot-standby akan menjadi active server tersebut. Sedangkan pada sistem symmectric clustering dua atau lebih machine menjalankan aplikasi untuk saling monitoring. Struktur ini jelas lebih efesien, karena menggunakan semua hardware yang tersedia, namun membutuhkan lebih dari satu aplikasi tersedia untuk dijalankan.
Gambar Sturktur umum dari sistem cluster.
Karena sistem clustering terdiri dari beberapa sistem komputer yang saling terhubung melalui network, maka dapat digunakan untuk menyediakan lingkungan komputasi berkinerja tinggi (high-performance computing environment) sering disingkat dengan HPC. Tentunya sistem HPC ini dapat memasok power komputasi yang tinggi dibandingkan dengan single-processor bahkan dengan sistem SMP. Hal ini dikarenakan HPC dapat menjalankan aplikasi secara bersamaan disemua komputer didalam cluster, namun aplikasi tersebut harus ditulis secara spesifik agar dapat menamfaatkan keuntungan dari sistem cluster. Tenkik program agar dapat memanfaatkan HPC ini dikenal sebagai teknik parallelization, yang membagi program menjadi komponen terpisah yang dapat berjalan secara paralel pada setiap komputer di cluster. Biasanya aplikasi yang dapat memanfaatkan HPC ini dirancang sedemikian rupa, sehingga setelah setiap komputasi node dalam cluster selesai mengerjakan bagian masalahnya, selanjutnya hasil dari setiap node tersebut digabungkan sebagai solusi akhir.
Pada umumnya clustering digunkankan karena sebagian besar sistem operasi tidak mendukung pengaksesan data secara simultan oleh banyak hosts, dan sistem parallel cluster memerlukan software atau aplikasi khusus. Contoh aplikasi Oracle Real Application Cluster, adalah versi database Oracle yang dirancang untuk berjalan pada parallel cluster. Secara garis besar cara kerja aplikasi ini, pertama setiap machine menjalankan Oracle, selanjutnya software layer melacak akses ke share storage/disk, dan kemudian setiap machine memiliki akses penuh ke semua data di database. Untuk menyediakan akses share disk, sistem harus menyediakan access control dan penguncian (locking) agar tidak ada operasi yang bentrok (no conflict operation occur). Fungsi ini dikenal sebagai distributed lock manager (DLM), dan termaksud kedalam beberapa teknologi clustering.
Perkembangan teknologi cluster sendiri sangat cepat, kebanyakan peningkatannya terletak pada share storage yang dikenal dengan storage area network (SAN), dan secara garis besar merupakan kumpulan dari berbagai storage atau disebut dengan pool-of-storage. Contoh sederhana kegunaan SAN, jika aplikasi dan data disimpan kedalam SAN, maka cluster software dapat menetapkan aplikasi untuk dijalankan di host/machine manapun yang terpasang ke SAN. Jika host gagal menjalankan operasi atau tugasnya, makan host lain akan mengambil ahli, sehingga dalam database cluster, puluhan/banyaknya hosts dapat melakukan share database yang sama, sehingga meningkatkan performa (performance) dan kehandalan (reliability).
Artikel Terkait
Karna pembahasan sistem operasi sangat kompleks, maka kita akan membaginya menjadi beberapa bagian, untuk sementara berikut beberapa artikel lainnya yang terkait atau berhubungan dengan pembahasan ini.
- 1 Gambaran Sistem Operasi - Komponen & Fungsi
- 1.1 Apa Yang Dikerjakan Sistem Operasi
- 1.2 Organisasi Sistem Komputer
- 1.3 Arsitektur Sistem Komputer
- 1.4 Struktur Sistem Operasi
- 1.5 Operasi Sistem Operasi - Trap Exception
Referensi
- Operating Systems: Internals and Design Principles (8th Edition), William Stallings, 2014.
- Operating System Concepts (9th Edition in Chinese) by Abraham Silberschatz et al.
- The Linux Programming Interface: A Linux and UNIX System Programming Handbook, Michael Kerrisk.
Warning!
We are not responsible for any loss whatsoever due to this site, also if you want to take this article please read terms of use or touch us via contact page.
If there is question, please discuss below. Very welcome and expected to provide corrections, criticisms, and suggestions.
Be the first :D