Dokumen tersebut membahas penjadwalan tugas menggunakan algoritma IRIS dengan berbagai kasus seperti fungsi linier identik dan tidak identik, fungsi reward 0/1, fungsi concave identik dan tidak identik. Algoritma IRIS memprioritaskan eksekusi mandatory portions sebelum deadline dan memaksimalkan reward total.
4. 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
5. Jadwal dikatakan
optimal, jika reward
maksimal untuk semua
tugas. (setidaknya
mandatory portions
terselesaikan semua)
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
6. Eksekusi T4 tidak cukup
EDF pada Mandatory
Waktu Eksekusi cukup
Penyesuaian SM dan ST0
menghasilkan waktu eksekusi yang cukup
7. Non-identical Linear Functions
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)
8. 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
If x < mi + oi
If x ≥ mi + oi
9. 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.
10. 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 :
11. 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
12. 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