Apa Itu Komputasi Terdistribusi?
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.
Apa itu komputasi paralel?
Komputasi paralel adalah tipe komputasi di mana satu atau beberapa komputer dalam jaringan melakukan banyak perhitungan atau proses secara bersamaan. Meskipun istilah komputasi paralel dan komputasi terdistribusi sering digunakan secara bergantian, mereka memiliki beberapa perbedaan.
Komputasi paralel vs. komputasi terdistribusi
Komputasi paralel adalah bentuk komputasi terdistribusi yang digabungkan secara erat. Dalam pemrosesan paralel, semua prosesor memiliki akses ke memori bersama untuk bertukar informasi di antara mereka. Di sisi lain, dalam pemrosesan terdistribusi, setiap prosesor memiliki memori pribadi (memori terdistribusi). Prosesor menggunakan message passing untuk bertukar informasi.
Apa itu komputasi grid?
Dalam komputasi grid, jaringan komputer yang terdistribusi secara geografis bekerja sama untuk melakukan tugas-tugas umum. Salah satu fitur grid terdistribusi adalah Anda dapat membentuknya dari sumber daya komputasi yang dimiliki oleh banyak individu atau organisasi.
Komputasi grid vs. komputasi terdistribusi
Komputasi grid adalah komputasi terdistribusi berskala tinggi yang menekankan performa dan koordinasi antara beberapa jaringan. Secara internal, setiap grid bertindak seperti sistem komputasi yang digabungkan secara erat. Namun, secara eksternal, grid digabungkan secara lebih longgar. Setiap jaringan grid melakukan fungsi individu dan mengomunikasikan hasilnya ke grid lainnya.
Apa itu Komputasi Performa Tinggi AWS?
Dengan AWS High-Performance Computing (HPC), Anda dapat mempercepat inovasi dengan jaringan yang cepat dan infrastruktur komputasi terdistribusi yang hampir tidak terbatas. Misalnya, Anda dapat menggunakan layanan ini:
- Amazon Elastic Cloud Compute (EC2) mendukung hampir semua beban kerja dengan kapasitas komputasi yang aman dan dapat diubah ukurannya.
- AWS Batch untuk menskalakan ratusan ribu tugas komputasi di seluruh layanan komputasi AWS.
- AWS ParallelCluster untuk membangun lingkungan komputasi HPC dan klaster HPC dengan cepat.
Mulai komputasi terdistribusi di AWS dengan membuat akun gratis sekarang.