Minggu, 24 Desember 2017

PROSESOR PARALEL

Prosesor paralel adalah salah satu jenis komputasi banyak komputasi atau eksekusi dari proses yag dijalankan secara simultan. Sebuah instruksi yang besar dapat dipecah menjadi beberapa instruksi kecil dan dijalankan secara bersamaan. Ada beberapa bentuk parallel computing diantaranya bit-level paralellism, instruction level paralellism, dan data paralellism.
Kinerja dari sistem komputer paralel dapat dilihat pada faktor Speedup dan scaleup dari suatu program. Speedup diindikasikan dengan seberapa banyak waktu yang diperlukan untuk menyelesaikan beberapa masalah yang sama oleh N prosesor. Sedangkan scaleup didindikasikan oleh seberapa banyak permasalahan besar dapat diselesaikan oleh N prosesor.
Operasi seperti ini hanya dapat dilakukan oleh komputer yang memiliki dua atau lebih unit prosesor (CPU) yang terhubung melalui beberapa jaringan koneksitas. Kita dapat menganalogikan paralel komputer sebagai suatu Bank dimana teler merupakan prosesor paralel dan transaksi dengan konsumen sebagai task yang akan diproses.
Rancangan prosesor paralel merupakan pengembangan terakhir dari ilmu pengetahuan komputer yang didasari oleh kebutuhan menyelesaikan beberapa instruksi secara paralel dalam waktu yang bersamaan dengan mengurangi masalah ketergantungan data, prosedural, unit fungsional, output dan anti ketergantungan yang menyebabkan suatu instruksi terhenti atau harus menunggu instruksi lainnya selesai untuk dapat diproses. Operasi seperti ini hanya dapat dilakukan oleh komputer yang memiliki dua atau lebih unit prosesor (CPU) yang terhubung melalui beberapa jaringan koneksitas. Dalam beberapa kasus, kita dapat menganalogikan paralel komputer sebagai suatu Bank dimana teler merupakan prosesor paralel dan transaksi dengan konsumen sebagai task yang akan diproses. Berdasarkan struktur prosesor-nya, Flynn (Flynn 72) mengklasifikasikan komputer menjadi empat kelas yaitu : SISD (single instruction and single data), MISD (multiple instruction and single data), SIMD (single instruction and multiple data), dan MIMD (multiple instruction and multiple data). Dalam konteks paralel prosesor, SIMD dan MIMD merupakan kelas yang paling sesuai dan menarik untuk dibahas. Pada akhirnya MIMD adalah bentuk yang paling umum digunakan dalam komputer paralel namun demikian terdapat keuntungan dan keunggulan pada bentuk lainnya yang tidak ada pada MIMD.

Paradigma SISD (single instruction and single data)
Yang 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.

Paradigma SIMD (single instruction and multiple data)
SIMD merupakan salah satu bentuk dari paralel sinkron yang memproses satu instruksi dengan banyak prosesor elemen pada waktu yang sama. Di dalam paradigma SIMD yang paling penting bukanlah kontrol prosesor melainkan data. Data diproses oleh masing-masing elemen pemroses yang berbeda dari satu prosesor ke prosesor lainnya. Sehingga satu program dan satu kontrol unit bekerja secara bersamaan pada kumpulan data yang berbeda. Untuk memproses data secara efisien, SIMD membuat pengaturan proses menjadi dua phase, yaitu : pertama memilah dan mendistribusikan data (data partitioning and distribution) dan yang kedua memproses data secara paralel (data paralel prosesing). Jadi efisiensi akan tergantung kepada banyaknya permasalahan yang harus diselesaikan secara paralel. Cara terbaik dalam menggunakan SIMD adalah dengan mencocokan banyaknya permasalahan dengan banyaknya prosesor paralel. Banyaknya permasalahan berarti seberapa banyak jumlah data yang akan di perbaharui dan banyaknya prosesor paralel berarti jumlah prosesor yang tersedia. Jadi jika permasalahanya sebanding dengan prosesor paralel maka kecepatan tertinggi dapat terjadi, sebaliknya apabila permasalahan hanya satu dengan prosesor paralel yang banyak menyebabkan sistem SIMD menjadi tidak efektif. SIMD sering diidentikan sebagai permasalahan paralel yang sederhana, padahal tidaklah benar karena paradigma SIMD sangat berguna dalam menyelesaikan permasalahan yang memiliki beberapa data yang perlu diperbaharui secara serempak. Khususnya sangat berguna untuk perhitungan numerik biasa seperti perhitungan matrix dan vektor.

Paradigma MISD (multiple instruction and single data)
Yang 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.

