Saturday, January 24, 2009

Scalable Multi-Tasking using Preemption Thresholds

Ringkasan 1
oleh:
Yuniar wulandari
41508110069


Strategi penjadwalan terdapat dua macam yaitu preemptive dan non preemptive dimana non preemptive adalah jika ada proses masuk maka akan dikerjakan sampai tuntas artinya dia mendapat alokasi waktu sampai waktunya selesai sedangkan preemptive adalah alokasi waktu proses tergantung pada kuota waktu yang disediakan artinya jika ada proses yang mempunyai waktu pengerjaan 10 detik dan batas waktu pengerjaan hanya 1 detik maka setelah memenuhi kuota waktu yang dijadwalkan maka proses tersebut akan time out dan harus masuk kedalam antrian event kembali. Tetapi proses itu jadi tidak efisien jika ada proses yang mempunyai waktu proses 10 detik tetapi jatah waktu proses adalah 9 detik maka kinerja akan buruk jika dengan sisa waktu satu detik proses tersebut akan timeout dan harus antri kembali.


Pada gambar diatas dijelaskan bahwa semua proses dinilisasi dulu kemudian masuk kedalam antrian dan diproses tetapi untuk penjadwalan yang menggunakan preemptive jika waktu penjadwalan sudah habis maka ia akan kembali masuk kedalam tempat tunggu sedangkan untuk non-preemptive akan dikerjakan sampai waktu habis. Untuk itu dibutuhkan penjadwalan yang tetap untuk mengatasi metode penjadwalan diatas dengan menggunkan preemption thresholds tersebut kita bisa menjalankan proses itu tanpa harus kembali kedalam antrian karena didalam preemption terdapat pengeliminasian preemptive atau proses yang tidak terpakai tersebut. Model penjadwalan preemption threshold menggabungkan dan menggolongkan model-model penjadwalan preemptive dan non-preemptive.

Saat sebuah proses mendapatkan CPU, prioritasnya ditinggikan ke preemption thresholdnya. Ketika suatu proses masuk dan disimpan ke dalam antrian, prioritas proses ditetapkan menjadi maksimum dari prioritas proses saat ini. Ketika proses diambil untuk dikerjakan, prioritasnya ditetapkan menjadi preemption threshold. Proses yang bersifat preemptif tidak akan mengalami interrupt atau terjadi time out, akan tetapi diproses hingga tuntas, begitu juga dengan proses non preemptif. Tetapi khusus untuk proses yang memiliki integritas tinggi, proses itu yang kemudian akan didahulukan. Semua prioritas itu diatur sesuai dengan preemption thresholdnya.

Keuntungan dalam penggunaan preemption threshold adalah dalam model penjadwalan ini, tiap task memiliki preemption threshold untuk menjaga agar semua proses berjalan sampai akhir eksekusi. Jumlah task yang lebih sedikit dalam implementasi menghasilkan penghematan memory berkaitan dengan alokasi tempat stack yang dibutuhkan untuk tiap task.

---------------------------------------------------------------------------------------------------------------

Ringkasan 2

oleh: Arif Senoaji
41508110183

Terdapat dua macam penjadwalan yaitu preemptive dan non-preemptive dimana non-preemptive adalah jika ada proses masuk maka akan dikerjakan sampai tuntas artinya proses mendapat alokasi waktu sampai waktunya selesai sedangkan preemptive adalah alokasi waktu proses tergantung pada kuota waktu yang disediakan artinya jika ada proses yang mempunyai waktu pengerjaan 5 detik dan batas waktu pengerjaan hanya 1 detik maka setelah memenuhi kuota waktu yang dijadwalkan maka proses tersebut akan time out dan harus masuk kedalam antrian event kembali.

Preemptive Multitasking

Preemptive Multitasking adalah suatu arsitektur untuk merancang dan mengimplementasikan embedded real-time software yang umum digunakan, yang disupport secara virtual oleh semua real-time operating system.

The Scheduling model berdasarkan pada :
  • Recurring periodic tasks, periodic task berulang secara periodik dengan antar waktu kedatangan yang tetap (sesuai dengan periode-nya), yang dipicu oleh periodic timer.
  • Sporadic tasks, dipicu oleh suatu peristiwa aperiodic(misal, interupt), dan memiliki minimum antar waktu kedatangan.
Preemption Threshold Scheduling Model

