Analisis Perbandingan Algoritma Penjadwalan CPU A New Improved Round Robin dan A Dynamic Time Quantum Shortest Job Round Robin
Artikel Ilmiah
Peneliti: Paulus V. Daud Boseren (672010239) Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Agustus 2016
Analisis Perbandingan Algoritma Penjadwalan CPU A New Improved Round Robin dan A Dynamic Time Quantum Shortest Job Round Robin
Artikel Ilmiah
Diajukan kepada Fakultas Teknologi Informasi untuk memperoleh Gelar Sarjana Komputer
Peneliti: Paulus V. Daud. Boseren (672010239) Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga Agustus 2016
Lembar Persetujuan
Analisis Perbandingan Algoritma Penjadwalan CPU A New Improved Round Robin dan A Dynamic Time Quantum Shortest Job Round Robin
Artikel Ilmiah
Peneliti : Paulus V. Daud Boseren (672010239)
Telah disetujui untuk diuji: Tanggal : ………………………………….
Magdalena A. Ineke Pakereng, M.Kom. Pembimbing
Pernyataan
Artikel Ilmiah berikut ini : Judul
:
Analisis Perbandingan Algoritma Penjadwalan CPU A New Improved Round Robin dan A Dynamic Time Quantum Shortest Job Round Robin
Pembimbing :
Magdalena A. Ineke Pakereng, M.Kom.
adalah benar hasil karya saya : Nama
: Paulus V. Daud Boseren
NIM
: 672010239
Saya menyatakan tidak mengambil sebagian atau seluruhnya dari hasil karya orang lain kecuali sebagaimana yang tertulis pada daftar pustaka. Pernyataan ini dibuat dengan sebenar-benarnya sesuai dengan ketentuan yang berlaku dalam penulisan karya ilmiah.
Salatiga, Agustus 2016
Paulus V. Daud Boseren
Analisis Perbandingan Algoritma Penjadwalan CPU A New Improved Round Robin dan A Dynamic Time Quantum Shortest Job Round Robin Paulus V. Daud Boseren 1, Magdalena A. Ineke Pakereng 2 Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia E-mail:
[email protected],
[email protected] Abstract CPU scheduling and algorithm is important part of an operating system, even the overall work of system also influence by hardware but position of scheduling algorithm have very big role in support the work of a system. The writing of this research is purposed to compare two CPU scheduling algorithm that base on round robin CPU scheduling algorithm, that is A New Improved Round Robin CPU Scheduling Algorithm (NIRR) and A Dynamic Time Quantum Shortest Job Round Robin (SJRR) by based on average waiting time (AWT), average turnaround time (ATAT), average response time (ART) number of context switches (NCS), throughput, fairness, and CPU utilization criteria. Result of the research indicates that A New Improved Round Robin (NIRR), more excellent on average waiting time (AWT), average turnaround time (ATAT), and average response time (ART). Keywords: CPU Scheduling, Round Robin, Improved CPU Scheduling Algorithm, Dynamic Time Quantum Algorithm, Shortest Job First Algorithm Abstrak Penjadwalan CPU dan algoritmanya merupakan bagian terpenting dari sebuah sistem operasi, sekalipun kinerja keseluruhan sistem juga dipengaruhi oleh perangkat keras sistem namum posisi algoritma penjadwalan sangat berperan besar dalam menunjang kinerja sebuah sistem. Penulisan penilitian ini dimaksudkan untuk membandingkan dua algoritma penjadwalan CPU yang berdasarkan pada algoritma penjadwalan CPU round robin, yaitu A New Improved Round Robin CPU Scheduling Algorithm (NIRR) dan A Dynamic Time Quantum Shortest Job Round Robin (SJRR) dengan berdasarkan pada kriteria average waiting time (AWT), average turnaround time (ATAT), average response time (ART) number of context switches (NCS), throughput, fairness, dan CPU utilization. Hasil penelitian menunjukan bahwa algoritma A New Improved Round Robin (NIRR) lebih unggul pada average waiting time (AWT), average turnaround time (ATAT), dan average response time (ART). Kata Kunci: CPU Scheduling, Round Robin, Improved CPU Scheduling Algorithm, Dynamic Time Quantum Algorithm, Shortest Job First Algorithm
1 2
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga Staf Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga
1.
Pendahuluan
Penelitian menganai analisa dan perbandingan algoritma penjadwalan telah sering dilakukan antara algoritma-algoritma tradisional seperti Shortest Job First, First Come First Serve, Round Robin, Priority Scheduling, dan lainnya. Penelitian yang dibuat untuk mengembangkan algoritmaalgoritma tradisional juga telah sering dilakukan yaitu membandingkan algoritma tradisional dengan algoritma yang dikembangkan dari algoritma tradisional, terkadang juga suatu algoritma dikembangkan lagi dari algoritma yang telah dikembangkan dan keduanya saling dibandingakan [1], sehingga penelitan ini akan membandingkan dua algoritma yang telah dikembangkan dari algoritma dasar Round Robin yang umumnya diterapkan pada time sharing process dan interactive system [2]. A New Improved Round Robin CPU Scheduling Algorithm oleh Abdulrazaq Abdulrahim dkk [3] dan A Dynamic Time Quantum Shortest Job Round Robin oleh Shailendra Shukla, Lalit Kishore [4], merupakan dua dari sekian banyak algoritma penjadwalan CPU yang telah diusulkan, kedua algoritma ini didasarkan pada algoritma RR (Round Robin), yang mana sangat bergantung pada quantum time, bersifat preemptive dalam pengalokasian processor, namun apabila terlalu banyak switch processes dapat menimbulkan overhead [5] [6] sedangkan pada A Dynamic Time Quantum Shortest Job Round Robin merupakan kombinasi antara algoritma shortest job first dan round robin [4]. Penelitian ini dimaksudkan untuk membandingan kedua algoritma diatas, yaitu A New Improved Round Robin CPU Scheduling Algorithm [3], A Dynamic Time Quantum Shortest Job Round Robin [4]. Berdasarkan latar belakang tersebut, maka dilakukan penelitian yang membahas tentang Analisis Perbandingan Algoritma Penjadwalan CPU A New Improved Round Robin [3] dan A Dinamic Time Quantum Shortest Job Round Robin [4]. 2.
Tinjauan Pustaka
Penelitian terdahulu mengenai perbandingan beberapa algoritma penjadwalan CPU, A Comparative Study of CPU Scheduling Algorithms (R.B. Garg, 2012) [7], pada penelitian ini membandingkan dan me-review beberapa algoritma penjadwalan CPU, yaitu: (1) First Come First Serve, (2) Non preempted Shortest Job First, (3) Round Robin, (4) Priority Scheduling menyatakan bahwa First Come First Serve (FCFS) & Shortest Job First (SJF) biasanya lebih sesuai bagi batch operating system, sedangkan Round Robin (RR) dan Priority Scheduling (PS) lebih sesuai bagi resource sharing operating system. Analysis and Comparison of CPU Scheduling Algorithms (Pushpraj Singh, Vinod Singh, Anjani Pandey, 2014) [8] menyatakan bahwa First Come First Serve (FCFS) & Shortest Job First (SJF) biasanya lebih sesuai bagi batch system, sedangkan Round Robin (RR) dan Priority Scheduling (PS) lebih sesuai bagi resource sharing system. Shortest Job Fisrst (SJF) lebih optimal untuk semua tipe algoritma penjadwalan, sehingga Shortest Job First (SJF) ialah algoritma dengan optimal kriteria untuk semua skenario. Berdasarkan penelitian-penelitian terdahulu terkait algoritma penjadwalan maka dilakukan penelitian tentang Analisis Perbandingan Algoritma Penjadwalan CPU A New Improved Round Robin dan A Dinamic Time Quantum Shortest Job Round Robin. Algoritma penjadwalan CPU merupakan hal penting dalam merancang sistem operasi. Algoritma penjadwalan sebagai penyeleksi proses-proses yang akan dieksekusi oleh processor, kinerja algoritma penjadwalan sangat berpengaruh terhadap kinerja keseluruhan sistem, baik processor tunggal maupun multiprocessor sistem. Berdasarkan pada bebera kriteria yang dianggap sebagai acuan dalam menentukan nilai maksimal suatu algoritma penjadwalan dengan algoritma penjadwalan yang lain terhadap kinerja sistem. Kriteria yang dimaksud yaitu [7]: 1) Utilization/Efficiency: membuat sibuk CPU 100%. 2) Throughput: memaksimalkan jumlah pekerjaan per satu satuan waktu . 3) Turnaround time: dari waktu proses diterima hingga waktu selesai, meminimalkan time batch harus ditunggunya output oleh pengguna. 4) Waiting time: meminimalkan jumlah waktu tunggu proses dalam ready queue. 1
5) Response Time: dari waktu proses diterima hingga respon pertama dibuat – diminimalkan untuk pengguna interaktif. 6) Fairness: memastikan setiap proses mendapat pembagian penggunaan CPU yang adil. A New Improved Round Robin CPU Scheduling Algorithm mempunyai dua queue, arrive queue menampung proses-proses yang diurutkan sesuai dengan waktu kedatangan kemudian dipindahkan ke request queue dan diurutkan secara ascending berdasarkan burst time setiap proses, untuk quantum time ialah nilai rata-rata burst time tertinggi. Setiap proses dieksekusi selama quantum time yang ditentukan, ketika quantum time telah kadaluarsa maka scheduler memeriksa apakah proses berjalan membutuhkan waktu kurang dari setengah atau sama dengan setengah quantum time maka eksekusi proses tetap dilanjutkan, dan jika waktu yang dibutuhkan lebih dari setengah quantum time maka proses diinterupsi dan ditambahkan pada bagiah akhir arrive queue [3]. A Dynamic Time Quantum Shortest Job Round Robin, quantum time ditentukan dengan beberapa tahapan, yaitu: (1) proses-proses pada ready queue, diurutkan secara ascending berdasarkan F = arrival time + CPU burst time, (2) F/job burst time diurutkan secara ascending, quantum time ialah mean dari job burst time, namun jika urutan job ganjil maka mean adalah nilai posisi tengah job burst time, jika genap maka nilai posisi tengah job burst time + (middle job + 1 jobs position burst time) [4]. 3.
Tahapan Penelitian dan Analisis Perbandingan Algoritma
Penelitian dilaksanakan melalui beberapa tahapan, yaitu: (1) Identifikasi Masalah dan Studi Literatur, (2) Simulasi Algoritma NIRR dan Dynamic Time Quantum SJRR, (3) Analisis Perbandingan Algoritma NIRR dan A Dynamic Time Quantum SJRR.
Identifikasi Masalah dan Studi Literatur
Simulasi Algoritma NIRR dan Dynamic Time Quantum SJRR
Analisis Perbandingan Algoritma NIRR dan A Dynamic Time Quantum SJRR Gambar 1 Tahapan Penelitian
Tahapan penelitian pada Gambar 1 dapat dijelaskan sebagai berikut. Tahap pertama: identifikasi masalah, ke-optimalan algoritma. Tahap kedua: simulasi algoritma NIRR dan Dynamic Time Quantum SJRR, meliputi processes arrival time, processes burst time. Tahap ketiga: analisis perbandingan hasil simulasi algoritma NIRR dan A Dynamic Time Quantum SJRR, meliputi average waiting time, average turnaround time, average response time, number of context switches, throughput, fairness, dan CPU utilization. A New Improved Round Robin CPU Scheduling Algorithm merupakan algoritma yang dimodifikasi dari An Improved Round Robin CPU Scheduling Algorithm [3], yang mana mengambil proses dari ready queue dan mengalokasikan CPU selama interval hingga satu quantum time kemudian membandingkan burst time proses yang tersisa dengan satu quantum time apabila burst time tersisa kurang dari quantum time maka CPU dialokasikan kembali pada proses berjalan untuk burst time yang masih ada, jika burst time tersisa lebih dari satu quantum time maka proses dipindahkan pada akhir ready queue. Pada A New Improved Round Robin CPU Scheduling Algorithm mempunyai dua queue, arrive queue menampung proses-proses yang diurutkan sesuai dengan waktu 2
kedatangan kemudian dipindahkan ke request queue dan diurutkan secara ascending berdasarkan burst time setiap proses, untuk quantum time ialah nilai rata-rata burst time tertinggi. Setiap proses dieksekusi selama quantum time yang ditentukan, ketika quantum time telah kadaluarsa maka scheduler memeriksa apakah proses berjalan membutuhkan waktu kurang dari setengah atau sama dengan setengah quantum time maka eksekusi proses tetap dilanjutkan, dan jika waktu yang dibutuhkan lebih dari setengah quantum time maka proses diinterupsi dan ditambahkan pada bagian akhir arrive queue, proses ini berulang hingga tidak ada antrian proses dalam request queue. Pseudocode A New Improved Round Robin CPU Scheduling Algorithm [3]: Step 1: Start. Step 2: Membuat sebuah queue, ARRIVE, untuk menampung proses yang tiba, sebelum di pindahkan ke ready queue. Step 3: Membuat ready queue, REQUEST. Step 4: Do Step 5: If (proses_Index =1) { time_quantum = burst time Pindahkan proses pertama (pr1) ke REQUEST queue }Else{ Pindahkan semua proses dalam ARRIVE queue ke REQUEST queue dalam urutan ascending burst time
} Step 6: Do Step 7: Alokasikan CPU untuk proses pertama pada REQUEST queue untuk 1 quantum time. Step 8: Jike burst time tersisa proses berjalan kurang atau sama dengan setengah quantum time maka CPU dialokasikan kembali ke proses berjalan. Setelah selesai hapus proses dari ready queue dan kembali ke step 7. Step 9: Jika sisa burst time proses berjalan lebih dari setengan quantum time, pindahkan proses dari REQUEST queue ke ARRIVE queue dan kembali ke step 7. Step 10: Jika proses baru tiba ke sistem dimasukkan ke ARRIVE queue. Step 11: WHILE queue REQUEST tidak kosong. Step 12: WHILE queue ARRIVE tidak kosong. Step 13: Hitung Average Waiting Time, Average Turnaround Time, Average Response Time and Number of Context Switches. Step 14: END. Tabel 1 Proses dan Burst Time
Proses ID P1
Burst Time (ms)
Arrival Time (ms)
10
0
P2
3
0
P3
2
0
P4
5
0
P5
30
0
3
Gant Chart. A New Improved Round Robin 10
20
P3 0
P2 2
P4 5
P1 10
P5 20
P5 30
P5 40
50
Quantum time = 10+3+2+5+30=50/5 = 10 Average waiting time Turnaround time - burst time = 0+2+5+10+20 = 37/5 = 7.4 Average turnaround time Completion time - arrival time = 2+5+10+20+50 = 87/5 = 17.4 Average response time Arrival time + waiting time = 0+2+5+10+20 = 37/5 = 7.4 Number of context switches = 6 A Dynamic Time Quantum Shortest Job Round Robin, quantum time -nya ditentukan dengan dua tahapan, yaitu: (1) proses-proses pada arrive queue, diurutkan secara ascending berdasarkan F = arrival time + burst time, (2) quantum time ialah mean dari job burst time, namun jika urutan job ganjil maka mean adalah nilai posisi tengah job burst time, jika genap maka nilai posisi tengah job burst time + (middle job + 1 jobs position burst time). Pseudo-code A Dynamic Time Quantum Shortest Job Round Robin [4]: Step 1: Start Step 2: Membuat ARRIVE queue Step 3: Do Step 4: If (job_Index = 1) { Quantum_time = ½ burst time }Else if(job_Index % 2 ! = 0){ Urutkan antrian secara ascending F = arrival time + burst time Quantum_time = mean_job burst time }Else{ Urutkan antrian secara ascending F = arrival time + burst time mean_job = ½ job_Index + (½ job_Index + 1 job_Index) Quantum_time = mean_job burst time } Step 5: WHILE ARRIVE queue tidak kosong. Step 6: Hitung Average Waiting Time, Average Turnaround Time, Average Response Time and Number of Context Switches. Step 7: END. Tabel 2 Proses dan Burst Time
Proses ID
Burst Time (ms)
Arrival Time (ms)
P1
10
1
P2
3
5
P3
2
3
P4
5
20
P5
30
25 4
Gant Chart Pengurutan proses secara F = arrival time + burst_time
P3
P2
P1
5
P4
8
11
P5 25
55
Gant Chart A Dynamic Time Quantum Shortest Job Round Robin 11 qt
9.5 qt 9.5
19
P3 0
P2 2
P1
P4
5
P5
15
20
P5 31
P5 40.5
50
Quantum_time cycle 1 = mean_job burst time = 11 Quantum_time cycle 2 = ½ burst time = 9.5 Average waiting time Turnaround time - burst time = 0+2+5+15+30= 52/2 = 10.4 Average turnaround time Completion time - arrival time = 2+5+15+20+50 = 92/5 = 18.4 Average response time Arrival time + waiting time = 3+7+6+35+55= 106/5 = 21.2 Number of context switches = 6 ,quantum_time cycle 1 bernilai 11 = mean_job burst time sedangkan quantum_time cycle 2 bernilai 9.5 = ½ burst time proses, karena hanya 1 proses tersisa dalam queue, arrival time prosesproses digunakan untuk perhitungan pengurutan secara F = arrival time + burst time, pengurutan ini mengakibatkan arrival time setiap proses bernilai nol bagi perhitungan average turnaround time. 4.
Hasil dan Pembahasan
Berdasarkan analisis yang dilakukan maka dapat dibuat perbandingan antara NIRR dan A Dynamic Time Quantum SJRR seperti ditunjuk pada Tabel 3. Tabel 3 Hasil Perbandingan
Algoritma
AWT (ms)
ATAT (ms)
ART (ms)
NCS
Utilization CPU
Throughput 25 ms
Fairness
A New Improved Round Robin
7.4
17.4
7.4
6
100 %
4
Yes
A Dynamic Time Quantum Shortest Job Round Robin
10.4
18.4
21.2
6
100 %
4
Yes
Hasil perbandingan pada Tabel 3 menunjukkan bahwa rata-rata waktu waiting time, turnaround time, response time, dalam milisekon secara berurutan, number of context switches, utilization, throughput dan Fairness, kedua algoritma penjadwalan yang diteliti yaitu, NIRR dan A Dynamic Time Quantum SJRR secara berurutan. Penelitian dilakukan dengan memberikan burst time proses secara acak, proses id, quantum time dan arrival time ditentukan sesuai dengan policy kedua algoritma. Utilization kedua algoritma mencapai 100 % karena processor tidak mengalami kondisi busy waiting, throughput kedua algoritma bernilai 4, atau 4 proses selesai dikerjakan dalam 25 ms, 25 ms ialah nilai tengah dari total burst time proses. Fairness bernilai yes sesuai dengan policy algoritma menetapkan quantum time. 5
Nilai-nilai average waiting time (AWT), average turnaround time (ATAT), average response time (ART) didapatkan dengan menjumlahkan nilai waiting time, turnaround time, dan response time setiap proses diolah hingga selesai dijumlahkan dan dibagi dengan banyaknya proses, sedangkan number of context switches merupakan jumlah perpindahan pengolahan CPU terhadap proses sesuai dengan penghitungan quantum time masing-masing algoritma, menghasilkan selisih waktu average waiting time 3 ms, average turnaround time 1 ms, average response time 13.8 ms, bagi keunggulan NIRR sedangkan number of context switches, utilization, throughput, dan fairness bernilai sama yaitu 100%, 6, 4 dan yes. Berdasarkan analisis perbandingan yang dilakukan algoritma penjadwalan NIRR lebih optimal jika dibandingkan dengan A Dynamic Time Quantum SJRR. 5.
Simpulan
Berdasarkan penelitian yang dilakukan disimpulkan bahwa algoritma penjadwalan A New Improved Round Robin Scheduling Algorithm lebih unggul pada average waiting time (AWT), average turnaround time (ATAT), dan average response time (ART) sedangkan number of context switches (NCS), utilization, throughput, dan fairness bernilai sama. Saran yang diberikan untuk penelitian dan pengembangan lebih lanjut ialah, meminimalkan turnaround time, dapat dicapai dengan memberikan 2 queue, yaitu menampung datangnya proses, dan menampung proses yang telah diurutkan untuk dieksekusi CPU. Lebih banyak pengujian perbandingan pada burst time proses dengan beberapa bentuk pola burst time yang berbeda, dan analisis perbandingan algoritma NIRR dengan algoritma berbeda berbasis round robin. 6.
Daftar Pustaka
[1].
Christopher McGuire and Jeonghwa Lee, “Comparisons of Improved Round Robin”, International Journal of Graphics & Image Processing, Proceedings of the World Congress on Engineering and Computer Science 2014 Vol I WCECS 2014, 22-24 October, 2014, San Francisco, USA. Rachhpal Singh, Gaurav,” Comparative Study of Scheduling Algorithms in Operating System”, ISSN: 2278-5183 International Journal of Computers and Distributed Systems www.ijcdsonline.com Vol. No.3, Issue I, April-May 2013. Abdulrazaq Abdulrahim, Saleh E Abdullahi, Junaidu B. Sahalu, “A New Improved Round Robin Scheduling Algorithm”, International Journal of Computer Applications (0975 – 8887), Volume 90 – No 4, March 2014. Shailendra Shukla, Lalit Kishore, A Dynamic Time Quantum SJRR CPU Scheduling Algorithm, International Journal of Engineering, Management & Sciences (IJEMS), ISSN: 2348 –3733, Volume-1, Issue-8, August 2014. Mahmoud. Naghibzadeh, “Operating System Concepts and Techniques”. Abraham. Silberschatz, P. B. Galvin, G. Gagne, “Operating System Concepts Ninth Edition”. Neetu Goel, R.B. Garg, “A Comparative Study of CPU Scheduling Algorithms”, International Journal of Graphics & Image Processing ,Vol 2|issue 4|November 2012. Pushpraj Singh, Vinod Singh, Anjani Pandey, “Analysis and Comparison of CPU Scheduling Algorithms”, International Journal of Emerging Technology and Advanced Engineering Website: www.ijetae.com (ISSN 2250-2459, ISO 9001:2008 Certified Journal, Volume 4, Issue 1, January 2014).
[2].
[3].
[4].
[5]. [6]. [7]. [8].
6