9. scheduling pada multiprocessor

9
Pemrosesan Paralel Haddad Sammir, M.Kom Pemrosesan Paralel Scheduling Pada Multiprocessor Haddad Sammir, M.Kom March 25, 2015

Upload: haddad-sammir

Post on 04-Aug-2015

99 views

Category:

Education


4 download

TRANSCRIPT

Page 1: 9. Scheduling Pada Multiprocessor

PemrosesanParalel

HaddadSammir,M.Kom

Pemrosesan ParalelScheduling Pada Multiprocessor

Haddad Sammir, M.Kom

March 25, 2015

Page 2: 9. Scheduling Pada Multiprocessor

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.

Page 3: 9. Scheduling Pada Multiprocessor

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.

Page 4: 9. Scheduling Pada Multiprocessor

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.

Page 5: 9. Scheduling Pada Multiprocessor

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.

Page 6: 9. Scheduling Pada Multiprocessor

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.

Page 7: 9. Scheduling Pada Multiprocessor

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.

Page 8: 9. Scheduling Pada Multiprocessor

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.

Page 9: 9. Scheduling Pada Multiprocessor

PemrosesanParalel

HaddadSammir,M.Kom

SekianTerima Kasih