Skip to main content

Apa yang didistribusikan pemrograman?

Pemrograman terdistribusi adalah salah satu bentuk pemrograman paralel atau komputasi paralel.Pemrograman paralel melibatkan komputer dan unit komputasi di dalam komputer yang bekerja secara bersamaan pada masalah tertentu, seperti memprediksi cuaca besok.Unit komputasi dapat sangat dekat dan terkoordinasi atau dapat ditempatkan terpisah.Ketika unit komputasi terpisah, itu disebut pemrograman terdistribusi.Dalam skenario seperti itu, sangat sering unit komputasi berbeda satu sama lain, dan sistem operasi dan pengaturan jaringan juga berbeda, membuat pemrograman aktivitas komputasi sangat menantang.

Saat menyelesaikan masalah dengan cara yang didistribusikan, program harus dilakukanberpisah sehingga bagian -bagian dari program dapat berjalan pada unit komputasi yang berbeda;Bagian -bagian ini sering disebut proses.Proses berjalan secara bersamaan tetapi perlu mengkomunikasikan input dan hasil satu sama lain.Jika proses berjalan pada perangkat keras yang berbeda, seperti satu bagian yang berjalan di Intel dan satu lagi berjalan di bawah sinar matahari, maka program harus dikompilasi dan dioptimalkan secara berbeda.

Salah satu cara untuk menyelesaikan masalah yang cukup sulit adalah dengan memecah bagian input, dan minta unit komputasi yang berbeda bekerja pada bagian yang berbeda menggunakan algoritma yang sama, serangkaian aturan atau langkah untuk pemecahan masalah.Misalnya, untuk memecahkan genom 10.000 pasangan, 1.000 pasangan pertama dapat ditugaskan ke unit komputasi pertama, 1.000 pasangan kedua yang ditugaskan ke unit komputasi kedua dan sebagainya, semuanya menggunakan algoritma yang sama.Dengan pemrograman terdistribusi, satu keuntungan adalah bahwa unit komputasi yang berbeda dapat menjalankan algoritma yang berbeda untuk menyelesaikan masalah yang sama, sehingga mengarah ke solusi yang jauh lebih baik.Ini mirip dengan memecahkan teka -teki jigsaw dengan beberapa orang menyatukan perbatasan sementara yang lain menyatukan potongan -potongan warna tertentu.

Koordinasi dari proses komputasi terdistribusi dapat menjadi tugas yang sangat sulit.Beberapa unit komputasi mungkin gagal atau mungkin terputus untuk menangani pekerjaan lain.Pesan yang berisi input atau hasil perhitungan mungkin gagal mencapai tujuan mereka.Jika program ditulis dengan cara yang na, maka hilangnya unit komputasi atau beberapa pesan dapat menyebabkan seluruh rangkaian komputer menggantung.

Dalam pemrograman terdistribusi, satu proses bisa menjadi proses pengendalian, pada dasarnya mendapatkanPekerjaan yang dilakukan oleh proses lain, atau, semua proses dapat bekerja dengan cara peer-to-peer tanpa proses menjadi master.Beberapa contoh masalah yang dicoba dengan pemrograman terdistribusi termasuk menganalisis data geologis untuk sumber daya seperti minyak bumi, pemodelan protein dan molekul biologis, retak pesan kode, dan simulasi militer.Proyek SETI untuk mencari kehidupan ekstra-terestrial yang cerdas dari pesan radio yang diterima oleh Bumi mungkin merupakan salah satu contoh paling terkenal.