Langsung ke konten utama

Parallel Computation


PARALLEL COMPUTATION

Adalah salah satu pemrograman komputer yang memungkinkan untuk melakukan eksekusi perintah secara bersamaan dan berbarengan dalam satu ataupun banyak prosesor di dalam sebuah CPU. Parallel computation sendiri berguna untuk meningkatkan performa komputer karena semakin banyak proses yang bisa dikerjakan secara bersamaan maka akan makin cepat. Parallel computation menggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat programberjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek,seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya, Maksudnya program dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk membuat program yang lebih baik dan dapat diproses dengan cepat. Dapat diambil kesimpulan bahwa pada parallel processing berbeda dengan istilah multitasking, yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus, parallel processing dapat disebut juga dengan istilah parallel computing.
Dalam menyelesaikan suatu permasalahan, komputasi paralel memerlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang akan dihubungkan satu dengan yang lainnya menggunakan jaringan sehingga mampu bekerja secara paralel. Dan ada perangkat lunak pendukung untuk menjalankan konsep paralel ini, dan perangkat lunak pendukung itu sering disebut dengan middleware. Middleware ini berfungsi untuk mengatur distribusi pekerejaan antar node dalam satu mesin paralel. Lalu langkah selanjutnya, pemakai juga harus membuat pemrograman paralel untuk merealisasikan komputasi yang baik. Dimana pemrograman paralel merupakan teknik pemrogramam komputer yang dibuat untuk mengeksekusi perintah secara bersamaan yang dilakukan oleh komputer dengan satu atau bahkan ganda dengan mesin paralel.


Pemakaian komputer secara bersamaan ini jika dilakukan dengan komputer-komputer secara terpisah yang terhubung dalam suatu jaringan komputer, maka istilah ini disebut dengan sistem terdistribusi (distributed computing). Jadi tujuan utama dari pemrograman paralel yaitu untuk membuat performa komputasi semakin meningkat sehingga semakin banyak hal yang bisa dilakukan secara bersamaan dalam waktu yang bersamaan sehingga banyak pekerjaan yang dapat terselesaikan.

DISTRIBUTED PROCESSING

Distributed Processing adalah aktivitas memproses informasi dalam suatu organisasi yang dijalankan oleh jaringan komputer yang tersambung oleh saluran telekomunikasi yang terpusat pada fasilitas induk komputer. Proses ini menggunakan pemrosesan paralel pada beberapa mesin. Misalnya proses transaksi yang terjadi pada beberapa mesin ATM sebuah bank. Ketika ribuan nasabah menggunakan mesin ATM pada saat yang bersamaan, bayangkan berapa banyak proses yang harus dikerjakan jika hanya terdapat 1 komputer server. Oleh karena itu dengan menggunakan Distributed Processing, beban pemrosesan yang besar dapat di kerjakan oleh beberapa komputer yang terhubung oleh jaringan dalam waktu yang bersamaan secara simultan. Beban pemrosesan yang besar itu dipecah menjadi beberapa beban kecil guna mempercepat proses.

ARCHITECTURAL PARALLEL COMPUTER

Single Intruction Stream, Single Data Stream (SISD) 


Single Instruction – Single Data. Komputer jenis ini hanya memiliki satu prosesor ( single processor ). Dimana semua instruksi di eksekusi secara serial ( terurut satu demi satu ) dan memungkinkan adanya overlapping di setiap bagian instruksi dalam pelaksanaan eksekusi. Komputer ini adalah tipe komputer konvensional. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.


Single Instruction Stream Multiple Data Stream (SIMD)


Single Instruction – Multiple Data. Komputer jenis ini hanya dapat mengeksekusi satu instruksi dan memiliki lebih dari satu prosesor. Satu eksekusi dilakukan secara paralel pada data yang berbeda pada level lock-step. Komputer vektor adalah salah satu komputer paralel yang menggunakan arsitektur ini. 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 ).


Multiple Instruction Stream, Single Data Stream (MISD)



Multiple Instructions – Single Data. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk penelitian. Teorinya komputer ini memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami.

Multiple Instruction Stream, Multiple Data Stream (MIMD)


Multiple Instructions – Multiple Data. Komputer jenis ini dapat mengeksekusi lebih dari satu instruksi secara paralel dengan lebih dari satu prosesor. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.

PENGANTAR THREAD PROGRAMMING

Threading / Thread adalah sebuah alur kontrol dari sebuah proses. Konsep threading adalah menjalankan 2 proses ( proses yang sama atau proses yang berbeda ) dalam satu waktu. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network. Threading dibagi menjadi 2 :

Static Threading
Teknik ini biasa digunakan untuk komputer dengan chip multiprocessors dan jenis komputer shared-memory lainnya. Teknik ini memungkinkan thread berbagi memori yang tersedia, menggunakan program counter dan mengeksekusi program secara independen. Sistem operasi menempatkan satu thread pada prosesor dan menukarnya dengan thread lain yang hendak menggunakan prosesor itu.