The preemption threshold scheduling model adalah perluasan dari fixed priority preemptive scheduling model. Dalam model penjadwalan ini, tiap task memiliki preemption threshold, sebagai tambahan pada prioritas penjadwalannya. Intisari/pokok dari hasilnya adalah sebuah dual priority system. Tiap task memiliki prioritas regular, yang mana prioritas di-antrikan ketika dilepas. Sekali sebuah task mendapatkan CPU, prioritas tasknya ditinggikan ke preemption threshold-nya. Preemption threshold menjaga prioritas tersebut sampai akhir eksekusinya. Keuntungan model penjadwalan Preemption Threshold :
  1. Penggabungan penjadwalan preemptive dan non-preemptive. Dengan memilih nilai preemption threshold yang tepat, kita berpotensi mendapat keuntungan dari model penjadwalan preemptive dan non-preemptive.
  2. Penugasan terhadap atribut-atribut penjadwalan yang memungkinkan. Masalah menemukan kemungkinan atribut-atribut penjadwalan lebih berat dengan penjadwalan preemption threshold berkaitan dengan atribut ekstra(tiap task memiliki prioritas dan preemption threshold) dan hubungan non linear antara atribut-atribut dan efek pada response time
  3. Mengurangi preemptability yang tidak diperlukan Algoritma tersebut bekerja dengan mempertimbangkan satu task pada satu waktu, mulai dari prioritas terbesar sampai prioritas terkecil. Untuk tiap task yang dipertimbangkan, kami memberikan nilai preeption threshold tertinggi yang akan menjaga kelompok task dapat dijadwalkan.
-------------------------------------------------------------------------------------------------------------------------------------------------------------

Ringkasan 3

oleh: Retno Siti Wulandari
41508110001

Sistem penjadwalan mempunyai 2 sifat yaitu preemptif dan non preemptif. Preemptif ialah suatu penjadwalan yang mempunyai alokasi waktu berdasarkan time slide atau kuota waktu yang disediakan, contohnya jika alokasi waktu 10 menit sedangkan kuota waktu per satu detik saja, apabila sudah satu detik maka proses akan time out dan akan masuk ke dalam antrian menunggu jatah waktu proses selanjutnya. Sedangkan non preemptif, ketika proses masuk akan langsung dikerjakan serta mendapat alokasi prosesor hingga tuntas.

Sistem real-time digunakan ketika ada persyaratan waktu yang ketat pada prosesor atau flow dari data, juga digunakan sebagai alat kontrol pada aplikasi yang terpisah. Dengan kata lain, sebuah sistem real-time tidak hanya perlu untuk menjalankan software melalui proses dengan benar, tapi juga perlu untuk menjalankannya dalam waktu yang tepat, kalau tidak sistem akan gagal. Sistem ini mempersyaratkan bahwa komputasi yang dihasilkan benar tapi juga harus sesuai dengan waktu yang dikehendaki. Oleh karena itulah algoritma penjadwalan yang tradisional harus dimodifikasi sehingga dapat memenuhi persyaratan deadline yang diminta. Contohnya adalah frame video, yang mempersyaratkan pengirimannya dalam batas waktu tertentu, misalnya 30 frame/detik. Untuk dapat memenuhi permintaan ini, dibutuhkan perubahan yang cukup signifikan pada struktur sistem operasi di memori, data dan juga manajemen jaringan.

Algoritma penjadwalan berdasarkan prioritas dan preemptif mampu menjalankan proses berdasarkan tingkat kepentingannya, dimana proses yang sedang berjalan akan dipreemptifkan apabila sebuah proses berprioritas tinggi siap untuk dijalankan. Oleh karena itulah algoritma ini dibutuhkan, mengingat fitur utama yang paling dibutuhkan oleh sistem real-time adalah mampu merespon proses yang real time secepat proses membutuhkan CPU.Akan tetapi, algoritma ini tidak mampu mendukung sistem real-time kompleks, karena kedepannya sistem real-time kompleks harus memiliki jaminan bahwa task real time akan dilayani sesuai dengan persyaratan deadline-nya. Pernyataan tentang jumlah waktu yang dibutuhkan untuk penyelesaian proses, di-submit bersamaan dengan proses itu sendiri. Kemudian penjadwal akan memberikan ijin bagi proses tersebut, memberikan jaminan bahwa proses tersebut dapat diselesaikan tepat waktu, dan apabila tidak memungkinkan untuk diselesaikan tepat waktu, maka akan ditolak. Sistem operasi jika hanya mengacu pada preemptif saja akan kacau karena mungkin saja pada kasus tertentu ada proses yang tidak boleh dipotong-potong dengan integritas waktu yang cukup tinggi. Oleh karena itu, sistem real-time kompleks disusun dari software yang bertujuan berjalan pada hardware yang khusus digunakan bagi proses yang kritis dan membutuhkan fungsionalitas penuh dari komputer modern dan sistem operasi.

