Jika beberapa prosesor yang identik tersedia, maka load sharing akan terjadi. Kita bisa menyediakan queue yang terpisah untuk setiap prosesor. Akan tetapi, dalam kasus ini satu prosesor bisa menjadi idle dengan antrian yang kosong, sedangkan yang lain sangat sibuk. Untuk mengantisipasi hal ini digunakan ready queue yang biasa. Semua proses pergi ke satu queue dan dijadwalkan untuk prosesor yang bisa dipakai. Dalm skema tersebut salh satu penjadwalan akan digunakan. Salah satu cara adalah menggunakan symetric multiprocessing (SMP), dimana setiap prosesor menjadwalkan sendiri. Setiap prosesor memeriksa ready queue dan memilih proses yang akan dieksekusi.
Dalam penjadwalan prosesor, tiap proses dapat mengakses memori dengan cara yang sama (uniform memory access).
Pembatasan dalam penjadwalan juga terjadi dalam multiprosesor. Hal ini
disebabkan karena:
- kemungkinan adanya load sharing. Load sharing terjadi jika ada beberapa prosesor yang identik. Untuk mengatasi hal itu maka tiap prosesor memiliki kemampuan penjadwalan mandiri (self schedulling).
- kemungkinan terlewatinya sebuah proses dari antrian [ready queue] atau beberapa prosesor memilih untuk mengeksekusi proses yang sama. permasalahan seperti itu bisa dijawab dengan sebuah master-slave structure, yaitu suatu struktur dimana satu prosesor ditunjuk sebagai master. Master inilah yang akan bertanggung jawab dalam hal penjadwalan, memproses I/O, dan sebagainya. Sedangkan prosesor yang lain [slave] hanya bertugas untuk mengeksekusi user code. Hal ini disebut juga sebagai Asymmetric Multiprocessing karena hanya satu prosesor yang dapat mengakses struktur data dari sistem. Ada beberapa jenis dari sistem penjadualan prosesor jamak, namun yang akan dibahas dalam bab ini adalah penjadwalan pada sistem prosesor jamak yang memiliki fungsi-fungsi prosesor yang memiliki fungsi yang sama. Diantaranya ada 2 yaitu:
1. Symmetric MultiProcessing (SMP)
Penjadwalan SMP adalah pendekatan kedua untuk Multiprocessor Scheduling. Pada metode ini setiap prosesor menjadwalkan dirinya sendiri (self scheduling). Penjadwalan terlaksana dengan menjadwalkan setiap prosesor untuk memeriksa antrian ready dan memilih suatu proses untuk dieksekusi. Jika suatu sistem Multiprocessor Scheduling mencoba untuk mengakses dan mengupdate suatu struktur data, penjadwal dari prosesor-prosesor tersebut harus diprogram dengan hati-hati, kita harus yakin bahwa dua prosesor tidak memilih proses yang sama dan proses tersebut tidak hilang dari antrian. Secara virtual, semua sistem operasi modern mendukung SMP, termasuk Windows XP, Windows 2000, Windows Vista, Solaris, Linux, Mac OS X, OS/2 Warp Server 4.0 , OS/2 for SMP 2.11, Windows NT 4.0 , Novell NetWare 4.1 SMP, Novell UnixWare SMP 2.0 , SCO Open Server 5.0 with SCO MPX 3.0 , Banyan Vines , Symbian OS (Mobile Device).
2. Asymmetric Multiprocessing (AMP)
Pendekatan pertama untuk Multiprocessor Scheduling adalah asymmetric multiprocessingScheduling atau biasa disebut juga sebagai penjadwalan Master Slave MultiProcessor. Dimana pada metode ini satu prosesor bertindak sebagai master dan prosesor lainnya sebagai slave. Master Processor bertugas untuk menjadualkan dan mengalokasikan proses yang akan dijalankan oleh Slave Processors. Master Processor melakukan pekerjaan yang berhubungan dengan System, Slave Processor melayani user requests dalam pengeksekusian program. Pemrosesan yang banyak tidak menyebabkan penurunan performance.
Metode ini sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing. Sebagai contoh, prosesor master memilih proses yang akan dieksekusi, kemudian mencari prosesor yang available, dan memberikan instruksi start processor. Prosesor slave memulai eksekusi pada lokasi memori yang dituju. Saat slave mengalami sebuah kondisi tertentu, prosesor slave memberi interupsi kepada prosesor master dan berhenti untuk menunggu perintah selanjutnya. Perlu diketahui bahwa prosesor slave yang berbeda dapat ditujukan untuk suatu proses yang sama pada waktu yang berbeda. Master processor dapat mengeksekusi OS dan menangani I/O, sedangkan sisanya processor tidak punya kemampuan I/O dan disebut sebagai Attached Processor (Aps). APs mengeksekusi kodekode user dibawah pengawasan master processor.
Lihat juga materi ini :
Guaranteed Scheduling by Adithya Nanda P (40114274)
Multilevel Queue (MQ) by M. Alzi Saptiadi (46114216)
Multilevel Feedback Queue Schedulling by Rusmiati (49114858)
Guaranteed Scheduling by Handiko Priyonggo (44114739)
Multiprocessor Scheduling by M. Nailur Rohman (46114243)
Sumber :
http://en.wikipedia.org/wiki/Multiprocessor_scheduling
http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-multi.pdfhttp://taufikeko.blogspot.com/2015/04/multiprocessor-scheduling_13.html
Kalau mengambil bahan dari orang lain, artikel, text book atau sumber lain tolong diberikan keterangan yang merujuk ke sumber asli.
ReplyDeleteditujukan agar tidak disebut plagiarisme.
terimakasih :)
terimakasih atas komentarnya, mohon maaf saya lupa menambahkan sumber aslinya. sekarang sudah disunting kembali :)
Delete