Dynamic Multithreading
Teknik ini merupakan pengembangan dari teknik sebelumnya yang bertujuan untuk kemudahan karena dengannya programmer tidak harus pusing dengan protokol komunikasi, load balancing, dan kerumitan lain yang ada pada static threading. Concurrency platform ini menyediakan scheduler yang melakukan load balacing secara otomatis. Walaupun platformnya masih dalam pengembangan namun secara umum mendukung dua fitur : nested parallelism dan parallel loops.


PENGANTAR MESSAGE PARSING DAN OPEN MP

Message Passing Interface (MPI)
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing-masing compute node yang kemudian masing-masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node.Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan-pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor. MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada mekanismesuatu proses yang bisa mengakses secara langsung memori yang lain. Pembagian data antar  proses dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar  proses. MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan. 

Terdapat dua metode dalam pengiriman pesan yaitu :

Synchronous Message Passing
Sistem pengiriman pesan secara sinkron mengharuskan pengirim dan penerima untuk menunggu satu sama lain saat mentransfer pesan. Pengirim menunggu untuk mengirim pesan sampai penerima siap untuk menerima pesan. Oleh karena itu tidak ada buffering. Selain itu pengirim tidak bisa mengirim pesan untuk dirinya sendiri.

Ansynchronous Message Passing
Sedangkan dalam komunikasi asinkron pengirim dan penerima tidak saling menunggu dan dapat melakukan perhitungan sendiri saat pengiriman pesan sedang dilakukan. Pengirim akan mengirim pesan kapanpun dia mau. Pengirim tidak peduli ketika penerima belum siap untuk menerima pesan. Oleh karena itu diperlukan buffering untuk menampung pesan sementara sampai penerima siap menerima pesan. Selain itu pengirim dapat pesan untuk dirinya sendiri.

Selain berdasarkan metode pengiriman pesan diatas, pengiriman pesan (message passing) dapat dibedakan berdasarkan jumlah penerima pesan yaitu: Point to Point dan Broadcast. Perbedaan mendasar keduanya adalah jumlah penerima yang menerima pesan. Pada Point to Point penerimanya tunggal sedangkan pada broadcast jumlah penerimanya banyak.

OPENMP

OpenMP merupakan API yang mendukung multi-platform berbagi memori multiprocessing pemrograman C , C + + , dan Fortran , pada kebanyakan arsitektur prosesor dan system operasi , termasuk Solaris , AIX , HP-UX , GNU / Linux , Mac OS X , dan Windows platform. Ini terdiri dari satu set perintah kompiler, rutinitas library, dan variable lingkungan yang mempengaruhi perilaku run-time. OpenMP dikelola oleh nirlaba teknologi konsorsium OpenMP Arsitektur Review Board (ARB atau OpenMP), bersama-sama didefinisikan oleh sekelompok perangkat keras komputer utama dan vendor perangkat lunak, termasuk AMD , IBM , Intel , Cray , HP , Fujitsu , Nvidia , NEC , Microsoft , Texas Instruments , Oracle Corporation , dan banyak lagi.

PENGANTAR PEMROGRAMAN CUDA GPU

GPU ( Graphical Processing Unit ) awalnya adalah sebuah prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering, terutama untuk mendekati waktu proses yang realtime, maka meningkat pula kemampuan prosesor grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat daripada peningkatan teknologi prosesor sesungguhnya ( CPU ), dan pada akhirnya GPU menjadi General Purpose, yang artinya tidak lagi hanya untuk melakukan rendering saja melainkan bisa untuk proses komputasi secara umum. Penggunaan Multi GPU dapat mempercepat waktu proses dalam mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program yang benarbenar bisa efektif berjalan pada Multi GPU. CUDA merupakan teknologi anyar dari produsen kartu grafis Nvidia, dan mungkin belum banyak digunakan orang secara umum. Kartu grafis lebih banyak digunakan untuk menjalankan aplikasi game, namun dengan teknologi CUDA ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah software aplikasi. Fungsi kartu grafis Nvidia digunakan untuk membantu Processor (CPU) dalam melakukan kalkulasi dalam proses data. CUDA merupakan singkatan dari Compute Unified Device Architecture, didefinisikan sebagai sebuah arsitektur komputer parallel, dikembangkan oleh Nvidia. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. VGA – VGA dari Nvidia yang sudah menggunakan teknologi CUDA antara lain :
Nvidia GeForce GTX 280, GTX 260,9800 GX2, 9800 GTX+, 9800 GTX, 9800 GT, 9600 GSO,  9600 GT, 9500 GT, 9400 GT, 9400 mGPU, 9300 mGPU, 8800 Ultra, 8800 GTX, 8800 GTS, 8800 GT, 8800 GS, 8600 GTS, 8600 GT, 8500 GT, 8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU, dan seri sejenis untuk kelas mobile ( VGA notebook ). Singkatnya, CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia. Misalnya meng-edit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia, sudah mengunakan teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proces dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.