Untuk mengatasi hal ini harus ada teknik untuk menganulir sifat preemptif tadi. Jadi bila ada proses datang dengan prioritas khusus, maka proses preemptif yang sedang berjalan harus pindah dan mendahulukan proses non preemptif tadi. Untuk itu dilakukan metode pendekatan dengan mengkombinasikan preemptif dan non preemptif, yang disebut dengan preemption threshold. Preemption threshold ini merupakan perluasan dari algoritma penjadwalan di atas. Dalam model penjadwalan ini, tiap task memiliki preemption threshold untuk menjaga agar semua proses berjalan sampai akhir eksekusi. Saat proses masuk, proses itu akan diidentifikasi terlebih dahulu apakah bersifat preemptif atau non preemptif. Tiap proses memiliki prioritas regular, yang mana prioritas diantrikan ketika dilepas. Saat sebuah proses mendapatkan CPU, prioritasnya ditinggikan ke preemption thresholdnya. Ketika suatu proses masuk dan disimpan ke dalam antrian, prioritas proses ditetapkan menjadi maksimum dari prioritas proses saat ini. Ketika proses diambil untuk dikerjakan, prioritasnya ditetapkan menjadi preemption threshold. Proses yang bersifat preemptif tidak akan mengalami interrupt atau terjadi time out, akan tetapi diproses hingga tuntas, begitu juga dengan proses non preemptif. Tetapi khusus untuk proses yang memiliki integritas tinggi, proses itu yang kemudian akan didahulukan. Semua prioritas itu diatur sesuai dengan preemption thresholdnya.

---------------------------------------------------------------------------------------------------------------------------------------------

Ringkasan 4
oleh: Endah Purnamasari
41508110120

Ada dua macam penjadwalan di dalam multitasking, yaitu preemptive dan non-preemptive. Penjadwalan non-preemptive adalah penjadwalan dimana saat proses masuk, tugas-tugas tersebut dikerjakan sampai tuntas dan mendapat alokasi prosesor sampai seluruh instruksinya selesai dikerjakan. Penjadwalan preemptive adalah penjadwalan dimana suatu proses mendapat alokasi waktu teretntu, dikerjakan sesuai dengan timeslide atau quota waktu yang disediakan.
Misal: proses butuh 15 detik, tapi mendapat quota waktu hanya 5 detik saja. Maka ketika proses tersebut sudah dikerjakan selama 5 detik, akan terjadi time out dulu. Ketika sudah dapat jadwalnya, akan diberi kesempatan lagi untuk melanjutnya prosesnya.


Jika dalam sistem operasi hanya mengacu pada preemptive saja, maka ketika ada proses yang tidak boleh dipotong-potong dan integritasnya sangat tinggi, misal: prosesnya membutuhkan waktu 20 detik, tapi mendapatkan quota waktu 10 detik, maka proses dalam sistem operasi ini akan kacau. Dengan melihat kondisi tersebut, untuk mengatasi sifat preemptive, maka harus ada penanganan di beberapa proses secara non-preemptive.


Atau dalam kondisi lain, di dalam sistem operasi ada suatu proses, dimana ketika proses tersebut masuk, akan ditangani secara eksklusif secara langsung hingga tuntas, kemudian setelah selesai, baru dialihkan ke proses lain. Proses sebelumnya yang sedang berjalan akan interrupt.

Untuk menangani kondisi kedua penjadwalan tersebut, maka dikenalkan penjadwalan penggabungan dari kedua penjadwalan di atas(preemptive dan non-preemptive), yaitu disebut preemption threshold scheduling.

Preemption threshold scheduling adalah penjadwalan yang tiap tasknya memiliki preemption threshold, sebagai tambahan pada prioritas penjadwalannya. Tiap tasknya memiliki prioritas regular, yang mana prioritas diantrikan ketika direlease. Preemption threshold ini menjaga prioritas tersebut sampai akhir eksekusinya.

Preemption threshold ini, akan mengidentifikasi suatu proses apakah akan diperlakukan preemptive atau non-preemptive. Jika, preemptive threshold dari tiap task sama seperti prioritasnya, maka preemption threshold akan mengurangi penjadwalan preemptive murni. Sehingga diterapkan/diperlakukan penjadwalan preemptive. Di sisi lain, jika preemptive threshold dari tiap task memiliki nilai prioritas terbesar, maka proses tersebut akan diperlakukan/diterapkan secara non-preemptive.

No comments: