Algoritma Penjadwalan 2
Kelompok 12 : Anthony Steven Eliza Margaretha Fandi
120300017X 120400030Y 1204000327
http://www.mhs.cs.ui.ac.id/~fandi104/os
Dokumen ini dibuat dengan OpenOffice.org 1.1.2
(c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 1 Algoritma Penjadwalan 2
Pendahuluan Materi presentasi : 1. Penjadwalan Processor Jamak (Multi-Processor). 2. Penjadwalan Waktu Nyata (Real Time Scheduling). 3. Penjadwalan Thread. 4. Penjadwalan Java. 5. Evaluasi Algoritma.
(c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 2 Algoritma Penjadwalan 2
Penjadwalan Processor Jamak (Multi-Processor) Prosesor-prosesor yang memiliki fungsi yang identik atau homogen. Maka setiap prosesor dapat digunakan untuk menjalankan proses-proses yang ada di antrian. Dua pendekatan penjadwalan CPU dalam sistem prosesor jamak: 1. Proses Jamak Asimetris - Satu processor sebagai master server dan processor lain menjalankan user code - Sederhana karena hanya satu prosesor yang mengakses sistem struktur data - Kurang efisien karena I/O bound bisa membuat bottleneck. 2. Proses Jamak Simetris - Setiap prosesor memiliki panjadwalan sendiri - Setiap proses dapat berada di antrian siap yang dipakai bersama atau bisa berada di antrian yang ada di setiap prosesor - Jenis antrian apapun yang dipakai, penjadwal pada setiap prosesor akan memeriksa setiap antrian siap dan memilih proses yang akan dieksekusi (harus dipastikan 2 prosesor tidak memilih proses yang sama) (c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 3 Algoritma Penjadwalan 2
Penjadwalan Waktu Nyata (Real - Time Scheduling)
Ciri – Ciri Real Time : Deterministik (dapat diketahui batasan waktu yang digunakan untuk mengeksekusi proses) Bersifat Primitif (hanya mengerjakan hal-hal sederhana) Responsif (kapan secara pasti eksekusi dimulai serta diakhiri) Sulit berkolaborasi dengan Virtual Machine dan sistem prosessor jamak
(c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 4 Algoritma Penjadwalan 2
Hard vs Soft Real-Time Systems HARD Waktunya tegas Proses meminta alokasi waktu terlebih dahulu kepada penjadwal, bila mungkin dijalankan, penjadwal akan mengalokasikan resource yang ada, bila tidak akan ditolak.
Safety-critical Untuk sistem-sistem yang mempunyai tingkat fatalitas yang tinggi.
Soft Waktunya kurang tegas, memakai prioritas. Tidak Safety-Critical Untuk sistem-sistem yang tidak mempunyai tingkat fatalitas yang tinggi. mis : Streaming video dari web
mis : Hulu Ledak Nuklir (c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 5 Algoritma Penjadwalan 2
Masalah-masalah dalam Soft Real-Time Dispatch Latency yang lama Kadang bisa terjadi akibat dari Context Switch yang terlalu lama, misalnya oleh I/O Block. Solusi : 1. Preemption Points 2. Membuat Preemptible Kernel Sebuah Kasus Proses yang mempunyai prioritas tinggi, memerlukan data yang sedang diakses oleh proses yang mempunyai prioritas lebih rendah. Timbul Masalah Baru : Priority Inversion Suatu proses dengan prioritas yang lebih rendah bisa mendahului proses yang lebih tinggi prioritasnya, sehingga terjadi pembalikan prioritas. Solusi : Priority Inheritance – Protocol Prioritas ditukar hanya sementara. Setelah keperluan selesai, prioritas diganti kembali. (c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 6 Algoritma Penjadwalan 2
Penjadwalan Thread Kernel-level thread dijadwalkankan oleh sistem operasi. User-level thread diaturkan oleh library thread. Contention scope artinya bagaimana user thread dipetakan ke kernel thread Sistem dengan model mulithreading many to many atau many to one menggunakan: 1. Process Contention Scope (PCS) Perpustakaan thread menjadwalkan user thread untuk berjalan pada LWP (lightweight process) yang tersedia. 2. System Contention Scope (SCS) SCS berfungsi untuk memilih satu dari banyak thread, kemudian menjadwalkannya ke satu thread tertentu (CPU / Kernel). Sistem dengan model mutithreading one to one hanya menggunakan SCS untuk menjadwalkan thread. (c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 7 Algoritma Penjadwalan 2
Penjadwalan Thread di Linux 1. SCHED_FIFO (FIFO real time threads) Aturan-aturan untuk FIFO thread: Sistem tidak akan diinterrupt, kecuali : - Ada FIFO Thread yang mempunyai prioritas lebih tinggi dan sudah siap (ready). - FIFO Thread yang sedang berjalan diblok untuk menunggu suatu event, misal : I/O Jika FIFO thread diinterrupt akan diletakkan pada queue yang sesuai dengan prioritasnya. 2. SCHED_RR (Round Robin real time threads) Mirip dengan SCHED_FIFO, tetapi ada time-quota (khas Round-Robin). 3. SCHED_OTHER (non real time threads) Thread akan dijalankan bila tidak ada real-time Thread yang siap dijalankan. (c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 8 Algoritma Penjadwalan 2
Penjadwalan Java Penjadwalan di Java berkaitan erat dengan konsep MultiThreading, karena java mendukung konsep mengenai Thread. Setiap Thread pada awalnya mempunyai prioritas 5, dari skala 1-10, prioritas ini dapat diubah dengan method setPriority(). Ini berguna saat (misalnya) kita mencoba melakukan penukaran prioritas sementara. Konsep penjadwalan di Java adalah konsep Round-Robin, yang mempunyai timeslice, jika time-slicenya habis, threadnya selesai. Kalau ada 2 Thread dengan prioritas yang sama, maka diberlakukan sistem FIFO. Catatan : Urutan Eksekusi Thread di Java, tidak dapat diprediksi.
(c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 9 Algoritma Penjadwalan 2
Evaluasi Algoritma Kriteria kinerja algoritma yang baik: 1. Maksimalisasi utilisasi CPU dengan response time maksimal = 1 detik. 2. Maksimalisasi throughput sehingga rata-rata turnaround time menjadi proporsional secara linear terhadap total waktu eksekusi. Metode Evaluasi : Permodelan Deterministik (Deterministic Modelling) Metode ini mengambil sebuah particular predetemined workload dan mendefinisikan kinerja setiap algoritma untuk setiap workload. Metode ini merupakan yang paling sederhana dan cepat, dapat memberikan nilai yang eksak dalam membandingkan algoritma penjadwalan.
(c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 10 Algoritma Penjadwalan 2
Deterministic Modeling (Soal) Proses
Burst Time
A
12
B
27
C
4
D
9
E
15
Algoritma FCFS (First Come, Fist Served) AWT = (0+12+39+53+62) / 5 = 33,2 Algoritma SJF (Short Job First) AWT = (13+40+0+4+25) / 5 = 16,4 Algoritma RR (Round Robin) AWT = (33+40+20+24+45) / 5 = 32,4 Ket. : WT = Average Waiting Time (c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 11 Algoritma Penjadwalan 2
Queueing Models Model Antrian (Queueing Models) Untuk melakukan Permodelan Deterministik dibutuhkan serangkaian proses yang tidak statis yaitu distribusi CPU dan I/O burst. Model ini menggunakan Queueing-Network Analysis. Untuk perhitungannya menggunakan Little’s Formula : n=λxW n = rata-rata panjang antrian proses. λ = rata-rata arrival rate dari proses yang mengantri. W = rata-rata waiting time dalam antrian (proses / satuan waktu).
(c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 12 Algoritma Penjadwalan 2
Simulations & Implementation Simulasi (Simulations) Untuk mendapatkan hasil evaluasi algoritma yang akurat, kita memerlukan simulasi menggunakan perangkat lunak struktur data dan statistika. Dijalankan dengan menggunakan random-number generator untuk mendapatkan CPU burst time dan informasi lainnya. Hasilnya berupa pengukuran yang dapat didefinisikan secara matematika. Sayangnya, simulasi ini dapat menjadi mahal, karena memerlukan banyak waktu kerja komputer, storage space yang besar, dan hal lainnya. Implementasi (Implementation) Semua cara untuk mengevaluasi yang telah dijelaskan masih belum menjamin akurasi suatu algoritma penjadwalan, sehingga kita harus mencobanya langsung pada sistem operasi dan merasakan langsung hasil algoritma penjadwalan yang kita pilih dalam kondisi nyata.
(c) 2005 Anthony S, Eliza M, Fandi Silahkan menggandakan dan mengedarkan dokumen ini tanpa mengubah nota hak cipta.
Halaman 13 Algoritma Penjadwalan 2