Sumber :
https://abaihisoftskill3.blogspot.com/2017/06/parallel-computation.html
http://andreasrnt.blogspot.com/2018/03/parallel-computation-kelompok-5-tugas.html
https://mugnimaestra.wordpress.com/2018/07/01/tugas-4-softskill-parallel-computation/
http://okyasha7.blogspot.com/2016/06/tugas-softskill-parallel-computation.html

Komentar

Popular Post

Deskripsi Game Labirin dan Cara Bermain

Cara bermain game pada labirin adalah dengan menemukan jalan keluar yang ada pada setiap sudut labirin. Karakter ditantang untuk memulai pada labirin level 1 yang bermedan pada rerumputan. Mulai dari level 1 karakter hanya perlu berputar putar mencari jalan keluar. Medan pada level 1 pun hanya berupa belokan kecil sehingga sangat mudah untuk menemukan jalan keluar. Karakter mulai masuk ke dalam labirin Jalan keluar pada level 1 akan menembus langsung ke level 2. Berikut tampilan saat karakter sudah selesai melakukan misi pencarian jalan keluar pada level 1. Pada level 2, medan yang diberikan adalah salju. Dan juga pada medan ini terdapat beberapa belokan tembok yang lebih banyak dari level 1 sehingga karakter perlu mencari jalan keluar dengan berhati hati agar tidak bertemu jalan buntu.  Berikut contoh labirin level 2 Karakter mulai masuk ke dalam labirin level 2 Ketika sudah selesai mema

Pengalaman Pribadi Menerapkan Prinsip Manajemen Waktu

Orang yang dapat bersenang – senang adalah orang yang pandai melakukan manajemen waktu. Baik manajemen sebagian waktu maupun manajemen seluruh waktu. Disini maksud saya adalah ketika orang memiliki waktu 24 jam dalam sehari, dia dapat memanfaatkan minimal 12 jam yang dimiliki dengan melakukan suatu yang produktif. Manajemen waktu mengajarkan untuk dapat disiplin terhadap waktu. Prinsip manajemen waktu adalah perencanaan dengan tujuan yang jelas dan matang. Karena ketika kita memiliki perencanaan, kita dapat mengetahui darimana langkah mulai. Sebagai contoh kita memiliki tugas yang menumpuk, kita dapat membagi tugas tersebut dalam skala prioritas. Termasuk dalam hal mendesak atau hal jangka panjang. Jadi tugas tersebut dapat dikategorikan sesuai dengan waktunya. Dan yang terpenting ketika kita melakukan skala prioritas, tidak boleh ada yang dinamakan menunda pekerjaan. Dikarenakan jika kita menunda pekerjaan, skala prioritas yang dilakukan dan juga manajemen waktu hanya sia – sia. B

TV Analog vs TV Digital

TV Digital Televisi digital (bahasa Inggris: Digital Television, DTV)atau penyiaran digital adalah jenis televisi yang menggunakan modulasi digital dan sistem kompresi untuk menyiarkan sinyal video, audio dan data ke pesawat televisi. TV Digital bukan berarti pesawat televisinya yang digital, namun lebih kepada sinyal yang dikirimkan adalah sinyal digital atau mungkin yang lebih tepat adalah siaran digital (Digital Broadcasting). Televisi resolusi tinggi atau high-definition television (HDTV), yaitu: standar televisi digital internasional yang disiarkan dalam format 16:9 (TV biasa 4:3) dan surround-sound 5.1 Dolby Digital. TV digital memiliki resolusi yang jauh lebih tinggi dari standar lama. Penonton melihat gambar berkontur jelas, dengan warna-warna matang, dan depth-of-field yang lebih luas daripada biasanya. TV Analog Televisi analog mengkodekan informasi gambar dengan memvariasikan voltase dan/atau frekuensi dari sinyal . Seluruh sistem sebelum Televisi dig

Resensi Novel Bidadari Terakhir

Ketulusan Hati Seorang Pelajar dengan Kupu - Kupu Malam Judul              : Bidadari Terakhir Pengarang      : Agnes Davonar Penerbit          : Intibook Publisher Tahun Terbit    : 2013 Tebal Buku     : vi + 162 halaman Cetakan          : Pertama, Maret 2013 Sinopsis Rasya seorang pelajar yang mempunyai masa depan cemerlang, selalu mendapat peringkat lima besar di kelas, dan baginya pendidikan adalah nomer satu. Pada suatu ketika Hendra, sahabat Rasya sedang berulang tahun mengajak nya ke suatu tempat.  Yaitu Paradiso sebuah tempat pelacuran. Rasya yang memiliki iman kuat menolak ajakan Hendra, lalu menunggu di luar sambil meminum teh botol. Di saat itu Rasya bertemu dengan Eva, seorang PSK yang sedang mencari pelanggan. Eva menceritakan bagaimana sulitnya mencari uang untuk operasi ibunya. Rasya yang lugu menawarkan bantuan pinjaman kepada Eva. Rasya yang seorang pelajar merasa iba karena harus bekerja setengah mati dan menjadi seorang kupu – kupu mala