Disusun Oleh:
Agenda g
Agenda presentasi adalah sebagai berikut: Terminologi Klasifikasi Flynn Komputer MIMD Performa Multiprocessor Time Sharing Kesimpulan p
Terminologi-1 g
Parallel Processing
Pemrosesan informasi yang menekankan pada pengolahan elemen-elemen elemen elemen data dari satu atau lebih proses untuk memecahkan masalah tunggal. Komputer Paralel Komputer dengan beberapa prosesor yang mampu melaksanakan pemrosesan paralel Super S komputer k t Komputer serba guna yang mampu menyelesaikan masalahmasalah dengan kecepatan komputasi yang luar biasa, biasa dibandingkan dengan komputer-komputer lain pada masa yang sama. Semua super komputer kontemporer adalah komputer paralel. l l
Terminologi-2 g
Data Parallelism
Penggunaan beberapa unit fungsi untuk melaksanakan suatu operasi yang y g simulatan p pada beberapa p elemen dari suatu set data. Pipelining dan data parallelism merupakan cara untuk meningkatkan konkurensi. Perbandingan antara mesin sekuensial (a), pipeline (b), dan data-paralel (c) ditunjukkan dengan ilustrasi berikut. berikut A,B,C : langkah masing-masing yang memerlukan satu satuan waktu w1,w1,: data
A B C
(a) W2 W1
A B C A B C
( ) (c)
W3
W1
A B C
(b)
W4 W3 W2 W1
W4
W2
Terminologi-3 g 3
Pipeline
Pada konsep pipeline/pipelining, instruksi yang akan dikerjakan oleh komputer dibagi menjadi beberapa subsiklus instruksi yang lebih kecil. Beberapa sub siklus instruksi dari fungsi atau program yang berbeda dapat diproses secara bersamaan (secara paralel) pada perangkat keras yang y g terpisah. p Multiprogramming Pelaksanaan beberapa program, dalam interval waktu yang sama. Multiprocessing Pelaksanaan/pengeksekusian beberapa kejadian (event) dari satu atau lebih program secara bersamaan dengan menggunakan beberapa pemroses. Event bisa berupa kejadian apa saja yang merupakan bagian pelaksanaan suatu instruksi.
Terminologi-4 g 4
instruksi 2 1 a pipelining i li i b waktu 2 1 a b multiprogramming waktu program
Klasifikasi Flynn y
1. SISD (Single Si l I Instruction i
memori (M)
CPU
stream, Single Data stream) Instruksi pada komputer SISD dijalankan satu-persatu. Contoh : komputer Von Neuman 2. SIMD (Single Instruction stream, Multiple Data stream) Suatu instruksi pada komputer SIMD dilaksanakan satu persatu namun mampu bekerja pada beberapa aliran data sekaligus. Contoh : prosessor Array Ket. IP : Instruction I i Processor P DE : Data Processor
memori (M) IP DP DP
DP
Klasifikasi Flynn-2 y
IP
3. MISD (Multiple M lti l I Instruction t ti stream, Single Data stream) Melaksanakan beberapa operasi instruksi bersamaan pada satu aliran data. Belum ada penerapan dari komputer jenis ini 4. MIMD (Multiple Instruction stream, Multiple Data stream) Eksekusi beberapa instruksi secara paralel, dimana masingmasing instruksi dapat beroperasi pada d b beberapa b aliran li d data. t Kelompok ini meliputi komputer multiprocessor, seperti mainframe dan komputer super.
IP
M
IP
MUX
DP IP DP
M
IP
DP
DP
DP
Komputer p MIMD
Memori bersama (shared memory) Komputer MIMD Memori tersebar (distributed memory)
Berdasarkan cara berkomunikasinya, komputer paralel MIMD dibagi menjadi 2 kelompok besar, yaitu : komputer paralel dengan memori bersama dan komputer paralel memori t tersebar. b Pada P d kelompok k l k pertama, t d data t d dan program di disimpan i pada d suatu t memori i bersama dan masing-masing processor (dalam suatu komputer paralel) saling berkomunikasi melalui memori tersebut. Pada SMP, , beberapa b b p prosessor p b berbagi b g memori y yang g sama melalui suatu b bus dengan g waktu akses ke berbagai lokasi memori relatif sama untuk masing-masing processor. Sedangkan pada NUMA, waktu akses memori untuk lokasi yang tidak sama dapat berbeda. Cl Cluster dibentuk dib k dari d i kumpulan k l beberapa b b komputer k dengan d processor tunggal l atau beberapa SMP yang saling dihubungkan dan dapat bekerja bersama-sama sebagai komputer tunggal.
Performa Multiprocessor p
Ukuran Uk performa f atau t ki kinerja j multiprocessor lti yang paling li
penting adalah speedup (Sp) , yaitu perbandingan waktu yang diperlukan untuk menjalankan suatu aplikasi dengan processor tunggal (dari suatu komputer paralel ) dengan waktu untuk menja-lankan aplikasi yang sama dengan p processor.
dengan T1: waktu yang diperlukan 1 processor; p : waktu yang diperlukan dengan p processor
S ( Speedup )
T1 Tp
Performa Multiprocessor-2 p
Tipe Speedup
Tujuan sistem yang scalable adalah speedup linier (S=P), namun sulit diwujudkan karena: - tidak semua bagian dalam program dapat diparalelkan. - adanya overhead yang disebabkan oleh inisialisasi, sinkronisasi, komunikasi koherensi cache, dan ketidakseimbangan beban. komunikasi, beban (S : sppedup dan P : jumlah processor)
S
Superlinier S > P Linier S = P Sublinier S < P
S max
1 1 f f
p dengan, Smax : adalah speedup maksimum yang dapat dicapai oleh komputer paralel dengan p prosessor, p : jumlah prosessor, f : bagian/fraksi dari operasi komputasi yang dapat dikerjakan secara paralel (dalam terminologi waktu), dimana 0 f 1. Hukum ini mengasumsikan bahwa tiap prosessor melakukan sejumlah komputasi paralel yang setara. setara Untuk mencapai speedup yang baik, fraksi komputasi yang dijalankan secara sequensial harus sangat kecil. Tidak akan terlalu bermanfaat menggunakan sistem multiprosessor atau komputer paralel untuk mengerjakan aplikasi yang memiliki bagian sequensial yang besar.
p p f ( p 1)
Dimisalkan suatu aplikasi tertentu dijalankan pada komputer paralel dengan 64 prosessor
dan 70% komputasi dari aplikasi tersebut dapat dikerjakan secara paralel. paralel Berapakah speedup maksimum yang dapat diharapkan dari sistem tersebut dan bandingkan apabila aplikasi yang sama dijalankan pada komputer paralel dengan 16 prosessor. Jawab : S max (64 ) = 64 / (64 0,7.63) = 3,22 S max (16) = 16 / (16 0,7.15) = 2.91 Ternyata perubahan speedup jauh lebih kecil dibanding peningkatan jumlah prosessor yang digunakan.
Time Sharing-1 g
Time Ti sharing h i adalah d l hi inovasi i yang memungkinkan ki k
komputer-komputer besar memproses banyak tugas secara simultan, dengan memberikan potongan waktu pada masing-masing tugas, dan beralih dari satu tugas ke tugas lainnya dengan cepat. Varian dari multiprogramming, dimana tiap pemakai mempunyai satu terminal on-line dengan pemroses hanya memberi b il layanan pada d pemakai k i yang aktif k if secara bergantian dengan cepat. Pemakai akan merasa dilayani terus menerus, menerus padahal sebenarnya digilir persatuan waktu yang cukup singkat.
Time Sharing-2 g
Perbedaan Time Sharing dengan Batch Multiprogramming Batch Multiprogramming Principal objective Source of directives to operating system Maximize processor use Job control language commands provided with the job Time Sharing Minimize response time Commands entered at the terminal
Processor
L1 Cache
Processor
L1 Cache
L2 Cache
L2 Cache
L2 Cache
BUS S
Seperti ditunjukkan pada gambar skema organisasi komputer SMP. SMP Pada organisasi ini ini, semua prosessor dan modul I/O berbagi bus untuk mengakses memori utama. Kelebihan : sederhana (simplicity), (simplicity) fleksibel, fleksibel handal (reliability). Kekurangan: koherensi cache. cache
Time Sharing-5 g5
CPU melakukan l k k multiplex lti l pada d beberapa b b jobs j b yang b berada d
di memory (dan disk) CPU hanya dialokasikan kepada jobs yang telah siap dan berada di memori Besar memori masih sangat terbatas: Pada job dilakukan swapped in dan out dari memory ke disk. Komunikasi on-line ( (interaktif) ) antara user dan sistim: j jika OS telah selesai mengeksekusi satu perintah, menunggu perintah berikut bukan dari card reader, tapi p p dari terminal user On-line system harus tersedia bagi user yang akan mengakses data dan kode.
Kesimpulan p
Dengan D memanfaatkan f tk k kemampuan sistem i t operasi i untuk t k
melakukan multiprogramming (multitasking) , maka dimungkinkan juga menyisipkan job job-job job interaktif yang berasal dari beberapa user yang berbeda melalui sistem jaringan terminal. Teknik ini disebut Time Sharing Dengan kata lain, teknik time-sharing memiliki basis yang sama dengan teknik multiprogramming, perbedaanya adalah d l h bahwa b h pada d time-sharing i h i job-job j b j b yang di disisipkan i i k (interleaved) berasal dari user yang berbeda-beda melalui jaringan terminal. terminal
Referensi
Buku: Stalling, William. Computer Organization And Architecture Designingfor Performance. 2010. Prentice Hall
Website: W b it http://en.wikipedia.org/wiki/Flynn%27s_taxonomy http://www.cs.toronto.edu/ http://www cs toronto edu/~demke/469F demke/469F.06/lectures.shtml 06/lectures shtml http://www.cs.vu.nl/~ast/books/book_software.html