Senin, 28 April 2014

Komputasi Pararel Dan Pararel Procesing



Nama : Kurniawan Andi P.
NPM : 53410942
Kelas : 4IA15
Alamat blog : jojoshishi.blogspot.com
E-Mail : kurniawanandip@yahoo.com


Jurusan Teknik Informatika, Fakultas Teknologi Industri
Universitas Gunadarma
2014


Abstraksi

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel.

Parallel Processing merupakan salah satu teknik yang digunakan dalam komputasi, yaitu teknik yang menggunakan dua atau lebih processor dalam melakukan komputasi dan dilakukan secara bersamaan. Komputasi sendiri sudah dijelaskan pada postingan sebelumnya yaitu suatu aktifitas penghitungan atau pemecahan masalah, lalu bagaimana dengan processor



Pendahuluan


Komputer sudah menjadi bagian dari kehidupan orang banyak saat ini. Perkembangan teknologi komputer memiliki banyak manfaat terutama dalam aktifitas manusia di kehidupan sehari-hari untuk membantu menyelesaikan pekerjaan manusia. Antara lain yaitu sebagai media informasi dan komunikasi. Suatu pekerjaan akan lebih efektif dan efisien jika pekerjaan tersebut dibantu dengan penggunaan komputer dalam mengolah data atau informasi sehingga dapat menghemat waktu.


Pembahasan

Parallel Processing merupakan salah satu teknik yang digunakan dalam komputasi, yaitu teknik yang menggunakan dua atau lebih processor dalam melakukan komputasi dan dilakukan secara bersamaan. Komputasi adalah suatu aktifitas penghitungan atau pemecahan masalah, lalu bagaimana dengan processor. Processor merupakan sumber semua perintah, jika diibaratkan dalam makhluk hidup, prosessor merupakan otaknya. Idealnya satu komputer hanya memiliki satu prosesor saja, namun dengan berkembangnya teknologi, muncullah multi prosesor dimana dalam satu komputer terdapat dua prosessor yang digabung menjadi satu, contohnya dual core, core 2 duo, quad core, dan lain-lain.

Dalam parallel processing ini juga memiliki berbagai kelemahan dan kelebihan dimana, untuk memiliki banyak prosessor memerlukan biaya yang tidak sedikit, tetapi dengan banyaknya prosessor maka proses komputasinya pun semakin cepat. Komputasi yang menggunakan teknik parallel processing ini disebut dengan komputasi parallel. Ada dua tipe komputasi dilihat dari banyaknya prosessor, yaitu komputasi tunggal dan komputasi parallel. Untuk lebih jelasnya akan saya jelaskan perbedaan nya.


Perbedaan Komputasi Tunggal & Parallel ?

Perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:



a. Komputer SISD (Single Instruction stream-Single Data stream)
b. Komputer SIMD (Single Instruction stream-Multiple Data stream)
c. Komputer MISD (Multiple Instruction stream-Single Data stream)
d. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)


SISD

Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.


SIMD

Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).


MISD

Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.


MIMD

Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.


Terlihat pada gambar diatas bahwa komputasi tunggal hanya menggunakan 1 CPU atau processor, sehingga dalam hal ini, jika instruksi yang dilakukan banyak, processor akan memprosesnya satu persatu. Hal ini menimbulkan antrian yang akhirnya akan memperlambat hasil yang diperoleh (waktunya lama).


Namun jika kita lihat pada gambar komputasi paralel, instruksi akan dibagi menjadi beberapa instruksi sesuai dengan banyaknya processor. Hal ini tentunya akan mempercepat kerja komputer dan mempercepat waktu untuk mendapatkan hasil.


Tujuan Pemrosesan Parallel

Tujuan utama dari pemrosesan 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 mudah untuk diingat adalah, bila kamu dapat merebus air dalam sebelum memotong motong bawang saat kamu akan masak, waktu yang kamu butuhkan akan lebih sedikit dibandingkan bila kamu mengerjakan hal tersebut secara berurutan (serial). Atau waktu yang kamu butuhkan pada saat memotong bawang akan lebih sedikit jika kamu kerjakan berdua.

Kriteria yang menentukan baik buruknya topologi yang dipakai dalam Parallel Processing

1. Diameter
    Semakin kecil diameter yang digunakan akan semakin baik.
2. Bisection Widt
    Semakin besar bisection width semakin baik.
