Anda di halaman 1dari 17

CHAPTER 3 TASK

ASSIGNMENT AND Irvan hilmi dan muc.rizky


SCHEDULING raharja

SISTEM WAKTU NYATA


Table of contents

About us Our services


01 Task Assignment 02 Utilization-Balancing
Algorithm

Our clients Our team


03 04
A Bin-Packing
A Next-Fit Algorithm Assignment Algorithm
for RM Scheduling for EDF
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
3.4.1 Utilization-Balancing Algorithm

02
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 Bin-Packing A Myopic Offline


Assignment Scheduling (MOS)
Algorithm for EDF Algorithm
A Next-Fit Algorithm
for RM Scheduling Misal kita mempunyai satu kelompok MOS berjalan dengan membangun pohon
task periodik yang independen dan tidak jadwal (schedule tree). Setiap node
Ada pemanfaatan dengan dasar dapat didahului untuk dimasukkan ke melambangkan sebuah tugas dan penjadwalan
pengalokasian heuristik yang dimaksudkan multiprosesor yang mengandung dari bagian task. Akar dari pohon ini adalah
secara khusus untuk digunakan dalam prosesor yang mirip. Deadline tasknya jadwal kosong. Setiap anak node mengandung
hubungan dengan algoritma penjadwalan setara dengan periodenya. Selain waktu jadwal dari node orangtuanya, diperpanjang satu
RM. Kita alokasikan task satu per satu ke task. Daun mengandung jadwal (feasible atau
prosesor, task tidak membutuhkan
kelas prosesor yang sesuai sampai semua task infeasible) dari keseluruhan task.
telah di jadwalkan, menambahkan prosesor
sumber daya lain.
ke kelas jika diperlukan untuk penjadwalan
RM
A Myopic Offline Scheduling (MOS) Algorithm
Algoritmanya secara informal
dideskripsikan sebagai berkut. Kita
mulai dari node akar, yang
pohon jadwal untuk sebuah merupakan jadwal kosong; jika tidak
nt-task sistem ini berupa ada task yang sudah dijadwalkan.
sebuah nt+1 level (termasuk Selanjutnya kita membangun pohon
dari titik tersebut dengan
akarnya). Level i dari pohon mengembangkan node.
itu merupakan representasi
1. Task yang dipilih untuk
skedul yang termasuk eksak i
diperpanjang sebuah jadwal
suatu tugas. tidak selesai adalah yang
meminimalkan fungsi H. H bisa
membuat pohon ini secara utuh sama saja
berupa fungsi berikut:
dengan membuat sistem pencacahan secara • Waktu eksekusi
lengkap untuk segala kemungkinan
• Deadline
alokasi. Terkecuali untuk sistem terkecil,
oleh karena itu tidak praktis untuk • Waktu mulai tercepat

menghasilkan pohon lengkap; sebaliknya, • Laxity (waktu terlama


kami mencoba untuk mendapatkan jadwal mulai dan dijamin
menemui deadline)
yang layak secepat yang kami bisa.
• 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.
The Buddy Strategy Assignment with
Buddy Strategy menyerang masalah Precedence Mode Changes
yang sama dengan algoritma FAB.
Task soft realtime sampai di berbagai Conditions
prosesor dalam multiprosesor dan, Pada kondisi ini, saat akan
jika sebuah prosesor tunggal Beban kerja dari komputer real time dapat
melakukan tugas sesegera mungkin
kelebihan beban, dia mencoba untuk saat s1 selesai dan sebelum s2 di berubah setiap waktu, karena perubahan fase misi
mengeluarkan beberapa task ke mulai, pada tas ini dilakukan secara atau sebagai kegagalan prosesor mendikte. Tugas
prosesor yang tidak begitu terisi. paralel, dan secara bersamaan, akan
Perbedaan dengan algoritma FAB tetapi terdapat LFT dan deadline, dapat ditambahkan atau dihapus dari jadwal, atau
dalam cara dimana prosesor target akan ada nilai LFT untuk mungkin memiliki periode atau waktu eksekusi
ditemukan memberikan waktu paling lama
berubah.
untuk membereskan satu tugas, dan
deadline untuk menahan tugas
selesai atau tidak selesai. 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.
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.
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
Fault-Tolerant Scheduling
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
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

Kami berasumsi adanya kesalahan algoritma non toleran dijalankan, prosesor menjalankan ghost pada waktu yang
untuk alokasi dan penjadwalan. Algoritma ini akan disebut ditentukan oleh jadwal ghost dan menggeser salinan utama
sebagai sebuah sub rutin dengan prosedur penjadwalan
fault tolerant. Kami berasumsi bahwa prosedur alokasi / untuk membuat ruang bagi task ghost. Contoh
penjadwalan terdiri dari bagian tugas Na dan penjadwalan 3.45 menggambarkan hal ini.
EDF Ns bagian. Sistem ini dimaksudkan untuk
menjalankan nc (i) salinan dari setiap versi (atau iterasi) Contoh 3.46. Gambar 3.46 menunjukkan contoh
dari tugas T1, dan seharusnya mentoleransi sampai nsust dari sepasang ghost dan jadwal utama, bersama-sama dengan
kegagalan prosesor. Jadwal fault tolerant harus memastikan
bahwa, setelah beberapa waktu untuk bereaksi terhadap jadwal yang benar-benar melaksanakan prosesor jika ghost
kegagalan (s), sistem masih dapat menjalankan nc (i) diaktifkan. Tentu saja, pasangan ini jadwal ghost dan utama
eksemplar dari setiap versi dari tugas saya, meskipun
kegagalan hingga nsust prosesor. Kegagalan ini prosesor adalah hanya layak jika, meskipun ghost yang sedang
dapat terjadi dalam urutan apapun. 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. G 3
b. Salinan primer mungkin tumpang tindih hantu-hantu ambar .46
dalam jadwal hanya jika ada alack waktu yang cukup
dalam jadwal untuk terus memenuhi tenggat waktu dari Jadwal 3,46 misalnya:
semua salinan hantu primer dan diaktifkan pada (a) jadwal ghost; (b) jadwal primer; (c)
prosesor. jadwal jika G1 diaktifkan.
Ga 3
mbar .47
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.

Anda mungkin juga menyukai