26
Pemrosesan Paralel Haddad Sammir, M.Kom Pemrosesan Paralel Algoritma Scheduling Haddad Sammir, M.Kom March 25, 2015

7. Algoritma Scheduling

Embed Size (px)

Citation preview

PemrosesanParalel

HaddadSammir,M.Kom

Pemrosesan ParalelAlgoritma Scheduling

Haddad Sammir, M.Kom

March 25, 2015

PemrosesanParalel

HaddadSammir,M.Kom

Status Proses

PemrosesanParalel

HaddadSammir,M.Kom

Siklus Burst

Pengeksekusian proses berada dalam dua keadaan dalam siklusburst yaitu: CPU Burst dan I/O Burst.

• CPU Burst: Waktu yang dibutuhkan sebuah proses untukmenggunakan prosesor (melakukan kalkulasi, dll).

• I/O Burst: Waktu yang dibutuhkan untuk melakukantransfer data dari dan ke sistem.

PemrosesanParalel

HaddadSammir,M.Kom

Siklus Burst

PemrosesanParalel

HaddadSammir,M.Kom

Penjadwalan (Scheduling)

• Penjadwalan: Menentukan bagaimana menggunakanwaktu CPU (CPU Time) pada komputer.

• Tujuan penjadwalan: Memberikan layanan yang efisienkepada user.

• Kapan sebuah proses dijadwalkan?• Dari status ready ke status running.• Dari status running ke status waiting.• Dari status running ke status ready.• Dari status waiting ke status ready.• Terminasi.

PemrosesanParalel

HaddadSammir,M.Kom

Algoritma Penjadwalan

• FCFS (First Come First Served).

• SJF (Shortest Job First).

• Priority Scheduling.

• Round Robin.

• Multilevel Queue.

• Multilevel Feedback Queue.

PemrosesanParalel

HaddadSammir,M.Kom

FCFS (First Come First Served)

• Algoritma ini merupakan algoritma penjadwalan yangpaling sederhana yang digunakan CPU.

• Dengan menggunakan algoritma ini setiap proses yangberada pada status ready dimasukkan kedalam FIFOqueue atau antrian dengan prinsip first in first out, sesuaidengan waktu kedatangannya.

• Proses yang tiba terlebih dahulu yang akan dieksekusi.

PemrosesanParalel

HaddadSammir,M.Kom

FCFS (First Come First Served)Contoh

Masalah:

• Ada tiga buah proses yang datang secara bersamaan yaitupada 0 ms, P1 memiliki burst time 24 ms, P2 memilikiburst time 3 ms, dan P3 memiliki burst time 3 ms.Hitunglah waiting time rata-rata dan turnaround time(burst time + waiting time) dari ketiga proses tersebutdengan menggunakan algoritma FCFS.

Solusi:

• Waiting time untuk P1 adalah 0 ms (P1 tidak perlumenunggu), sedangkan untuk P2 adalah sebesar 24 ms(menunggu P1 selesai), dan untuk P3 sebesar 27 ms(menunggu P1 dan P2 selesai).

PemrosesanParalel

HaddadSammir,M.Kom

FCFS (First Come First Served)Contoh, Cont.

• Waiting time rata-ratanya adalah sebesar(0+24+27)/3 =17ms.

• Turnaround time untuk P1 sebesar 24 ms, sedangkanuntuk P2 sebesar 27 ms (dihitung dari awal kedatanganP2 hingga selesai dieksekusi), untuk P3 sebesar 30 ms.

• Turnaround time rata-rata untuk ketiga proses tersebutadalah (24+27+30)/3 = 27 ms.

PemrosesanParalel

HaddadSammir,M.Kom

FCFS (First Come First Served)Kelemahan

• Waiting time rata-ratanya cukup lama.

• Terjadinya convoy effect, yaitu proses-proses menunggulama untuk menunggu 1 proses besar yang sedangdieksekusi oleh CPU.

PemrosesanParalel

HaddadSammir,M.Kom

SJF (Shortest Job First)

• Pada algoritma ini setiap proses yang ada di ready queueakan dieksekusi berdasarkan burst time terkecil.

• Hal ini mengakibatkan waiting time yang pendek untuksetiap proses dan karena hal tersebut maka waiting timerata-ratanya juga menjadi pendek, sehingga dapatdikatakan bahwa algoritma ini adalah algoritma yangoptimal.

PemrosesanParalel

HaddadSammir,M.Kom

SJF (Shortest Job First)Contoh

Masalah: Hitunglah waiting time rata-rata dan turnaroundtime dari keempat proses tersebut dengan mengunakanalgoritma SJF.

PemrosesanParalel

HaddadSammir,M.Kom

SJF (Shortest Job First)Contoh, Cont.

Solusi:

• Urutan eksekusi proses: P1, P3, P2, P4.

• Average waiting time = (0 + 3 + 6 + 7) / 4 = 4ms.

PemrosesanParalel

HaddadSammir,M.Kom

SJF (Shortest Job First)Kelemahan

• Susahnya untuk memprediksi burst time proses yang akandieksekusi selanjutnya.

• Proses yang mempunyai burst time yang besar akanmemiliki waiting time yang besar pula karena yangdieksekusi terlebih dahulu adalah proses dengan burst timeyang lebih kecil.

PemrosesanParalel

HaddadSammir,M.Kom

Priority Scheduling

• Priority Scheduling merupakan algoritma penjadwalanyang mendahulukan proses yang memiliki prioritastertinggi.

• Setiap proses memiliki prioritasnya masing-masing.

• Prioritas suatu proses dapat ditentukan melalui beberapakarakteristik antara lain:

