Multiprocessing
adalah
penggunaan dua atau lebih central processing unit (CPU) dalam satu sistem
komputer. Istilah ini juga merujuk pada kemampuan dari suatu sistem untuk
mendukung lebih dari satu prosesor dan / atau kemampuan untuk mengalokasikan
tugas antara mereka. Terdapat banyak variasi pada tema dasar ini, dan definisi
multiprocessing dapat bervariasi tergantung konteks, kebanyakan sebagai fungsi
dari seberapa CPU didefinisikan (multiple core pada satu mati, beberapa chip
dalam satu paket, beberapa paket dalam satu unit sistem, dll).
Sedangkan pada model processing ASMP (Asymmetric Multi Processing), ide
dasarnya adalah master/slave, yaitu kernel selalu berjalan di prosesor
tertentu, sedangkan prosesor-prosesor lainnya menjalankan utiliti yang ada di
sistem operasi atau mengerjakan tugas-tugas tertentu. Prosesor master bertugas
menjadwal proses atau thread. Ketika suatu proses/thread aktif, dan prosesor
slave membutuhkan layanan (misal untuk I/O), maka dia harus mengirim permintaan
ke prosesor master dan menunggu hingga permintaanya dilaksanakan. Model ini
adalah sederhana, karena hanya satu prosesor yang mengatur sumber daya memori dan
I/O.
Sedangkan
pada model processing lainnya adalah SMP (Symmetric Multi
Processing). Pada model ini, kernel bisa dijalankan di prosesor mana saja,
dan tiap prosesor bisa melakukan penjadwalan proses/thread secara mandiri.
Model seperti ini membuat desain sistem operasi menjadi lebih rumit, karena
proses-proses bisa berjalan secara paralel. Karena itu, haruslah dijamin agar
hanya 1 prosesor yang mengerjakan tugas tertentu dan proses-proses itu tidak
mengalami starvation.
Tidak ada komentar:
Posting Komentar