Konsep komputasi Parallel Processing
Paralel Processing adalah kemampuan menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara simultan atau bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses penyelesaian masalah.
Terdapat dua hukum yang berlaku dalam sebuah parallel processing. yaitu:
- Hukum Amdahl
- Amdahl berpendapat, “Peningkatan kecepatan secara paralel akan menjadi linear, melipatgandakan kemampuan proses sebuah komputer dan mengurangi separuh dari waktu proses yang diperlukan untuk menyelesaikan sebuah masalah.”
- Hukum Gustafson
- Pendapat yang dikemukakan Gustafson hampir sama dengan Amdahl, tetapi dalam pemikiran Gustafson, sebuah komputasi paralel berjalan dengan menggunakan dua atau lebih mesin untuk mempercepat penyelesaian masalah dengan memperhatikan faktor eksternal, seperti kemampuan mesin dan kecepatan proses tiap-tiap mesin yang digunakan.
Gambar diatas merupakan contoh dari sebuah komputasi paralel, dimana pada gambar diatas terdapat sebuah masalah, dari masalah tersebut dibagi lagi menjadi beberapa bagian agar sebuah masalah dapat dengan cepat diatasi.
PROSES TERDISTRIBUSI
Proses terdistribusi merupakan suatu gagasan untuk mengkoordinasikan beberapa perangkat yang terpisah secara fisik untuk terlibat dalam proses tertentu. Proses terdistribusi erat kaitannya dengan konsep paralel. Secara teknis dapat diibaratkan sebuah organisasi yang memungkinkan anggotanya mendedikasikan komputer mereka masing-masing untuk mengolah beberapa data yang diberikan kepada mereka dari server.
Pada kasus lain, konsep client-server dapat berada pada kondisi cluster, dimana antara client dan server berhubungan langsung. Hal ini yang menjadi perbedaan dengan konsep sebelumnya. Melalui hubungan langsung ini, client hanya melakukan perhitungan yang diberikan oleh server.
ARSITEKTUR PARALEL
Pada penerapannya, konsep komputasi paralel memiliki arsitektur tersendiri. Menurut klasifikasi Flynn, arsitektur komputasi paralel terbagi menjadi empat. Dibawah ini merupakan penjelasan masing-masing arsitekturnya.
- SISD (Single Instruction Single Data)
Konsep ini merupakan yang paling primitif, dimana sebuah data ditangani oleh hanya sebuah pemroses juga. Pada penerapan komputasi, komputer dengan arsitektur SISD hanya memiliki satu prosesor yang dijalankan secara seri. Hal tersebut membuat SISD tidak termasuk ke dalam konsep komputer paralel.
- SIMD (Single Instruction Multiple Data)
Arsitektur ini masih mirip dengan yang sebelumnya, dimana sebuah komputer hanya memiliki satu prosesor dengan instruksi tunggal. Perbedaanya terletak pada data yang ditangani. Meskipun memiliki instruksi tunggal, data yang diproses tidak tunggal, melainkan jamak.
- MISD (Multiple Instruction Single Data)
Berdasarkan namanya, konsep ini menerapkan banyak instruksi terhadap sebuah data. Dengan kata lain data tunggal proses oleh banyak instruksi. Pada prakteknya, komputer ini memiliki satu prosesor mengerjakan beberapa instruksi terhadap data. Kendati demikian, tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya yang rumit.
- MIMD (Multiple Instructions Multiple Data)
Komputer memiliki beberapa instruksi dan dapat menangani beberapa data. Konsep ini digunakan sebagai arsitektur pada komputer paralel. Masing-masing instruksi menangani data-data yang berbeda.
PROSES PEMROGRAMAN PARALEL UNTUK KOMPUTASI PARALEL
Di dalam komputasi parallel ada yang dinamakan dengan pemrograman parallel. Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan (komputasi paralel), baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih sering istilah yang digunakan adalah sistem terdistribusi (distributed computing).
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan. Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan (serial). Atau waktu yg anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua.
Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.
ANALISA JURNAL
Analisis Sistem Virtual Cluster Pada Komputasi Paralel Menggunakan Layanan IAAS
Rangkuman Jurnal
Perkembangan teknologi di perindustrian khususnya dibidang teknologi komputer menuntut solusi terhadap kebutuhan mulai dari sumber daya komputasi, media penyimpanan dan kecepatan komunikasi. Konsep high-performance computing merupakan alternatif solusi dalam menyelesaikan masalah komputasi. Pendekatan parallel computing telah memberikan peningkatan kecepatan waktu eksekusi penyelesaian masalah. Komputasi paralel (parallel computing) merupakan teknik menjalankan program untuk suatu proses dengan menggunakan lebih dari satu unit komputasi , komputasi paralel dapat mempersingkat dengan membagi program menjadi task-task yang dapat dikerjakan secara terpisah untuk kemudian dieksekusi secara paralel . implementasi aneka jenis komputasi paralel ini memerlukan infrastruktur mesin paralel yang terdiri dari banyak komputer dengan dihubungkan pada satu jaringan dan mampu bekerja secara bersama sama untuk menyelesaikan satu masalah seperti penyelesaian masalah komputasi, rendering dan sebagainya. Penggunaan komputasi paralel salah satunya adalah cluster. Cluster merupakan pilihan yang cukup handal untuk pengolahan data dalam jumlah besar dan banyak. Cluster termasuk dalam klasifikasi Distributed Memory Multikomputer, merupakan dua atau lebih komputer atau node yang dihubungkan menjadi suatu sistem terintegrasi yang mampu menyelesaikan masalah komputasi bersama sama.
Sistem cluster membutuhkan lebih dari satu komputer yang tergabung dalam satu jaringan, sehingga hal ini menimbulkan permasalahan kembali. Permasalahan permasalahan yang terjadi antara lain permasalahan pada kebutuhan komputer yang banyak, kebutuhan ruang untuk penyimpanan piranti piranti pendukung sistem sehingga meningkatkan biaya biaya untuk membangun infrastrukturnya.
Sistem cluster yang membutuhkan banyak komputer ini dapat teratasi dengan adanya teknologi virtualisasi pada pembangunan infrastruktur sistem seperti penggunaan komputer virtual. Teknologi virtualisasi adalah sebuah teknik atau cara untuk membuat sesuatu dalam bentuk virtual. Perangkat lunak virtualisasi adalah sebuah program yang memiliki kemampuan untuk membuat sebuah komputer secara virtual , disebut komputer virtual karena komputer itu tidak ada secara fisik. Salah satu kelebihan dari penggunaan teknologi virtual adalah pengurangan biaya investasi hardware dan tempat, sehingga pada penelitian ini membahas analisa kinerja dari sistem cluster yang dibangun dengan menggunakan komputer virtual. Komputer virtual pada penelitian ini menggunakan layanan dari sistem cloud yang telah dibangun oleh peneliti sebelumnya. Sistem cloud merupakan sistem yang mampu menyediakan sumber daya teknologi informasi berbasis internet sehingga dapat memudahkan pengguna tanpa perlu menyediakan infrastruktur dalam membangun sistem. Penggunaan cloud sebagai penyedia piranti sistem cluster dipilih karena pada penelitian sebelumnya yang dilakukan oleh faisal bahwa cloud computing mampu menyediakan sumber daya – sumber daya (prosesor, memori, dan storage) oleh para penggunanya, dari hasil penelitian seiring dengan bertambahnya jumlah mesin virtual yang aktif tidak terjadi degradasi kinerja yang artinya skalabilitas server dalam virtualisasi mempunyai performance yang bagus mendekati skalabilitas server sebenarnya.
KESIMPULAN
- Proses komputasi pengurutan data acak dengan metode mergesort yang dijalankan secara paralel dengan menggunakan virtual komputer dari layanan IAAS cloud dapat berjalan dengan baik ketika ukuran data yang dieksekusi besar dan rumit yaitu smakin banyak jumlah node yang digunakan maka waktu eksekusi semakin kecil hal ini terlihat ketika sistem melakukan pengurutan angka diatas 10000 angka, namun ketika data yang diurutkan memiliki ukuran kecil sistem cluster tidak berjalan dengan baik, karena semakin banyak node yang digunakan mengakibatkan waktu eksekusi total semakin lambat contohnya ketika data yang diurutkan sebanyak 100 angka.
- Kinerja virtual cluster dengan menjalankan komputasi pengurutan data acak memiliki nilai speed-up yang ideal ketika ukuran data acak sebesar 1000 data dengan menggunakan dua sampai tiga node hal ini dikarenakan adanya overhead pada sistem paralel, berupa komputasi tambahan yang hanya dibutuhkan pada sistem paralel, komunikasi antar-prosesor, dan proses sinkronisasi pada sistem cloud sebagai penyedia sarana komputer virtual.
Paralel Computing :
http://ikhsanturion.blogspot.co.id/2016/06/teori-komputasi-parallel-computing.html
https://andri102.wordpress.com/game/soft-skill/konsep-komputasi-parallel-processing/
http://akhmadilman46.blogspot.co.id/2013/05/komputasi-paralel.html
link jurnal :
http://jurnal.unej.ac.id/index.php/INFORMAL/article/download/2352/3316