00:00

Understanding Multiprocessor Systems and Parallel Processing

Multiprocessor systems involve multiple processors working together within a single computer, communicating directly through shared memory or intermediate memory combinations. The advantages include high reliability, increased memory unit availability, and enhanced computational capabilities. Different multiprocessing classifications and structures, such as loosely coupled multiprocessing and parallel processing, are discussed. Various scheduling processes, like short-term and medium-term scheduling, play crucial roles in managing CPU tasks efficiently. Strategies like preemptive and non-preemptive scheduling, along with algorithms like First Come First Served (FCFS), impact process execution order.

taday
Télécharger la présentation

Understanding Multiprocessor Systems and Parallel Processing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multiprosesor A. A. Sistem SistemMultiprosesor Multiprosesor Merupakan sebuah sistem dimana sekumpulan prosessor dalam suatu komputer tunggal berhubungan dan bekerja sama satu sama lain Prosessor tersebut dapat berkomunikasi melalui baris data langsung melalui memori yang terbagi-bagi atau dengan perantaraan kombinasi memori itu. Sistem Multiprosesor memiliki beberapa keuntungan antara lain: Kehandalan yang tinggi dikarenakan memiliki banyak unit proses yang digunakan Meningkatnya ketersediaan unit memori dan piranti I/O dan Meningkatnya kemampuan hitung berdasarkan jumlah ALU yang semakin banyak yang merupakan imbas menggunkan banyak prosesor

  2. General BUS General BUS Merupakan skema hubungan yang paling sederhana untuk suatu sistem multi prosessor. Merupakan jalur komunikasi tunggal antara komponen-komponen fungsional. • Crossbar Switch Suatu jalur yang terpisah menghubungkan setiap processor ke setiap unit memori. Karena setiap memori diakses oleh jalur-jalur yang berbeda, maka tidak akan terjadu blocking yang disebabkan oleh adanya transmisi-transmisi yang bersamaan waktunya.

  3. Organisasi multiport didapat dengan mengeluarkan logika kendali, logika saklar arbitrasi teoritas dari saklar crossbar dan meletakkan mereka didalam interfase masing-masing Kemudian semua komponen fungsional lainnya mengakses unit memori melalui suatu unit port tertentu dimana fungsi port tersebut merupakan sebagai jembatan yang menentukan ke memori yang dituju

  4. Klasifikasi multiprocessing • Loosely Coupled Multiprocessing • Functionality Specialized Processor • Tighly Coupled Multiprocessing • Parallel Processing

  5. Klasifikasi Struktur Parallel • Single Instruction Single Data stream (SISD) • Single Instruction Multiple Data stream (SIMD) • Multiple Instruction Single Data stream (MISD) • Multiple Instruction Multiple Data stream (MIMD)

  6. Single Instruction Single Data stream (SISD)

  7. Single Instruction Multiple Data stream (SIMD)

  8. Multiple Instruction Single Data stream (MISD)

  9. Multiple Instruction Multiple Data stream (MIMD)

  10. Organisasi Organisasi multiprocessor: multiprocessor: • Time Shared Bus atau Bus Common • Multiport Memory • Central Control Unit

  11. Organisasi dasar time shared bus

  12. Organisasi dasar time shared bus dengan Cache

  13. Multiport Memory Multiport Memory • Memungkinkan akses modul-modul memori utama secara langsung dan independent oleh CPU dan modul I/O. Metode yang digunakanUntuk mengatasi konflik adalah dengan menunjuk prioritas yang permanen bagi semua port memori. Modul port identik dengan modul memori port tunggal.

  14. Organisasi hardware message transfer

  15. Penjadwalan Proses • Penjadwalan CPU terjadi pada sistem operasi yang mempergunakan multiprogramming. • Penjadwalan berupa kumpulan kebijakan untuk menentukan proses mana yang harus dikerjakan CPU dan berapa lama proses tersebut berjalan • Tujuan penjadwalan adalah mengusahakan agar CPU tetap sibuk. Pada saat CPU menunggu operasi I/O, scheduler menyeleksi proses di main memory yang memiliki status ready untuk dieksekusi. Penjadwalan tipe ini disebut Short-term scheduller. Scheduler pada short-term ini dikenal dengan nama dispatcher 16

  16. Tipe-tipe Penjadwalan • Short-term scheduller : readyrunning • Medium-term scheduller : suspendedready • Long-term scheduller : batch (new)ready Penjadwalan jangka menengah Suspended Blocked Queue Penjadwalan jangka panjang Penjadwalan jangka pendek Batch queue Ready queque CPU Suspended Ready Queque 17

  17. • Turnaround Time Banyaknya waktu yang diperlukan untuk mengeksekusi proses sampai selesai, dari mulai menunggu untuk meminta tempat di main memory, menunggu di ready queue (waiting time), dieksekusi dan selesai Sasaran dari scheduller adalah meminimalkan timearound time • Response Time Waktu yang dibutuhkan oleh suatu proses dari minta dilayanai sampai ditanggapi Kriteria Penjadwalan Untuk mengukur kinerja scheduler digunakan beberapa kriteria : • Fairness Proses-proses diperlakukan sama yaitu setiap proses akan mendapatkan pembagian waktu secara adil • CPU utilization CPU dikondisikan agar tetap sibuk, yang dinyatakan dengan rasio waktu sibuk • Throughput Ini hanya terjadi pada saat CPU sibuk yaitu banyaknya job yang dikerjakan dalam satu satuan waktu 18

  18. Strategi Penjadwalan • Penjadwalan nonpreemptive Begitu diberi jatah waktu pemroses maka prosesor tidak dapat diambil alih oleh proses lain sampai proses itu selesai (run to completion) • Penjadwalan Preemptive Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih oleh proses lain sehingga proses disela sebelum selesai dan akan dilanjutkan setelah jatah waktu pemroses kembali padanya. 19

  19. Algoritma Penjadwalan A. First Come First Served (FCFS) • Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani terlebih dahulu. • Algoritma ini termasuk non-preemptive • Average Waiting Time (AWT) tinggi. AWT adalah total waktu menunggu dari semua proses dibagi jumlah proses Misal ada 3 proses : P1, P2 dan P3 yang meminta layanan CPU Proses P1 P2 P3 Burst Time (ms) 24 3 3 20

  20. Jika urutan kedatangan P2, P3, P1 Gant Chart Jika urutan kedatangan P1, P2, P3 Gant Chart P2 P3 P1 P1 P2 P3 0 3 6 30 0 24 27 30 Waktu tunggu untuk tiap- tiap proses Waktu tunggu untuk tiap- tiap proses Proses Waiting Time (ms) P2 P3 P1 AWT = (0+3+6)/3 = 3 ms Proses P1 P2 P3 AWT = (0+24+27)/3 = 17 ms Waiting Time (ms) 0 24 27 0 3 6 Karena urutan kedatangan yang berbeda maka AWT bisa berbeda (convoy effect) 21

  21. B. Short Job First Scheduling (SJF) • Proses yang memiliki CPU burst paling kecil dilayani terlebih dahulu Misal ada 4 proses : P1, P2, P3 dan P4 Waktu tunggu untuk tiap- tiap proses Proses P1 P2 P3 P4 Waiting Time (ms) 3 16 9 0 Proses P1 P2 P3 P4 Burst Time (ms) 6 8 7 3 AWT = (3+16+9+0)/4 = 7 ms Gant Chart P4 P1 P3 P2 0 3 9 16 24 22

  22. Kelemahan SJF : sulitnya mengetahui CPU burst time berikutnya Cara mengatasinya dengan memprediksi CPU Burst Time berikutnya menggunakan rata-rata eksponensial dari burst time sebelumnya  n n t      1 1   n    = panjang CPU burst yang diperkirakan = panjang CPU burst sebelumnya = panjang CPU burst ke-n (yang sedang berlangsung) = ukuran pembanding antara dengan (0 sampai 1)  1 n n nt     1 n n 23

  23. Sebagai contoh = 0,5 nt CPU burst ( ) 6 4 6 4 13 13 13 .......  10 8 6 6 5 9 11 12 ....... n 1  • Pada awalnya t1 = 6 dan = 10 sehingga = 0,5*6 + (1-0,5)*10 = 8 • Nilai ini akan digunakan untuk mencari 1 ( 4 * 5 , 0 3      2  3  ) 5 , 0 * 8 6 • Penjadwalan SJF non-preemptive juga preemptive. Misal ada proses P1 yang datang pada saat P0 sedang berjalan. Pada Preemptive jika CPU burst P1 lebih kecil dari sisa waktu yang dibutuhkan P0 maka P0 akan diberhentikan dulu dan CPU dialokasikan untuk P1. • Penjadwalan SJF secara Preemptive dikenal dengan shortest remaining time first scheduling 24

  24. Misal terdapat 4 proses Proses P1 P2 P3 P4 Arrival Time 0 1 2 3 Burst Time (ms) 8 4 9 5 Gant chart : P1 P2 P4 P1 P3 0 1 5 10 17 26 Waktu tunggu untuk tiap proses Proses Waiting Time (ms) P1 P2 P3 P4 AWT = (9+0+15+2)/4 = 6,5 ms 0 + (10-1)=9 1-1=0 17-2=15 5-3=2 25

  25. C. Priority Scheduling • CPU dialokasikan untuk proses yang memiliki prioritas tertinggi • Jika beberapa proses memiliki prioritas yang sama maka akan digunakan algortima FCFS • Dapat bersifat preemptive maupun non preemptive Contoh : terdapat 5 proses dengan CPU burst Proses P1 P2 P3 P4 P5 Burst Time (ms) 10 1 2 1 5 Prioritas 3 1 3 4 2 26

  26. Gant Chart P2 P5 P1 P3 P4 0 1 6 16 18 19 Waktu tunggu untuk tiap-tiap proses Proses P1 P2 P3 P4 P5 Waiting Time (ms) 6 0 16 18 1 AWT = (6+0+16+18+1)/5 = 8,2 ms Prioritas biasanya menyangkut : waktu, memori yang dibutuhkan, banyaknya file yang boleh dibuka, rasio antara rata-rata I/O burst dan rata-rata CPU/burst 27

  27. D. Round-Robin Scheduling • Konsep dasar algoritma ini adalah time sharing • Digunakan quantum time untuk membatasi waktu eksekusi • Bersifat preemptive, proses yang burst timenya melebihi quantum time akan mengantri di posisi ekor dari ready queue. Misal quantum time 4 ms Proses P1 P2 P3 Waiting Time (ms) 0+(10-4)=6 4 7 Proses P1 P2 P3 Gant chart Burst Time (ms) 24 3 3 P1 P2 P3 P1 P1 P1 P1 P1 0 4 7 10 14 18 22 26 30 28

  28. Kelemahan Round-Robin • Semakin kecil quantum time maka switching akan sering terjadi Waktu proses= 10 Quantum time Context switching 12 0 0 10 6 1 0 6 10 1 9 0 1 2 3 4 5 6 7 8 9 10 29

  29. E. Multilevel Queue Scheduling • Menggunakan beberapa algoritma penjadwalan yang berbeda • Beberapa proses dibagi menjadi beberapa group yang masing-masing group memiliki algoritma penjadwalan yang berbeda • Ready queue dibagi menjadi beberapa antrian. Setiap proses yang menetap pada suatu antrian tidak bisa pindah ke antrian yang lain dan bersifat preemptive berprioritas Prioritas tertinggi system processes interactive processes interactive editing processes batch processes student processes Prioritas terendah 30

  30. F. Multilevel Feedback Queue Scheduling • Mirip dengan Multilevel Queue Scheduling, tetapi suatu proses di dalam suatu antrian dapat pindah ke antrian lain • Jika suatu proses menggunakan CPU dalam waktu yang cukup lama maka proses tersebut dapat berpindah ke antrian dengan prioritas yang lebih rendah • Jika suatu proses terlalu lama menunggu pada prioritas yang lebih rendah, maka proses tersebut dapat berpindah ke queque dengan prioritas yang lebih tinggi. 31

  31. F. Guaranteed Scheduling • Penjadwal ini berupaya memberi tiap user daya prosesor yang sama. Jika terdapat N user maka tiap user mendapat 1/N daya prosesor. • Sistem merekam lama/besar waktu prosesor yang telah digunakan oleh proses, sejak proses tsb login dan jumlah total waktu prosesor dari seluruh proses. • Misal ada 5 user dengan total waktu 20 ms sehingga diharapkan tiap user mendapat 4 ms CPU CPU User Rasio Time (ms) Aktual (ms) A B C D E 5 4 8 1 2 3 6 2 1 1 3/4 = 0,75 6/4 = 1,5 2/4 = 0,5 1/4 = 0,25 1/4 = 0,25 Kemudian Algoritma ini akan menjalankan proses dengan rasio yang paling rendah terlebih (D dan E) dahulu 32

More Related