ORKOM 14 : Pararel Processing

Arsitektur Komputer Paralel - Pendahuluan

Dalam 50 tahun terakhir, telah terjadi perkembangan besar dalam kinerja dan kapabilitas sistem komputer. Hal ini dimungkinkan dengan bantuan teknologi Very Large Scale Integration (VLSI). Teknologi VLSI memungkinkan sejumlah besar komponen untuk ditampung pada satu chip dan kecepatan clock meningkat. Oleh karena itu, lebih banyak operasi dapat dilakukan pada satu waktu, secara paralel.

Pemrosesan paralel juga dikaitkan dengan lokalitas data dan komunikasi data. Arsitektur Komputer Paralel adalah metode pengorganisasian semua sumber daya untuk memaksimalkan kinerja dan kemampuan program dalam batas yang diberikan oleh teknologi dan biaya pada setiap waktu.
 
Mengapa Arsitektur Paralel?

Arsitektur komputer paralel menambah dimensi baru dalam perkembangan sistem komputer dengan menggunakan jumlah prosesor yang semakin banyak. Pada prinsipnya, kinerja yang dicapai dengan memanfaatkan prosesor dalam jumlah besar lebih tinggi daripada kinerja prosesor tunggal pada suatu titik waktu tertentu.
 
Tren Aplikasi

Dengan kemajuan kapasitas perangkat keras, permintaan akan aplikasi yang berkinerja baik juga meningkat, yang pada gilirannya menuntut perkembangan arsitektur komputer.

Sebelum era mikroprosesor, sistem komputer berkinerja tinggi diperoleh dengan teknologi sirkuit eksotis dan organisasi mesin, yang membuatnya mahal. Sekarang, sistem komputer berkinerja tinggi diperoleh dengan menggunakan banyak prosesor, dan aplikasi yang paling penting dan menuntut ditulis sebagai program paralel. Dengan demikian, untuk kinerja yang lebih tinggi, baik arsitektur paralel maupun aplikasi paralel perlu dikembangkan.
 
Komputasi Ilmiah dan Rekayasa

Arsitektur paralel telah menjadi sangat diperlukan dalam komputasi ilmiah (seperti fisika, kimia, biologi, astronomi, dll.) Dan aplikasi teknik (seperti pemodelan reservoir, analisis aliran udara, efisiensi pembakaran, dll.). Di hampir semua aplikasi, terdapat permintaan yang sangat besar untuk visualisasi output komputasi yang mengakibatkan permintaan untuk pengembangan komputasi paralel untuk meningkatkan kecepatan komputasi.
 
Komputasi Komersial

Dalam komputasi komersial (seperti video, grafik, database, OLTP, dll.) Juga dibutuhkan komputer berkecepatan tinggi untuk memproses data dalam jumlah besar dalam waktu tertentu. Desktop menggunakan program multithread yang hampir seperti program paralel. Ini pada gilirannya menuntut untuk mengembangkan arsitektur paralel.
 
Tren Teknologi

Dengan perkembangan teknologi dan arsitektur, ada permintaan yang kuat untuk pengembangan aplikasi berkinerja tinggi. Eksperimen menunjukkan bahwa komputer paralel dapat bekerja lebih cepat daripada prosesor tunggal yang paling berkembang. Selain itu, komputer paralel dapat dikembangkan dalam batasan teknologi dan biaya.

Teknologi utama yang digunakan di sini adalah teknologi VLSI. Oleh karena itu, saat ini semakin banyak transistor, gerbang, dan sirkuit dapat dipasang di area yang sama. Dengan pengurangan ukuran fitur VLSI dasar, clock rate juga meningkat secara proporsional, sementara jumlah transistor bertambah sebagai persegi. Penggunaan banyak transistor sekaligus (paralelisme) diharapkan dapat bekerja jauh lebih baik daripada meningkatkan clock rate

