Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Pemrosesan Paralel
Scheduling Pada Multiprocessor
Haddad Sammir, M.Kom
March 25, 2015
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Penjadwalan Pada Multiprosesor
• Pada prosesor jamak, penjadwalannya jauh lebih kompleks
daripada prosesor tunggal karena pada prosesor jamak
memungkinkan adanya load sharing antar prosesor.
• Ada dua pendekatan dalam penjadwalan multiprosesor:
• Asymmetric Multiprocessing. Satu prosesor adalah prosesor
master, mengelola semua aktifitas dan menjalankan
kode-kode kernel sedangkan yang lainnya adalah slave.
Pendekatan ini leibh sederhana karena tidak ada
kebutuhan untuk berbagi data-data kritis.
• Symmetric Multiprocessing. Setiap prosesor menjadwalkan
job nya sendiri baik dari ready queue bersama maupun dari
ready queue masing-masing prosesor.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Penjadwalan Master / Slave
• Hanya satu prosesor (master) yang menangani keputusan
penjadwalan, pemrosesan I/O serta aktifitas sistem
lainnya.
• Prosesor lainnya (slave) hanya bertugas untuk
mengeksekusi proses.
• Metode ini sederhana karena hanya satu prosesor yang
mengakses struktur data sistem dan juga mengurangi data
sharing.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Penjadwalan Master / Slave
• Dalam teknik penjadwalan master/slave, satu prosesor
menjaga status dari semua proses dalam sistem dan
menjadwalkan kinerja untuk semua prosesor slave.
• Contoh:
• Prosesor master memilih proses yang akan dieksekusi,
kemudian mencari prosesor slave yang available, dan
memberikan instruksi Start processor.
• Prosesor slave memulai eksekusi pada lokasi memori yang
dituju.
• Saat slave mengalami sebuah kondisi tertentu seperti
meminta I/O, prosesor slave memberi interupsi kepada
prosesor master dan berhenti untuk menunggu perintah
selanjutnya.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Penjawalan Symmetric Multiprocessing (SMP)
• Pada penjadwalan SMP setiap prosesor menjadwalkan
dirinya sendiri (self scheduling).
• Penjadwalan terlaksana dengan menjadwalkan setiap
prosesor untuk memeriksa antrian ready dan memilih
sebuah proses untuk dieksekusi.
• Jika suatu sistem prosesor jamak mencoba untuk
mengakses dan meng-update suatu struktur data,
penjadwal dari prosesor-prosesor tersebut harus diprogram
dengan hati-hati.
• Programmer harus memastikan dua prosesor tidak memilih
proses yang sama dan proses tersebut tidak hilang dari
antrian.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Processor Affinity
• Setiuap prosesor memiliki cache yang berisi data yang
sering diakses untuk mempercepat eksekusi sebuah proses.
• Jika sebuah proses berpindah dari satu prosesor ke
prosesor yang lain setiap kali ia mendapatkan time slice,
maka data yang tersimpan didalam cache menjadi tidak
valid dan perlu diakses kembali dari memory (RAM).
• Untuk mengatasi hal tersebut prosesor SMP berusaha
menjaga sebuah proses tetap berada pada sebuah prosesor
yang 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.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Processor Affinity
Diagram prosesor multicore:
Setiap prosesor memiliki memori cache sendiri-sendiri dan perlu
menjaga sebuah proses tetap dieksekusi oleh prosesor yang
sama agar data yang tersimpan pada cache selama proses
eksekusi tetap valid.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Load Balancing
• Salah satu tujuan penting sistem multiprosesor adalah
menjaga keseimbangan kerja antar prosesor sehingga tidak
ada satu prosesor sedang bekerja penuh sementara yang
lainnya menganggur.
• Load balancing adalah mekanisme membagi beban antar
prosesor sehingga setiap prosesor mendapatkan porsi
pekerjaan 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 perataan
dengan memindahkan (pushing) proses dari yang kelebihan
muatan ke prosesor yang idle atau yang memiliki muatan
lebih sedikit.
• Pull migration, kondisi ini terjadi saat prosesor yang idle
menarik (pulling) proses yang sedang menunggu dari
prosesor yang sibuk.
Pemrosesan
Paralel
Haddad
Sammir,
M.Kom
Sekian
Terima Kasih

