Task assignment and scheduling (Real-time system)

14
Penugasan dan Penjadwalan Tugas Aufar Fajar – 1127019 Yosua Natanael – 1127017 Jefry Karundeng – 0827034 Computer Engineering MCU, Sistem Waktu Nyata -

description

This presentation show about the task assignment and scheduling in the uniprocessor system. Uniprocessor scheduling algorithm, RM Algorithm, transient overloads, primary and alternative tasks are discussed. (Most of this slide using Indonesian Language). Aufar Fajar - Computer Engineering, MCU

Transcript of Task assignment and scheduling (Real-time system)

Page 1: Task assignment and scheduling (Real-time system)

Penugasan dan Penjadwalan Tugas

Aufar Fajar – 1127019Yosua Natanael – 1127017Jefry Karundeng – 0827034

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 2: Task assignment and scheduling (Real-time system)

TUJUAN & ISTILAH • Membahas mengenai teknik untuk mengalokasikan dan

menjadwalkan tugas pada prosesor agar tidak melewati deadline.

• Kendala : jumlah tugas, Penyisipan tugas, kebutuhan sumberdaya, karakteristik tugas, dan tenggat waktu (deadline).

• Istilah :• Release time, waktu saat semua data yang dibutuhkan

sudah tersedia untuk memulai eksekusi sebuah tugas.• Deadline, batas waktu dimana tugas harus menyelesaikan

eksekusinya.• Absolute deadline, Waktu dimana tugas harus diselesaikan. • Relative deadline, Waktu deadline absolut dikurangi release

time.

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 3: Task assignment and scheduling (Real-time system)

Notasi yang akan digunakan• n Jumlah tugas dalam sebuah set tugas• ei Waktu eksekusi Ti

• Pi Periode tugas Ti, jika tugasnya periodik

• Ii Periode ke-k dari tugas periodik Ti dimulai saat waktu Ii + (k-1)Pi, dimana Ii disebut sebagai fase dari tugas Ti

• di Deadline relatif dari tugas Ti (relative terhadap release time)

• Di Deadline absolut dari tugas Ti

• ri Release time dari Ti

• hT (t) Jumlah dari waktu eksekusi sejumlah tugas pada set tugas yang memiliki deadline absolut tidak lebih dari t

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 4: Task assignment and scheduling (Real-time system)

Algoritma penjadwalan uniprosesor

Algoritma Penjadwala

n

Rate-Monotonic

(RM)

Earliest Deadline

First

• Penjadwalan Rate-Monotonic algorithm adalah satu dari banyak sistem penjadwalan yang paling banyak dipelajari dan digunakan. Prioritas sebuah tugas berbanding terbalik dengan periodenya.

• Earliest deadline First (EDF) bersifat dynamic-priority; prioritas tugas tidak tetap, namun berubah tergantung kedekatan mereka dengan deadline absolut. EDF juga disebut dengan algoritma penjadwalan deadline-monotonic.

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 5: Task assignment and scheduling (Real-time system)

Contoh RM Algorithm (Periodic Task)Misalkan ada 3 buah tugas, dengan P1 = 2, P2 = 6, P3 = 10. Waktu eksekusinya adalah e1 = 0.5, e2 = 2.0, e3 = 1.75, dan I1 = 0, I2 = 1, I3 = 3. Selama P1 < P2 < P3, tugas T1 memiliki prioritas tertinggi. Setiap kali dia dikerjakan, dia menyisipi apapun yang sedang berjalan di prosesor. Tugas T3 tidak dapat dieksekusi ketika tugas T1 dan T2 belum selesai.

• Jika sebuah set tugas memiliki nilai pemanfaatan prosesor tidak lebih dari , Maka set tugas tersebut dapat dijadwalkan menggunakan algoritma RM.

• Keterangan : n = jumlah tugas dalam satu set tugas

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 6: Task assignment and scheduling (Real-time system)

Contoh RM Algorithm (Sporadic Task) – Metode 1• Tugas periodik merupakan tugas yang dilepaskan sewaktu-

