9. scheduling pada multiprocessor
TRANSCRIPT
PemrosesanParalel
HaddadSammir,M.Kom
Pemrosesan ParalelScheduling Pada Multiprocessor
Haddad Sammir, M.Kom
March 25, 2015
PemrosesanParalel
HaddadSammir,M.Kom
Penjadwalan Pada Multiprosesor
• Pada prosesor jamak, penjadwalannya jauh lebih kompleksdaripada prosesor tunggal karena pada prosesor jamakmemungkinkan adanya load sharing antar prosesor.
• Ada dua pendekatan dalam penjadwalan multiprosesor:• Asymmetric Multiprocessing. Satu prosesor adalah prosesor
master, mengelola semua aktifitas dan menjalankankode-kode kernel sedangkan yang lainnya adalah slave.Pendekatan ini leibh sederhana karena tidak adakebutuhan untuk berbagi data-data kritis.
• Symmetric Multiprocessing. Setiap prosesor menjadwalkanjob nya sendiri baik dari ready queue bersama maupun dariready queue masing-masing prosesor.
PemrosesanParalel
HaddadSammir,M.Kom
Penjadwalan Master / Slave
• Hanya satu prosesor (master) yang menangani keputusanpenjadwalan, pemrosesan I/O serta aktifitas sistemlainnya.
• Prosesor lainnya (slave) hanya bertugas untukmengeksekusi proses.
• Metode ini sederhana karena hanya satu prosesor yangmengakses struktur data sistem dan juga mengurangi datasharing.
PemrosesanParalel
HaddadSammir,M.Kom
Penjadwalan Master / Slave
• Dalam teknik penjadwalan master/slave, satu prosesormenjaga status dari semua proses dalam sistem danmenjadwalkan kinerja untuk semua prosesor slave.
• Contoh:• Prosesor master memilih proses yang akan dieksekusi,
kemudian mencari prosesor slave yang available, danmemberikan instruksi Start processor.
• Prosesor slave memulai eksekusi pada lokasi memori yangdituju.
• Saat slave mengalami sebuah kondisi tertentu sepertimeminta I/O, prosesor slave memberi interupsi kepadaprosesor master dan berhenti untuk menunggu perintahselanjutnya.
PemrosesanParalel
HaddadSammir,M.Kom
Penjawalan Symmetric Multiprocessing (SMP)
• Pada penjadwalan SMP setiap prosesor menjadwalkandirinya sendiri (self scheduling).
• Penjadwalan terlaksana dengan menjadwalkan setiapprosesor untuk memeriksa antrian ready dan memilihsebuah proses untuk dieksekusi.
• Jika suatu sistem prosesor jamak mencoba untukmengakses dan meng-update suatu struktur data,penjadwal dari prosesor-prosesor tersebut harus diprogramdengan hati-hati.
• Programmer harus memastikan dua prosesor tidak memilihproses yang sama dan proses tersebut tidak hilang dariantrian.
PemrosesanParalel
HaddadSammir,M.Kom
Processor Affinity
• Setiuap prosesor memiliki cache yang berisi data yangsering diakses untuk mempercepat eksekusi sebuah proses.
• Jika sebuah proses berpindah dari satu prosesor keprosesor yang lain setiap kali ia mendapatkan time slice,maka data yang tersimpan didalam cache menjadi tidakvalid dan perlu diakses kembali dari memory (RAM).
• Untuk mengatasi hal tersebut prosesor SMP berusahamenjaga sebuah proses tetap berada pada sebuah prosesoryang sama melalui mekanisme Processor Affinity.
• Ada dua jenis processor affinity yaitu:• Soft Affinity. Yaitu sistem melakukan processor affinity,
namun tidak memberikan jaminan.• Hard Affinity. Yaitu sistem yang memberikan jaminan
dalam processor affinity.
PemrosesanParalel
HaddadSammir,M.Kom
Processor Affinity
Diagram prosesor multicore:
Setiap prosesor memiliki memori cache sendiri-sendiri dan perlumenjaga sebuah proses tetap dieksekusi oleh prosesor yangsama agar data yang tersimpan pada cache selama proseseksekusi tetap valid.
PemrosesanParalel
HaddadSammir,M.Kom
Load Balancing
• Salah satu tujuan penting sistem multiprosesor adalahmenjaga keseimbangan kerja antar prosesor sehingga tidakada satu prosesor sedang bekerja penuh sementara yanglainnya menganggur.
• Load balancing adalah mekanisme membagi beban antarprosesor sehingga setiap prosesor mendapatkan porsipekerjaan yang seimbang.
• Ada dua pendekatan load balancing:• Push migration, pada kondisi ini ada suatu task spesifik
yang secara berkala memeriksa load dari tiap-tiap prosesor.Jika terdapat ketidakseimbangan, maka dilakukan perataandengan memindahkan (pushing) proses dari yang kelebihanmuatan ke prosesor yang idle atau yang memiliki muatanlebih sedikit.
• Pull migration, kondisi ini terjadi saat prosesor yang idlemenarik (pulling) proses yang sedang menunggu dariprosesor yang sibuk.
PemrosesanParalel
HaddadSammir,M.Kom
SekianTerima Kasih