Senin, 10 Juli 2017

Analisa Jurnal Komputasi Pararel


Link Jurnal :
ajuarna.staff.gunadarma.ac.id/Downloads/files/9254/ArtikelEpilog.pdf
Judul Jurnal :
Komputasi Paralel  Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi
Penulis
Thomas Anung Basuki
Latar Belakang
Saat ini penggunaan komputer untuk menyelesaikan masalah sudah merasuk ke segala bidang. Hal ini karena komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Seiring dengan hal tersebut, semakin dituntut proses komputasi yang semakin cepat. Untuk meningkatkan kecepatan proses komputasi, dapat ditempuh dua cara : !"peningkatan kecepatan perangkat keras, !"peningkatan kecepatan perangkat lunak. Komponen utama perangkat keras komputer adalah processor. Saat ini, peningkatan kecepatan processor benarbenar luar biasa. Processor Pentium 4 yang dikeluarkan Intel kecepatannya sudah mencapai 1.8 GHz. Meskipun kecepatan processor dapat ditingkatkan terus, namun karena keterbatasan materi pembuatnya, tentu ada suatu batas kecepatan yang tak mungkin lagi dapat dilewati. Karena itu timbul ide pembuatan komputer multiprocessor. Dengan adanya banyak processor dalam satu komputer, pekerjaan bisa dibagi-bagi kepada masing-masing processor. Dengan demikian lebih banyak proses dapat dikerjakan dalam satu saat.
Perubahan arsitektur komputer menjadi multiprocessor memang bisa membuat lebih banyak proses bisa dikerjakan sekaligus, namun tetap tidak bisa meningkatkan kecepatan masing-masing proses. Peningkatan kecepatan setiap proses bisa dicapai melalui peningkatan kecepatan perangkat lunak. Kecepatan perangkat lunak sangat ditentukan oleh algoritmanya. Usaha untuk mencari algoritma yang lebih cepat tidaklah mudah, namun dengan adanya komputer multiprocessor, dapatlah dirancang algoritma yang lebih cepat, yaitu dengan memparalelkan proses komputasinya. Saat ini komputer multiprocessor masih jarang dan mahal harganya. Hal ini menyebabkan algoritma paralel yang ada sukar diimplementasikan. Untuk mengatasinya dirancanglah mesin paralel semu. Mesin paralel semu ini sebenarnya adalah jaringan komputer yang dikendalikan oleh sebuah perangkat lunak yang mampu mengatur pengalokasian proses-proses komputasi kepada processor-processor yang tersebar dalam jaringan tersebut.
Pada makalah ini dibuat dua aplikasi dari komputasi paralel. Tujuan dari pembuatan aplikasi ini hanyalah untuk menunjukkan peningkatan kecepatan yang diperoleh dari paralelisasi algoritma sekuensial, sehingga sengaja dipilih aplikasi yang sederhana. Karena ketiadaan perangkat keras komputer paralel, maka kedua aplikasi tersebut dibuat dengan menggunakan PVM (Parallel Virtual Machine), suatu sistem perangkat lunak yang bekerja pada jaringan komputer dan mampu mensimulasikan kerja komputer paralel. Program dibuat dengan bahasa pemroraman C pada sistem operasi Red Hat Linux.
Terdapat dua aplikasi sederhana yang dipilih untuk diimplementasikan, yaitu penjumlahan n bilangan secara paralel dan pengurutan n bilangan dengan menggunakan suatu sorting network yang disebut Bitonic Sort. Untuk masing-masing aplikasi akan dibandingkan dengan algoritma sekuensialnya.
Definisi dan Konsep Arsitektur Pararel
Para perancang komputer selalu berudsaha untuk meningkatkan kinerja mesin-mesin yang dirancangnya.Satu cara yang dilakukan adalah membuat chip-chip agar bekerja lebih cepat dengan menambah kecepatan detaknya, namun untuk semua desain baru, cara tersebut masih suli untuk dilakukan. Oleh karena itu, sebagian besar arsitektur komputer beralih ke paralelisme (melakukan dua hal atau lebih secara sekaligus) sebagai suatu cara untuk mencapai kinerja yang lebih tinggi pada suatu kecepatan detak tertentu.
Idealnya, parallel processing membuat program berjalan 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.
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.
Sebagian besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari satu. Bahkan juga ada komputer buan CPU. Komputer dengan satu CPU dapat melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan. Namun, parallel processing ini memerlukan software canggih yang disebut distributed processing software.
Arsitektur Komputer Pararel
Pengelompokan Komputer
Berdasarkan jumlah aliran instruksi dan aliran datanya, Michael J. Flynn pada tahun 1966 mengelompokkan komputer digital menjadi empat golongan besar [Hwa85]. Aliran instruksi (instruction stream)adalah urutan instruksi yang dieksekusi oleh sistem komputer, sedangkan aliran data (data stream) adalah urutan data yang diolah termasuk data masukan, bagian dari data, maupun data sementara yang dipanggil atau digunakan oleh aliran instruksi.
Keempat kelompok komputer tersebut adalah :
1. Komputer SISD (Single Instruction stream-Single Data stream)
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, dan lain-lain), selama seluruh unit fungsional tersebut berada dalam kendali sebuah unit pengendali. Skema arsitektur global komputer SISD.
2. Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan data yang berbeda yang berasal dari aliran data yang berbeda pula.
3. Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer jenis ini memiliki n unit pemroses yang masing-masing menerima danmengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi masukan bagi pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk penelitian.
4. Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni terdapat interaksi di antara npemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses. Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dan disebut loosely coupled jika tingkat interaksi antara pemroses rendah.
Referensi
[1]  Cormen, T.H., Leiserson, C. dan Rivest, R.E. Introduction to Algorithms. MIT Press, 1990
[2]  Kernighan, B.W. dan Ritchie, D.M. The C Programmming Language. Prentice-Hall, 1989.
[3]  Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., Sunderam, V. PVM : Parallel Virtual Machine, A Users’ Guide And Tutorial For Networked Parallel Computing. MIT Press, 1994.