3. Derajat
    Derajat yang tetap adalah yang terbaik.
4. Panjang maximum garis
    Panjang garis tetap adalah terbaik.

Dead-Lock terjadi jika ditemui kondisi sebagai berikut :

1. Mutual Exclusion
    Larangan bagi lebih dari satu prosesor menggunakan resource yang sama pada waktu yang sama. 
2. Incremental Request Resource
    Permintaan untuk menggunakan suatu resource pada proses meningkat.
3. No Preemption
    Proses yang sedang berjalan tidak bisa dihentikan (diputus).
4. Circular wait
    Terjadi saling menunggu antara proses.


Kinerja Komputasi dengan Parallel Processing

Komputasi Paralel merupakan salah satu teknologi paling menarik sejak ditemukannya komputer pada tahun 1940-an. Terobosan dalam pemorosesan parallel selalu berkembang dan mendapatkan tempat disamping teknologi-teknologi lainnya sejak Era Kebangkitan (1950-an), Era Mainframe (1960-an), Era Minis (1970-an), Era PC (1980-an), dan Era Komputer Paralel (1990-an). Dengan berbagai pengaruh atas perkembangan teknologi lainnya, dan bagaimana teknologi ini mengubah persepsi terhadap komputer, dapat dimengerti betapa pentingnya komputasi parallel itu.

Inti dari komputasi parallel yaitu hardware, software, dan aplikasinya. Paralel prosesing merupakan suatu pemrosesan informasi yang lebih mendekatkan pada manipulasi rata-rata dari elemen data terhadap satu atau lebih penyelesaian proses dari sebuah masalah. Dengan kata lain komputasi parallel adalah komputer dengan banyak processor dapat melakukan parallel processing dengan cara membagi-bagi proses ke source-source yang dimiliki.

Paradigma pemrosesan parallel bergantung pada model SIMD (single instruction multiple data), dan paradigma functional dataflow yang memperkenalkan konsep model MIMD (Multiple Instrution Multiple Data). Suatu program parallel memerlukan koordinasi ketika sebuah tugas bergantung pada tugas lainnya. Ada dua macam bentuk koordinasi pada komputer parallel : asynchronous dan synchronous. Bentuk synchronous merupakan koordinasi pada hardware yang memaksa semua tugas agar dilaksanakan pada waktu yang bersamaan dengan mengesampingkan adanya ketergantungan tugas yang satu dengan yang lainnya. Sementara bentuk asynchronous mengandalkan mekanisme pengunci untuk mengkoordinasikan processor tanpa harus berjalan bersamaan.



Hubungan Antara Komputasi Modern Dan Parallel Processing


Pemrosesan paralel juga disebut komputasi paralel. Dalam upaya lebih murah pengolahan komputasi paralel menyediakan alternatif pilihan yang layak. Waktu idle siklus prosesor di seluruh jaringan dapat digunakan secara efektif oleh perangkat lunak komputasi terdistribusi yang canggih. Pengolahan paralel istilah digunakan untuk mewakili kelas besar teknik yang digunakan untuk memberikan tugas pengolahan simultan data untuk tujuan meningkatkan kecepatan komputasi dari sistem komputer.



Kelebihan dan Kekurangan


Kelebihan:
· Waktu eksekusi lebih cepat.
· Throughput jadi lebih tinggi.

Kerugian:
· Perangkat keras lainnya yang dibutuhkan.
· Kebutuhan daya juga lebih.
· Tidak baik untuk daya rendah dan perangkat mobile.
· Parallel processing adalah salah satu teknik komputasi modern.
· Karena membutuhkan banyak prosesor maka biaya mahal.


Daftar Pustaka
  1. Komputasi Modern. http://belajar-pemrograman2.blogspot.com/2013/03/komputasi-modern.html . Diakses pada 29 Maret 2014
  2. Apa itu komputasi pararel dan processing pararel http://rivanipai.blogspot.com/2012/04/processing-parallel-dan-komputasi.html , Diakses pada 24 April 2014
  3. Apa itu pararel processing http://bagusonthespot.blogspot.com/2012/04/parallel-processing.html Diakses pada 24 April 2014
  4. Kinerja pararel processing, http://nindyastuti52.wordpress.com/2011/03/22/kinerja-komputasi-dengan-parallel-processing/. Diakses pada 24 April 2014