Apa sebenarnya yang dimaksud dengan komputasi terdistribusi?
Komputasi terdistribusi adalah kumpulan elemen pemrosesan yang inheren paralel yang berkomunikasi satu sama lain untuk mengatasi satu atau lebih masalah. Elemen-elemen pemrosesan tersebut cukup terpisah satu sama lain sehingga tidak praktis untuk membangun jalinan perpesanan yang andal dan tepat waktu di antara mereka, sehingga tidak mungkin ada pengetahuan global tentang keadaan sistem. Fitur khusus dari perpesanan dengan sistem terdistribusi adalah bahwa pesan akan hilang, akan kacau, akan tertunda - solusi dalam ruang ini harus memperhitungkan hal ini. Dengan demikian, pemrograman terdistribusi adalah tentang berurusan dengan jaringan dan pesan, paralelisme dan kurangnya informasi global.
Metode termudah untuk mengatasi masalah adalah membuat elemen pemrosesan tunggal menjadi istimewa, yaitu otoritatif untuk sepotong informasi tertentu. Kemudian elemen-elemen lain dapat merujuk kembali ke setiap kali, atau cache informasi dan berharap bahwa itu tidak ketinggalan zaman (karena mereka tidak dapat mengandalkan diberitahu tentang perubahan). Ini adalah arsitektur klien / server klasik.
Komputasi internet adalah komputasi terdistribusi, tetapi tanpa kemampuan untuk mengendalikan apa yang sebenarnya dilakukan oleh sebagian besar node terdistribusi.
Apakah beberapa utas paralel yang mencoba menyinkronkan untuk akses ke sumber daya merupakan masalah dalam domain komputasi terdistribusi?
Mereka merupakan solusi yang mungkin berguna ketika membangun model klien / server, tetapi dengan biaya peningkatan dramatis dalam pertentangan sumber daya. Untuk dibaca, itu bukan masalah besar (menyediakan perangkat keras yang cukup) tetapi untuk menulis itu memang masalah besar.
Apa yang Anda coba hindari adalah kunci yang didistribusikan. Kurangnya pesan yang dapat diandalkan tepat waktu benar-benar membunuh protokol keputusan terdistribusi, kecuali jika Anda menggunakan sesuatu seperti protokol Paxos , tapi itu punya banyak peringatan. Masalah mendasar dengan komputasi terdistribusi adalah "hal-hal buruk terjadi pada pesan". Protokol level yang relatif rendah, seperti TCP, mengurangi masalah, tetapi Anda masih bisa terhenti.