Komputasi terdistribusi adalah metode
yang membuat beberapa komputer bekerja sama untuk memecahkan masalah umum.
Komputasi terdistribusi membuat jaringan komputer muncul sebagai sebuah
komputer tunggal yang tangguh dan menyediakan sumber daya berskala besar untuk
menghadapi tantangan yang kompleks.
Misalnya, komputasi terdistribusi dapat
mengenkripsi volume data yang besar; memecahkan persamaan fisika dan kimia
dengan banyak variabel; serta membuat animasi video tiga dimensi berkualitas
tinggi. Sistem terdistribusi, pemrograman terdistribusi, dan algoritme
terdistribusi adalah beberapa istilah lain yang semuanya mengacu pada komputasi
terdistribusi.
Apa
saja keuntungan komputasi terdistribusi?
Sistem
terdistribusi membawa banyak keuntungan dibandingkan komputasi sistem tunggal.
Berikut adalah beberapa contohnya.
Skalabilitas
Sistem
terdistribusi dapat berkembang seiring dengan beban kerja dan persyaratan Anda.
Anda dapat menambahkan simpul baru, yaitu lebih banyak perangkat komputasi, ke
jaringan komputasi terdistribusi saat dibutuhkan.
Ketersediaan
Sistem
komputasi terdistribusi Anda tidak akan gagal jika salah satu komputer mati.
Desain tersebut menunjukkan toleransi kesalahan karena dapat terus beroperasi
meskipun komputer individu mengalami kegagalan.
Konsistensi
Komputer dalam
sistem terdistribusi berbagi informasi dan menduplikasi data di antara mereka,
tetapi sistem tersebut secara otomatis mengelola konsistensi data di semua
komputer yang berbeda. Dengan demikian, Anda mendapatkan manfaat dari toleransi
kesalahan tanpa mengorbankan konsistensi data.
Transparansi
Sistem
komputasi terdistribusi menyediakan pemisahan logis antara pengguna dan
perangkat fisik. Anda dapat berinteraksi dengan sistem seolah-olah itu adalah
satu komputer, tanpa khawatir mengenai pengaturan dan konfigurasi mesin
individu. Anda dapat memiliki perangkat keras, perangkat lunak perantara (middleware),
perangkat lunak, dan sistem operasi yang berbeda yang bekerja sama agar sistem
Anda berfungsi dengan lancar.
Efisiensi
Sistem
terdistribusi menawarkan performa yang lebih cepat dengan penggunaan sumber
daya yang optimal dari perangkat keras yang mendasarinya. Hasilnya, Anda dapat
mengelola semua beban kerja tanpa khawatir mengenai kegagalan sistem akibat
lonjakan volume atau penggunaan perangkat keras yang mahal.
Apa saja kasus
penggunaan komputasi terdistribusi?
Komputasi terdistribusi saat ini ada
dimana-mana. Aplikasi seluler dan web adalah contoh komputasi terdistribusi
karena beberapa mesin bekerja bersama di backend agar aplikasi memberi
Anda informasi yang benar. Namun, saat sistem terdistribusi ditingkatkan,
aplikasi seluler dan web dapat memecahkan tantangan yang lebih kompleks. Mari
kita jelajahi beberapa cara yang dilakukan oleh industri berbeda dalam
menggunakan aplikasi terdistribusi berperforma tinggi.
Pemeliharaan
kesehatan dan ilmu hayati
Pemeliharaan
kesehatan dan ilmu hayati menggunakan komputasi terdistribusi
untuk memodelkan dan menyimulasikan data ilmu hayati yang kompleks. Analisis
citra, penelitian obat medis, dan analisis struktur gen, semuanya menjadi lebih
cepat dengan sistem terdistribusi. Di bawah ini adalah beberapa contohnya:
·
Mempercepat desain obat berbasis struktur dengan memvisualisasikan model
molekuler dalam tiga dimensi.
·
Mengurangi waktu pemrosesan data genomik untuk mendapatkan wawasan awal
mengenai kanker, fibrosis kistik, dan Alzheimer.
·
Mengembangkan sistem cerdas yang membantu dokter mendiagnosis pasien
dengan memproses sejumlah besar citra yang kompleks seperti MRI, sinar-X,
dan CT scan.
Merekayasa
penelitian
Teknisi dapat menyimulasikan konsep fisika dan
mekanik yang kompleks pada sistem terdistribusi. Mereka menggunakan penelitian
ini untuk meningkatkan desain produk, membangun struktur yang kompleks, dan
mendesain kendaraan yang lebih cepat. Di bawah ini adalah beberapa contohnya:
·
Penelitian komputasi
dinamika fluida mempelajari perilaku cairan dan
mengimplementasikan konsep-konsep tersebut dalam desain pesawat terbang dan
mobil balap.
·
Rekayasa berbantuan komputer memerlukan alat simulasi komputasi intensif
untuk menguji rekayasa pabrik baru, elektronik, dan barang konsumsi.
Jasa
keuangan
Perusahaan jasa keuangan menggunakan
sistem terdistribusi untuk melakukan simulasi ekonomi berkecepatan tinggi yang
menilai risiko portofolio, memprediksi pergerakan pasar, dan mendukung
pengambilan keputusan keuangan. Perusahaan jasa keuangan dapat membuat aplikasi
web yang menggunakan kekuatan sistem terdistribusi untuk melakukan hal berikut:
·
Memberikan premi yang dipersonalisasi dan berbiaya rendah
·
Menggunakan basis data terdistribusi untuk mendukung volume transaksi
keuangan yang sangat tinggi dengan aman.
·
Mengautentikasi pengguna dan melindungi pelanggan dari penipuan
Energi dan
lingkungan
Perusahaan
energi perlu menganalisis volume data yang besar untuk
meningkatkan operasi dan transisi ke solusi yang berkelanjutan dan ramah iklim.
Mereka menggunakan sistem terdistribusi untuk menganalisis aliran data
bervolume tinggi dari jaringan sensor yang luas dan perangkat cerdas lainnya.
Berikut ini adalah beberapa tugas yang dapat mereka lakukan:
·
Streaming dan konsolidasi data seismik untuk desain struktural
pembangkit listrik
·
Pemantauan sumur minyak secara langsung untuk manajemen risiko proaktif
Apa saja tipe
arsitektur komputasi terdistribusi?
Dalam
komputasi terdistribusi, Anda mendesain aplikasi yang dapat berjalan di
beberapa komputer, bukan hanya di satu komputer. Anda mencapai tujuan ini
dengan mendesain perangkat lunak sehingga komputer yang berbeda melakukan
fungsi yang berbeda dan berkomunikasi untuk mengembangkan solusi akhir. Ada
empat tipe utama arsitektur terdistribusi.
Arsitektur
klien-server
Klien-server
adalah metode paling umum dari organisasi perangkat lunak pada sistem
terdistribusi. Fungsi dipisahkan menjadi dua kategori: klien dan server.
Klien
Klien memiliki
informasi dan kemampuan pemrosesan yang terbatas. Sebaliknya, klien membuat permintaan
ke server, yang mengelola sebagian besar data dan sumber daya lainnya. Anda
dapat membuat permintaan ke klien, dan klien berkomunikasi dengan server atas
nama Anda.
Server
Komputer
server menyinkronkan dan mengelola akses ke sumber daya. Mereka menanggapi
permintaan klien dengan data atau informasi status. Biasanya, satu server dapat
menangani permintaan dari beberapa mesin.
Manfaat dan
keterbatasan
Arsitektur
klien-server memberikan manfaat keamanan dan kemudahan manajemen yang
berkelanjutan. Anda hanya perlu fokus mengamankan komputer server. Demikian
pula, setiap perubahan pada sistem basis data hanya memerlukan perubahan pada
server.
Keterbatasan
arsitektur klien-server adalah bahwa server dapat menyebabkan kemacetan
komunikasi, terutama ketika beberapa mesin membuat permintaan secara bersamaan.
Arsitektur
tiga tingkat
Dalam sistem
terdistribusi tiga tingkat, mesin klien tetap menjadi tingkat pertama yang Anda
akses. Di sisi lain, mesin server, dibagi lagi menjadi dua kategori:
Server
aplikasi
Server
aplikasi bertindak sebagai komunikasi tingkat menengah. Server aplikasi berisi
logika aplikasi atau fungsi inti yang Anda desain untuk sistem terdistribusi.
Server basis
data
Server basis
data bertindak sebagai tingkat ketiga untuk menyimpan dan mengelola data.
Server basis data bertanggung jawab untuk pengambilan data dan konsistensi
data.
Dengan membagi
tanggung jawab server, sistem terdistribusi tiga tingkat mengurangi kemacetan
komunikasi dan meningkatkan performa komputasi terdistribusi.
Arsitektur n
tingkat
Model N
tingkat mencakup beberapa sistem klien-server yang berbeda dan berkomunikasi
satu sama lain untuk memecahkan masalah yang sama. Sebagian besar sistem
terdistribusi modern menggunakan arsitektur n tingkat yang bekerja sama dengan
berbagai aplikasi perusahaan sebagai satu sistem di belakang layar.
Arsitektur peer-to-peer
Sistem
terdistribusi peer-to-peer memberikan tanggung jawab yang sama untuk
semua komputer yang terhubung ke jaringan. Tidak ada pemisahan antara komputer
klien dan server. Komputer mana pun dapat melakukan semua tanggung jawab.
Arsitektur peer-to-peer menjadi populer untuk berbagi konten, streaming
file, dan jaringan blockchain.
Bagaimana cara
kerja komputasi terdistribusi?
Komputasi terdistribusi bekerja dengan
komputer yang mengirimkan pesan satu sama lain dalam arsitektur sistem
terdistribusi. Protokol atau aturan komunikasi menciptakan ketergantungan
antara komponen sistem terdistribusi. Saling ketergantungan ini disebut
penggabungan. Ada dua tipe utama penggabungan.
Penggabungan
longgar
Dalam penggabungan longgar, komponen terhubung
dengan lemah sehingga perubahan pada satu komponen tidak memengaruhi komponen
lain. Misalnya, komputer klien dan server dapat digabungkan secara
longgar oleh waktu. Pesan dari klien ditambahkan ke antrean server, dan klien
dapat terus melakukan fungsi lain hingga server merespons pesannya.
Penggabungan
erat
Sistem terdistribusi performa tinggi
sering menggunakan penggabungan erat. Jaringan area lokal cepat biasanya
menghubungkan beberapa komputer, yang menciptakan sebuah klaster. Dalam
komputasi klaster, setiap komputer diatur untuk melakukan tugas yang sama.
Sistem kontrol pusat, disebut perangkat lunak perantara (middleware) pengklasteran,
mengontrol dan menjadwalkan tugas, serta mengoordinasikan komunikasi antara
komputer yang berbeda.