9. Scheduling Pada Multiprocessor

  • 1.
    Pemrosesan Paralel Haddad Sammir, M.Kom Pemrosesan Paralel Scheduling PadaMultiprocessor Haddad Sammir, M.Kom March 25, 2015
  • 2.
    Pemrosesan Paralel Haddad Sammir, M.Kom Penjadwalan Pada Multiprosesor •Pada prosesor jamak, penjadwalannya jauh lebih kompleks daripada prosesor tunggal karena pada prosesor jamak memungkinkan adanya load sharing antar prosesor. • Ada dua pendekatan dalam penjadwalan multiprosesor: • Asymmetric Multiprocessing. Satu prosesor adalah prosesor master, mengelola semua aktifitas dan menjalankan kode-kode kernel sedangkan yang lainnya adalah slave. Pendekatan ini leibh sederhana karena tidak ada kebutuhan untuk berbagi data-data kritis. • Symmetric Multiprocessing. Setiap prosesor menjadwalkan job nya sendiri baik dari ready queue bersama maupun dari ready queue masing-masing prosesor.
  • 3.
    Pemrosesan Paralel Haddad Sammir, M.Kom Penjadwalan Master /Slave • Hanya satu prosesor (master) yang menangani keputusan penjadwalan, pemrosesan I/O serta aktifitas sistem lainnya. • Prosesor lainnya (slave) hanya bertugas untuk mengeksekusi proses. • Metode ini sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing.
  • 4.
    Pemrosesan Paralel Haddad Sammir, M.Kom Penjadwalan Master /Slave • Dalam teknik penjadwalan master/slave, satu prosesor menjaga status dari semua proses dalam sistem dan menjadwalkan kinerja untuk semua prosesor slave. • Contoh: • Prosesor master memilih proses yang akan dieksekusi, kemudian mencari prosesor slave yang available, dan memberikan instruksi Start processor. • Prosesor slave memulai eksekusi pada lokasi memori yang dituju. • Saat slave mengalami sebuah kondisi tertentu seperti meminta I/O, prosesor slave memberi interupsi kepada prosesor master dan berhenti untuk menunggu perintah selanjutnya.
  • 5.
    Pemrosesan Paralel Haddad Sammir, M.Kom Penjawalan Symmetric Multiprocessing(SMP) • Pada penjadwalan SMP setiap prosesor menjadwalkan dirinya sendiri (self scheduling). • Penjadwalan terlaksana dengan menjadwalkan setiap prosesor untuk memeriksa antrian ready dan memilih sebuah proses untuk dieksekusi. • Jika suatu sistem prosesor jamak mencoba untuk mengakses dan meng-update suatu struktur data, penjadwal dari prosesor-prosesor tersebut harus diprogram dengan hati-hati. • Programmer harus memastikan dua prosesor tidak memilih proses yang sama dan proses tersebut tidak hilang dari antrian.
  • 6.
    Pemrosesan Paralel Haddad Sammir, M.Kom Processor Affinity • Setiuapprosesor memiliki cache yang berisi data yang sering diakses untuk mempercepat eksekusi sebuah proses. • Jika sebuah proses berpindah dari satu prosesor ke prosesor yang lain setiap kali ia mendapatkan time slice, maka data yang tersimpan didalam cache menjadi tidak valid dan perlu diakses kembali dari memory (RAM). • Untuk mengatasi hal tersebut prosesor SMP berusaha menjaga sebuah proses tetap berada pada sebuah prosesor yang 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.
  • 7.
    Pemrosesan Paralel Haddad Sammir, M.Kom Processor Affinity Diagram prosesormulticore: Setiap prosesor memiliki memori cache sendiri-sendiri dan perlu menjaga sebuah proses tetap dieksekusi oleh prosesor yang sama agar data yang tersimpan pada cache selama proses eksekusi tetap valid.
  • 8.
    Pemrosesan Paralel Haddad Sammir, M.Kom Load Balancing • Salahsatu tujuan penting sistem multiprosesor adalah menjaga keseimbangan kerja antar prosesor sehingga tidak ada satu prosesor sedang bekerja penuh sementara yang lainnya menganggur. • Load balancing adalah mekanisme membagi beban antar prosesor sehingga setiap prosesor mendapatkan porsi pekerjaan 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 perataan dengan memindahkan (pushing) proses dari yang kelebihan muatan ke prosesor yang idle atau yang memiliki muatan lebih sedikit. • Pull migration, kondisi ini terjadi saat prosesor yang idle menarik (pulling) proses yang sedang menunggu dari prosesor yang sibuk.
  • 9.