KOMPUTER PARALEL
Definisi Komputer Paralel
Komputasi Komputasi paralel adalah salah satu teknik melakukan melakukan komputasi komputasi secara bersamaan bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan diperlukan sangat besar, baik karena harus mengolah mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang yang banyak. banyak. Kasus Kasus kedua kedua umum umum ditemu ditemuii di kalkul kalkulasi asi numerik numerik untuk untuk menyel menyelesai esaikan kan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.
Tujuan Komputer Paralel
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin Semakin banyak banyak hal yang yang bisa bisa dilaku dilakukan kan secara secara bersam bersamaan aan (dalam (dalam waktu waktu yang yang sama), sama), semakin banyak pekerjaan yang bisa diselesaikan. nalogi yang paling gampang adalah, bila anda dapat merebus merebus air sambil memotong!mo memotong!motong tong bawang saat anda akan memasak, memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan (serial). tau waktu yg anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua. "erforma dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu # jam dan dengan bantuan teman, berdua anda anda bisa bisa melaku melakukan kanny nyaa dalam dalam #$% jam maka maka anda anda memper memperoleh oleh pening peningkat katan an kecepa kecepatan tan sebanyak % kali.
&erikut ini adalah gambar perbedaa antara komputasi tunggal dengan parallel komputasi ' a)
komputasi tunggal$serial
1
b)
komputasi parallel
"erbandingan antara serial komputasi dan parallel komputasi "ada sistem komputasi parallel terdiri dari beberapa unit prosesor dan beberapa unit memori. da dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared memory address dan message passing. &erdasarkan cara mengorganisasikan memori ini komputer paralel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine. "rosesor dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi) secara statis maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed memory system (sistem memori terdistribusi). Sambungan langsung peer to peer digunakan untuk menghubungkan semua prosesor. Interkoneksi dinamis umumnya menggunakan switch untuk menghubungkan antar prosesor dan memori. Komunikasi data pada sistem paralel memori terdistribusi, memerlukan alat bantu komunikasi. lat bantu yang sering digunakan oleh sistem seperti " aringan pada saat ini adalah standar *"I (*essage "assing Interface) atau standar "+* ("arallel +irtual *achine)yang keduanya bekerja diatas T"$I" communication layer. Kedua standar ini memerlukan fungsi remote access agar dapat menjalankan program pada masing!masing unit prosesor. Salah satu protocol yang dipergunakan pada komputasi parallel adalah etwork -ile System (-S), -S adalah protokol yang dapat membagi sumber daya melalui jaringan. -S dibuat untuk dapat independent dari jenis mesin, jenis sistem operasi, dan jenis protokol transport
yang
digunakan.
al
ini
dilakukan
dengan
menggunakan
/".
-S
memperbolehkan user yang telah diijinkan untuk mengakses file!file yang berada di remote host seperti mengakses file yang berada di lokal. "rotokol yang digunakan protokol mount menentukan host remote dan jenis file sistem yang akan diakses dan menempatkan di suatu direktori, protokol -S melakukan I$0 pada remote f ile system. "rotokol mount dan protokol 2
-S bekerja dengan menggunakan /" dan mengiri dengan protokol T" dan 12". Kegunaan dari -S pada komputasi parallel adalah untuk melakukan sharing data sehingga setiap node sla3e dapat mengakses program yang sama pada node master. Software yang diperlukan untuk "arallel komputasi adalah "4I 2K, dimana aplikasi ini telah dilengkapi dengan luster 2e3elopment Kit dimana software ini telah memiliki feature yang lengkap bila ingin melakukan komputasi dengan parallel prosessing karena software ini telah mensupport *"I untuk melakukan perhitungan komputasi.
Arsitektur Komputer Paralel: •
5mbarasingly "arallel adalah pemrograman paralel yang digunakan pada masalah! masalah yang bisa diparalelkan tanpa membutuhkan komunikasi satu sama lain. Sebenarnya pemrograman ini bisa dibilang sebagai pemrograman paralel yang ideal, karena tanpa biaya komunikasi, lebih banyak peningkatan kecepatan yang bisa dicapai. o
Taksonomi dari model pemrosesan paralel dibuat berdasarkan alur instruksi dan alur data yang digunakan'
•
SIS2 Single Instruction Single 2atapath, ini prosesor tunggal, yang bukan paralel.
•
SI*2 Single Instruction *ultiple 2atapath, alur instruksi yang sama dijalankan terhadap banyak alur data yang berbeda. lur instruksi di sini kalau tidak salah maksudnya ya program komputer itu. trus datapath itu paling ya inputnya, jadi inputnya lain!lain tapi program yang digunakan sama.
•
*I*2 *ultiple Instruction *ultiple 2atapath, alur instruksinya banyak, alur datanya juga banyak, tapi masing!masing bisa berinteraksi.
•
*IS2 *ultiple Instruction Single 2atapath, alur instruksinya banyak tapi beroperasi pada data yang sama.
Proses distribusi
Kata didistribusikan dalam istilah seperti 6sistem terdistribusi6, 6didistribusikan pemrograman6, dan 6algoritma terdistribusi6 awalnya merujuk pada jaringan komputer dimana setiap komputer yang didistribusikan secara fisik dalam beberapa wilayah geografis. Istilah yang saat ini digunakan dalam lebih luas akal, bahkan mengacu pada proses otonom yang dijalankan pada komputer fisik yang sama dan berinteraksi satu sama lain dengan pesan lewat *eskipun tidak ada definisi tunggal dari sistem terdistribusi, 789 mendefinisikan sifat berikut yang umum digunakan.' 3
da beberapa entitas komputasi otonom, masing!masing memiliki memori lokal sendiri. 5ntitas berkomunikasi satu sama lain dengan pesan yang lewat. entitas komputasi disebut komputer atau node. Sebuah sistem terdistribusi mungkin memiliki tujuan bersama, seperti pemecahan masalah komputasi yang besar. 7:9 tau, setiap komputer mungkin memiliki pengguna sendiri dengan kebutuhan indi3idu, dan tujuan dari sistem terdistribusi adalah untuk mengkoordinasikan penggunaan sumber daya bersama atau memberikan layanan komunikasi kepada pengguna. Sifat khas lain dari sistem terdistribusi adalah sebagai berikut' •
Sistem ini harus mentolerir kegagalan dalam komputer pribadi.
•
Struktur sistem (topologi jaringan, latency jaringan, jumlah komputer) tidak diketahui sebelumnya, sistem dapat terdiri dari berbagai jenis komputer dan link jaringan, dan sistem dapat berubah selama pelaksanaan program didistribusikan.
•
Setiap komputer hanya memiliki terbatas, pandangan yang tidak lengkap dari sistem. Setiap komputer mungkin tahu hanya satu bagian dari input.
Paralel dan komputer terdistribusi
Sistem terdistribusi adalah kelompok jaringan komputer, yang memiliki tujuan yang sama untuk pekerjaan mereka. Istilah 6komputasi bersamaan6, 6komputasi paralel6, dan 6komputasi terdistribusi6 memiliki banyak tumpang tindih, dan tidak ada perbedaan yang jelas antara mereka ada Sistem yang sama dapat dicirikan baik sebagai 6parallel6 dan 6didistribusikan6.; prosesor dalam sistem terdistribusi khas berjalan bersamaan secara paralel komputasi paralel dapat dilihat sebagai bentuk tertentu erat komputasi terdistribusi, dan komputasi terdistribusi dapat dilihat sebagai bentuk longgar ditambah komputasi paralel. amun demikian, adalah mungkin untuk mengklasifikasikan sistem kira!kira bersamaan sebagai 6paralel6 atau 6didistribusikan6 dengan kriteria sebagai berikut' 2alam komputasi paralel, semua prosesor mungkin memiliki akses ke memori bersama untuk bertukar informasi antara prosesor. 2alam komputasi terdistribusi, masing!masing prosesor memiliki memori pribadi (memori terdistribusi). Informasi dipertukarkan dengan melewatkan pesan antara prosesor. Setiap komputer memiliki memori lokal sendiri, dan informasi dapat dipertukarkan hanya dengan melewatkan pesan dari satu node ke yang lain dengan menggunakan link komunikasi yang tersedia.
4
Situasi ini semakin rumit oleh penggunaan tradisional istilah paralel dan algoritma terdistribusi yang tidak cukup cocok dengan definisi di atas sistem paralel dan terdistribusi, lihat dasar!dasar Teoritis bawah untuk pembahasan lebih rinci. amun demikian, sebagai aturan praktis, komputasi paralel kinerja tinggi dalam shared!memory multiprosesor menggunakan algoritma paralel sedangkan koordinasi dari sistem terdistribusi skala besar menggunakan algoritma didistribusikan.
Klasifikasi Sore
.5. Shore membuat klasifikasi arsitektur komputer yang didasarkan pada organisasi bagian! bagian penyusun suatu komputer dan membedakannya menjadi enam jenis mesin. #. *esin I. "ada komputer ini, satu instruksi dikerjakan pada suatu waktu dan masing! masing beroperasi pada satu word dalam suatu waktu. %. *esin II. Komputer ini juga menjalankan satu instruksi pada suatu waktu, namun ia beroperasi pada sebuah irisan dari suatu bit dalam suatu waktu, bukannya semua bit dalam suatu word data. <. *esin III. Sebuah komputer dalam kelas ini memiliki dua unit pengolahan yang dapat beroperasi pada data, satu word dalarn suatu waktu atau suatu irisan bit dalam suatu waktu. =. *esin I+. Komputer jenis ini dicirikan oleh sejumlah elemen (unit pengolahan dan unit memori), semua di bawah kendali sebuah unit kendali logika (>1) tunggal. ?. *esin +. *esin + dihasilkan dengan mengubah *esin I+ sedemikian sehingga elemen! elemen pengolahan dapat berkomunikasi deng@n tetangga terdekat mereka. 8. *esin +I. Komputer ini, disebut sebagai array logika!dalam!memori, merupakan sebuah mesin dengan logika prosesor yang tersebar dalam memori.
Klasifikasi !en"
Tse!yum -eng (#:A%) menyarankan pengklasifikasian arsitektur komputer atas tingkatan paralelisme mereka. Tingkatan paralelisme (degree of parallelism) diwakili oleh pasangan (n, m) dimana n merupakan panjang word dan m adalah panjang irisan bit. "asangan ini diklasifikasikan menjadi empat kelompok sebagai berikut' #. ika n B # dan m B I maka tidak terjadi paralelisme. Cord dan bit diproses satu per satuan waktu. al ini disebut sebagai word serial$bit serial(CS&S). %. ika nD # dan m B # maka paralelisme itu disebut sebagai word paralel$bit serial (C"&S). 2alam hal ini, semua n irisan bit diproses satu per satuan waktu.
5
<. "aralelisme word serial$bit paralel (CS&") terjadi jika n B # dan mD #. 2engan demikian sejumlah n word diproses satu per satuan waktu tetapi sejumlah m bit dan masing!masing word diproses secara paralel. =. Kategori terakhir disebut sebagai word paralel$bit paralel (C"&") dan merupakan suatu paralelisme dimana n D # dan m D #. 2alam hal ini, sejumlah nm bit diproses secara bersamaan. Komputer sekuensial ! berdasarkan klasifikasi -lynn adalah kelompok komputer SIS2 ! hanya mempunyai satu unit pengendali untuk menentukan instruksi yang akan dieksekusi. "ada setiap satuan waktu hanya satu instruksi yang dapat dieksekusi, dimana kecepatan akses ke memori dan kecepatan piranti masukan dan keluaran dapat memperlambat proses komputasi. &eberapa metoda dibangun untuk menghindari masalah tersebut, seperti penggunaan cache memory. amun komputer sekuensial ini tetap mengalami keterbatasan jika menangani masalah yang memerlukan kecepatan tinggi. al!hal tersebut di atas
pada
akhirnya
melatarbelakangi
lahirnya
sistem
komputer
paralel.
&erdasarkan klasifikasi -lynn, komputer paralel termasuk kelompok SI*2 atau *I*2. Komputer paralel mempunyai lebih dari satu unit pemroses dalam sebuah komputer yang sama. al yang membuat suatu komputer dengan banyak prosesor disebut sebagai komputer paralel adalah bahwa seluruh prosesor tersebut dapat beroperasi secara simultan. ika tiap! tiap prosesor dapat mengerjakan satu juta operasi tiap detik, maka sepuluh prosesor dapat mengerjakan sepuluh juta operasi tiap detik, seratus prosesor akan dapat mengerjakan seratus juta operasi tiap detiknya7>es:<9. "ada dasarnya akti3itas sebuah prosesor pada komputer paralel adalah sama dengan akti3itas sebuah prosesor pada komputer sekuensial. Tiap prosesor membaca (read) data dari memori, memprosesnya dan menuliskannya (write) kembali ke memori. kti3itas komputasi ini dikerjakan oleh seluruh prosesor secara paralel.
P#M $Parallel #irtual Ma%ine&
"+* adalah perangkat lunak yang membuat sekumpulan komputer menjadi tampak seperti sebuah sistem komputer 3irtual yang besar. Sekumpulan komputer yang akan terlibat dalam proses penyelesaian masalah harus didefinisikan trelebih dahulu, agar dapat menjalankan fungsinya. Komputer!komputer yang terlibat dalam komputasi bisa homogen, dengan platform yang sama, maupun heterogen, dengan platform yang berbeda, asal di antara mereka bisa saling berkomunikasi. "+* dapat menangani semua pengiriman proses,
6
kon3ersi data, dan penjadwalan task secara message passing untuk sistem yang tidak kompatibel sekalipun. Sistem "+* terdiri dari dua bagian. &agian pertama adalah daemon yang diberi nama p3md. "3md diaktifkan di setiap komputer yang akan membentuk mesin 3irtual. &agian kedua adalah pustaka rutin antarmuka "+* yang berisi koleksi perintah!perintah primitif untuk mengoperasikan proses!proses pustaka tersebut. "ustaka rutin ini digunakan dalam program aplikasi paralel yang ditulis dengan bahasa pemrograman , EE, atau -0/T/ AA. plikasi dalam bahasa pemrograman dan EE dihubungkan melalui pustaka libp3m<.lib, sedangkan aplikasi dalam bahasa pemrograman -0/T/ AA dapat mengambil rutin!rutin dalam libfp3m<.lib. Kedua pustaka tersebut telah tersedia pada saat instalasi. "+* memberi fasilitas untuk membuat sejumlah proses yang tidak tergantung dari jumlah prosesor. Setiap proses diidentifikasi menggunakan kode (task I2) dan dipetakan ke prosesor secara otomatis, atau dapat juga diatur oleh programmer. "rogram "+* umumnya diatur dengan model master!sla3e, yaitu satu proses yang dieksekusi pertama kali menjadi master dan mengaktifkan semua client dengan memanggil p3mFspawn. /utin tersebut otomatis akan menjalankan semua proses dalam sistem "+*. ara lain untuk menjalankan proses adalah dengan memanggil rutin p3mFmytid yang mengembalikan kode task I2 dari proses tersebut. Sebelum keluar dari sistem "+*, semua proses client harus dimatikan dari "+* dengan memanggil rutin p3mFeGit. Komunikasi antar proses di dalam sistem "+* dilakukan secara message passing menggunakan perintah rutin "+* seperti p3mFsend dan p3mFrec3. Semua rutin pengiriman pesan dilakukan secara asinkron, sedangkan semua rutin penerimaan pesan dapat dilakukan secara sinkron maupun asinkron. da tiga tahap dalam mengirim pesan dalam "+*, yaitu ' • •
*enginisialisasi buffer pengiriman dengan rutin p3mFinitsend *engemas isi pesan ke dalam buffer dengan memanggil
rutin
p3mFpkH.
2ata yang dikemas dapat bertipe byte, compleG, double, float, integer, dan character. Tipe tersebut dinyatakan dengan mengganti tanda HJ dan memberi tipe yang sesuai untuk tiap parameter di dalam rutin p3mFpkH. *isalnya data yang akan dikemas bertipe float, maka •
digunakan p3mFpkfloat(). *engirim pesan ke prosesor tujuan dengan memanggil p3mFsend atau p3mFmcast. "roses yang menerima pesan harus membuka paket pesan pada buffer penerima sesuai dengan format pengiriman pesan. "+* juga menyediakan rutin p3mFsetopt untuk mengatur pilihan dalam sistem "+*, seperti pencetakan pesan kesalahan secara otomatis, tingkat pencarian kesalahan
7
(debugging le3el), dan metode pengaturan jalur komunikasi. ontoh yang paling umum dari penggunaan p3mFsetopt adalah memungkinkan jalur komunikasi langsung antar task dalam "+*. "3mFsetopt("3m/oute, "3m/oute2irect);2engan perintah ini otomatis bandwidth komunikasi di dalam jaringan akan digandakan. MP' $Messa"e Passin" 'nterfa%e& *"I(*essage "assing Interface) adalah bahasa pemrograman dengan basis petukaran pesan. 2alam implementasinya *"I menggunakan fungsi! fungsi pustaka yang dapat dipanggil dari program , EE, atau -ortran. ampir sama dengan "+*, *"I juga portable untuk berbagai arsitektur. Salah satu implementasi terbaru pada saat ini yang berjalan pada lingkungan Cindows adalah *"I. +ersi terakhirnya adalah *"I 3ersi #.%.?. 2itinjau dari sisi aplikasi, *"I hanya dapat digunakan dengan model single program multiple data (S"*2), sedangkan "+* dapat digunakan dengan model S"*2 maupun multiple program multiple data (*"*2). *odel S"*2 secara fisik ditunjukkan dengan program master dan sla3e yang menyatu, sedangkan *"*2 ditunjukkan dengan program master dan sla3e yang terpisah, sehingga sla3e dapat mengerjakan tugas yang berbeda!beda antara satu node dengan node lainnya. *"I adalah bahasa!independen protokol komunikasi yang digunakan untuk program paralel komputer. Keduanya baik point!to!point dan kolektif komunikasi didukungnya. *"I 6adalah pesan!melewati pemrogram aplikasi antarmuka, bersama!sama dengan semantik protokol dan spesifikasi untuk fitur!fiturnya bagaimana harus berlaku dalam setiap pelaksanaannya.6 *"I tujuan kinerja tinggi, skalabilitas, dan portabilitas. *"I tetap dominan
model
yang
digunakan
dalam
komputasi
kinerja
tinggi
hari
ini.
*"I tidak disetujui oleh badan standar utama meskipun demikian, hal itu telah menjadi de facto standar untuk komunikasi di antara proses!proses yang model program paralel berjalan pada sistem memori terdistribusi. *eskipun demikian, program!program *"I secara teratur dijalankan pada komputer memori bersama. Calaupun *"I termasuk dalam lapisan ? dan yang lebih tinggi dari 0SI /eference *odel, implementasi dapat mencakup sebagian besar lapisan model referensi, dengan soket dan T" yang digunakan pada lapisan transport. Kebanyakan implementasi *"I terdiri dari serangkaian rutinitas tertentu (yakni, sebuah "I) callable dari -ortran, , E E atau a3a dan dari bahasa apa pun mampu berinteraksi dengan routine libraries. Keuntungan dari *"I diantaranya' portabilitas (karena *"I telah diterapkan untuk hampir semua arsitektur memori terdistribusi) dan kecepatan (karena setiap pelaksanaan pada prinsipnya dioptimalkan untuk perangkat keras yang dijalankan).
8
*"I sering dibandingkan dengan "+*, yang merupakan lingkungan dan didistribusikan populer lewat pesan sistem yang dikembangkan pada tahun #::, dan yang merupakan salah satu sistem yang termoti3asi kebutuhan standar sistem lewat pesan paralel. *emori bersama pemrograman threaded model (seperti pthreads dan 0pen*") dan pesan lewat pemrograman (*"I $ "+*) dapat dianggap sebagai pelengkap pendekatan pemrograman, dan kadang!kadang dapat dilihat digunakan bersama!sama dalam aplikasi di mana arsitektur setelan ini, misalnya di ser3er dengan beberapa besar bersama memori node. Pen"antar Tread Pro"rammin"
2alam ilmu komputer, sebuah thread eksekusi adalah urutan terkecil instruksi diprogram yang dapat dikelola secara independen oleh sistem operasi scheduler. Sebuah thread adalah proses ringan. "elaksanaan threads dan proses berbeda dari satu sistem operasi yang lain, tetapi dalam banyak kasus, thread yang terkandung di dalam proses. &eberapa threads bisa ada dalam proses yang sama dan berbagi sumber daya seperti memori, sedangkan proses yang berbeda tidak berbagi sumber daya tersebut. Secara khusus, threads! threads proses berbagi petunjuk yang terakhir (kode) dan konteksnya (nilai!nilai yang 3ariabel yang referensi pada saat tertentu). "ada prosesor
tunggal,
multithreading
umumnya
terjadi
pada saat!di3ision
multipleGing (seperti dalam multitasking)' switch prosesor antara threads yang berbeda. Konteks ini beralih umumnya terjadi cukup sering bahwa pengguna merasakan threads atau tugas sebagai berjalan pada waktu yang sama. "ada sistem multiprosesor atau multi!core, threads dapat benar!benar bersamaan, dengan setiap prosesor atau inti mengeksekusi thread terpisah secara bersamaan. &anyak sistem operasi modern langsung mendukung baik time!sliced dan multiprosesor threading dengan scheduler proses. Kernel sistem operasi memungkinkan programmer untuk memanipulasi threads melalui antarmuka system call. &eberapa implementasi yang disebut kernel thread, sedangkan proses ringan (>C") adalah jenis spesifik kernel thread yang berbagi negara dan informasi yang sama. "rogram dapat memiliki threads user!space ketika threading dengan timer, sinyal, atau metode lain untuk menghentikan eksekusi mereka sendiri, melakukan semacam ad!hoc time! slicing.
Pen"antar Messa"e Parsin"( OpenMP
9
*essage "arsing dalam ilmu komputer adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel, pemrograman berorientasi obyek, dan komunikasi antar. 2alam model ini, proses atau benda dapat mengirim dan menerima pesan (yang terdiri dari nol atau lebih byte, struktur data yang kompleks, atau bahkan segmen kode) ke proses lainnya. 2engan menunggu pesan, proses juga dapat menyinkronkan *essage passing adalah paradigma komunikasi di mana pesan dikirim dari pengirim ke satu atau lebih penerima. &entuk pesan termasuk (remote) pemanggilan metode, sinyal, dan paket data. Ketika merancang sebuah sistem lewat pesan beberapa pilihan yang dibuat'
•
pakah pesan ditransfer andal
•
pakah pesan dijamin akan disampaikan dalam rangka
•
pakah pesan yang melewati satu!ke!satu (unicast), satu!ke!banyak (multicast atau broadcast), banyak!ke!satu (client!ser3er), atau banyak!ke!banyak (ll!to!Semua).
•
pakah komunikasi sinkron atau asinkron
2asar teoritis yang menonjol perhitungan bersamaan, seperti model ktor dan bate proses didasarkan pada pesan lewat. Implementasi sistem konkuren yang menggunakan pesan lewat dapat memiliki pesan lewat sebagai bagian integral dari bahasa, atau sebagai rangkaian perpustakaan panggilan dari bahasa. ontoh mantan meliputi banyak sistem objek terdistribusi. ontoh yang terakhir termasuk sistem operasi mikrokernel yang menyampaikan pesan antara satu kernel dan satu atau lebih blok Ser3er, dan *essage "assing ntarmuka yang digunakan dalam komputasi kinerja tinggi. 0pen*" adalah pplication "rogram Interface ("I), bersama!sama didefinisikan oleh sekelompok perangkat keras komputer utama dan 3endor perangkat lunak. 0pen*" menyediakan portabel, model yang terukur untuk pengembang aplikasi paralel memori bersama. "I mendukung $ E E dan -ortran pada berbagai arsitektur. Tutorial ini mencakup sebagian besar fitur utama 0pen*", termasuk berbagai konstruksi dan arahan untuk menentukan daerah paralel, pembagian kerja, sinkronisasi dan lingkungan data. -ungsi perpustakaan runtime dan 3ariabel lingkungan juga dibahas. Tutorial ini mencakup baik dan -ortran kode contoh dan latihan laboratorium. Tingkat $ "rasyarat' Tutorial ini adalah salah satu dari delapan tutorial dalam = E hari 6*enggunakan Superkomputer >>>6 lokakarya. al ini ditujukan untuk mereka yang baru untuk pemrograman paralel dengan 0pen*". "emahaman dasar pemrograman paralel dalam 10
atau -ortran diperlukan. &agi mereka yang tidak terbiasa dengan "emrograman "aralel pada umumnya, materi yang dibahas dalam 5
Pemro"ramman )UDA *PU
12 adalah arsitektur komputasi paralel +I2I yang memungkinkan peningkatan dramatis dalam kinerja komputasi dengan memanfaatkan kekuatan 4"1 (graphics processing unit). 2engan jutaan 12!enabled 4"1 terjual hingga saat ini, pengembang perangkat lunak, ilmuwan dan peneliti yang menemukan penggunaan yang luas!luas untuk 12, termasuk gambar dan pemrosesan 3ideo, biologi komputasi dan kimia, simulasi dinamika fluida, T rekonstruksi citra, analisis seismik, ray tracing , dan masih banyak lagi.
Komputer Paralel men""unakan )UDA
Komputasi berkembang dari 6central processing6 pada "1 untuk 6co!processing6 pada "1 dan 4"1. 1ntuk mengaktifkan ini paradigma komputasi baru, +I2I menemukan arsitektur komputasi paralel 12 yang sekarang pengiriman di 4e-orce, I0 Muadro, dan Tesla 4"1, mewakili dasar terinstal signifikan untuk pengembang aplikasi. 2i pasar konsumen, hampir setiap aplikasi 3ideo yang konsumen utama telah, atau akan segera, dipercepat oleh 12, termasuk produk dari Teknologi 5lemental, *otion2S" dan >oi>o, 12 telah antusias diterima di bidang penelitian ilmiah. *isalnya, 12 sekarang mempercepat *&5/, sebuah program simulasi dinamika molekuler digunakan oleh lebih dari 8L.LLL peneliti dalam dunia akademis dan perusahaan farmasi di seluruh dunia untuk mempercepat
penemuan obat baru.2i
pasar
keuangan,
umeriG
dan
ompatib>
mengumumkan dukungan 12 untuk aplikasi counterparty risk baru dan mencapai speedup #N. umeriG digunakan oleh hampir =LL lembaga keuangan. Indikator adopsi 12 adalah jalan dari Tesla 4"1 untuk komputasi 4"1. Sekarang ada lebih dari ALL kelompok 4"1 terpasang di seluruh dunia di -ortune ?LL perusahaan mulai dari Schlumberger dan he3ron di sektor energi untuk &" "aribas di bidang perbankan. 2an dengan peluncuran terbaru dari *icrosoft Cindows A dan pple Snow >eopard, komputasi 4"1 akan mainstream. 2alam sistem operasi baru, 4"1 tidak hanya akan menjadi prosesor grafis, tetapi juga tujuan paralel prosesor umum dapat diakses oleh aplikasi apapun. 11
Sumber ht t ps : / / c omput i ng. l l nl . gov / t ut or i al s / openMP/ ht t ps : / / i d. wi k i pedi a. or g/ wi k i / Komput as i _par al el h t t p s : / / e n. wi k i p ed i a . o r g / wi k i / Th r ea d_ %2 8c ompu t i n g%2 9 ht t p: / / www. n vi di a. c o. uk / obj ec t / c udapar al l el c omput i nguk . ht ml
MAKALA+
PE,*APL'KAS'A, PARALALEL KOMPUTER
OLE+: -'RA ',DRA.A,A ,'M: /0/12304
12
ST'KOM 5',A,'A*A 5O*OR 63/7
13