Tren teknologi menunjukkan bahwa blok penyusun chip tunggal dasar akan memberikan kapasitas yang semakin besar. Oleh karena itu, kemungkinan menempatkan banyak prosesor pada satu chip meningkat.
 
Tren Arsitektur

Perkembangan teknologi menentukan apa yang layak; arsitektur mengubah potensi teknologi menjadi kinerja dan kemampuan. Paralelisme dan lokalitas adalah dua metode di mana volume sumber daya yang lebih besar dan lebih banyak transistor meningkatkan kinerja. Namun, kedua metode ini bersaing untuk mendapatkan sumber daya yang sama. Ketika beberapa operasi dijalankan secara paralel, jumlah siklus yang diperlukan untuk menjalankan program berkurang.

Namun, sumber daya diperlukan untuk mendukung setiap aktivitas bersamaan. Sumber daya juga diperlukan untuk mengalokasikan penyimpanan lokal. Kinerja terbaik dicapai dengan rencana tindakan perantara yang menggunakan sumber daya untuk memanfaatkan derajat paralelisme dan derajat lokalitas.

Secara umum, sejarah arsitektur komputer telah dibagi menjadi empat generasi yang mengikuti teknologi dasar -
  •  Tabung vakum
  • Transistor
  • Sirkuit terintegrasi
  • VLSI
 Hingga tahun 1985, durasi didominasi oleh pertumbuhan paralelisme tingkat bit. Mikroprosesor 4-bit diikuti oleh 8-bit, 16-bit, dan seterusnya. Untuk mengurangi jumlah siklus yang diperlukan untuk melakukan operasi 32-bit penuh, lebar jalur data digandakan. Kemudian, operasi 64-bit diperkenalkan.

Pertumbuhan paralelisme tingkat instruksi mendominasi pertengahan 80-an hingga pertengahan 90-an. Pendekatan RISC menunjukkan bahwa sangat mudah untuk memilah langkah-langkah pemrosesan instruksi sehingga rata-rata instruksi dieksekusi di hampir setiap siklus. Pertumbuhan teknologi penyusun telah membuat alur instruksi lebih produktif.

Pada pertengahan 80-an, komputer berbasis mikroprosesor terdiri dari
  •  Unit pemrosesan integer
  • Unit floating-point
  • Pengontrol cache
  • SRAM untuk data cache
  • Penyimpanan tag
 Saat kapasitas chip meningkat, semua komponen ini digabungkan menjadi satu chip. Dengan demikian, satu chip terdiri dari perangkat keras terpisah untuk aritmatika integer, operasi floating point, operasi memori dan operasi cabang. Selain instruksi individual pemipaan, ia mengambil beberapa instruksi sekaligus dan mengirimkannya secara paralel ke unit fungsional yang berbeda bila memungkinkan. Jenis paralelisme tingkat instruksi ini disebut eksekusi superscalar.
 
Konvergensi Arsitektur Paralel

Mesin paralel telah dikembangkan dengan beberapa arsitektur berbeda. Pada bagian ini, kita akan membahas arsitektur komputer paralel yang berbeda dan sifat konvergensinya.
Arsitektur Komunikasi

Arsitektur paralel meningkatkan konsep konvensional arsitektur komputer dengan arsitektur komunikasi. Arsitektur komputer mendefinisikan abstraksi kritis (seperti batas sistem pengguna dan batas perangkat keras-perangkat lunak) dan struktur organisasi, sedangkan arsitektur komunikasi mendefinisikan operasi komunikasi dan sinkronisasi dasar. Ini juga membahas struktur organisasi.
 
Model pemrograman adalah lapisan atas. Aplikasi ditulis dalam model pemrograman. Model pemrograman paralel meliputi -

  •     Ruang alamat bersama
  •     Pengiriman pesan
  •     Pemrograman paralel data

Pemrograman
Shared address sama seperti menggunakan papan buletin, di mana seseorang dapat berkomunikasi dengan satu atau banyak individu dengan memposting informasi di lokasi tertentu, yang dibagikan oleh semua individu lainnya. Kegiatan individu dikoordinasikan dengan mencatat siapa mengerjakan tugas apa.

