Algoritma terdistribusi adalah jenis algoritma tertentu yang digunakan pada perangkat lunak komputer yang harus menggunakan berbagai prosesor yang saling berhubungan. Algoritma terdistribusi bertanggung jawab untuk menjalankan bagian yang berbeda dari algoritma pada saat yang sama, masing-masing pada prosesor yang berbeda. Prosesor kemudian harus berkomunikasi satu sama lain agar perangkat lunak dapat berjalan dengan baik.
Untuk memahami algoritme terdistribusi, paling mudah untuk memeriksa apa itu algoritme tipikal. Algoritma adalah proses yang didefinisikan yang menguraikan dari awal sampai akhir langkah-langkah yang harus diambil untuk menyelesaikan proses yang diinginkan atau memecahkan masalah. Misalnya, algoritme untuk mengirim surat akan berjalan seperti berikut:
1. Dapatkan amplop
2. Buka amplop
3. Sisipkan huruf
4. Tutup amplop
5. Lampirkan stempel
Ini akan terus berlanjut sampai proses selesai. Langkah-langkah tertentu dapat bercabang menjadi langkah-langkah lain. Ini akan memberi tahu orang itu apa yang harus dilakukan jika dia tidak dapat menyelesaikan salah satu langkah utama dan pada akhirnya akan membawanya kembali ke algoritme asli. Yang penting adalah bahwa algoritme pada akhirnya harus memiliki akhir tidak peduli jalan mana yang diambil orang untuk mencapainya.
Secara teknis apa pun yang merupakan proses yang ditentukan dapat berupa algoritme, seperti contoh di atas untuk mengirimkan surat. Algoritma komputer adalah algoritma yang dirancang untuk memberi tahu komputer apa yang harus dilakukan. Ini memiliki langkah awal dan akhir dengan beberapa langkah di antaranya. Ini membantu komputer melakukan suatu tindakan dan menginstruksikannya apa yang harus dilakukan jika terjadi kesalahan. Jika file yang dibutuhkan komputer hilang, komputer mungkin memerintahkannya untuk melewati langkah itu atau melakukan langkah alternatif sebagai gantinya.
Perbedaan antara algoritme dan algoritme terdistribusi adalah bahwa algoritme terdistribusi dirancang untuk berjalan pada prosesor terpisah sedangkan algoritme komputer biasa tidak. Setiap prosesor melakukan bagian yang berbeda dari keseluruhan algoritma pada saat yang sama dan kemudian mengirimkan hasilnya.
Ada beberapa masalah yang terjadi ketika menggunakan algoritma terdistribusi. Salah satu prosesor bisa gagal, menyebabkan bagian dari algoritma itu berhenti bekerja. Mungkin juga ada masalah komunikasi antara prosesor yang akan membuat algoritme terdistribusi tidak mencapai akhir proses. Banyak programmer mempelajari algoritma terdistribusi untuk mengetahui cara mengatasi masalah ini dan memastikan algoritma selesai bahkan jika ada kesalahan teknis.