-->

Mengetahui Parallel Computation

Berkenaan dengan penggunaan komputer sebagai penganalisis untuk memecahkan masalah-masalah diberbagai bidang ilmu membuat kinerja suatu komputer untuk bisa lebih cepat dalam pemrosesan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.Dengan pemrosesan pararel maka dapat meningkatkan performa komputasi.


Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuanganbioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.


Parallel processing adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan.

Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. 

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 melakukan aneka jenis komputasi paralel ini diperlukan 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 paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara parallel. 

Performa dalam pemrosesan paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan teknik 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.

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.

Parallelism Concept

Banyak perkembangan-perkembangan baru dalam arsitektur komputer yang didasarkan pada konsep pemrosesan paralel. Pemrosesan paralel dalam sebuah komputer dapat didefinisikan sebagai pelaksanaan instruksi-instruksi secara bersamaan waktunya. Hal ini dapat menyebabkan pelaksanaan kejadian-kejadian (1) dalam interval waktu yang sama, (2) dalam waktu yang bersamaan atau (3) dalam rentang waktu yang saling tumpang tindih.

Sekalipun didukung oleh teknologi prosesor yang berkembang sangat pesat, komputer sekuensial tetap akan mengalami keterbatasan dalam hal kecepatan pemrosesannya. Hal ini menyebabkan lahirnya konsep keparalelan (parallelism) untuk menangani masalah dan aplikasi yang membutuhkan kecepatan pemrosesan yang sangat tinggi, seperti misalnya prakiraan cuaca, simulasi pada reaksi kimia, perhitungan aerodinamika dan lain-lain.

Konsep keparalelan itu sendiri dapat ditinjau dari aspek design mesin paralel, perkembangan bahasa pemrograman paralel atau dari aspek pembangunan dan analisis algoritma paralel. Algoritma paralel itu sendiri lebih banyak difokuskan kepada algoritma untuk menyelesaikan masalah numerik, karena masalah numerik merupakan salah satu masalah yang memerlukan kecepatan komputasi yang sangat tinggi.

Adapun proses kerja , pemrosesan paralel membagi beban kerja dan mendistribusikannya pada komputer-komputer lain yang terdapat dalam sistem untuk menyelesaikan suatu masalah. Sistem yang akan dibangun akan tidak akan menggunakan komputer yang didesikasikan secara khusus untuk keperluan pemrosesan paralel melainkan menggunakan komputer yang telah ada. Artinya, sistem ini nantinya akan terdiri dari sejumlah komputer dengan spesifikasi berbeda yang akan bekerjasama untuk menyelesaikan suatu masalah.

Adapun tipe-tipe Paralelisme adalah sebagai berikut :
Result Paralelisme
Result Paralelisme yang sering disebut sebagai Embarrassingly Parallel atau Perfect Paralel adalah tipe paralelisme dimana komputasinya dapat dibagi menjadi beberapa tugas independen yang mempunyai struktur sama. Data struktur suatu tugas dibagi menjadi beberapa bagian yang berstruktur sama. Contoh tugas yang bisa diselesaikan dengan Result Parallelism adalah Simulasi Montecarlo.

Specialist Paralelisme
Cara kerja Specialist Parallelisme adalah dengan mengerjakan beberapa tugas secara bersamaan pada prosesor yang berbeda . Setiap komputer mengerjakan tugas tertentu. Contohnya penggunaanya adalah pada simulasi pabrik kimia, satu prosesor mensimulasikan proses sebelum reaksi kimia, satu prosesor mensimulasikan reaksi pada tahap awal, dan prosesor lainnya mensimulasikan proses penyulingan hasil, dan seterusnya.

Agenda Paralelisme
Tipe paralelisme ini mempunyai daftar yang harus dikerjakan oleh sistem komputer . Semua komputer yang terdapat pada sistem dapat mengakses daftar tersebut. Pada Model MW (Manager Worker) terdapat pengelompokan komputer menjadi dua yaitu :

a) Manager : bertugas memulai perhitungan, memonitor kemajuan tugas, melayani permintaan worker. User berkomunikasi dengan sistem komputer melalui komputer yang berfungsi sebagai manager ini.

b) Worker : mengerjakan tugas-tugas yang diberikan oleh manager. Kerja komputer ini dimulai setelah ada perintah dari manager dan diakhiri oleh manager.
Pesan Terdistribusi dan Lingkungan Pemrograman (Distributed Messaging and Programming Enviroment) hubungannya dengan pemrosesan paralel ialah pesan sebagai sesuatu ( objek ) pada pemrosesan itu sendiri sehingga kita harus mendeskripsikan pesan ( message ) itu .

Distributed Processing
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).


Pemrosesan terdistribusi merupakan proses pendistribusian pengolahan paralel dalam pemrosesan paralel menggunakan beberapa mesin. Jadi, bisa di bilang kemampuan dari suatu komputer-komputer yang dijalankan secara bersamaan untuk memecahkan suatu masalah dengan proses yang cepat.

Didistribusikan pengolahan paralel 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 beberapa data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.

Contoh dari proses terdistribusi adalah ketika terdapat macam masalah diberikan pada satu master, maka dengan menggunakan komputer paralel masalah terseut akan terpecah menjadi beberapa bagian secara terdistribusi. 

Parallel distributed computing dapat dibentuk dari :
PVM (Parallel Virtual Machine)
Untuk mendukung workstation clusters yang merupakan sebuah perangkat lunak yang mampu mensimulasikan pemrosesan paralel pada jaringan.

MPI (Message-Passing Interface) programming GUI
Untuk parallel computers yang merupakan sebuah mekanisme mengiriman instruksi dan data antara dua proses komputasi yang berbeda yang berada pada komputer berbeda pada sistem sistem paralel. Paket-paket yang mempunyai spesifikasi kebutuhan MPI telah banyak beredar di Internet dan telah dilengkapi dengan LAM/MPI [5] dan MPICH [6]. Paket-paket ini telah dilengkapi dengan fungsi-fungsi yang menggunakan library C dan Fortran. Kemampuan MPI digunakan untuk menginterpretasikan bahasa pemrograman matrik kemampuan dynamic linking dari bahasa tersebut. Fungsi library dari paket MPI dapat digabungkan dengan dynamic extension dengan cara menghubungkan bahasa pemrograman tersebut dengan bahasa C, C++, atau FORTRAN. Hal ini telah dilakukan untuk menciptakan toolbox MPI (MPITB) untuk kebutuhan MATLAB, dan bahasa pemrograman GNU Octave oleh Fernandez Baldomero .

Architectural Parallel


Menurut seorang Designer Processor, taksonomi Flynn, Arsitektur Komputer dibagi menjadi 4 bagian, yaitu : 

SISD  (Single Instruction, Single Data)
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 (Single Instruction, Multiple Data)
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 (Multiple Instruction, Single Data)
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 (Multiple Instruction, Multiple Data)
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.

Kesimpulan
Parallel processing dapat mempermudah pekerjaan kita dalam kehidupan sehari-hari. Dengan kelebihan dari komputasi parallel processing yang mampu menjalankan tugas lebih dari satu aplikasi, mempercepat proses penyelesaian masalah, melipatgandakan kemampuan proses sebuah komputer dan mengurangi separuh dari waktu proses yang diperlukan untuk menyelesaikan sebuah masalah.Namun, komputasi parallel processing memang tidak spesifik untuk kekurangannya tetapi ada beberapa walaupun sedikit yaitu Perangkat keras lainnya yang dibutuhkan ,kebutuhan daya juga lebih, tidak baik untuk daya rendah dan perangkat mobile.

Sumber

LihatTutupKomentar