Message passing seperti panggilan telepon atau surat di mana penerima tertentu menerima informasi dari pengirim tertentu.

Pemrograman
Data parallel adalah bentuk kerja sama yang terorganisir. Di sini, beberapa individu melakukan tindakan pada elemen terpisah dari kumpulan data secara bersamaan dan berbagi informasi secara global.
 
Shared memori

Multiprosesor memori bersama adalah salah satu kelas terpenting dari mesin paralel. Ini memberikan throughput yang lebih baik pada beban kerja multiprogramming dan mendukung program paralel.

 
Dalam hal ini, semua sistem komputer memungkinkan prosesor dan satu set pengontrol I / O untuk mengakses kumpulan modul memori dengan beberapa interkoneksi perangkat keras. Kapasitas memori ditingkatkan dengan menambahkan modul memori dan kapasitas I / O ditingkatkan dengan menambahkan perangkat ke pengontrol I / O atau dengan menambahkan pengontrol I / O tambahan. Kapasitas pemrosesan dapat ditingkatkan dengan menunggu prosesor yang lebih cepat tersedia atau dengan menambahkan lebih banyak prosesor.

Semua sumber daya diatur di sekitar bus memori pusat. Melalui mekanisme akses bus, prosesor apa pun dapat mengakses alamat fisik apa pun di sistem. Karena semua prosesor memiliki jarak yang sama dari semua lokasi memori, waktu akses atau latensi semua prosesor sama di lokasi memori. Ini disebut multiprosesor simetris.
 
Arsitektur message passing

Arsitektur message passing juga merupakan kelas penting dari mesin paralel. Ini menyediakan komunikasi antar prosesor sebagai operasi I / O eksplisit. Dalam hal ini, komunikasi digabungkan pada level I / O, bukan pada sistem memori.

Dalam arsitektur penerusan pesan, komunikasi pengguna dijalankan dengan menggunakan sistem operasi atau panggilan perpustakaan yang melakukan banyak tindakan tingkat rendah, yang mencakup operasi komunikasi aktual. Akibatnya, ada jarak antara model pemrograman dan operasi komunikasi pada tingkat perangkat keras fisik.

Mengirim dan menerima adalah operasi komunikasi tingkat pengguna yang paling umum dalam sistem penyampaian pesan. Kirim menentukan buffer data lokal (yang akan dikirim) dan prosesor jarak jauh penerima. Terima menentukan proses pengiriman dan buffer data lokal di mana data yang dikirim akan ditempatkan. Dalam operasi pengiriman, pengenal atau tag dilampirkan ke pesan dan operasi penerimaan menentukan aturan yang cocok seperti tag tertentu dari prosesor tertentu atau tag apa pun dari prosesor mana pun.

Kombinasi pengiriman dan penerimaan yang cocok melengkapi penyalinan memori-ke-memori. Setiap ujung menentukan alamat data lokalnya dan acara sinkronisasi pasangan bijaksana.
 
Konvergensi

Pengembangan perangkat keras dan perangkat lunak telah memudarkan batas yang jelas antara memori bersama dan kamp yang melewati pesan. Pesan yang lewat dan ruang alamat bersama mewakili dua model pemrograman yang berbeda; masing-masing memberikan paradigma transparan untuk berbagi, sinkronisasi, dan komunikasi. Namun, struktur mesin dasar telah menyatu menuju organisasi bersama.
 
Pengolahan Data Paralel

Kelas penting lainnya dari mesin paralel disebut - array prosesor, arsitektur paralel data, dan mesin data multi-instruksi-tunggal. Fitur utama dari model pemrograman adalah bahwa operasi dapat dijalankan secara paralel pada setiap elemen dari struktur data reguler yang besar (seperti array atau matriks).

