Sabtu, 06 Mei 2017

Parallel Computation

Paralellism Concept

Teknologi komputasi parallel sudah berkembang lebih dari dua dekade, penggunaannya semakin beragam mulai dari kebutuhan perhitungan di laboratorium fisika nuklir,simulasi pesawat luar angkasa, hingga prakiraan cuaca. Komputasi parallel didefinisikan sebagai penggunaan sekumpulan sumber daya computer secara simultan untuk menyelesaikan permasalahan komputasi.

Secara prinsip computer parallel membagi permasalahan sehingga menjadi lebih kecil untuk dikerjakan oleh setiap prosesor (CPU) dalam waktu yang bersamaan / simultan (concurrent). Prinsip ini disebut paralelisme.

Paralelisme dalam komputasi parallel merupakan hal yang diciptakan dan dimanfaatkan. Sebenarnya prinsip paralelisme juga sudah diterapkan dalam computer serial missal dengan pipelining dan superscalar-nya namun demikian tidak memberikan solusi terbaik dalam hal meningkatkan performansi dikarenakan terbatasnya kemampuan untuk menambah kecepatan prosesor dan fenomena memory bottleneck.

Ada beberapa tingkatan paralelisme dalam komputasi khususnya pada prosesor, diantaranya : 1)Paralelisme bit-level. Contoh: prosesor 32bit dan prosesor64bit.
2)Paralelisme instructionset-level. Contoh: CISC dan RISC.
3)Paralelisme thread-level. Contoh: Intel hyperthreading

Paralelisme lain yang juga berkembang dalam komputasi parallel adalah paralelisme data dan paralelisme fungsi (task).

Perkembangan teknologi prosesor memberikan pengaruh yang besar pada komputasi paralel. Mulai dari prosesor single core super scalar, chip multi processor, prosesor multicore, hingga prosesor cell memberikan kontribusi terhadap peningkatan performa si computer paralel. Supercomputer seperti Roadrunner misalnya menggunakan teknologi multiprosesor, prosesor cell, atau gabungan dari keduanya (hybridsystem). Jumlah prosesor yang dipakai HPC juga semakin tidak terbatas sehingga arsitekturnya disebut Massively Parallel Processing (MPP). Namun demikian penggunaan cluster PC menjadi tren dalam komputasi parallel karena factor biaya dan skalabilitas. 

Distributed Processing


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.

Tipe lain dari komputasi paralel yang kadang-kadang disebut "didistribusikan" adalah gagasan dari sebuah komputer paralel cluster. Sebuah cluster akan banyak CPU terhubung melalui kecepatan tinggi koneksi ethernet ke hub sentral (Server) yang memberi masing-masing beberapa pekerjaan yang harus dilakukan. Metode cluster mirip dengan metode yang dijelaskan dalam paragraf di atas, kecuali bahwa semua CPU secara langsung terhubung ke server, dan satu-satunya tujuan mereka adalah untuk melakukan perhitungan yang diberikan kepada mereka.

Parallel distributed computing dapat dibentuk dari :
  • Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.
  • PVM (Parallel Virtual Machine) untuk mendukung workstation clusters
  • MPI (Message-Passing Interface) programming GUI untuk parallel computers.

Architectural Parallel Computer

Berdasarkan jumlah dan prinsip kerja prosesor pada computer paralel, A.J. Vander Steen dan J.Donggara menyebutkan terdapa tempat arsitektur utama computer parallel menurut Flynn (1972) yaitu :

1)    SISD
Single Instruction – Single Data. Komputer ini memiliki hanya satu prosesor dan satu instruksi yang dieksekusi secara serial. Komputer ini adalah tipe komputer konvensional. Menurut mereka tipe komputer ini tidak ada dalam praktik komputer paralel karena bahkan mainframe pun tidak lagi menggunakan satu prosesor. Klasifikasi ini sekedar untuk melengkapi definisi komputer paralel. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.

2)    SIMD
Single Instruction – Multiple Data. Komputer ini memiliki lebih dari satu prosesor, tetapi hanya mengeksekusi satu instruksi 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).

3)    MISD
Multiple Instructions – Single Data. 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. Sampai saat ini belum ada komputer yang menggunakan model MISD.


4) MIMD
Multiple Instructions – Multiple Data. Komputer ini memiliki lebih dari satu prosesor 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 model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.

Sistem komputer paralel dibedakan dari cara kerja memorinya menjadi shared memory dan distributed memory. Shared memory berarti memori tunggal diakses oleh satu atau lebih prosesor untuk menjalankan instruksi sedangkan distributed memory berarti setiap prosesor memiliki memori sendiri untuk menjalankan instruksi. Adapun komponen-komponen utama dari arsitektur komputer paralel cluster PC antara lain :

  • Prosesor (CPU). Bagian paling penting dalam sistem, untuk multicore terdapat lebih dari satu core yang mengakses sebuah memori (shared memory).
  • Memori. Bagian ini dapat diperinci lagi menjadi beberapa bagian penyusunnya seperti RAM, cache memory dan memori eksternal.
  • Sistem Operasi. Software dasar untuk menjalankan sistem komputer.
  • Cluster Middleware. Antarmuka antara hardware dan software.
  • Programming Environment dan Software Tools. Software yang digunakan untuk pemrograman paralel termasuk software pendukungnya.
  • User Interface. Software yang menjadi perantara hardware dengan user.
  • Aplikasi. Software berisi program permasalahan yang akan diselesaikan.
  • Jaringan. Penghubung satu PC (prosesor) dengan PC yang lain sehingga memungkinkan pemanfaatan sumberdaya secara simultan.

Reffrensi :
http://docplayer.info/38365452-Bab-ii-landasan-teori.html
http://djuneardy.blogspot.co.id/2015/05/konsep-arsitektur-paralel-pemrosesan.html


Tidak ada komentar:

Posting Komentar