Anda di halaman 1dari 4

1.

PENDAHULUAN
Arsitekkomputer telah lama mencari El Dorado desain komputer: untukmenciptakankomputerkuatdengan hanyamenghubungkan banya kbenda yang lebihkecil.VisiemasiniadalahsumberdariMultiprocessors. Perintah pelanggansebanyakprosesoranggaranmemungkinkandanmenerimajumlah yangsepadandarikinerja. Jadi, Multiprocessors harusterukur: perangkatkeras danperangkatlunakdirancang untukdijual dengan jumlahvariabel prosesor, deng anbeberapavariasimesindenganfaktor lebihdari 50. Sejakperangkatlunak terukur, beberapaMultiprocessorsdapatmendukung operasi di hadapan perangkatkeras yang rusak, yaitu, jikasatuprosesorgagaldalam multiprosesordengannprosesor, sistemmenyediakan teruslay anandengann1prosesor. Akhirnya, Multiprocessors memilikikinerja mutlak tertinggilebihcepatdariUniprocessor tercepat. Kabar baiknyaadalahbahwa multiprosesor telahmendirikantumpuan.Menjagadalamotakbah wa mikroprosesor sekarang prosesor paling hematbiaya, umumnyasepakatbahwa jikaAndatidakdapat menangani bebankerjapadamikroprosesor,makam ultiprosesoratauclusterterdiridari banyakmikroprosesorlebihefektifdaripadamembangun uniproce ssor performatinggidari teknologi yang lebih eksotis. Ada banyakaplikasi ilmiah yang terlalu menuntut untukmembuatkemajuan denganmikroprosesortunggal ;prediksicuaca, protein folding, danbahkanpencarianuntukkecerdasan luarbumi. Jadi, Gambar 9.1.1 menunjukkanbahw a kinerjatinggiindustrikomputasi tergantungpada Multiprocessors dan cluster. Ada juga aplikasi di luar ilmu-ilmu yang menuntut: search engines, server Web, dandatabase. Sebagaicontoh, Gambar 9.1.2 menggambarkanbahwaindustri databasememilikistandarpada Multiprocessors dan cluster. Akibatnya,merekasekarang mewujudkan pasar yang signifikan. Multiprocessor komersialdan cluster biasanyamendefinisikankinerjatinggisebagai highthroughput untuktugas-tugasindependen. Definisiinikontrasdenganmenjalankantugastunggalpadabeberapaprosessor. Kami menggunakanistilah parallel pengolah program untukmerujukpadasebuah program tunggal yang berjalanpadabeberapaprosessorsecarabersamaan.berikutadalahpertanyaankunci yang mendorongdesainMuktiprocessordan cluster: Bagaimanaprosesor parallel berbagi data? Bagaimanaprosessor parallel berkoordinasi? Berapabanyakprosessor?

Untukjawabanpertama, prosesordenganruangalamattunggalatau shared-memoriprosessor, menawarkan programmer ruangalamatmemori yang tunggaldenganmembagisemuaprosessor.Prosessorberkomunikasimelaluipembagian variable di dalammemori.dengansemuaprosessormampumengaksessetiaplokasimemorimelalui loads and stores.Sebagaiprosessor yang beroperasi di paralelbiasanyaakanberbagidat, merekajugaperlukoordinatketikaberoperasipada shared-data, jikatidaksatuprosessor bias mulaibekerjapada data sebelum yang lain sesesai. Koordinasiinidisebutsinkronisasi.Ketika sharing didukungdenganruangalamattunggal, harusadamekanismeterpisahuntuksinkronisasi. Salah satupendekatanmenggunakankunci :hanyasatuprosessorpadasuatuwaktudapatmemperolehkunci, danprosessor lain lain yang tertarikpada shared-data harusmenunggusampaiprosessoraslimembuka variable. Pengunciandijelaskandalambagian 9.3. Multiprocessor ruangalamattunggaladadalamduagaya. Pertama, mengambilwaktu yang samauntukmengaksesmemoriutamatidakpedulimanapermintaanprosessordantidakpeduli kata yang diminta. Mesinsepertiinidisebut Uniform Memory Access(UMA) multiprocessor or symemtri multiprocessor (SMP). Gaya kedua, beberapamemoriakses yang lebihcepatdaripada yang lain tergantungpadaprosessor yang meminta kata. Mesinsepertiinidisebutnonuniform memory access (NUMA) multiprocessor.Seperti yang mungkinandaharapkan, tantanganpemrograman yang berbedauntukmultiprosessor NUMA versus multiprosessor UMA, tapimesin NUMA dapatskalauntukukuran yang lebihbesardankarenanyakinerjaberpotensitinggi.Gambar 9.1.3 menunjukkanjumlahprosessordan kali memori nonlocal aksesuntuk SMP komersialdan NUMAs.