Bahasa pemrograman paralel data biasanya dipaksakan dengan melihat ruang alamat lokal dari sekelompok proses, satu per prosesor, membentuk ruang global yang eksplisit. Karena semua prosesor berkomunikasi bersama dan ada tampilan global dari semua operasi, jadi baik ruang alamat bersama atau penyampaian pesan dapat digunakan.
 
Masalah Desain Fundamental

Pengembangan model pemrograman hanya tidak dapat meningkatkan efisiensi komputer dan pengembangan perangkat keras saja tidak dapat melakukannya. Namun perkembangan arsitektur komputer dapat membuat perbedaan dalam kinerja komputer. Kami dapat memahami masalah desain dengan berfokus pada bagaimana program menggunakan mesin dan teknologi dasar apa yang disediakan.

Pada bagian ini, kita akan membahas tentang abstraksi komunikasi dan persyaratan dasar model pemrograman.

Abstraksi Komunikasi

Abstraksi komunikasi adalah antarmuka utama antara model pemrograman dan implementasi sistem. Ini seperti set instruksi yang menyediakan platform sehingga program yang sama dapat berjalan dengan benar pada banyak implementasi. Operasi pada level ini harus sederhana.

Abstraksi komunikasi seperti kontrak antara perangkat keras dan perangkat lunak, yang memungkinkan satu sama lain meningkatkan fleksibilitas tanpa mempengaruhi pekerjaan.
 
Persyaratan Model Pemrograman

Program paralel memiliki satu atau lebih utas yang beroperasi pada data. Model pemrograman paralel menentukan data apa yang dapat diberi nama oleh thread, operasi mana yang dapat dilakukan pada data yang dinamai, dan urutan mana yang diikuti oleh operasi tersebut.

Untuk mengonfirmasi bahwa ketergantungan antara program diberlakukan, program paralel harus mengoordinasikan aktivitas utasnya. 

Arsitektur Komputer Paralel - Model

Pemrosesan paralel telah dikembangkan sebagai teknologi yang efektif dalam komputer modern untuk memenuhi permintaan kinerja yang lebih tinggi, biaya lebih rendah dan hasil yang akurat dalam aplikasi kehidupan nyata. Peristiwa serentak biasa terjadi di komputer saat ini karena praktik multiprogramming, multiprocessing, atau multicomputing.

Komputer modern memiliki paket perangkat lunak yang kuat dan ekstensif. Untuk menganalisis perkembangan kinerja komputer, pertama-tama kita harus memahami dasar-dasar pengembangan perangkat keras dan perangkat lunak.

  •     Tonggak Perkembangan Komputer - Ada dua tahap utama perkembangan komputer - bagian mekanis atau elektromekanis. Komputer modern berkembang setelah pengenalan komponen elektronik. Elektron mobilitas tinggi di komputer elektronik menggantikan bagian operasional di komputer mekanis. Untuk transmisi informasi, sinyal listrik yang bergerak hampir dengan kecepatan cahaya menggantikan roda gigi atau tuas mekanis.

  •     Elemen Komputer Modern - Sistem komputer modern terdiri dari perangkat keras komputer, set instruksi, program aplikasi, perangkat lunak sistem, dan antarmuka pengguna.

 Masalah komputasi dikategorikan sebagai komputasi numerik, penalaran logis, dan pemrosesan transaksi. Beberapa masalah kompleks mungkin memerlukan kombinasi ketiga mode pemrosesan tersebut.

  •     Evolusi Arsitektur Komputer - Dalam empat dekade terakhir, arsitektur komputer telah mengalami perubahan revolusioner. Kami mulai dengan arsitektur Von Neumann dan sekarang kami memiliki multikomputer dan multiprosesor.

  •     Performa sistem komputer - Performa sistem komputer bergantung pada kemampuan mesin dan perilaku program. Kemampuan mesin dapat ditingkatkan dengan teknologi perangkat keras yang lebih baik, fitur arsitektur canggih, dan manajemen sumber daya yang efisien. Perilaku program tidak dapat diprediksi karena bergantung pada aplikasi dan kondisi waktu proses

Multiprosesor dan Multikomputer

Pada bagian ini, kita akan membahas dua jenis komputer paralel -

  •     Multiprosesor
  •     Multikomputer

Multikomputer Shared Memori

Tiga model multiprosesor memori bersama yang paling umum adalah -
Uniform Memory Access (UMA)

Dalam model ini, semua prosesor berbagi memori fisik secara seragam. Semua prosesor memiliki waktu akses yang sama ke semua kata memori. Setiap prosesor mungkin memiliki memori cache pribadi. Aturan yang sama diikuti untuk perangkat periferal.

Ketika semua prosesor memiliki akses yang sama ke semua perangkat periferal, sistem tersebut disebut multiprosesor simetris. Ketika hanya satu atau beberapa prosesor yang dapat mengakses perangkat periferal, sistem ini disebut multiprosesor asimetris.

Akses Memori Tidak Seragam (NUMA)

Dalam model multiprosesor NUMA, waktu akses bervariasi dengan lokasi kata memori. Di sini, memori bersama didistribusikan secara fisik di antara semua prosesor, yang disebut memori lokal. Pengumpulan semua memori lokal membentuk ruang alamat global yang dapat diakses oleh semua prosesor.


Cache Only Memory Architecture (COMA)

Model COMA adalah kasus khusus dari model NUMA. Di sini, semua memori utama yang didistribusikan diubah menjadi memori cache.


Terdistribusi - Memori Multikomputer - Sistem multikomputer memori terdistribusi terdiri dari beberapa komputer, yang dikenal sebagai node, yang saling terhubung oleh jaringan yang melewati pesan. Setiap node bertindak sebagai komputer otonom yang memiliki prosesor, memori lokal, dan terkadang perangkat I / O. Dalam hal ini, semua memori lokal bersifat pribadi dan hanya dapat diakses oleh prosesor lokal. Inilah sebabnya, mesin tradisional disebut mesin no-remote-memory-access (NORMA).


Komputer Multivector dan SIMD

Pada bagian ini, kita akan membahas superkomputer dan prosesor paralel untuk pemrosesan vektor dan paralelisme data.
 

Superkomputer Vektor

Di komputer vektor, prosesor vektor dipasang ke prosesor skalar sebagai fitur opsional. Komputer host pertama kali memuat program dan data ke memori utama. Kemudian unit kontrol skalar menerjemahkan semua instruksi. Jika instruksi yang didekodekan adalah operasi skalar atau operasi program, prosesor skalar menjalankan operasi tersebut menggunakan pipeline fungsional skalar.

Sebaliknya, jika instruksi yang didekodekan adalah operasi vektor maka instruksi tersebut akan dikirim ke unit kontrol vektor.


Superkomputer SIMD

Di komputer SIMD, sejumlah prosesor 'N' terhubung ke unit kontrol dan semua prosesor memiliki unit memori masing-masing. Semua prosesor dihubungkan oleh jaringan interkoneksi.

Model PRAM dan VLSI

Model ideal memberikan kerangka kerja yang sesuai untuk mengembangkan algoritme paralel tanpa mempertimbangkan batasan fisik atau detail implementasi.

Model dapat diterapkan untuk mendapatkan batasan kinerja teoritis pada komputer paralel atau untuk mengevaluasi kompleksitas VLSI pada area chip dan waktu operasional sebelum chip dibuat.
 

Mesin Akses Acak Paralel

Sheperdson dan Sturgis (1963) memodelkan komputer Uniprocessor konvensional sebagai mesin akses-acak (RAM). Fortune dan Wyllie (1978) mengembangkan model paralel random-access-machine (PRAM) untuk pemodelan komputer paralel ideal dengan overhead akses memori nol dan sinkronisasi.



Comments

Popular posts from this blog

ORKOM 6 : Dukungan Sistem Operasi

ORKOM 10 : RISC & CISC Prosesor