Paradigma MIMD (multiple instruction and multiple data)
MIMD berarti banyak prosesor yang dapat mengeksekusi instruksi dan data yang berbeda-beda secara bersamaan. Lebih lanjut sebagai bagian dari komputer, prosesor memiliki otonom yang besar dalam melakukan operasinya. Secara umum MIMD digunakan ketika banyak permasalahan heterogen yang harus diselesaikan pada waktu yang sama. MIMD sangat baik digunkan untuk meneyelesaikan permasalahan yang besar, sebab melebihi data dan kontrol yang harus dilewatkan dari task ke task. Sebagai contoh dalam analogi sebuah Bank, MIMD akan menampilkan kerja terbaiknya ketika masing-masing teller memiliki
beberapa transaksi yang harus diselesaikan satu persatu tanpa ada pembuangan waktu dan penghentian dari beberapa bagian transaksi. Tetapi pada sistem MIMD akan dibingungkan oleh aliran data (dataflow) paralel, karena aliran data tersebut harus dikerjakan oleh mesin MIMD secara terus menerus.
Pertama bahwa tiap-tiap prosesor bekerja secara independen kecuali untuk sistem sinkoron tertentu harus menunggu. Prosesor menjalankan task yang pendek sebagai contoh selesainya mengevaluasi vektor satu elemen sebelum prosesor memproses task lebih jauh. Tentu saja prosesor dalam waktu yang singkat dapat melakukan beberapa pekerjaan yang berbeda, seperti waiting, comparing dan sending data.
Kedua, bahwa pada program paralel untuk menyelesaikan suatu task baik jumlahnya diketahui ataupun tidak, menggunakan prosesor yang jumlahnya tidak diketahui pula. Hal tersebut menggambarkan dua ciri mendasar dari sistem MIMD, yaitu :
1. Kelamahan pada sentralisasi dan mekanisme sistem sinkron secara umum, dan
2. Penggeneralisasian task yang heterogen yang dioperasikan secara bersamaan, contohnya dalam memproses operasi yang berbeda dengan data berbeda dan dalam jangka waktu yang berbeda pula.
Secara umum MIMD meliputi paradigma reduksi/dataflow. Pada kenyataannya juga secara umum meliputi SIMD, sebab kita dapat menemui sifat SIMD pada sebagian sifat MIMD. Sehingga menghasilkan Kinerja akhir dari simulasi satu bentuk mesin dengan bentuk lainnya. Untuk menggabungkannya, mesin MIMD mengubah SIMD prosesor dimana masing-masing prosesornya mampu mengerjakan banyak task dari aplikasi yang berbeda pada waktu yang sama.

Model Pemrosesan Paralel :
·         Komputer SISD (Single Instruction Stream- Single Data Stream)
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.  Pada komputer jenis ini, semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian  instruksi (pipelining). 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.
·         Komputer SIMD (Single Instruction Stream-Multiple Data Stream)
SIMD adalah singkatan dari Single Instruction, Multiple Data, merupakan sebuah istilah dalam komputasi yang merujuk kepada sekumpulan operasi yang digunakan untuk menangani jumlah data yang sangat banyak dalam paralel secara efisien, seperti yang terjadi dalam prosesor vektor atau prosesor larik. SIMD pertama kali dipopulerkan pada superkomputer skala besar, meski sekarang telah ditemukan pada komputer pribadi.
Contoh aplikasi yang dapat mengambil keuntungan dari SIMD adalah aplikasi yang memiliki nilai yang sama yang ditambahkan ke banyak titik data (data point), yang umum terjadi dalam aplikasi multimedia. Salah satu contoh operasinya adalah mengubah brightness dari sebuah gambar. Setiap pixel dari sebuah gambar 24-bit berisi tiga buah nilai berukuran 8-bit brightness dari porsi warna merah (red), hijau (green), dan biru (blue). Untuk melakukan perubahan brightness, nilai R, G, dan B akan dibaca dari memori, dan sebuah nilai baru ditambahkan (atau dikurangkan) terhadap nilai-nilai R, G, B tersebut dan nilai akhirnya akan dikembalikan (ditulis kembali) ke memori.
Prosesor yang memiliki SIMD menawarkan dua keunggulan, yakni:
ü  Data langsung dapat dipahami dalam bentuk blok data, dibandingkan dengan beberapa data yang terpisah secara sendiri-sendiri. Dengan menggunakan blok data, prosesor dapat memuat data secara keseluruhan pada waktu yang sama. Daripada melakukan beberapa instruksi "ambil pixel ini, lalu ambil pixel itu, dst", sebuah prosesor SIMD akan melakukannya dalam sebuah instruksi saja, yaitu "ambil semua pixel itu!" (istilah "semua" adalah nilai yang berbeda dari satu desain ke desain lainnya). Jelas, hal ini dapat mengurangi banyak waktu pemrosesan (akibat instruksi yang dikeluarkan hanya satu untuk sekumpulan data), jika dibandingkan dengan desain prosesor tradisional yang tidak memiliki SIMD (yang memberikan satu instruksi untuk satu data saja).
ü  Sistem SIMD umumnya hanya mencakup instruksi-instruksi yang dapat diaplikasikan terhadap semua data dalam satu operasi. Dengan kata lain, sistem SIMD dapat bekerja dengan memuat beberapa titik data secara sekaligus, dan melakukan operasi terhadap titik data secara sekaligus.

SUMBER : http://hokaao.blogspot.co.id/2011/12/prosesor-paralel.html
                     http://deltawenbiz.blogspot.co.id/2016/12/prosesor-paralel.html

                   

Tidak ada komentar:

Posting Komentar