waktu.• Kita memiliki tugas fiksi ber-prioritas tinggi dengan periode 10

dan waktu eksekusi 2.5. tugas tersebut menggunakan prosesor pada waktu yang ditunjukkan dengan arsiran. Setiap 10 unit waktu, prosesor dapat mengeksekusi hingga 2.5 unit tugas sporadis. Jika, dalam waktu tersebut, tidak ada tugas sporadis yang tiba, prosesor akan diam (idle). Prosesor tidak dapat mengeksekusi tugas sporadis diluar interval yang diarsir.

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 7: Task assignment and scheduling (Real-time system)

Contoh RM Algorithm (Sporadic Task) – Metode 2 (Deferred Server)

Penggunaan prosesor oleh tugas sporadis diindikasikan dengan persegi yang diarsir. 2.5 unit waktu dialokasikan tiap 20 unit periode untuk tugas sporadis. Sebuah tugas sporadis membutuhkan 5 unit waktu untuk mengambil alih kerja prosesor. Ia tiba di waktu 5. Pada waktu 7.5, prosesor telah memberikan semua kuota (2.5 unit) pada tugas tersebut pada interval [0, 10] sehingga ia bisa disisipi oleh tugas lain. Kemudian pada waktu 10 ia melanjutkan eksekusinya lagi dengan porsi waktu 2.5 unit waktu untuk interval [10, 20]. Tugas sporadis berikutnya membutuhkan waktu eksekusi 7.5 dan ia datang pada waktu 27.5. ia menggunakan porsi waktu eksekusi untuk interval [20, 30] dan [30, 40]. Total waktu eksekusi sekarang baru 5. Dilanjutkan dengan porsi waktu pada interval [40, 50], sehingga tugas selesai dieksekusi pada waktu 42.5.

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 8: Task assignment and scheduling (Real-time system)

Transient Overloads• Salah satu kelemahan RM algorithm adalah bahwa

prioritas tugas ditentukan oleh periodenya. Kadang-kadang, kita harus mengubah prioritas tugas agar semua tugas kritis dapat terselesaikan. Solusinya adalah dengan meningkatkan prioritas tugas kritis dengan mengurangi periodenya. Alternatif lain adalah dengan mengurangi periode tugas kritis dan menambah periode tugas yang non-kritis.

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 9: Task assignment and scheduling (Real-time system)

Mengatur Critical Sections

• kadangkala tugas membutuhkan waktu akses sumberdaya yang tidak bisa dibagi. Misalnya, sebuah tugas menuliskan perintah dalam sebuah blok memori.

• Sebuah tugas yang sedang memegang sumberdaya tak-terbagikan dapat dikatakan sedang berada dalam critical section.

• Satu jalan untuk meyakinkan akses eksklusif adalah dengan cara menjaga critical sections dengan binary semaphores. Hal ini seperti kunci.

• Ketika semaphores terkunci, ia mengindikasikan bahwa ada tugas yang sedang berada dalam critical sections.

Asm : Tugas dapat disisipi di titik eksekusi manapun

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 10: Task assignment and scheduling (Real-time system)

Contoh Kasus• Tugas T1, T2, T3, T1 memiliki prioritas tertinggi dan T3 memiliki

prioritas terendah. • Ada sebuah critical section S yang T1 dan T3 gunakan.• T3 mulai eksekusi pada waktu t0. Saat waktu t1, ia memasuki

critical section, S. • T1 dilepaskan saat waktu t2 dan menyisipi T3. • Ia berjalan sampai t3 dan ia mencoba untuk memasuki critical

section S. Critical section S masih terkunci oleh tugas T3. • tugas T1 ditunda dan T3 meneruskan eksekusi. • Pada waktu t4, tugas T2 dilepaskan. Ia menyisipi T3. T2 tidak

membutuhkan S dan tetap berjalan hingga t5. • T3 meneruskan dan keluar dari critical section S pada t6. T1