Model alternative untukberkomunikasimenggunakan message passing untukberkomunikasiantarprosessor.Message passing diperlukanuntukmesindenganmemoripribadi, berbedadenganmemoribersama.Salah satucontohadalahsebuah cluster, dimanaprosessor di desktop komputeryangberbedaberkomunikasidengan passing message melalui local area network (LAN).Asalkan system memilikirutinitasuntukmengirimdanmenerimapesan, koordinasidibangundengan message passing sejaksatuprosessor tau kapanpesandikirm, danprosessorpenerima tau kapanpesantiba.Prosessorpenerimakemudiandapatmengirimpesankembalikepengirimmengatak anpesantelahtibajikapengirimmembutuhkankonfirmasinya.

Selainduagayakomunikasiutama, Multiprocessor dibangundalamduaorganisasidasar: prosessordihubungkanoleh bus tunggal, danprosessordihubungkanolehjaringan. Jumlahprosessordalammultiprosessormemilikibanyakhubungandenganpilihanini.Dalamhaliniaka ndibahasduagayasecararincidalambab 9.3 dan 9.4

2. Pemrograman Multiprocessor
Kabarburuknyaadalahbahwahalitumasihharusdilihatseberapabanyakaplikasipentingakanberj alanlebihcepatpada Multiprocessor melaluipemrosesan parallel. Kendalainibukanhargadari uniprocessor yang digunakanuntukmenyusunMultiprocessor ,kelemahandalamtopologidarijaringaninterkoneksi, atautidaktersedianyabahasapemrograman yang sesuai; kesulitannyaadalahterlalusedikit program aplikasi yang pentingtelahditulisulanguntukmenyelesaikantugaslebihcepatpada Multiprocessor.

Karnabahkansulituntukmenemukanaplikasi yang dapatmengambilkeuntungandaribanyakprosessor, tantanganlebihbesaruntukskalabesar Multiprocessor.Karenakesulitanpemrograman ,ceritapengolahan parallel yang paling suksesadalahhasildaripenyihirperangkatlunakmengembangkansubsistem parallel yang menyajikansekuensialantarmuka. Contohnyatermasuk database, file sever, computerdibantupaketdesain, dan system operasi multiprocessing. Namunmengapademikian?mengapaharus program pengolah parallel menjadilebihsulituntukdikembangkandaripada program sekuensial? Alasanpertamabahwaandaharusmendapatkankinerja yang baikdanefisiensidari program parallel pada multiprocessor, jikatidakandaakanmenggunakanuniprocessor,sebagaipemrogramanlebihmudah. Bahkanteknikdesain Uniprocessor seperti superscalar daneksekusi out-of-order memanfaatkaninstruksi-level parallelism, biasanyatanpaketerlibatan programmer.Inovasisepertimnengurangipermintaanuntukmenulisulang program untuk Multiprocessor. Mengapasulituntukmenulis program multiprosessoryanfcepat ,terutamakarenajumlahprosessormeningkat? Sebagaianalogi ,pikirkankomunikasi overhead untuktugas yang dilakukanolehpanitia, terutamasebagaiukurandarikenaikankomite. Meskipun norang mungkinmemilikipotensiuntukmenyelesaikantugasapapun n-kali lebihcepat, komunikasi overhead untukkelompokmungkinmencegahhalitu; n-kali lipatmenjadisanhattidakmungkin speedup sebagai n-meningkat.Alasanlainmengapasulituntukmenulis program pengolahan parallel adalahbahwa programmer harus tau banyaktentang hardware. Padasebuah uniprocessor, programmer bahasatingkattinggimenulis program sebagianbesarmengabaikanmesin yang mendasariorganisasiitulahtugas compiler. Sayangnya, tidaksemudahuntuk multiprocessor.

Anda mungkin juga menyukai