iris task schedulling (real-time system)
DESCRIPTION
This presentation show you how to schedule the IRIS task in real-time system. The kind of IRIS task algorithm are mostly discussed here. (Most of this slide using Indonesian Language). Aufar Fajar - Computer Engineering, MCUTRANSCRIPT
Penjadwalan Untuk Tugas IRISAufar Fajar – 1127019Yosua Natanael – 1127017Jefry Karundeng – 0827034
Pengantar Tugas IRIS (increased reward with
increased service) adalah tugas yang menghasilkan output baik jika diberikan pelayanan yang baik.
Contoh : Algoritma kalkulasi nilai
Iterations Errors
1 0.001014100351829362328076440339
2 0.000000007376250992035108851841
3 0.000000000000000000183130608478
Algoritma IRIS
Identical Linear
Functions
Non-Identical Linear Functions
0/1 Reward Functions
Identical Concave Reward Functions
Non-Identical Concave Reward
Functions
Identical Linear Functions
IRIS Task
Mandatory Portions
Optional Portions
ei = Mi + oi
Total Waktu Eksekusi adalah penjumlahan antara waktu Mandatory Portions dan Optional
Portions
(WAJIB)
(Tidak WAJIB)
Tujuan Penjadwalan IRIS : REWARD maksimal, Mandatory portions terkesekusi sebelum deadline
Jadwal dikatakan optimal, jika reward
maksimal untuk semua tugas. (setidaknya
mandatory portions terselesaikan semua)
Algoritma (IRIS1)
1. Jadwalkan seluruh set tugas dengan algoritma EDF (Namai hasilnya dengan ST), Jika ST feasible, STOP. Jika tidak, lanjut ke poin 2
2. Jalankan EDF untuk mandatory portions saja (Namai Hasilnya dengan SM). Jika tidak feasible, STOP (Stuck). Jika feasible, lanjut ke Poin 3
3. Sesuaikan dengan jadwal ST dengan SM agar dapat menghasilkan reward. Namai hasil final dengan ST1
Reward Functions
Eksekusi T4 tidak cukup
EDF pada Mandatory
Waktu Eksekusi cukup
Penyesuaian SM dan ST0 menghasilkan waktu eksekusi yang cukup
Non-identical Linear Functions
𝑅𝑖={ 0𝑤𝑖 (𝑥−𝑚𝑖)𝑤𝑖𝑚𝑖
If x ≤ mi
If mi ≤ x ≤ mi + oi
If x > mi + oi
• Setiap tugas memiliki bobot (weight) wi yang terasosiasi dengan tiap tugas.
• Prosedur untuk penjadwalan tugas yang optimal: Jalankan tugas dengan bobot terbesar dan mandatory portions tetap harus tereksekusi semua, agar tercapai rewards. (IRIS 2)
0/1 Reward Functions
Artinya, kita tidak mendapatkan reward apapun jika mengeksekusi optional portion hanya sebagian. Jika kita jalankan optional portion sampai selesai, kita akan dapatkan sebuah reward
𝑅𝑖 (𝑥 )={01 If x < mi + oi
If x ≥ mi + oi
Identical Concave Reward Functions Pada bagian ini, kita anggap release
time untuk semua tugas adalah sama.
𝑅𝑖 (𝑥 )={ 𝑓 (𝑥 )𝑓 (𝑜𝑖)
If 0 ≤ x < Oi
If x ≥ Oi
Contoh :
Misalkan kita memiliki 5 tugas aperiodik dengan deadline D1 = 2, D2 = 6, D3 = 8, D4 = 10, D5 = 20; tiap tugas memiliki waktu eksekusi 8.
Interval [10, 20]. Hanya tugas T5 yang bisa dijadwalkan pada interval tersebut, dan kita berikan semua waktu eksekusi untuknya sebesar 8. Maka alokasi waktu eksekusinya adalah :
T1 T2 T3 T4 T5
0 0 0 0 8
Interval [8, 10]. Tugas T4, T5 dapat dijadwalkan dalam interval tersebut, tetapi kita sudah memberikan waktu eksekusi penuh bagi T5, sehingga kita tidak mempertimbangkan lagi tugas T5 tersebut. Kita berikan interval ini sepenuhnya untuk T4. Alokasi waktu eksekusi menjadi :
T1 T2 T3 T4 T5
0 0 0 2 8
Interval [6, 8]. Tugas T3, T4, T5 dapat dijadwalkan dalam interval tersebut, sama seperti sebelumnya, kita tidak mempertimbangkan lagi tugas T5. Kita berikan 2 unit waktu untuk T3 agar sama dengan T4. Alokasi waktu eksekusi menjadi :
T1 T2 T3 T4 T5
0 0 2 2 8
Interval [2, 6]. Tugas T2, T3, T4, T5 dapat dijadwalkan dalam interval tersebut, berikan 2 unit kepada T2 sehingga T2, T3, T4 masing-masing dialokasikan 2 unit waktu. Hal ini menyisakan 2 unit waktu lagi dan kita bagi rata ke semua tugas yang ada pada interval tersebut. Alokasi waktu eksekusi menjadi :
T1 T2 T3 T4 T5
0 2.66 2.66
2.66 8
Akhirnya pada interval [0, 2]. Disini jelas kita alokasikan 2 unit bagi T1, maka alokasi waktu eksekusi akhirnya adalah :
T1 T2 T3 T4 T5
2 2.66 2.66
2.66 8
Non- Identical Concave Reward Functions
Sebelumnya, kita mengasumsikan semua tugas memiliki release time yang sama. Kali ini tidak, sehingga kita dapat asumsikan reward functions-nya :
𝑅𝑖 (𝑥 )={ 𝑓 𝑖 (𝑥)𝑓 𝑖(𝑜𝑖)
If 0 ≤ x ≤ Oi
If x ≥ Oi