Kamis, 28 April 2011

Penjadwalan SMP

Penjadwalan SMP adalah pendekatan kedua untuk penjadwalan prosesor jamak. 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 prosesor jamak mencoba untuk mengakses dan mengupdatesuatu 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, dan Mac OS X.



a. Load Balancing
Dalam sistem SMP, sangat penting untuk menjaga keseimbangan workload (banyaknya task yang harus diselesaikan oleh prosesor) antara semua prosesor untuk memaksimalkan keuntungan memiliki multiprocessor. Jika tidak, mungkin satu atau lebih prosesor idle disaat prosesor lain harus bekerja keras denganworkload yang tinggi. Load balancing adalah usaha untuk menjaga workload terdistribusi sama rata untuk semua prosesor dalam sistem SMP. Perlu diperhatikan bahwa load balancinghanya perlu dilakukan pada sistem dimana setiap prosesor memiliki antrian tersendiri( private queue) untuk proses-proses yang berstatus ready. Pada sistem dengan antrian yang biasa ( common queue), load balancing tidak diperlukan karena sekali prosesor menjadi idle, prosesor tersebut segera mengerjakan proses yang dapat dilaksanakan dari antrian biasa tersebut. Perlu juga diperhatikan bahwa pada sebagian besar sistem operasi kontemporer mendukung SMP, jadi setiap prosesor bisa memilikiprivate queue. Ada dua jenis load balancing, yakni:
·       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 idlemenarik( pulling) proses yang sedang menunggu dari prosesor yang sibuk.
Kedua pendekatan tersebut tidak harus mutually exclusive dan dalam kenyataannya sering diimplementasikan secara paralel pada sistem load-balancing.

 b. Jelaskan Symetric Multhithreading
          SMT (Symetric Multithreading) adalah strategi alternatif untuk menjalankan beberapa thread secara bersamaan. Sistem SMP mengizinkan beberapa thread untuk berjalan secara bersamaan dengan menyediakan banyak physical processor. Ada sebuah strategi alternatif yang lebih cenderung untuk menyediakan logical processor daripada physical processor. Strategi ini dikenal sebagai Symetric Multithreading (SMT). SMT juga biasa disebut teknologi hyperthreading dalam prosessor intel. Ide dari SMT adalah menciptakan banyak logical prosessor dalam suatu physical.
          Prosessor yang sama mempresentasikan beberapa prosessor kepada sistem operasi. Setiap logical prosessor mempunyai state arsitekturnya sendiri yang mencakup general purpose dan machine state register. Lebih jauh lagi, setiap logical prosessor bertanggung jawab pada penanganan interupsinya sendiri, yang brarti bahwa interupsi cenderung dikirimkan ke logical prosessor dan ditangani oleh logical processor bukan physical prosessor. Denagn kata lain, setiap logical prosessor membagi resource dari physical prosessornya seperti chace dan bus.
Gambar Symetric Multithreading

          Gambar diatas mengilustrasikan suatu tipe arsitektur SMT dengan dua physical prosessor dengan masing-masing punya ua logical processor. Dari sudut pandang sistem operasi pada sistem ini terdapat empat prosessor.
          Perlu diketahui bahwa SMT adalah fitur yang disediakan dalam hardware, bukan software. Sehingga hardware harus menyediakan representasi state arsitektur dari setiap logical prosessor sebagaimana representasi dari penanganan interupsinya. Sistem operasi tidak perlu didesain khusus jika berjalan pada sistem SMT, akan tetapi performa yang diharapkan tidak selalu terjadi pada sistem operasi yang berjalan pada SMT. Misalnya suatu sistem memiliki 2 physical prosessor, keduanya idle, penjadwal pertama kali akan lebih memilih untuk membagi thread ke physical prosessor daripada membaginya ke logical processor dalam physical prosessor yang sama, sehingga logical prosessor pada suatu physical prosessor bisa menjadi sibuk sedangkan physical prosesso yang lain menjadi idle.


Gambar Multiprogramming dengan Symmetric Multiprocessing

Gambar arsitektur Symmetric Multiprocessin

Tidak ada komentar:

Posting Komentar