2. About us
Our clients
Our services
Our team
01 Task Assignment 02 Utilization-Balancing
Algorithm
03 A Next-Fit Algorithm
for RM Scheduling
04 A Bin-Packing
Assignment Algorithm
for EDF
Table of contents
3. 3.4 Task Assignment
01
Penugasan optimal dari task ke prosesor adalah, hampir dalam semua kasus prakteknya,
masalah NP-complete. Maka kita melakukan secara heuristik. Heuristik ini tidak dapat
menjamin bahwa sebuah pengalokasian akan ditemukan yang memenuhi semua task dapat
dijadwalkan. Yang dapat kita harapkan hanya mengalokasikan task tersebut, memeriksa
kemungkinan dikerjakannya, dan, jika pengalokasian tidak dapat dilaksanakan, mengubah
pengalokasian untuk mengubah jadwal layaknya.
4. Heuristik biasanya mengalokasikan sesuai dengan suatu kriteria sederhana dan
berharap bahwa feasibilitynya akan mengikuti sebagai efek samping dari
kriteria tersebut. Ketika kita memeriksa pengalokasian untuk feasibility, kita
harus menghitung biaya/nilai komunikasinya. Misal, T1 > T2. Task T2 tidak bisa
mulai sebelum menerima output T2, waktu untuk itu adalah waktu
komunikasimya. Jika T1 dan T2 dialokasikan ke prosesor yang sama maka
waktu komunikasinya 0. Jika berbeda maka waktunya positif dan harus
dimasukkan saat memeriksa feasibility. Terkadang alogritma pengalokasian
menggunakan biaya komunikasi sebagai bagian kriteria pengalokasiannya.
Meet us
5. 02
3.4.1 Utilization-Balancing Algorithm
Algoritma ini bermaksud untuk menyeimbangkan pemanfaatan prosesor, dan
berjalan dengan mengalokasikan task satu per satu dan memilih yang paling sedikit
memanfaatkan prosesor. Algoritma ini memasukkan kemungkinan kita mungkin
ingin menjalankan beberapa penyalinan dari task yang sama secara serentak untuk
toleransi kesalahan
6. Will be discussed
A Next-Fit Algorithm
for RM Scheduling
Ada pemanfaatan dengan dasar
pengalokasian heuristik yang dimaksudkan
secara khusus untuk digunakan dalam
hubungan dengan algoritma penjadwalan
RM. Kita alokasikan task satu per satu ke
kelas prosesor yang sesuai sampai semua task
telah di jadwalkan, menambahkan prosesor
ke kelas jika diperlukan untuk penjadwalan
RM
Misal kita mempunyai satu kelompok
task periodik yang independen dan tidak
dapat didahului untuk dimasukkan ke
multiprosesor yang mengandung
prosesor yang mirip. Deadline tasknya
setara dengan periodenya. Selain waktu
prosesor, task tidak membutuhkan
sumber daya lain.
MOS berjalan dengan membangun pohon jadwal
(schedule tree). Setiap node melambangkan
sebuah tugas dan penjadwalan dari bagian task.
Akar dari pohon ini adalah jadwal kosong. Setiap
anak node mengandung jadwal dari node
orangtuanya, diperpanjang satu task. Daun
mengandung jadwal (feasible atau infeasible)
dari keseluruhan task.
A Bin-Packing
Assignment
Algorithm for EDF
A Myopic Offline
Scheduling (MOS)
Algorithm
7. A Myopic Offline Scheduling (MOS) Algorithm
Algoritmanya secara informal
dideskripsikan sebagai berkut. Kita
mulai dari node akar, yang merupakan
jadwal kosong; jika tidak ada task
yang sudah dijadwalkan. Selanjutnya
kita membangun pohon dari titik
tersebut dengan mengembangkan
node.
pohon jadwal untuk sebuah
nt-task sistem ini berupa
sebuah nt+1 level (termasuk
akarnya). Level i dari pohon
itu merupakan representasi
skedul yang termasuk eksak i
suatu tugas.
membuat pohon ini secara utuh sama saja
dengan membuat sistem pencacahan secara
lengkap untuk segala kemungkinan alokasi.
Terkecuali untuk sistem terkecil, oleh
karena itu tidak praktis untuk menghasilkan
pohon lengkap; sebaliknya, kami mencoba
untuk mendapatkan jadwal yang layak
secepat yang kami bisa.
1. Task yang dipilih untuk
diperpanjang sebuah jadwal
tidak selesai adalah yang
meminimalkan fungsi H. H bisa
berupa fungsi berikut:
• Waktu eksekusi
• Deadline
• Waktu mulai tercepat
• Laxity (waktu terlama
mulai dan dijamin
menemui deadline)
• Atau semua
8. 03
Focused Addressing and Bidding (FAB) Algorithm
Algoritma FAB cukup sederhana untuk menjadi prosedur online dan
digunakan untuk sekumpulan task yang mengandung task waktu nyata kritis dan non-
kritis. Task kritis harus disediakan waktu yang cukup agar dapat melanjutkan
eksekusi dengan
sukses, meskipun mereka membutuhkan waktu eksekusi terburuknya. Task
nonkritis dapat dijalankan atau tidak, bergantung pada kemampuan sistem untuk
melakukan.
9. Sistem model pokok seperti berikut. Task tidak kritis sampai di prosesor individual dalam sistem multiprosesor.
Jika task tidak kritis sampai pada prosesor pi, prosesor tersebut memeriksa apakah dia memiliki sumber daya dan waktu
untuk mengeksekusinya pada deadlinenya tanpa terlewat deadline manapun dari task kritis atau task tidak kritis yang
dijalankan sebelumnya. Jika iya, pi menjamin keberhasilan eksekusi task tersebut, menambahkan task tersebut ke dalam
daftar task yang akan dieksekusi, dan menyediakan waktu dijadwalnya untuk mengeksekusi task tersebut.
Karena ini task tidak kritis, penjaminan dapat berdasar pada waktu yang diharapkan daripada waktu terburuk.
Dengan kata lain, kita dapat terima bahwa beberapa task tidak kritis mungkin menjadi tidak dieksekusi pada waktu yang
tepat karena waktu jalan sesungguhnya lebih besar dari yang diantisipasi.
Algoritma FAB digunakan ketika pi menentukan bahwa dia tidak punya sumber daya atau waktu eksekusi task.
Dalam kasus tersebut dia mengirim task tersebut ke prosesor lain dalam sistem.
Algoritma paling sederhana untuk mengatasi masalah load-sharing saat memindahkan task dari satu prosesor ke
prosesor lain adalah algoritma random- threshold. Dalam algoritma ini, sebuah prosesor yang menemukan bebannya
melebihi batas hanya mengirim task yang datang ke prosesor lain, dipilih secara acak.
10. Pada kondisi ini, saat akan
melakukan tugas sesegera mungkin
saat s1 selesai dan sebelum s2 di
mulai, pada tas ini dilakukan secara
paralel, dan secara bersamaan, akan
tetapi terdapat LFT dan deadline,
akan ada nilai LFT untuk
memberikan waktu paling lama
untuk membereskan satu tugas, dan
deadline untuk menahan tugas selesai
atau tidak selesai.
Buddy Strategy menyerang masalah
yang sama dengan algoritma FAB.
Task soft realtime sampai di berbagai
prosesor dalam multiprosesor dan,
jika sebuah prosesor tunggal
kelebihan beban, dia mencoba untuk
mengeluarkan beberapa task ke
prosesor yang tidak begitu terisi.
Perbedaan dengan algoritma FAB
dalam cara dimana prosesor target
ditemukan
Beban kerja dari komputer real time dapat
berubah setiap waktu, karena perubahan fase misi
atau sebagai kegagalan prosesor mendikte. Tugas
dapat ditambahkan atau dihapus dari jadwal, atau
mungkin memiliki periode atau waktu eksekusi
berubah.
Pada bagian ini, kita melihat bagaimana
perubahan modus tersebut dapat ditampung di bawah
algoritma penjadwalan rate-monotonic. Tujuan
adalah untuk memungkinkan sistem untuk
menggabungkan beberapa tugas baru (atau
menghapus beberapa yang saat ini) dan masih
memenuhi semua tenggat waktu keras.
Assignment with
Precedence
Conditions
The Buddy Strategy
Mode Changes
11. BAGIAN RM SCHEDUTABLE
Ketika bagian penting yang tidak terlibat, perubahan modus cukup sederhana untuk
diterapkan. Menghapus tugas (dengan asumsi outputnya tidak diperlukan oleh tugas lain) jelas
tidak mempengaruhi schedulability tugas lainnya. Artinya, jika satu set tugas S = {T1, , Tn}
adalah RM schedulable, S - {} T1 juga RM schedulable. Ini membawa pada pertanyaan
tentang kapan waktu yang dialokasikan untuk tugas dihapus (s) dapat direklamasi untuk
digunakan oleh tugas-tugas lainnya. Agar schedulability untuk terus dipenuhi, waktu hanya
dapat direklamasi setelah akhir periode iterasi terakhir dari tugas dihapus.
Jika priority ceiling protocol digunakan untuk menangani akses ke sumber daya eksklusif,
priority ceiling dari semaphore diturunkan atau dinaikkan sesuai ketika tugas-tugas mendasar
yang menimbulkan prioritas ini akan dihapus atau ditambahkan
• Set tugas yang dihasilkan adalah RM schedulable, dan
Saat menambahkan tugas akan mengakibatkan peningkatan priority ceiling
dari setiap Semaphore, ceiling tersebut yang diangkat sebelum tugas
ditambahkan
12. Jika priority ceiling dari semaphore perlu diubah, aturan adalah:
Jika semaphore dibuka, ceiling berubah segera tindakan terpisahkan.
Jika ceiling yang akan diangkat dan semaphore terkunci, kita menunggu
sampai itu dibuka sebelum menaikkannya.
Jika, sebagai hasil dari beberapa tugas yang dihapus, penurunan priority
ceiling, hal ini terjadi pada saat penghapusan.
Mode change protocol memiliki sifat yang sama sebagai priority ceiling protocol.
Secara khusus, di bawah mode change protocol, tidak ada kebuntuan, atau dapat
tugas akan diblokir selama lebih dari durasi bagian kritis tunggal terluar. Bukti-
bukti yang serupa dengan yang diturunkan sebelumnya untuk priority ceiling
protocol, dan dihilangkan.
13. Fault-Tolerant Scheduling
Keuntungan dari penjadwalan statis adalah bahwa lebih banyak waktu bisa
dihabiskan dalam mengembangkan jadwal yang lebih baik. Namun, jadwal statis harus
memiliki kemampuan untuk menanggapi kegagalan hardware. Mereka melakukan ini dengan
memiliki kapasitas cadangan yang memadai dan cukup cepat respon kegagalan mekanisme
untuk terus memenuhi tenggat waktu tugas penting meskipun sejumlah kegagalan tertentu.
Pendekatan untuk kesalahan-toleran penjadwalan yang kita anggap di sini
menggunakan salinan ghost tambahan tugas, yang tertanam ke jadwal dan diaktifkan setiap
kali membawa satu prosesor primer yang sesua, salinan ghost sebelumnya diaktifkan akan
gagal.
Salinan ghost ini tidak perlu identik dengan salinan primer;
mereka mungkin versi alternatif yang mengambil sedikit waktu untuk menjalankan
dan memberikan hasil kualitas yang lebih buruk tapi masih diterima daripada primari.
Kami akan menganggap satu set tugas-tugas penting periodik. Beberapa salinan dari
setiap versi tugas diasumsikan akan dieksekusi secara paralel, dengan suara atau
mekanisme kesalahan lainnya masking. Ketika prosesor gagal, ada dua jenis tugas
dipengaruhi oleh kegagalan itu. Jenisnya adalah tugas yang sedang berjalan pada saat
kegagalan, dan yang kedua terdiri dari orang-orang yang telah dijalankan oleh
prosesor yang di masa depan. Penggunaan pemulihan forward error dianggap cukup
untuk mengkompensasi hilangnya tipe tugas pertama. Penjadwalan algoritma
toleransi kesalahan yang kita jelaskan di sini dimaksudkan untuk
14. Kami berasumsi adanya kesalahan algoritma non toleran
untuk alokasi dan penjadwalan. Algoritma ini akan disebut
sebagai sebuah sub rutin dengan prosedur penjadwalan
fault tolerant. Kami berasumsi bahwa prosedur alokasi /
penjadwalan terdiri dari bagian tugas Na dan penjadwalan
EDF Ns bagian. Sistem ini dimaksudkan untuk
menjalankan nc (i) salinan dari setiap versi (atau iterasi)
dari tugas T1, dan seharusnya mentoleransi sampai nsust
kegagalan prosesor. Jadwal fault tolerant harus
memastikan bahwa, setelah beberapa waktu untuk bereaksi
terhadap kegagalan (s), sistem masih dapat menjalankan nc
(i) eksemplar dari setiap versi dari tugas saya, meskipun
kegagalan hingga nsust prosesor. Kegagalan ini prosesor
dapat terjadi dalam urutan apapun.
Output dari algoritma penjadwalan fault tolerant
adalah jadwal ghost, plus satu dari jadwal primer lebih untuk
setiap prosesor. Jika satu atau lebih dari ghost akan
dijalankan, prosesor menjalankan ghost pada waktu yang
ditentukan oleh jadwal ghost dan menggeser salinan utama
untuk membuat ruang bagi task ghost. Contoh
3.45 menggambarkan hal ini.
Contoh 3.46. Gambar 3.46 menunjukkan contoh
dari sepasang ghost dan jadwal utama, bersama-sama dengan
jadwal yang benar-benar melaksanakan prosesor jika ghost
diaktifkan. Tentu saja, pasangan ini jadwal ghost dan utama
adalah hanya layak jika, meskipun ghost yang sedang
diaktifkan, semua tenggat waktu yang bertemu.
15. JADWAL GHOST DAN JADWAL PRIMER KATA UNTUK
MEMBENTUK SEPASANG LAYAK JIKA SEMUA TENGGAT
WAKTU TERUS DIPENUHI BAHKAN JIKA TUGAS UTAMA
ADALAH BERGESER TEPAT
DI WAKTU YANG DIBUTUHKAN UNTUK MENJALANKAN
GHOST. GHOST MUNGKIN TUMPANG TINDIH DALAM JADWAL
GHOST DARI SEBUAH PROSESOR. JIKA DUA TUMPANG TINDIH
GHOST, HANYA SATU MEREKA DAPAT DIAKTIFKAN. SEBAGAI
CONTOH ANGKA 3,47, KITA TIDAK BISA MENGAKTIFKAN
KEDUA G1 DAN G2 ATAU KEDUANYA G2 G3 DAN. KITA BISA,
BAGAIMANAPUN, AKTIFKAN G1 DAN G3. ADA DUA KONDISI
YANG HARUS MEMENUHI GHOST.
16. Tumpang Tindih Ghost.
C1. Setiap versi harus memiliki salinan hantu jadwal
pada prosesor yang berbeda nsust. Dua atau lebih salinan (primer
atau hantu) dari versi yang sama tidak boleh jadwal pada prosesor
yang sama.
C2. Ghost adalah bersyarat transparan. Artinya, mereka
harus memenuhi dua sifat berikut:
a. Dua salinan ghost mungkin tumpang tindih dalam
jadwal dari prosesor jika tidak ada prosesor lain
membawa salinan (baik primer atau ghost) dari kedua
tugas.
b. Salinan primer mungkin tumpang tindih hantu-hantu
dalam jadwal hanya jika ada alack waktu yang cukup
dalam jadwal untuk terus memenuhi tenggat waktu dari
semua salinan hantu primer dan diaktifkan pada
prosesor.
G
ambar
3
.46
Jadwal 3,46 misalnya:
(a) jadwal ghost; (b) jadwal primer; (c)
jadwal jika G1 diaktifkan.
17. Teorema 3.18. Kondisi C1 dan C2 adalah kondisi yang perlu dan cukup untuk sampai nsust
kegagalan prosesor untuk ditoleransi. Teorema 3.18 menyediakan kondisi bahwa algoritma
penjadwalan fault tolerant harus mengikuti dalam memproduksi ghost dan jadwal primer.
Mungkin algoritma penjadwalan yang paling sederhana kesalahan toleransi FA1,
ditunjukkan pada Gambar 3.48. Dalam algoritma FA1, salinan primer akan selalu mengeksekusi di
posisi yang ditentukan dalam jadwal S.
Ga
mbar
3
.47