Cluster
Computing
Cluster,
dalam ilmu komputer dan jaringan komputer adalah sekumpulan komputer (umumnya
server jaringan) independen yang beroperasi serta bekerja secara erat dan
terlihat oleh klien jaringan seolah-olah komputer-komputer tersebut adalah satu
buah unit komputer. Proses menghubungkan beberapa komputer agar dapat bekerja
seperti itu dinamakan dengan Clustering. Komponen cluster biasanya saling
terhubung dengan cepat melalui sebuah interkoneksi yang sangat cepat, atau bisa
juga melalui jaringan lokal (LAN).
Karena
menggunakan lebih dari satu buah server, maka manajemen dan perawatan sebuah
cluster jauh lebih rumit dibandingkan dengan manajemen server mainframe tunggal
yang memiliki skalabilitas tinggi (semacam IBM AS/400), meski lebih murah.
Cluster didesain agar meningkatkan kemampuan sebuah server, yakni dengan
meningkatkan hal-hal berikut:
1. Toleransi
kesalahan (fault tolerance), yang dapat menyebabkan server lainnya akan
mengambil alih kerja serverutama ketika server utama mengalami kegagalan.
Client tidak akan melihat pergantian peran ini. Dengan begitu, downtime pun
dapat dikurangi secara drastis.
2.
Penyerataan beban (load-balancing), yang dapat mendistribusikan beban server ke
semua server anggota cluster. Dengan begitu, kinerja dan skalabilitas server
pun menjadi relatif lebih baik.
Beberapa
sistem yang mendukung cluster antara lain:
1.
Windows NT Server, Enterprise Edition, dengan sebuah layanan yang disebut
Microsoft Cluster Service (MSCS)
2.
Windows 2000 Advanced Server, dengan sebuah layanan yang disebut dengan
Microsoft Clustering Service
3.
Windows 2000 Datacenter Server
4.
Windows Server 2003 Enterprise Edition (x86/IA-64/x64), dengan sebuah layanan
yang disebut sebagai Microsoft Clustering Service
5.
Windows Server 2003 Datacenter Edition (x86/IA-64/x64)
6.
Solaris UNIX
7.
GNU/Linux
Seringnya, penggunaan utama kluster komputer adalah
untuk tujuan komputasi, ketimbang penanganan operasi yang berorientasi I/O
seperti layanan Web atau basis data. Sebagai contoh, sebuah kluster mungkin
mendukung simulasi komputasional untuk perubahan cuaca atau tabrakan kendaraan.
Perbedaan utama untuk kategori ini dengan kategori lainnya adalah seberapa
eratkah penggabungan antar node-nya. Sebagai contoh, sebuah tugas komputasi
mungkin membutuhkan komunikasi yang sering antar node--ini berarti bahwa
kluster tersebut menggunakan sebuah jaringan terdedikasi yang sama, yang
terletak di lokasi yang sangat berdekatan, dan mungkin juga merupakan node-node
yang bersifat homogen. Desain kluster seperti ini, umumnya disebut juga sebagai
Beowulf Cluster. Ada juga desain yang lain, yakni saat sebuah tugas komputasi
hanya menggunakan satu atau beberapa node saja, dan membutuhkan komunikasi
antar-node yang sangat sedikit atau tidak ada sama sekali. Desain kluster ini,
sering disebut sebagai "Grid".
Beberapa
compute cluster yang dihubungkan secara erat yang didesain sedemikian rupa,
umumnya disebut dengan "Supercomputing". Beberapa perangkat lunak
Middleware seperti MPI atau Parallel Virtual Machine (PVM) mengizinkan program
compute clustering agar dapat dijalankan di dalam kluster-kluster tersebut.
Kategori Kluster Komputer
Kluster
komputer terbagi ke dalam beberapa kategori, sebagai berikut:
Kluster
untuk ketersediaan yang tinggi (High-availability clusters).
Kluster
untuk pemerataan beban komputasi (Load-balancing clusters).
Kluster
hanya untuk komputasi (Compute clusters)
Grid
Computing.
High-availability
cluster
High-availability cluster, yang juga sering disebut
sebagai Failover Cluster pada umumnya diimplementasikan untuk tujuan
meningkatkan ketersediaan layanan yang disediakan oleh kluster tersebut. Elemen
kluster akan bekerja dengan memiliki node-node redundan, yang kemudian
digunakan untuk menyediakan layanan saat salah satu elemen kluster mengalami
kegagalan. Ukuran yang paling umum dari kategori ini adalah dua node, yang
merupakan syarat minimum untuk melakukan redundansi.
Implementasi kluster jenis ini
akan mencoba untuk menggunakan redundansi komponen kluster untuk menghilangkan
kegagalan di satu titik (Single Point of Failure).
Ada
beberapa implementasi komersial dari sistem kluster kategori ini, dalam
beberapa sistem operasi. Meski demikian, proyek Linux-HA adalah salah satu
paket yang paling umum digunakan untuk sistem operasi GNU/Linux.
Dalam
keluarga sistem operasi Microsoft Windows NT, sebuah layanan yang disebut
dengan Microsoft Cluster Service (MSCS) dapat digunakan untuk menyediakan
kluster kategori ini. MSCS ini diperbarui lagi dan telah diintegrasikan dalam
Windows 2000 Advanced Server dan Windows 2000 Datacenter Server, dengan nama
Microsoft Clustering Service. Dalam Windows Server 2003, Microsoft Clustering
Service ini ditingkatkan lagi kinerjanya.
Load
balancing cluster
Kluster kategori ini beroperasi
dengan mendistribusikan beban pekerjaan secara merata melalui beberapa node
yang bekerja di belakang (back-end node). Umumnya kluster ini akan
dikonfigurasikan sedmikian rupa dengan beberapa front-end load-balancing
redundan. Karena setiap elemen dalam sebuah kluster load-balancing menawarkan
layanan penuh, maka dapat dikatakan bahwa komponen kluster tersebut merupakan
sebuah kluster aktif/kluster HA aktif, yang bisa menerima semua permintaan yang
diajukan oleh klien.
Grid computing
Grid
pada umumnya adalah compute cluster, tapi difokuskan pada throughput seperti
utilitas perhitungan ketimbang menjalankan pekerjaan-pekerjaan yang sangat erat
yang biasanya dilakukan oleh Supercomputer. Seringnya, grid memasukkan
sekumpulan komputer, yang bisa saja didistribusikan secara geografis, dan
kadang diurus oleh organisasi yang tidak saling berkaitan.
Grid
computing dioptimalkan untuk beban pekerjaan yang mencakup banyak pekerjaan
independen atau paket-paket pekerjaan, yang tidak harus berbagi data yang sama
antar pekerjaan selama proses komputasi dilakukan. Grid bertindak untuk
mengatur alokasi pekerjaan kepada komputer-komputer yang akan melakukan tugas
tersebut secara independen. Sumber daya, seperti halnya media penyimpanan,
mungkin bisa saja digunakan bersama-sama dengan komputer lainnya, tapi hasil
sementara dari sebuah tugas tertentu tidak akan
mempengaruhi pekerjaan lainnya yang sedang berlangsung dalam komputer lainnya.
Sebagai
contoh grid yang sangat luas digunakan adalah proyek Folding@home, yang
menganalisis data yang akan digunakan oleh para peneliti untuk menemukan obat
untuk beberapa penyakit seperti Alzheimer dan juga kanker. Proyek lainnya,
adalah SETI@home, yang merupakan proyek grid terdistribusi yang paling besar
hingga saat ini. Proyek SETI@home ini menggunakan paling tidak 3 juta komputer
rumahan yang berada di dalam komputer rumahan untuk menganalisis data dari
teleskop radio observatorium Arecibo (Arecibo Observatory radiotelescope),
mencari bukti-bukti keberadaan makhluk luar angkasa. Dalam dua kasus tersebut,
tidak ada komunikasi antar node atau media penyimpanan yang digunakan
bersama-sama.
Implementasi
Daftar
semi-tahunan organisasi TOP500, yang mencantumkan 500 komputer tercepat di
dunia umumnya mencakup banyak kluster. TOP500 adalah sebuah kolaborasi antara
Universitas Mannheim, Universitas Tennessee, dan National Energy Research
Scientific Computing Center di Lawrence Berkeley National Laboratory. Hingga 18
Juni 2008, superkomputer tercepat yang tercatat di dalam TOP500 adalah sistem
Roadrunner yang dimiliki oleh Department of Energy Amerika Serikat, yang
kinerjanya mencapai 1026 TeraFlops (Triliun Floating Point Operation per
Second) dalam benchmark High-Performance LINPACK.
No comments:
Post a Comment