Kluster dan Komputasi Paralel

Apabila berbicara mengenai kluster dan komputasi paralel, dalam benak pembaca pasti membayangkan sekumpulan komputer server tertata rapi di sejumlah rak server. Dengan banyak kabel UTP berwarna warni yang menghubungkan antara masing masing server kepada router atau switch. Server – server tersebut berada di ruang khusus dengan suhu minimum untuk menjaga kinerja masing masing server secara optimal. Namun dengan kemunculan SBC (Single Board Computer) seperti Raspberry pi, Orange Pi, Rock on, dan berbagai merk yang lain dapat merubah paradigma tersebut. Server tidak lagi tersusun dari sekumpulan komputer canggih yang membutuhkan daya yang tinggi dengan fasilitas khusus. SBC dapat ditata dalam kluster untuk sebuah fungsi dan kebutuhan tertentu. [6]

Komputasi paralel (Parallel Computing) bukan merupakan sebuah penemuan yang baru, terminologi ini sudah dikenal sejak ahkir 1950 dan awal 1960. Saat itu kebutuhan perangkat keras untuk kebutuhan dalam bidang industri desain Pesawat terbang dan pertahanan sangat tinggi. Dibutuhkan komputer dengan komputasi yang tinggi untuk melakukan desain dan perhitungan yang kompleks, sehingga ditemukan  arsitektur High Performance Computing (HPC). Sedangkan konsep komputasi paralel dapat digambarkan sebuah masalah yang cukup besar dan kompleks dipecah menjadi beberapa bagian, dan bagian bagian tersebut dapat diolah oleh beberapa komputer secara bersamaan atau paralel. Sehingga paralelism dapat didefinisikan sebagai proses yang dikerjakan secara simultan oleh lebih dari 1 komputer.

Gambar 1. Konsep kluster komputer [7]

Konsep arsitektur HPC dapat digambarkan pada gambar 1 diatas (bagan sebelah kiri), pada umumnya HPC terdiri dari beberapa komputer yang bekerja secara individual. Perbedaan dari PC dengan HPC yaitu pada HPC masing masing komputer terhubung melalu sebuah jaringan dengan satu atau beberapa komputer sebagai pengatur. Masing masing komputer disebut sebagai node , di dalam sebuah HPC ada kemungkinan terdiri dari node dengan spesifikasi yang beraneka ragam. Saat mengakses HPC, pengguna tidak dapat melakukan akses langsung terhadap node, pengguna hanya dapat berinteraksi terhadap kontroler HPC melalui akses SSH. Setiap node mempunyai minimal satu buah prosesor, pada tiap prosesor pada umumnya terdiri dari minimal 1 buah core. Masing masing core mempunyai Floating Point Unit (FPU) yang bertanggung jawab melakukan proses komputasi data.

Kluster Beowulf

Pada tahun 1994, NASA menginsiasi sebuah proyek dengan nama High Performance Computing and Communications (HPCC). Tujuan dari proyek ini adalah meneliti potensi dari kluster dengan jumlah PC tertentu dengan beban melebihi dari kinerja PC yang ada. [8]. Penamaan Beowulf mengambil dari mitologi Inggris kuno, dimana ada seorang pahlawan yang dapat mengalahkan seekor naga namun terluka parah akibat peperangan tersebut.

Pada bagan arsitektur diatas, sebuah node Beowulf terdiri dari komputer yang terhubung di dalam satu jaringan komputer yang sama. Setiap komputer mempunyai program dan library yang sama sehingga semua node di dalam kluster tersebut mempunyai kemampuan untuk membagi proses dan mengolah data. Kluster Beowulf  menerapkan arsitektur yang sama pada HPC, dimana ada sebuah node yang bertugas sebagai head. Node ini bertugas untuk  mengatur dan membagi beban kerja node – node yang lain. Pada kluster Beowulf pengguna juga tidak diperkenankan mengakses node selain node head, akses kepada node head juga dapat melalui koneksi SSH.