MULTIPROCESSOR SCHEDULING
Multiprocessor
membutuhkan penjadualan yang lebih rumit karena mempunyai banyak
kemungkinan yang akan terjadi bila dibandingkan dengan processor
tunggal.
Klasifikasi sistem multiprocessor :
- Loosely Coupled or distributed multiprocessor, or cluster : terdiri dari beberapa sistem yang relatif otonom, setiap prosesor memiliki main memory sendiri dan I/O channels.
- Functionally specialized processor : terdapat master, general-purpose processor dan specialozed processor dikendalikan oleh processor matster.
- Tightly couple multiprocessor : terdiri dari satu set processor yang membagi main memory dan berada di bawah kendali integrasi pada sebuah sistem operasi.
Sebuah cara karakteristik multiprosesor dan menempatkanya dalam sebuah konteks dengan arsitektur lain demi mempertimbangkan granularitas sinkronisasi, atau frekuensi sinkronisasi, antara proses dalam suatu sistem.
Independent Parallelism
Dengan independent parallelism, tidak ada eksplisit sinkronisasi antara proses. Masing-masing mewakili aplikasi, terpisah atau berdiri sendiri. kebiasaan umum yang digunakan dari tipe parallelisme adalah sistem time-sharing.
Coarse and Very Coarse-Grained Parallelism
Secara umum, kumpulan proses konkuren yang perlu berkomunikasi atau menyinkronkan bisa mendapatkan keuntungan dari penggunaan arsitektur multiprosesor. Dalam kasus interaksi yang sangat jarang terjadi pada semua proses, sistem terdistribusi dapat memberikan dukungan yang baik.
Medium-Grained Parallelism
Programmer, secara implisit harus menentukan paralelisme potensial dari aplication. Diperlukan koordinasi dan interaksi antar thread dari sebuah aplikasi yang mengarah pada sinkronisasi medium-grain.
Fine-Grained Parallelism
Merupakan penggunaan yang lebih kompleks dari paralelisme.
Terdapat 4 pendekatan bagaimana menjalankan program-program dalam komputer multiprosesor
- Load sharing : berbagi beban, semua program diantrikan dalam antrian, prosesor yang menganggur akan mengambil antrian terdepan dan menjalankannya.
- Gang schedulling : sekumpulan thread yang saling terkait diantrikan pada sekumpulan prosesor pada saat yang sama, satu thread satu prosesor.
- Dedicated prosesor assignment : pada sebuah program diberikan sejumlah rosesor sebanyak thread yang ada dalam program itu
Dalam pendekatan loadsharing terdapat pilihan berikut:
- First come first served : thread-thread dari job yang datang diantrikan dalam antrian bersama.prosesor menganggur akan memanggil thread terdepan.
- Smallest number of thread first : ada antrian sesuai prioritas.prioritas tertinggi diberikan pada program dengan jumlah thread terkecil.
REAL-TIME SCHEDULING
Hard real-time systems
- Task kritis harus selesai dengan garansi waktu tertentu.
- OS akan melacak lamanya task tersebut dieksekusi (real time), yaitu untuk : mengetahui lama waktu system call, fungsi dan response dari hardware; untuk melakukan prediksi apakah task tersebut dapat dijalankan.
- Mudah dilakukan untuk OS khusus pada pemakaian khusus.
- Sulit untuk time-sharing sistem.
Soft real-time systems
- Membutuhkan penggunaan skema prioritas
- Multimedia, highly interactive graphics
- Prioritas tidak menurunkan over time.
Cara menjadwalkan program-program dalam sistem tersebut :
- Static table driven approaches : di jalankan analisis statis dari tugas-tugas yang sedang antri, deadline mana yang terdekat, itu yang dijadwalkan dahulu. Program baru, jika datang pada saat jadwal dijalankan, akan diperhatikan untuk jadwal berikutnya.
- Static priority driven preemptive approaches : tugas-tugas diprioritaskan berdasarkan batasan waktu. Pada saat dijalankan, jika ada tugas dengan prioritas lebih tinggi, tugas yang sedang dijalankan dapat dihentian.
- Dynamic planning based approaches : tugas-tugas sudah direncanakan untuk dijalankan, hanya jika ada tugas baru datang dan memngkinkan untuk dijalankan, maka akan diterima untuk dijalankan.
1 komentar:
Artikel yang bagus...
Posting Komentar