SlideShare a Scribd company logo
1 of 17
CHAPTER 3 TASK
ASSIGNMENT AND
SCHEDULING
SISTEM WAKTU NYATA
Irvan hilmi dan muc.rizky
raharja
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.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.
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
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
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
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
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.
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.
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
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
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.
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
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.
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.
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.
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

More Related Content

Similar to Sistem waktu nyata komputer projek .pptx

Makalah sistem operasi
Makalah sistem operasiMakalah sistem operasi
Makalah sistem operasi
novita dewi
 
Slide4 manajemen memori _Bu Indra
Slide4 manajemen memori _Bu IndraSlide4 manajemen memori _Bu Indra
Slide4 manajemen memori _Bu Indra
Hz Tena
 
Buku Load Oriented Order Release Sebagai Pengantar PPC (Production Planning a...
Buku Load Oriented Order Release Sebagai Pengantar PPC (Production Planning a...Buku Load Oriented Order Release Sebagai Pengantar PPC (Production Planning a...
Buku Load Oriented Order Release Sebagai Pengantar PPC (Production Planning a...
Ir. Duddy Arisandi, ST, MT
 
Pertemuan 3.1. penjadwalan proses
Pertemuan 3.1. penjadwalan prosesPertemuan 3.1. penjadwalan proses
Pertemuan 3.1. penjadwalan proses
Setyady Peace
 

Similar to Sistem waktu nyata komputer projek .pptx (20)

Task assignment and scheduling (Real-time system)
Task assignment and scheduling (Real-time system)Task assignment and scheduling (Real-time system)
Task assignment and scheduling (Real-time system)
 
Pertemuan 7
Pertemuan 7Pertemuan 7
Pertemuan 7
 
s
ss
s
 
Multiprocessor scheduling
Multiprocessor schedulingMultiprocessor scheduling
Multiprocessor scheduling
 
Proses Penjadwalan Pada Sistem Operasi - Copy.pptx
Proses Penjadwalan Pada Sistem Operasi - Copy.pptxProses Penjadwalan Pada Sistem Operasi - Copy.pptx
Proses Penjadwalan Pada Sistem Operasi - Copy.pptx
 
makalahsistemterdistribusi-STMIK Palangka Raya 2021.pdf
makalahsistemterdistribusi-STMIK Palangka Raya 2021.pdfmakalahsistemterdistribusi-STMIK Palangka Raya 2021.pdf
makalahsistemterdistribusi-STMIK Palangka Raya 2021.pdf
 
Makalah sistem operasi
Makalah sistem operasiMakalah sistem operasi
Makalah sistem operasi
 
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdfPenjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
 
Slide4 manajemen memori _Bu Indra
Slide4 manajemen memori _Bu IndraSlide4 manajemen memori _Bu Indra
Slide4 manajemen memori _Bu Indra
 
Penjadualan CPU
Penjadualan CPUPenjadualan CPU
Penjadualan CPU
 
Bab3
Bab3Bab3
Bab3
 
Buku Load Oriented Order Release Sebagai Pengantar PPC (Production Planning a...
Buku Load Oriented Order Release Sebagai Pengantar PPC (Production Planning a...Buku Load Oriented Order Release Sebagai Pengantar PPC (Production Planning a...
Buku Load Oriented Order Release Sebagai Pengantar PPC (Production Planning a...
 
Materi Penjadwalan CPU & Algoritma Penjadwalan CPU
Materi Penjadwalan CPU & Algoritma Penjadwalan CPUMateri Penjadwalan CPU & Algoritma Penjadwalan CPU
Materi Penjadwalan CPU & Algoritma Penjadwalan CPU
 
Tugas kelompok 1 sistem operasi
Tugas kelompok 1 sistem operasiTugas kelompok 1 sistem operasi
Tugas kelompok 1 sistem operasi
 
9_Multithreading.pdf
9_Multithreading.pdf9_Multithreading.pdf
9_Multithreading.pdf
 
9_Multithreading.pdf
9_Multithreading.pdf9_Multithreading.pdf
9_Multithreading.pdf
 
Penjadwalan Proses
Penjadwalan ProsesPenjadwalan Proses
Penjadwalan Proses
 
KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1
KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1
KUNCI JAWABAN Matematika Kelas 11 Halaman 24 Uji Kompetensi 1.2 BAB 1
 
Pertemuan7
Pertemuan7Pertemuan7
Pertemuan7
 
Pertemuan 3.1. penjadwalan proses
Pertemuan 3.1. penjadwalan prosesPertemuan 3.1. penjadwalan proses
Pertemuan 3.1. penjadwalan proses
 

Sistem waktu nyata komputer projek .pptx

  • 1. CHAPTER 3 TASK ASSIGNMENT AND SCHEDULING SISTEM WAKTU NYATA Irvan hilmi dan muc.rizky raharja
  • 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