• Time limit.• Memory requirement.• Akses file.• Perbandingan antara burst I/O dengan CPU burst.• Tingkat kepentingan proses.

PemrosesanParalel

HaddadSammir,M.Kom

Priority Scheduling

• Priority scheduling juga dapat dijalankan secarapreemptive maupun non-preemptive.

• Pada preemptive, jika ada suatu proses yang baru datangmemiliki prioritas yang lebih tinggi daripada proses yangsedang dijalankan, maka proses yang sedang berjalantersebut dihentikan, lalu CPU dialihkan untuk proses yangbaru datang tersebut.

• Sementara itu, pada non-preemptive, proses yang barudatang tidak dapat menganggu proses yang sedangberjalan, tetapi hanya diletakkan di depan queue.

PemrosesanParalel

HaddadSammir,M.Kom

Kelemahan Priority Scheduling

• Kelemahan pada priority scheduling adalah dapatterjadinya indefinite blocking (starvation).

• Suatu proses dengan prioritas yang rendah memilikikemungkinan untuk tidak dieksekusi jika terdapat proseslain yang memiliki prioritas lebih tinggi darinya.

Solusi:

• Solusi dari permasalahan ini adalah aging, yaitumeningkatkan prioritas dari setiap proses yang menunggudalam queue secara bertahap.

• Contoh: Setiap 10 menit, prioritas dari masing-masingproses yang menunggu dalam queue dinaikkan satutingkat. Maka, suatu proses yang memiliki prioritas 127,setidaknya dalam 21 jam 20 menit, proses tersebut akanmemiliki prioritas 0, yaitu prioritas yang tertinggi (semakinkecil angka menunjukkan bahwa prioritasnya semakintinggi).

PemrosesanParalel

HaddadSammir,M.Kom

Round Robin

• Algoritma ini menggilir proses yang ada di antrian.• Proses akan mendapat jatah sebesar time quantum.• Jika time quantum-nya habis atau proses sudah selesai,

CPU akan dialokasikan ke proses berikutnya.

PemrosesanParalel

HaddadSammir,M.Kom

Round Robin

• Algoritma ini sepenuhnya bergantung besarnya timequantum.

• Jika terlalu besar, algoritma ini akan sama saja denganalgoritma first come first served.

• Jika terlalu kecil, akan semakin banyak peralihan prosessehingga banyak waktu terbuang.

• Time quantum yang ideal adalah jika 80% dari totalproses memiliki CPU burst time yang lebih kecil dari 1time quantum.

PemrosesanParalel

HaddadSammir,M.Kom

Multilevel Queue

• Ide dasar dari algoritma ini berdasarkan pada sistemprioritas proses.

• Prinsipnya, jika setiap proses dapat dikelompokkanberdasarkan prioritasnya, maka akan didapati queueseperti pada gambar berikut:

PemrosesanParalel

HaddadSammir,M.Kom

Multilevel Queue

• Berawal dari priority scheduling, algoritma ini pun memilikikelemahan yang sama dengan priority scheduling, yaitusangat mungkin bahwa suatu proses pada queue denganprioritas rendah bisa saja tidak mendapat jatah CPU.

• Untuk mengatasi hal tersebut, salah satu caranya adalahdengan memodifikasi algoritma ini dengan adanya jatahwaktu maksimal untuk tiap antrian, sehingga jika suatuantrian memakan terlalu banyak waktu, maka prosesnyaakan dihentikan dan digantikan oleh antrian dibawahnya,dan tentu saja batas waktu untuk tiap antrian bisa sajasangat berbeda tergantung pada prioritas masing-masingantrian.

PemrosesanParalel

HaddadSammir,M.Kom

Multilevel Feedback Queue

• Algoritma ini mirip sekali dengan algoritma multilevelqueue.

• Perbedaannya ialah algoritma ini mengizinkan prosesuntuk pindah antrian.

• Jika suatu proses menyita CPU terlalu lama, maka prosesitu akan dipindahkan ke antrian yang lebih rendah.

• Untuk menghindari starvation, maka proses yang telahmenunggu terlalu lama akan dinaikkan tingkatanantriannya.

PemrosesanParalel

HaddadSammir,M.Kom

Multilevel Feedback Queue

PemrosesanParalel

HaddadSammir,M.Kom

Multilevel Feedback Queue

Algoritma ini didefinisikan melalui beberapa parameter, antaralain:

• Jumlah antrian.

• Algoritma penjadwalan tiap antrian.

• Kapan menaikkan proses ke antrian yang lebih tinggi.

• Kapan menurunkan proses ke antrian yang lebih rendah.

• Antrian mana yang akan dimasuki proses yangmembutuhkan.

Algoritma ini adalah algoritma yang sering digunakan karenamudah dikonfigurasi ulang agar cocok dengan sistem.

PemrosesanParalel

HaddadSammir,M.Kom

Penerapan Algoritma Multilevel Feedback Queue

• Semua proses yang baru datang akan diletakkan padaqueue 0 (quantum = 8 ms).

• Jika suatu proses tidak dapat diselesaikan dalam 8 ms,maka proses tersebut akan dihentikan dan dipindahkan kequeue 1 (quantum = 16 ms).

• Queue 1 hanya akan dikerjakan jika tidak ada lagi prosesdi queue 0, dan jika suatu proses di queue 1 tidak selesaidalam 16 ms, maka proses tersebut akan dipindahkan kequeue 2.

• Queue 2 akan dikerjakan bila queue 0 dan 1 kosong, danakan berjalan dengan algoritma FCFS.

PemrosesanParalel

HaddadSammir,M.Kom

SekianTerima Kasih