Kamis, 08 Juni 2017

PARALLEL COMPUTATION

KOMPUTASI


Komputasi itu bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma yang berhubungan dengan sub-bidang ilmu computer dan matematika. Hal ini juga disebut dengan teori komputasi. Secara umum iIlmu komputasi ini merupakan bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Seperti yang sudah diberi tahu sebelumnya, komputasi berasal dari bahasa inggris computing dan computation. COMPUTING artinya suatu aktifitas yang menggunakan atau memperbaiki hardware dan software, sedangkan COMPUTATION artinya suatu cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Jadi kesimulannya KOMPUTASI adalah suatu aktifitas untuk menemukan pemecahan permasalahan dengan suatu algoritma dengan menggunakan hardware dan software yang ada. Dan sekarang sudah tidak mungkin dipungkiri lagi, komputasi sudah dilakukan dengan menggunakan bantuan computer. Jadi jika kita berbicara tentang kinerja komputasi, berarti kita bebrbicara tentang kekuatan/kualitas sikomputasi tadi dalam menemuan suatu pemecahan masalah dengan suatu algoritma menggunakan hardware dan software yang telah ada.

setelah kita sudah mengetahui apa itu komputasi atau yang disebut dengan computation/computing, lanjutnya kita beri pengertian "paralel prosessing komputasi" untuk kita lebih memahami tentang "kinerja komputasi parallel processing"


PARALLEL PROCESSING


Parallel Processing atau lebih dikenal dengan bahasa Indonesia Pemrosesan Parallel adalah penggunaan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Jadi dapat dibayangkan bagaimana hasil kerjaan kita jika menggunaan pemrosessan parallel. Sudah pasti kerjaan tersebut cepat terselesaikan karena CPU yang bekerjapun banyak. Berarti parallel processing ini membuat program berjalan lebih cepat karena CPU yang digunakan semakin banyak. Tetapi kenyataannya, pada saat dilakukan pemrosesan parallel, program sering kali sulit dibagi sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa adanya saling keterkaitan antara satu dan yang lainnya.

selanjutnya setelah kita mengerti apa maksud dari "parallel procesing" untuk lebih memahaimi mengenai "kinerja komputasi parallel processing" kita hasrus mengeta apa itu "Komputasi paralel dan Pemrograman paralel"

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya komputasi parallel ini diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini maka diperlukanlah infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman parallel untuk merealisasikan komputasi.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan (komputasi parallel) baik dalam komputer dengan satu processor (prosesor tunggal) ataupun banyak processor (prosesor ganda dengan mesin paralel) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan komuter, maka hal ini lebih sering disebut dengan istilah Sistem Terdistribusi (distributed computing). jadi kesimpulan diatas dapat diartikan bahwa:

HUBUNGAN KOMPUTASI dan PARALLEL PROCESSING


Paralel prosessing komputasi adalah suatu proses atau pekerjaan komputasi yang berada di dalam komputer dengan mengunakan bahasa pemrograman yang dioprasikan atau di runing secara paralel pada saat bersamaan dan komputasi paralel ini digunakan untuk meningkatkan kecepatan komputasi bila dibandingkan dengan pemakaian komputasi pada komputer tunggal karena pemakaian komputasi parallel dapat digunakan untuk menangani pengolahan data yang besar dan banyak.

selanjutnya setelah kita sudah mengetahui arti dari "komputasi parallel processing" setelah itu kita membahas kinerjanya:

