Parallel Computation

Parallel Computing merupakan salah satu pemrograman komputer yang memungkinkan untuk melakukan eksekusi perintah secara bersamaan pada satu atau banyak prosesor didalam sebuah CPU. Parallel Computation sendiri berguna untuk meningkatkan performa komputer karena semakin banyak proses yang bisa dikerjakan secara bersamaan maka proses akan cepat selesai.

Paralleism Concept

paralelisme muncul dari pendekatan yang biasa digunakan oleh perancang sistem untuk menerapkan konsep pemrosesan yang konkuren. Teknik ini meningkatkan kecepatan proses dengan cara memperbanyak jumlah modul perangkat keras yang dapat beroperasi secara simultan disertai dengan membentuk beberapa proses yang bekerja secara simultan pada modul-modul perangkat keras tersebut. Secara formal, pemrosesan paralel adalah sebuah bentuk efisien pemrosesan informasi yang menekankan pada eksploitasi dari konkurensi kejadian-kejadian dalam proses komputasi. Pemrosesan paralel dapat terjadi pada beberapa tingkatan (level) proses. Tingkatan tertinggi pemrosesan paralel terjadi pada proses di antara banyak job (pekerjaan) atau pada program yang menggunakan multiprogramming, time sharing, dan multiprocessing. Multiprogramming kemampuan eksekusi terhadap beberapa proses perangkat lunak dalam sebuah system secara serentak, jika dibandingkan dengan sebuah proses dalam satu waktu, dan timesharing berarti menyediakan pembagian selang waktu yang tetap atau berubah-ubah untuk banyak program. Multiprocessing adalah dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut. Multiprocessing sering diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali.


Distributed Processing

Distributed Processing atau Pemrosesan terditribusi merupakan proses pendistribusian pengolahan parallel dalam pemrosesan parallel menggunakan beberapa mesin. Bisa dikatakan kemampuan dari suatu komputer-komputer yang dijalankan secara bersamaan untuk memecahkan suatu masalah dengan proses yang cepat.


Menurut Gustafson, proses terdistribusi adalah sebuah komputasi paralel berjalan dengan menggunakan dua atau lebih mesin untuk mempercepat penyelesaian masalah dengan memperhatikan faktor eksternal, seperti kemampuan mesin dan kecepatan tiap-tiap mesin yang digunakan.

Di distribusikan pengolahan paralel dengan menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.

Architectural Parallel Computer

Arsitektur Komputer dibagi menjadi 4 bagian yaitu SSID, SIMD, MISD, MIMD, kita akan jelaskan satu persatu dari bagian tersebut.


  • SISD (Single Instruction, Single Data)
    Merupakan satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 prosesor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa prosesor. Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining). Pada umumnya komputer SISD berupa komputer yang terdiri atas satu buah pemroses (single processor), namun komputer SISD juga mungkin memiliki lebih dari satu unit fungsional (modul memori, unit pemroses, dll). Selama seluruh unit fungsional tersebut berada dalam kendali sebuah unit pengendali.
  • SIMD
    Komputer dengan model ini memiliki lebih dari satu processor, tetapi hanya mengekseusi satu instruksi yang sama pada data yang berbeda. Komputer vector adalah salah satu contoh komputer yang menggunakan model ini. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data uang berbeda. Sebagai contoh ketika ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka dengan menggunakan 5 buah processor. Pada setiap processor menggunakan algpritma atau perintah yang sama namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan/urutan pertama hingga urutan ke 20, processor ke 2 mengolah data dari urutan 21 sampai urutan 40, dst. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
  • MISD
    Teorinya komputer ini memiliki satu processor dan mengeksekusi beberapa instruksi secara paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami. Sampai saat ini belum ada komputer yang menggunakan model MISD ini. Contoh, ambil kasus seperti pada model SIMD namun cara penyelesaiannya 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 disetiap processor.
  • MIMD
    Komputer ini memiliki lebih dari satu processor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini. Beberapa komputer yang menggunakan MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.


SUMBER:




Komentar

Postingan Populer