sekarang bisa menyisipi T3 dan masuk critical section.Lihat bahwa meskipun T2 memiliki prioritas yang lebih rendah daripada T1, ia dapat menunda T1 secara tidak langsung (dengan menyisipi T3,

memblok T1). Fenomena ini dikenal dengan istilah Priority inversion.

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 11: Task assignment and scheduling (Real-time system)

CONTOH PREEMPTIVE EARLIEST DEADLINE FISRT (EDF) ALGORITHM

TugasWaktu

kedatangan

Waktu

eksekusi

Deadline

Absolut

T10 10 30

T24 3 10

T35 10 25

Misalkan sebuah set tugas aperiodik tiba pada sebuah sistem

Ketika T1 tiba, hanya tugas itulah yang menunggu untuk dijalankan, dan lalu ia mulai mengeksekusi secepatnya. T2 tiba pada waktu 4; selama d2 < d1 , ia memiliki prioritas yang lebih tinggi daripada T1 dan kemudian menyisipinya. T3 tiba pada waktu 5; namun, karena d3 > d2, ia memiliki prioritas lebih rendah daripada T2 dan harus menunggu T2 untuk selesai. Ketika T2 selesai (pada waktu 7), T3 mulai eksekusi (karena ia memiliki prioritas yang lebih besar daripada T1). T3 berjalan hingga 15, saat itulah T1 dapat melanjutkan eksekusinya hingga selesai.

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 12: Task assignment and scheduling (Real-time system)

MENGGUNAKAN TUGAS PRIMER DAN ALTERNATIF• Di seluruh bab ini, kita telah mengasumsikan bahwa selalu

ada waktu yang cukup bagi tugas kritis untuk melakukan eksekusi.

• Cukup sering, waktu worst-case eksekusi lebih besar nilainya dibandingkan dengan waktu average-case eksekusi.

• Hal ini menghasilkan lebih banyak waktu yang dijadwalkan untuk tugas daripada yang seharusnya.

• Pertimbangkan untuk tiap tugas yang kritis, kita punya dua versi, tugas primer dan tugas alternatif.

• Baik menyelesaikan tugas primer, maupun tugas alternatif, akan mempengaruhi tugas kritis yang sedang dieksekusi. Namun, tugas alternatif menyediakan pelayanan yang dapat diterima, sementara tugas primer bisa menyediakan kualitas pelayanan yang lebih baik.

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 13: Task assignment and scheduling (Real-time system)

Contoh

  Tugas Primer Tugas Alternatif

Worst-case

runtime

20 5

Average runtime 7 4

Period 15 15

Sebuah set tugas, yang terdiri atas tugas primer dan tugas alternatif. Deadline relatif sama dengan periode tugas. Parameter ditunjukan dengan tabel dibawah ini

Computer Engineering MCU, Sistem Waktu Nyata - 2012

Page 14: Task assignment and scheduling (Real-time system)

Hanya jika tugas primer tersedia, set tugas ini bisa saja tidak mungkin untuk dijadwalkan; tidak akan ada waktu untuk menyelesaikan tugas primer. Namun, selama kita memiliki tugas alternatif, kita dapat membangun sebuah jadwal yang ditunjukkan oleh gambar dibawah ini. Kita membolehkan 10 unit waktu bagi tugas primer untuk berjalan di tiap periodenya. kita sebut ini dengan run-time limit sebuah tugas primer. Mayoritas waktu (selama average runtime hanya 7) tugas primer akan selesai pada waktu tersebut, dan kita dapat memperoleh kembali waktu diluar waktu penyelesaian untuk aktivitas lain. Namun demikian, jika tugas primer berjalan lebih dari 10, kita membatalkannya dan memulai tugas alternatif. Sementara ia tidak menyediakan hasil yang sebaik tugas primer, tugas alternatif paling tidak menjamin hasil output yang dapat diterima dalam waktu eksekusi terburuk 5. Jadi, kita dijamin paling tidak, satu tugas menemui deadlinenya.

Computer Engineering MCU, Sistem Waktu Nyata - 2012