Kinerja Parallel komputasi digunakan untuk melakukan perhitungan komputasi dengan menggunakan 2 atau lebih CPU/Processor dalam suatu komputer yang sama atau komputer yang berbeda dimana dalam hal ini setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim ke processor yang terlibat komputasi dan dilakukan secara bersamaan. Untuk proses pembagian proses komputasi tersebut dilakukan oleh suatu software yang betugas untuk mengatur komputasi. Terdapat dua jenis kinerja parallel processing yaitu Multi-core dan PC Clustering.
Multi-core adalah memperbanyak inti prmrosesan sehingga diharapkan knerja komputasi meningkat dikarenakan pemrosesan secara parallel. Awalnya Multi Core diawali oleh system Multi Prosessor. System ini membutuhkan sumberdaya untu masing-masing prosesnya, sedangkan untuk interkoneksinya dibutuhkan sebuah bus berkecepatan tinggi. Untuk membuat system multi prosessor dibutuhkan biaya serta algoritma tersendiri untuk mengendalikan dan memproses input, untuk mereduksi harga dibuatlah system multi Core yang dapat mengetengahkan masalah antara biaya dan kecepatan komputasi.
PC-Clustering adalah pengelompokan beberapa buah PC menjadi satu kesatuan dan mampu memproses dengan interkoneksi jaringan baik itu local maupun internet. Secara umum PC clustering dibagi menjadi tiga kategori yaitu :

  1. High-availability cluster.
  2. Load-balancing cluster, kategori satu dan dua digunakan untuk server-server yang membutuhkan komputasi tinggi serta ketersediaan system. Tujuan dari PC Clustering jenis ini adalah menjaga service agar tetap sedia sepanjang waktu, seperti Web Searching Google.
  3. Grid-Computing, Grid-computing lebih mendekati system parallel computing yang sebenarnya, karena menggunakan system penugasan. Contoh Grid Computing terbesar adalah FOLDING@HOME untuk kalkulasi untaian DNA untuk mencari obat dari penyakit kronis seperti Alzheimer dan Kanker.

HUBUNGAN ANTARA KOMPUTASI DENGAN PARALLEL PROCESSING
Komputasi Paralel merupakan teknik untuk melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer yang independen secara bersamaan. Biasanya digunakan untuk kapasitas yang pengolahan data yang sangat besar (lingkungan industri, bioinformatika dll) atau karena tuntutan komputasi yang banyak. Pada kasus yang kedua biasanya ditemukannya kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimai komputasi) dll. Untuk melakukan berbagai jenis komputasi paralel diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang nantinya dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan suatu masalah. Untuk itu maka digunakannya perangkat lunak pendukung yang biasa disebut middleware yang berperan untuk mengatur distribusi antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Salah satu middleware yang asli dikembangkan di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan diimplementasikan di LIPI Public Center.
Komputasi paralel berbeda dengan multitasking. Multitasking itu sendiri adalah komputer dengan processor tunggal yang dapat mengeksekusi beberapa tugas secara bersamaan. Sedangkan komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann. Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui 4 model komputasi yang digunakan, yaitu:
  • SIMD
  • SIMD
  • MISD
  • MIMD
SISD
Merupakan singkatan dari Single Instruction, Single Data yaitu satu-satunya yang menggunakan arsitektur Von Neumann, karena pada model ini hanya menggunakan 1 processor saja. Oleh karena itu model ini 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
Merupakan singkatan dari Single Instruction, Multiple Data. Model ini menggunakan banyak processor dengan instruksi yang sama, namun dengan 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
Merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Sebagai contoh, dengan menggunakan kasus yang sama pada contoh model SIMD namun cara untuk menyelesaikannya 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
Pada Multiple Instruction, Multiple Data biasanya 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.

KESIMPULAN :
1.      Pengolahan Parallel adalah pengolahan informasi yang menekankan pada manipulasi data-data elemen secara simultan.
2.      Pengolahan Parallel dimaksudkan untuk mempercepat komputasi dari sistem komputer dan menambah jumlah keluaran yang dapat dihasilkan dalam jangka waktu tertentu.
3.      Pengolahan Parallel merupakan pengolahan informasi yang ditekankan pada manipulasi elemen data yang dimiliki oleh satu atau lebih dari satu proses secara bersamaan dalam rangka menyelesaikan sebuah problem.

REVERENSI :
https://ebookrudy.wordpress.com/2014/06/09/pengertian-komputasi-dan-parallel-processing-beserta-hubungan-antar-keduanya/
http://rizkynuryandi.blogspot.co.id/2014/05/komputasi-dan-parallel-processing.html
https://nindyastuti52.wordpress.com/2011/03/22/kinerja-komputasi-dengan-parallel-processing/