Kebutuhan sistem komputer dengan kemampuan komputasi tinggi semakin meningkat sejalan dengan peningkatan penggunaan aplikasi komputer untuk memecahkan berbagai masalah dalam kehidupan manusia secara tepat dan cepat. Aplikasi grafis dan multimedia yang banyak digunakan dalam pembuatan film animasi harus mampu mengolah ribuan gambar dengan cepat, dan aplikasi basis data membutuhkan komputasi tinggi agar dapat berjalan secara real time, untuk melayani tuntutan bisnis global saat ini, merupakan contoh kebutuhan tersebut. Penggunaan komputer berskala besar atau mainframe menuntut biaya investasi dan pemeliharaan yang tinggi sementara kemampuan komputer personal atau PC serta teknologi jaringan komputer berkembang dengan pesat. Kondisi ini mendorong perkembangan teknik pemrosesan terdistribusi atau distributed processing dengan menggunakan komputer cluster. Komputer cluster merupakan suatu sistem komputer yang memanfaatkan banyak komputer, dalam hal ini PC, yang terhubung dalam suatu jaringan komputer dan bekerja bersama secara paralel untuk menyelesaikan proses komputasi yang diberikan. Salah satu teknik manajemen memori pada komputer cluster adalah adalah Distributed Shared Memory atau disingkat DSM. Teknik ini memungkinkan proses yang berada pada mesin yang berbeda di komputer cluster untuk saling berbagi penggunaan memori walaupun secara fisik mesin-mesin anggota cluster ini tidak memiliki memori bersama. DSM menyediakan pandangan abstrak tentang memori bersama pada sebuah sistem memori terdistribusi, atau dapat juga dikatakan DSM akan menyediakan sebuah memori maya yang global atau global virtual memory.
2. Sistem Komputer Cluster
Banyaknya sistem komputer yang dijumpai hingga saat ini seringkali membingungkan. Michael J. Flynn [1972] mengklasifikasikannya berdasarkan jumlah instruksi dan data yang secara simultan diproses oleh prosesor. Flynn Taxonomy merupakan klasifikasi yang paling banyak digunakan khususnya dalam mengelompokkan arsitektur komputasi paralel (Stalings, 2003: 645-647).
Flynn Taxonomy
Suatu komputer cluster memiliki berbagai komponen pendukung (Changhun, 2002: 151-742) yaitu:
a. Dua atau lebih High Performance Computers seperti PC, Workstation, atau SMP.
b. Sistem Operasi komputer (Layered atau Micro-kernel based)
c. High Performance Networks/Switches (Misalnya Ethernet)
d. Network Interface Cards (NICs)
e. Fast Communication Protocols and Services
f. Cluster Middleware (Single System Image atau SSI dan System Availability Infrastructure)
g. Parallel Programming Environments and Tools (seperti compilers, PVM (Parallel Virtual Machine), and MPI (Message Passing Interface))
h. Program aplikasi.
3. Distributed Shared Memory Pada Sistem Komputer Cluster
Kedua sistem MIMD seperti disebutkan diatas, memiliki kelebihannya masing-masing dimana sistem shared memory memiliki kelebihan pada komunikasi antar proses dengan menggunakan shared
variable yang relatif lebih mudah dibandingkan dengan message passing yang digunakan pada sistem distributed memory. Sedangkan sistem distributed memory memiliki keunggulan dari sisi skalabilitas dan keandalan sistem. Usaha untuk menggabungkan keunggulan dari kedua sistem ini memunculkan teknologi distributed shared memory pada sistem komputer cluster. Sebuah sistem distributed shared memory akan memberikan pandangan logika shared memory pada sistem komputer dengan distributed memory. Pada sistem cluster, hal ini memungkinkan proses pada node yang berbeda untuk membagi penggunaan memori, walaupun secara fisik tidak memiliki shared memory. Distributed Shared Memory dirancang untuk memberikan fasilitas shared memory pada sistem komputer dengan memori yang secara fisik terdistribusi. Hal ini memberikan sistem dengan memori yang terdistribusi kemampuan pemrograman dengan shared memory pada sistem distributed memory.
Seperti telah diketahui pemrograman pada sistem distributed memory menggunakan metoda message passing untuk komunikasi antar proses. Metoda ini pada umumnya lebih rumit dibandingkan dengan metode shared memory, karena message passing mengharuskan pengembang aplikasi untuk mengatur aliran data antar proses secara eksplisit. Komunikasi dan sinkronisasi antar proses dilakukan dengan pengiriman dan penerimaan pesan secara jelas dan teratur. Pada sistem shared memory komunikasi antar proses dilakukan pada shared memory melalui shared variable yang dapat diakses oleh semua proses yang ada, pemrograman yang dilakukan relatif tidak jauh berbeda dengan
pemrograman seperti pada uniprosesor. Pada dasarnya konfigurasi sistem distributed shared memory adalah penggunaan bagian dari memori lokal dari node penyusun cluster untuk dijadikan shared memory yang dalam penggunaanya dapat berbagi dan dapat diakses oleh proses dari node yang lain. Bagian memori lokal yang tidak digunakan sebagai shared memory akan menjadi memori lokal bagi tiap node yang digunakan untuk operasi lokal node itu sendiri.
Sumber : ANALISIS UNJUK KERJA KOMPUTASI DISTRIBUTED SHARED MEMORY PADA SISTEM CLUSTER KOMPUTER PERSONAL
Ferrianto Gozali & Dimas Lagusto*
0 comments:
Posting Komentar