Bagi yang pernah mempelajari dan membuat program dengan model parallel, kemungkinan besar pernah menggunakan PVM (Parallel Virtual Machine) atau MPI (Message Passing Interface). Dua software/library tersebut cukup luas digunakan dalam komputasi parallel, dan memang didesain untuk keperluan komputasi parallel. Sedangkan PHP, yang sangat terkenal dalam dunia aplikasi web, apakah mungkin dimanfaatkan untuk model komputasi seperti itu? Gagasan ini tampaknya bisa.
Mari kita lihat sebuah diagram sederhana berikut ini
Komputasi parallel yang akan dilakukan menggunakan model master-slave. Ada satu buah komputer yang bertindak sebagai master, yang akan membagi pekerjaan pada sejumlah komputer slave. Setelah pekerjaan dibagi, komputer slave memprosesnya, lalu hasilnya dikembalikan pada komputer master.
Masing-masing komputer tersebut diinstal dengan PHP, beserta webserver, misalnya Apache. Library cURL untuk PHP juga diperlukan untuk proses pengiriman data antar komputer. Untuk cara yang sederhana, pada komputer master kita buat sebuah program PHP yang tugasnya adalah :
- menerima upload data (dari user) yang akan diproses secara parallel
- setelah data diterima, data tersebut dibagi ke sejumlah komputer slave
- menerima data yang sudah dikerjakan oleh komputer slave
- menerima data dari komputer master
- melakukan pengolahan data yang diterima dari master
- mengirim data yang sudah diproses ke komputer master
Daripada setiap kali ada sebuah proses kalkulasi yang baru harus memasang programnya ke komputer slave, tampaknya bisa dengan melakukan upload satu kali ke komputer master. Kode program yang diperlukan untuk memproses data diupload ke komputer master, kemudian komputer master yang akan mengirim kode program tersebut ke semua komputer slave untuk dieksekusi bersama dengan data yang juga diberikan oleh komputer master.
Dengan membuat sebuah framework yang sederhana seperti di atas, maka kita cukup instal sekali framework ini untuk master dan semua slave. Lalu sistem ini sudah siap menerima program untuk melakukan proses kalkulasi data secara parallel.
Dalam konsep ini, semua komputer ada dalam sebuah LAN, dan masih dalam bentuk sangat sederhana. Belum mempertimbangkan masalah kecepatan, skalabilitas, reliabilitas, keamanan, atau hal "rumit" lainnya. Yang penting dengan PHP bisa melakukan komputasi parallel.
sumber : http://daunsalam.net/artikel/parallelphp.htm
Tidak ada komentar:
Posting Komentar