Komputasi terdistribusi menggunakan banyak sumber daya komputasi di lokasi operasi yang berbeda untuk satu tujuan komputasi.
Sistem komputasi terdistribusi membuat hal-hal terjadi secara besar-besaran. Pikirkan tentang hal itu lain kali Anda memainkan game online multipemain masif (MMO). Untuk mengelola MMO secara efektif, dibutuhkan seluruh sistem yang bersatu dan bekerja sama untuk memberikan pengalaman online yang mulus yang secara bersamaan digunakan oleh ribuan pemain dalam lingkungan waktu nyata.
Komputasi terdistribusi membantu penyedia layanan untuk mengerahkan sinkronisasi terkoordinasi dan kekuatan pemrosesan komputer untuk mencapai tujuan bersama.
Dan itu hanyalah salah satu contoh dari banyak aplikasi luas untuk layanan komputasi terdistribusi yang sekarang digunakan, termasuk membuat grafik 3D yang jelas untuk animasi video, melatih neural networks yang meniru fungsi otak manusia, dan memecahkan persamaan yang sangat kompleks terkait dengan kimia dan fisika.
Biasanya, model komputasi terdistribusi mengambil tugas komputasi dan beban kerja yang paling intensif dan menangani tantangan komputasi yang paling serius, itulah sebabnya ia memerlukan penggunaan beberapa komponen dan memori bersama.
Komputasi terdistribusi menyatukan beberapa komputer, server, dan jaringan untuk menyelesaikan tugas komputasi dengan ukuran dan tujuan yang sangat bervariasi. Pada sistem komputasi kecil yang terdistribusi dengan komponen yang saling berdekatan, komponen-komponen ini dapat dihubungkan melalui jaringan area lokal (LAN).
Dalam sistem terdistribusi yang lebih besar yang komponen-komponennya dipisahkan oleh geografi, komponen-komponen dihubungkan melalui jaringan area luas (WAN). Komponen dalam sistem terdistribusi berbagi informasi melalui jenis jaringan apa pun yang digunakan. Contoh sistem terdistribusi yang paling terkenal adalah Internet. Mungkin contoh paling kontroversial dari sistem terdistribusi belakangan ini adalah mata uang kripto.
Dari perspektif komputasi, dalam hal jumlah komponen yang biasanya terlibat, bahkan bentuk komputasi terdistribusi yang paling dasar pun biasanya mengandung tiga komponen dasar:
Akan tetapi, tidak ada aturan pasti yang membatasi apa yang menjadi kondisi komputasi terdistribusi atau berapa banyak komponen perangkat lunak yang dibutuhkan untuk menjalankan fungsinya. Mungkin ada beberapa komponen yang bekerja dalam rantai (atau jaringan) tersebut, atau instansi tersebut dapat menggabungkan lebih banyak lagi.
Ini adalah salah satu keuntungan besar dalam menggunakan sistem komputasi terdistribusi; sistem dapat diperluas dengan menambahkan lebih banyak mesin. Keuntungan signifikan lainnya adalah peningkatan redundansi, jadi jika satu komputer di jaringan gagal karena alasan apa pun, pekerjaan sistem lanjutkan, meskipun titik kegagalan itu.
Konsep redundansi tambahan ini berjalan seiring dengan penekanan pada toleransi kesalahan. Toleransi kesalahan adalah proses korektif yang memungkinkan OS untuk merespons dan memperbaiki kegagalan dalam perangkat lunak atau perangkat keras sementara sistem terus beroperasi. Toleransi kesalahan telah digunakan sebagai ukuran umum untuk kelangsungan bisnis yang sedang berjalan dalam menghadapi kegagalan yang mengganggu.
Jadi sistem komputasi terdistribusi tidak terikat oleh batasan jumlah komponen. Juga tidak ada persyaratan bahwa komponen-komponen tersebut secara fisik terletak berdekatan satu sama lain dan terhubung dengan jaringan area lokal. Berkat kemampuan jaringan area luas yang diperluas, komputer-komputer dalam sistem komputasi terdistribusi dapat dipisahkan oleh benua-benua sambil tetap mempertahankan operabilitasnya.
Tujuan dari sistem komputasi terdistribusi adalah membuat jaringan komputasi terdistribusi itu — tidak peduli seberapa besar dan di mana pun komponennya berada — berfungsi seolah-olah itu adalah satu komputer. Koordinasi ini dicapai melalui sistem penyampaian pesan yang rumit antara berbagai komponen.
Protokol komunikasi mengatur pertukaran pesan bolak-balik dan menciptakan bentuk hubungan yang ada di antara komponen-komponen ini. Hubungan ini dikenal sebagai “kopling”, yang biasanya dinyatakan dalam salah satu dari dua bentuk:
Komputasi terdistribusi juga menangani efek positif dan negatif dari konkurensi, yang merupakan eksekusi simultan dari beberapa urutan instruksi operasi. Di antara kualitas positifnya adalah fakta bahwa konkurensi memungkinkan komputasi paralel dari beberapa thread proses. (Komputasi paralel tidak boleh disamakan dengan pemrosesan paralel, yang merupakan proses yang memecah tugas-tugas waktu proses menjadi beberapa tugas yang lebih kecil).
Negatif yang terkait dengan konkurensi sering kali mencakup peningkatan latensi dan bahkan hambatan ketika lalu lintas hampir terhenti karena membebani sistem komputasi terdistribusi dengan jumlah permintaan komponen yang berlebihan.
Konkurensi berbeda dari konsep multithreading, yang memungkinkan satu program tetap berjalan sementara tugas lain sedang dilakukan di latar belakang. Konkurensi mewakili pengurasan sumber daya yang lebih besar karena beberapa utas berjalan secara bersamaan dan mengakses sumber daya bersama secara bersamaan.
Beberapa beban kerja pemrosesan sangat besar, dan lebih dari kebanyakan sistem tunggal dapat mengakomodasi. Komputasi terdistribusi membagi beban kerja tersebut di antara beberapa peralatan, sehingga pekerjaan besar dapat ditangani dengan cakap.
Komputasi terdistribusi beroperasi berdasarkan konsep aset bersama, dan mendukung berbagi sumber daya seperti data, perangkat lunak dan perangkat keras antara berbagai komponen dalam instance komputasi terdistribusi itu.
Lalu lintas online dari banyak organisasi dapat berubah dengan cepat dan dramatis, mungkin karena berita yang dilaporkan atau faktor lainnya. Komputasi terdistribusi memberikan fleksibilitas yang dibutuhkan perusahaan untuk menahan lonjakan tersebut.
Komputasi terdistribusi meningkatkan tingkat kinerja dengan membagi pekerjaan pemrosesan yang besar menjadi tugas-tugas komputasi yang lebih kecil, yang dibagi oleh banyak komputer. Ini menghasilkan hasil kumulatif kecepatan pemrosesan dan penyimpanan total yang lebih besar.
Meskipun benar bahwa komputasi terdistribusi, dengan berbagai sistemnya, memiliki biaya awal yang lebih besar daripada sistem pemrosesan tersentralisasi, seiring berjalannya waktu, biaya tersebut akan kembali normal karena efisiensi biaya yang dicapai melalui latensi yang lebih rendah dan waktu respons yang lebih cepat, yang pada akhirnya membuat komputasi terdistribusi lebih hemat biaya daripada sistem tersentralisasi.
Jenis komputasi terdistribusi diklasifikasikan menurut arsitektur komputasi terdistribusi yang digunakan masing-masing.
Sistem klien-server menggunakan arsitektur klien-server yang memungkinkannya digunakan dengan lebih dari satu sistem. Di dalamnya, klien akan mengarahkan input ke server dalam bentuk permintaan. Komunikasi ini biasanya melibatkan perintah agar tugas tertentu dilakukan atau permintaan tambahan untuk sumber daya komputasi. Server kemudian bekerja untuk memenuhi tugas itu atau mengalokasikan sumber daya yang diminta. Setelah selesai, server merespons klien dengan pesan mengenai tindakan yang diambil.
Sementara sistem terpusat menggunakan arsitektur client-server, sistem peer bergantung pada arsitektur peer (sering disebut arsitektur peer-to-peer). Sistem peer menggunakan node, yang secara efektif dapat berfungsi sebagai klien atau server—baik mengidentifikasi kebutuhan dan mengeluarkan permintaan atau bekerja untuk memenuhi kebutuhan tersebut dan melaporkan kembali operasi. Seperti namanya, tidak ada hierarki dalam sistem peer, sehingga program yang beroperasi dalam sistem peer-to-peer dapat berkomunikasi secara bebas satu sama lain dan mentransfer data melalui jaringan peer.
Middleware dapat dianggap sebagai jenis “perantara” yang beroperasi antara dua aplikasi yang berbeda, yang berarti bahwa middleware itu sendiri adalah aplikasi yang berada di antara dua aplikasi dan menyediakan layanan untuk keduanya. Middleware juga memiliki aspek interpretatif. Ini berfungsi sebagai penerjemah antara berbagai aplikasi interoperabilitas yang sedang dijalankan pada sistem yang berbeda dan memungkinkan aplikasi-aplikasi tersebut untuk bertukar data secara bebas.
Sistem tiga tingkat dinamakan demikian karena jumlah lapisan yang digunakan untuk mewakili fungsionalitas program. Berbeda dengan arsitektur client-server biasa yang menempatkan data dalam sistem klien, sistem tiga tingkat menyimpan data yang disimpan di lapisan tengahnya, yang disebut Lapisan Data. Lapisan Aplikasi mengelilingi Lapisan Data di salah satu sisinya, sedangkan Lapisan Presentasi mengelilingi Lapisan Data di sisi lain. Sistem tiga tingkat secara rutin digunakan di berbagai aplikasi web.
Kadang-kadang disebut sebagai sistem terdistribusi bertingkat, sistem N-tier memiliki kapasitas tak terbatas untuk fungsi-fungsi jaringan, yang dirutekan ke aplikasi lain untuk diproses. Arsitektur sistem N-tier seperti yang ditemukan dalam sistem tiga tingkat. Sistem N-tier sering digunakan sebagai dasar arsitektur untuk berbagai layanan web dan sistem data.
Komputasi terdistribusi memungkinkan penggunaan paradigma pemrograman yang berbeda (yang dapat dianggap sebagai gaya pemrograman):
Perbankan online menunjukkan kecekatan komputasi terdistribusi dengan terjadi di banyak tempat sekaligus, sering kali dengan lokasi bank yang berbeda ditugaskan untuk menampung salah satu server di balik penawaran layanan utama (seperti layanan pelanggan, keamanan, dan pemrosesan transaksi). Semuanya terjadi secara instan dan dengan lancar, seperti yang diharapkan pelanggan bank.
Baik kecerdasan buatan (AI) maupun machine learning (ML) sedang dalam proses merevolusi banyak bidang teknologi, tetapi tidak ada efek yang lebih terasa saat ini selain di industri komputasi itu sendiri. Kedua teknologi yang berkembang pesat ini memanfaatkan komputasi terdistribusi secara luas. Algoritma di balik AI dan ML membutuhkan data dalam jumlah besar untuk melatih modelnya, dan komputasi terdistribusi menyediakan kekuatan pemrosesan yang dibutuhkan.
Komputasi terdistribusi sekarang digunakan oleh sektor energi dan lingkungan. Di sisi energi, komputasi terdistribusi membantu teknologi smart-grid mengatur penggunaan dan mengoptimalkan konsumsi energi. Smart grid juga menggunakan komputasi terdistribusi untuk mengumpulkan data lingkungan dari berbagai perangkat input, seperti sensor dan smart meter.
Pekerja di bidang keuangan tertentu sudah menggunakan sistem komputasi terdistribusi. Misalnya di bidang manajemen risiko, lembaga keuangan membutuhkan bidang data yang luas untuk melaksanakan perhitungan besar untuk menginformasikan pengambilan keputusan yang lebih baik tentang probabilitas dan penilaian risiko. Komputasi terdistribusi memastikan beban komputasi dibagi secara merata di beberapa sistem.
Komputasi terdistribusi telah membantu berbagai disiplin ilmu dan berkontribusi pada beberapa pencapaian sains yang paling menonjol. Contohnya termasuk Large Hadron Collider, akselerator partikel paling kuat di dunia. Eksperimen di baliknya bergantung pada pengumpulan dan analisis data dalam jumlah ekstrem, yang membutuhkan penggunaan komputasi terdistribusi. Demikian pula, komputasi terdistribusi memiliki tujuan yang sama untuk Human Genome Project, karena mulai memetakan urutan DNA manusia. Komputasi terdistribusi juga melakukan peran penting dalam forecasting dan pemodelan iklim.
IBM Cloud Infrastructure Center adalah platform perangkat lunak yang kompatibel dengan OpenStack untuk mengelola infrastruktur cloud pribadi di IBM zSystems dan IBM LinuxONE.
Temukan server, penyimpanan, dan perangkat lunak yang dirancang untuk hybrid cloud dan strategi AI perusahaan Anda.
Temukan solusi infrastruktur cloud yang tepat untuk kebutuhan bisnis Anda dan tingkatkan sumber daya sesuai permintaan.