Sabtu, 04 April 2009

Volunteer Computing

Bayangkan jika Anda baru saja membeli laptop merk ternama dengan spesifikasi paling dahyat. Intel i5, Ram 4GB, graphic card terbaik, dsb. Komputer dengan isi perut seperti itu mampu menjalankan program yang sangat berat sekalipun, namun apakah Anda akan selalu menggunakan seluruh kemampuan laptop baru Anda setiap saat?
Saat Anda mengetik, seberapapun cepatnya ketikan Anda, seluruh sistem hanya menunggu input huruf berikutnya dari keyboard yang (dalam ukuran kecepatan komputer modern) sangat-sangat lambat. Bukan hanya processor yang menganggur, juga graphic card yang sangat cepat namun hanya diberi perintah kadang-kadang saja. Padahal sebagian besar pekerjaan yang dilakukan di komputer selalu melibatkan input dengan mengetik. Browsing internet juga tidak terlalu memakan sumber daya komputer, dan lebih banyak tergantung dengan kecepatan koneksi internet Anda, apalagi saat komputer dengan sabar menanti Anda selesai membaca isi sebuah website. Dengan kata lain, Anda akan selalu menyia-nyiakan kemampuan komputer canggih Anda. Mubazir kan, beli komputer mahal tapi tidak dimanfaatkan dengan maksimal?

Namun jika Anda memiliki koneksi internet yang cukup cepat, Anda dapat menyumbangkan kemampuan yang tersia-siakan itu untuk berbagai tujuan yang mulia. Anda dapat bergabung dengan berbagai proyek ilmiah yang memerlukan super-komputer yang super-cepat untuk memproses data yang sangat-sangat besar, namun tidak memiliki budget untuk membelinya.
Selamat datang di volunteer computing, (kadang juga disebut distributed computing atau grid computing) dimana Anda dapat turut membantu proyek SETI (Search of Extra Terrestrial Intelligence) yang mencari kehidupan diluar bumi, atau DNA sequencing yang memetakan DNA manusia, weather simulation yang mensimulasi siklus cuaca agar dapat memprakirakan dengan lebih akurat, atau berbagai proyek penting lainnya (Silakan tonton film 'Contact' dari tahun 1997 yang dibintangi Jodie Foster untuk tahu apa itu SETI project dan potensinya).
Dengan komputasi terdistribusi, setiap komputer yang tersambung akan diberi sedikit pekerjaan yang lalu dikerjakan sampai selesai dan dikirim kembali melalui internet ke komputer "koordinator" yang kemudian menyambung-nyambung hasil pekerjaan dari ratusan bahkan ribuan komputer tersebut menjadi satu hasil yang lengkap.

Bagi pihak yang memerlukan super-komputer untuk proyeknya namun tak punya dana jutaan dolar untuk membeli atau menyewanya, volunteer computing merupakan berkah yang sangat dinantikan, karena proyek mereka dapat tetap berjalan dengan dana yang minimal dengan hasil yang tetap sama. Perlu dicatat bahwa harga sebuah superkomputer seperti Cray Computer seringkali tak terjangkau oleh budget sebuah universitas, misalnya. Padahal banyak proyek ilmiah yang memerlukan perhitungan komputasi yang jika dijalankan pada PC paling canggih sekalipun, dapat memakan waktu hingga puluhan tahun.
Saya pribadi tahu bagaimana rasanya, karena skripsi saya dulu adalah komputasi aerodinamika, dimana perhitungan metode numerik untuk persoalan aerodinamika dimasukkan dalam program yang kemudian dijalankan sampai dicapai hasil yang diinginkan. Meskipun saya sudah membuat grid dengan jumlah titik yang sangat sedikit, program itu berjalan selama 2 hari tanpa berhenti hanya untuk sekali hitung. Padahal diperlukan hingga puluhan kali perhitungan untuk dapat menarik kesimpulan. Dan pernah juga setelah 2 hari ketika sudah mencapai hasil sekitar 90%, listriknya mati. Aaaargh!

Volunteer computing dipopulerkan oleh proyek SETI@home , dimana semua orang dapat mendownload sebuah program kecil yang lalu memanfaatkan daya komputer Anda yang tidak terpakai untuk membantu menganalisa hasil radio-scan dari setiap pojok langit, mencari tanda-tanda kehidupan.
Anda dapat menggunakan berbagai macam komputer dan OS, mulai dari Windows, Mac atau Linux. Proyek Folding@home (Protein Folding simulation) bahkan dapat berjalan pada PS3! (ya, betul, Sony PlayStation 3). Justru PS3 memiliki keunggulan dimana graphic card-nya yang handal sangat membantu dalam menangani perhitungan ilmiah dengan cepat.
Kini sudah ada begitu banyak proyek yang dapat Anda pilih, bahkan sudah ada BOINC (Berkeley Open Infrastructure for Network Computing) dimana Anda dapat memilih beberapa dari ratusan proyek untuk disumbang.(SETI@home kini menjadi bagian dari BOINC)

Jangan takut bahwa sumbangan Anda ini akan mengganggu pekerjaan yang sedang Anda lakukan. Program-program volunteer berjalan dengan prioritas nol, atau dengan kata lain hanya berjalan jika tidak ada program lain yang menggunakan sumber daya komputer. Begitu ada program lain dengan prioritas lebih tinggi, program ini langsung dihentikan sementara oleh sistem dan digantikan oleh program yang berprioritas lebih tinggi itu. Jika sistem sudah tidak memiliki pekerjaan lain, program volunteer kembali dilanjutkan. Karena komputer masa kini sudah demikian cepatnya, proses ini hampir-hampir tak terasa oleh pengguna.
Dengan demikian hampir tidak ada gangguan saat Anda bekerja, sementara Anda telah turut berperan serta dalam kemajuan ilmu pengetahuan dunia.

1 komentar: