Organisasi Komputer II STMIK – AUB SURAKARTA Parallel Processing Organisasi Komputer II STMIK – AUB SURAKARTA
Introduction Tradisional Komputer dianggap sebagai mesin sekuensial CPU mengeksekusi program sesuai instruksi mesin secara berurutan dan satu per satu TIDAK SELURUHNYA BENAR! Bukti : Operasi mikro sinyal kontrol dibuat bersamaan Pipelining instruksi Perkembangan teknologi penggunaan paralelisme lebih lanjut
Introduction Multiprocessing Komputasi vektor Organisasi prosesor paralel
MULTIPROCESSING Loosely Coupled Microprocessing Terdiri dari kumpulan sistem yang relatif bersifat otonom, masing-masing CPU memiliki memori utama dan saluran I/Onya sendiri Sering disebut multikomputer Functionality Specialized Processors Contoh : prosesor I/O Terdapat sebuah master, general-purpose CPU, dan CPU khusus dikontrol oleh CPU master dan memberikan layanan kepadanya.
Multiprocessing Tightly Coupled Multiprocessing Parallel Processing Mutiprosesor Terdiri dari himpunan prosesor yang menggunakan bersama memori utama dan berada di bawah kontrol terintegrasi suatu sistem operasi. Parallel Processing Multiprosesor yang dipasangkan dengan kuat yang dapat mengerjakan secara kooperatif sebuah pekerjaan secara paralel
Tightly Coupled Multiprocessing - Multiprosesor Mengandung dua atau lebih prosesor general-purpose yang memiliki kemampuan yang setara. Semua prosesor memiliki akses bersama ke memori global (umum). Beberapa memori lokal (private) dapat juga digunakan. Semua prosesor memiliki akses bersama ke perangkat I/O, baik melalui saluran yang sama atau melalui saluran yang berbeda yang menyediakan lintasan ke perangkat yang sama Sistem dikontol oleh sebuah sistem operasi yang terintegrasi yang menyediakan interaksi antara prosesor dengan program-program pada tingkatan job,task, file, dan data
Organisasi Sistem Multiprosesor Time-Shared Bus Multiport Memory Central Control Unit
Time-Shared Bus Mekanisme pembentukan sistem multiprosesor yang paling sederhana. Struktur dan antarmuka sama seperti sistem prosesor tunggal yang menggunakan interkoneksi bus.
Feature-feature Bus Addresing Arbitration Time Sharing Pengalamatan harus dapat membedakan modul-modul pada bus untuk menentukan sumber dan tujuan data. Arbitration Setiap modul I/O dapat berfungsi sebagai “master” pada sementara waktu. Mekanisme disediakan untuk menentukan permintaan-permintaan yang melakukan persaingan dalam memperoleh kontrol bus dengan menggunakan sejumlah teknik prioritas. Time Sharing Apabila sebuah modul sedang melakukan pengontrolan terhadap bus, maka modul-modul lainnya dikunci dan apabila perlu, harus menahan operasi sampai dengan akses bus diperoleh
Kelebihan Organisasi Bus Kesederhanaan Antarmuka fisik dan logika pengalamatan, arbitrasi serta time-sharing seluruh prosesor tetap sama seperti pada sistem prosesor tunggal. Fleksibilitas Organisasi bus pada umumnya mudah untuk dikembangkan dengan cara menambahkan CPU yang lebih banyak ke bus Reliabilitas Pada dasarnya bus adalah media yang pasif, dan kegagalan suatu perangkat yang terhubung tidak akan menyebabkan kegagalan sistem secara keseluruhan.
Kekurangan Organisasi Bus Penurunan Kinerja seluruh referensi memori dilewatkan melalui bus umum kecepatan sistem dibatasi oleh siklus waktu. Untuk meningkatkan kinerja melengkapi setiap CPU dengan memori cache untuk mengurangi jumlah akses Penggunaan cache menimbulkan pertimbangan rancangan yangbaru jika suatu word diubah pada sebuah cache dapat menginvalidkan word pada cache lainnya. CPU harus selalu diberitahu tiap kali terjadi update
Multiport Memory Memungkinkan akses modul-modul memori utama secara langsung dan independen oleh CPU dan modul I/O. Diperlukan logika berkaitan dengan memori agar tidak terjadi konflik Meng-assign prioritas yang permanen bagi semua port memori. Kinerja lebih baik dibanding bus masing-masing prosesor memiliki llintasan berdedikasi ke masing-masing modul memori. Memungkinkan melakukan konfigurasi memori secara “private” bagi sebuah CPU atau lebih dan modul-modul I/O mencegah akses yang tidak diizinkan dan pengubahan oleh prosesor lain
Central Control Unit Menyalurkan aliran data yang terpisah secara bolak-balik di antara modul-modul yang independen : CPU, memori, modul I/O. Pengontrol dapat membufferkan permintaan dan melakukan fungsi arbitrasi dan pewaktuan. Pengontrol dapat melewatkan pesan-pesan status dan kontrol di antara CPU-CPU dan melakukan peringatan update cache.
Central Control Unit Seluruh logika untuk pengkoordinasian konfigurasi multiport dikonsentrasikan di unit kontrol pusat antarmuka modul I/O, memori dan CPU tidak begitu terganggu. fleksibilitas dan kemudahan interfacing pendekatan bus. Kelemahan unit kontrol menjadi cukup rumit Umum digunakan untuk sistem mainframe berprosesor jamak IBM S/370
Sistem Operasi Multiprosesor Adanya suatu sistem operasi tunggal yang mengontrol sumber-sumber daya sistem tampak sebagai sistem multiprogramming berprosesor tunggal. Sistem operasilah yang memiliki tanggung jawab untuk menjadwalkan eksekusi job dan proses tersebut dan mengalokasi sumber daya.
Sistem Operasi Multiprosesor Memiliki tujuh fungsi : Alokasi sumber daya dan manajemen Tabel dan proteksi data Penghindaran deadlock sistem Penghentian tak normal Penyeimbangan pembebanan I/O Penyeimbangan pembebanan prosesor Konfigurasi kembali
Sistem Operasi Multiprosesor Tanggungjawab SO mengetahui keefisienan penggunaan sumber daya jika tidak diketahui, akan terjadi pemborosan pada sistem CPU yang berjumlah banyak. Merekonfigurasi sistem apabila terjadi kegagalan prosesor, dengan melanjutkan operasi pada tingkatan kinerja yang lebih rendah.
Penjadwalan Multiprosesor Dua fungsi penjadwalan job : Apakah proses didedikasikan bagi prosesor Bagaimana proses dijadwalkan oleh prosesor Sistem operasi harus menjamin bahwa dua prosesor tidak memilih proses yang sama dan proses-proses tidak akan hilang dari antrian
KOMPUTASI VEKTOR Kinerja komputer general purpose berukuran mainframe terus berkembang perkembangan aplikasi berada di luar kemampuan mainframe modern masalah-masalah matematik di bidang aerodinamika, seismologi, meteorologi, fisika. Ditandai dengan kebutuhan perhitungan program yang besar dan berulang-ulang untuk melakukan operasi aritmetik floating point terhadap array bilangan. Untuk menangani SUPERKOMPUTER
Superkomputer Mampu melakukan ratusan juta operasi floating point per detik dengan harga 10-15 juta dollar. Superkomputer bertolakbelakang dengan mainframe yang dirancang untuk kebutuhan multiprogramming, superkomputer ditujukan untuk keperluan kalkulasi numerik umumnya digunakan untuk keperluan pusat penelitian dan kantor yang bergerak di bidang ilmiah dan rekayasa.
Peningkatan Kinerja Superkomputer Superkomputer dioptimasikan untuk kebutuhan komputasi vektor, namun pada dasarnya superkomputer adalah sebuah komputer general-purpose yang memiliki kemampuan menangani tugas-tugas pengolahan skalar dan data yang umum. Tugas utama : melakukan operasi-operasi aritmatik terhadap array atau vektor bilangan-bilangan floating point. Iterasi diubah menjadi vector processing (paralelisme dalam komputasi vektor) atau parallel processing
Peningkatan Komputasi Vektor ALU Pipelined ALU Paralel unit kontrol mengirimkan data ke ALU-ALU sehingga ALU-ALU tersebut dapat berfungsi secara paralel. Prosesor Paralel pembagian tugas menjadi beberapa proses yang akan dieksekusi secara paralel.
MULTIPLE PROCESSOR ORGANIZATION Single instruction, single data stream - SISD Single instruction, multiple data stream - SIMD Multiple instruction, single data stream - MISD Multiple instruction, multiple data stream- MIMD
Single Instruction, Single Data Stream - SISD Single processor Single instruction stream Data stored in single memory Uni-processor Satu CPU yang mengeksekusi instruksi satu persatu dan menjemput atau menyimpan data satu persatu
Single Instruction, Multiple Data Stream - SIMD Single machine instruction Controls simultaneous execution Number of processing elements Lockstep basis Each processing element has associated data memory Each instruction executed on different set of data by different processors Vector and array processors Satu unit kontrol yang mengeksekusi aliran tunggal instruksi, tetapi lebih dari satu Elemen Pemroses
Multiple Instruction, Single Data Stream - MISD Sequence of data Transmitted to set of processors Each processor executes different instruction sequence Never been implemented Mengeksekusi beberapa program yang berbeda terhadap data yang sama.
Multiple Instruction, Multiple Data Stream- MIMD Set of processors Simultaneously execute different instruction sequences Different sets of data SMPs, clusters and NUMA systems Juga disebut multiprocessors, dimana lebih dari satu proses dapat dieksekusi berikut terhadap dengan datanya masing-masing
Taxonomy of Parallel Processor Architectures