1.

Pengertian multiprocesing Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut. Multiprocessing juga kadang merujuk kepada kemampuan eksekusi terhadap beberapa proses perangkat lunak dalam sebuah sistem secara serentak, jika dibandingkan dengan sebuah proses dalam satu waktu, meski istilah multiprogramming lebih sesuai untuk konsep ini. Multiprocessing sering diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali.

Keuntungan Multiprocessing Beberapa keuntungan multiprocessing antara lain: a. Peningkatan throughput. Yang meningkat adalah peningkatan jumlah pekerjaan yang dapat dilakukan dalam waktu tertentu. b. Lebih ekonomis. Daripada sistem dengan banyak prosesor tunggal, karena bisa berbagi memori, storage, dan power supply. Peningkatan kehandalan. Jika pekerjaan terbagi rata, maka kegagalan salah satu prosesor bisa ditanggulangi oleh prosesor-prosesor yang lain.

Jenis-jenis Multiprocessing Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam: a. Asymmetric Multiprocessing (ASMP) b. Symmetric Multiprocessing (SMP)

model ini memiliki beberapa kelemahan. . Sebuah prosesor bertindak sebagai master processor yang bertugas menjadwalkan dan mengalokasikan pekerjaan pada prosesor lain yang disebut slave processor.Asymmetric Multiprocessing (ASMP) Setiap prosesor diberikan suatu tugas yang spesifik. yaitu terjadi bottleneck di prosesor utama karena dialah yang bertanggung jawab atas penjadwalan dan manajenem proses. Symmetric Multiprocessing (SMP) Setiap prosesor menjalankan salinan identik dari sistem operasi dan banyak job yang dapat berjalan pada suatu waktu tanpa mengurangi kinerja. seperti: • • Kegagalan prosesor utama bisa menyebabkan kegagalan keseluruhan sistem. Bisa terjadi penurunan performa. Sayangnya.

Keuntungan SMP: • • • Performance Availability Incremental growth Berdasarkan jumlah instruksi dan datanya. dapat dibagi ke dalam (Taksonomi Flynn) • • • • SISD (Single Instruction on Single Data Stream) SIMD (Single Instruction on Multiple Data Stream) MISD (Multiple Instruction on Single Data Stream) MIMD (Multiple Instruction on Multiple Data Stream) SISD (Single Instruction on Single Data Stream) • • • • Satu prosesor Satu instruksi stream Data disimpan di satu memori Di sebut Uni-processor .

SIMD (Single Instruction on Multiple Data Stream) • • • • Instruksi mesin tunggal Eksekusi dikendalikan secara simultan Terdapat sejumlah elemen proses Setiap instruksi dieksekusi dalam set data yang berbeda oleh proses yang berbeda MISD (Multiple Instruction on Single Data Stream) • • • • Satu Aliran Instruksi Banyak Aliran Data Belum dapat diimplementasikan dengan baik .

Sifat komputer MIMD: • • • • Berdasarkan kedekatan antar prosesor. memori lokal dan clock sendiri namun semua resource dapat diakses dari setiap site. Loosely coupled b.MIMD (Multiple Instruction on Multiple Data Stream) • • • Terdiri dari sejumlah set prosesor Terdiri dari sejumlah set data yang berbeda Secara simultan mengeksekusi urutan instruksi yang berbeda Mendistribusikan pemrosesan ke sejumlah prosesor independen. Setiap prosesor berfungsi secara independen dan bersama-sama. Setiap prosesor menjalankan programnya sendiri. Thightly coupled Loosely coupled • Setiap site memiliki processor. Proses yang dijalankan pada komputer yang berbeda modul saling berkomunikasi dengan bertukar pesan melalui Message Transfer System (MTS). • . dapat dibagi ke dalam a. Membagikan sumber termasuk memori utama ke prosesor independen.

4. dan aktivitas sistem lainnya dan prosesor lainnya (slave) . Dimana pada metode ini hanya satu prosesor (master) yang menangani semua keputusan penjadwalan pemrosesan M/K.Thightly coupled • Prosesor berkomunikasi antara satu dengan yang lain dengan cara berbagi memori utama. Penjadwalan ASMP) Asymmetric Multiprocessing (Penjadwalan Pendekatan pertama untuk penjadwalan prosesor jamak adalah penjadwalan asymmetric multiprocessing atau biasa disebut juga sebagai penjadwalan master/slave. sehingga kecepatan komunikasi dari satu prosesor ke yang lain tergantung pada bandwidth memori. • Sebuah memori lokal kecil atau buffer (cache) kemungkinan terdapat pada setiap prosesor untuk memperbaiki kinerja.

Semua proses mungkin berada pada antrian ready yang biasa. Dalam teknik penjadwalan master/slave. satu prosesor menjaga status dari semua proses dalam sistem dan menjadwalkan kinerja untuk semua prosesor slave. Beberapa proses terpisah dialokasikan didalam memori. Penjadwalan Symmetric Multiprocessing (Penjadwalan SMP) Penjadwalan SMP (Symmetric multiprocessing) adalah pendekatan kedua untuk penjadwalan prosesor jamak. penjadwal dari prosesor-prosesor tersebut harus diprogram dengan hati-hati. Jika suatu sistem prosesor jamak mencoba untuk mengakses dan meng. Saat slave mengalami sebuah kondisi tertentu seperti meminta M/K. Gambar: Multiprogramming dengan multiprocessor Gambar diatas mengilustrasikan perilaku dari multiprocessor yang digunakan untuk multiprogramming. penjadwalan terlaksana dengan menjadwalkan setiap prosesor untuk memeriksa antrian ready dan memilih suatu proses untuk dieksekusi. dan memberikan instruksi start processor. Dimana setiap prosesor menjadwalkan dirinya sendiri (self scheduling). prosesor slave memberi interupsi kepada prosesor master dan berhenti untuk menunggu perintah selanjutnya. kemudian mencari prosesor yang available.update suatu struktur data. Metode ini sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing. Hal ini memungkinkan banyak proses dapat aktif dalam sistem. Sebagai contoh. Ruang alamat proses terdiri dari halaman-halaman sehingga hanya sebagian saja dari proses tersebut yang berada dalam memori pada satu waktu. 5.hanya mengeksekusi proses. Prosesor slave memulai eksekusi pada lokasi memori yang dituju. Perlu diketahui bahwa prosesor slave yang berbeda dapat ditujukan untuk suatu proses yang sama pada waktu yang berbeda. kita harus yakin bahwa dua prosesor tidak memilih proses yang . prosesor master memilih proses yang akan dieksekusi. Bagaimanapun juga. atau mungkin setiap prosesor memiliki antrian ready tersendiri.

jika suatu proses . termasuk Windows XP. Windows Vista. semua sistem operasi modern mendukung SMP.. dan Hard affinity yang menjamin bahwa suatu proses akan berjalan pada prosesor yang sama dan tidak berpindah. Secara virtual. Contoh sistem yang menyediakan system calls yang mendukung hard affinity adalah Linux. Hal ini disebut afinitas prosesor (processor affinity). Windows 2000. Ada dua jenis afinitas prosesor. Gambar: Multiprogramming dengan Symmetric Multiprocessing 6. yakni: • • Soft affinity yang memungkinkan proses berpindah dari satu prosesor ke prosesor yang lain. kebanyakan sistem SMP mencoba untuk mencegah migrasi proses antar prosesor sehingga menjaga proses tersebut untuk berjalan di prosesor yang sama. Karena mahalnya invalidating dan re-populating dari cache. Solaris.sehingga akses memori yang sukses biasanya terjadi di memori cache. Load Balancing Dalam sistem SMP. Namun. berpindah dari satu prosesor ke prosesor lainnya akan mengakibatkan isi dari cache memori yang dituju menjadi tidak valid. dan Mac OS X. sangat penting untuk menjaga keseimbangan workload (banyaknya task yang harus diselesaikan oleh prosesor) antara semua prosesor untuk . Linux. Affinity dan Load Ballancing Affinity Data yang paling sering diakses oleh beberapa proses akan memadati cache pada prosesor.sama dan proses tersebut tidak hilang dari antrian. sedangkan cache memori dari prosesor asal harus disusun kembali populasi datanya.

7. mungkin satu atau lebih prosesor idle disaat prosesor lain harus bekerja keras dengan workload yang tinggi. Dalam kasus system engineering. prosesor idle selalu menarik proses dari prosesor nonidle sedangkan pada sistem yang lain. SMT juga biasa disebut teknologi hyperthreading . maka dilakukan perataan dengan memindahkan( pushing) proses dari yang kelebihan muatan ke prosesor yang idle atau yang memiliki muatan lebih sedikit. Load balancing adalah usaha untuk menjaga workload terdistribusi sama rata untuk semua prosesor dalam sistem SMP. jadi setiap prosesor bisa memiliki private queue. Jika tidak. Pada sistem dengan antrian yang biasa (common queue).memaksimalkan keuntungan memiliki multiprocessor. pada kondisi ini ada suatu task spesifik yang secara berkala memeriksaload dari tiap-tiap prosesor. Ada dua jenis load balancing. Keuntungan dari affinity berlawanan dengan keuntungan dari load balancing. proses dipindahkan hanya jika terjadi ketidakseimbangan yang besar antara prosesor. tidak ada aturan tetap keuntungan yang mana yang lebih baik. • Pull migration. Symmetic Multithreading Sistem SMP mengizinkan beberapa thread untuk berjalan secara bersamaan dengan menyediakan banyak physical processor. Strategi ini dikenal sebagai SMT (Symetric Multithreading). Perlu juga diperhatikan bahwa pada sebagian besar sistem operasi kontemporer mendukung SMP. kondisi ini terjadi saat prosesor yang idle menarik (pulling) proses yang sedang menunggu dari prosesor yang sibuk. Ada sebuah strategi alternatif yang lebih cenderung untuk menyediakan logical processor daripada physical processor. Walaupun pada beberapa sistem. Kedua pendekatan tersebut tidak harus mutually exclusive dan dalam kenyataannya sering diimplementasikan secara paralel pada sistem load-balancing. prosesor tersebut segera mengerjakan proses yang dapat dilaksanakan dari antrian biasa tersebut. Perlu diperhatikan bahwa load balancing hanya perlu dilakukan pada sistem dimana setiap prosesor memiliki antrian tersendiri (private queue) untuk prosesproses yang berstatus ready. load balancing tidak diperlukan karena sekali prosesor menjadi idle. Jika terdapat ketidakseimbangan. yaitu keuntungan menjaga suatu proses berjalan pada satu prosesor yang sama dimana proses dapat memanfaatkan data yang sudah ada pada memori cache prosesor tersebut berkebalikan dengan keuntungan menarik atau memindahkan proses dari satu prosesor ke prosesor lain. yakni: • Push migration.

akan tetapi performa yang diharapkan tidak selalu terjadi pada sistem operasi yang berjalan pada SMT. Setiap logical processor mempunyai state arsitekturnya sendiri yang mencakup general purpose dan machine state register. Lebih jauh lagi. Misalnya. Ide dari SMT adalah untuk menciptakan banyak logical processor dalam suatu physical processor yang sama dan mempresentasikan beberapa prosesor kepada sistem operasi. Gambar: Symetric Multithreading Gambar di atas mengilustrasikan suatu tipe arsitektur SMT dengan dua physical processor dengan masing-masing punya dua logical processor. Perlu diketahui bahwa SMT adalah fitur yang disediakan dalam hardware. bukan software. sehingga hardware harus menyediakan representasi state arsitektur dari setiap logical processor sebagaimana representasi dari penanganan interupsinya. Dari sudut pandang sistem operasi. pada sistem ini terdapat empat prosesor. Dengan kata lain.share resource dari physical processor-nya. setiap logical prosesor bertanggung jawab pada penanganan interupsinya sendiri. . suatu sistem memiliki 2 physical processor. penjadwal pertama kali akan lebih memilih untuk membagi thread ke physical processor daripada membaginya ke logical processor dalam physical processor yang sama.dalam prosesor intel. Sistem operasi tidak perlu didesain khusus jika berjalan pada sistem SMT. keduanya idle. seperti cache dan bus. setiap logical processor men. sehingga logical processor pada satu physical processor bisa menjadi sibuk sedangkan physical processor yang lain menjadi idle. yang berarti bahwa interupsi cenderung dikirimkan ke logical processor dan ditangani oleh logical processor bukan physical processor.

Sinyal dengan kualitas baik ini memungkinkan lebih banyak data yang dikirimkan dalam satu periode waktu dan tidak perlu sering di-repeat . TLP lebih dikenal sebagai chip-level multiprocessing. Bus snooping adalah suatu teknik yang digunakan dalam sistem pembagian memori terdistribusi dan multiprocessor yang ditujukan untuk mendapatkan koherensi pada cache. Gambar: Chip CPU dual-core Keuntungan: • Meningkatkan performa dari operasi cache snoop (bus snooping). Pada umumnya. • desain single-core Kerugian: • Dalam hal sistem operasi. sehingga kekuatan sinyal hanya berkurang sedikit. dibutuhkan penyesuaian pada software yang ada . Hal ini dikarenakan sinyal antara CPU yang berbeda mengalir pada jarak yang lebih dekat. multicore mengizinkan perangkat komputasi untuk memeragakan suatu bentuk thread-level paralelism (TLP) tanpa mengikutsertakan banyak prosesor terpisah. • dengan sepasang prosesor dual-core. desain CPU multicore menggunakan ruang yang lebih kecil pada Prosesor dual-core menggunakan sumber daya lebih kecil dibandingkan Desain multicore memiliki resiko design error yang lebih rendah daripada PCB (Printed Circuit Board) dibandingkan dengan desain multichip SMP. • Secara fisik.Multicore Multicore microprocessor adalah kombinasi dua atau lebih prosesor independen ke dalam sebuah integrated circuit (IC).

Dalam sistem operasi. Kemudian data harus berpindah-pindah antar tugas dalam melangsungkan komputasi. Banyak aplikasi software tidak dituliskan dengan menggunakan thread-thread yang concurrent karena tingkat kesulitan yang tinggi dalam pembuatannya. pada umumnya tidak bisa. Setiap aplikasi harus tertulis secara spesifik untuk memaksimalkan penggunaan dari banyak thread. bertambahnya tingkat kesulitan untuk mengatur suhu pada chip yang padat.butiran kecil. kode-kode tersebut dieksekusi dalam thread-thread atau proses-proses yang terpisah. karena eksekusi berjalan secara independen. Kita tinjau kembali kedua tahap di atas dengan tujuan untuk mendapatkan algoritma pengeksekusian yang lebih efisien. Pelaksanaan komputasi dalam satu tugas membutuhkan asosiasi data antara masingmasing tugas. Pengaruh multicore terhadap software Keuntungan software dari arsitektur multicore adalah kode-kode dapat dieksekusi secara paralel. pemanfaatan daerah permukaan silikon dari Pengembangan chip multicore membuat produksinya menjadi turun karena desain single-core lebih baik daripada desain multicore. Kemampuan prosesor multicore untuk meningkatkan performa aplikasi juga bergantung pada jumlah penggunaan thread dalam aplikasi tersebut. Partitioning Tahap desain ini dimaksudkan untuk membuka peluang awal pengeksekusian secara paralel. Setiap aplikasi pada sistem berjalan pada prosesnya sendiri sehingga aplikasi paralel akan mendapatkan keuntungan dari arsitektur multicore. • • Dari sudut pandang arsitektur. Tugas-tugas yang telah terpartisi diharapkan dapat langsung dieksekusi secara parallel. Kita pertimbangkan juga apakah perlu untuk menggumpalkan (agglomerate) tugas-tugas pada fase partition menjadi lebih sedikit. Aliran informasi inilah yang dispesifikasi dalam fase communication. Agglomeration Pada tahap ini kita pindah dari sesuatu yang abstrak ke sesuatu yang konkret. Langkah-langkah dalam mendesain aplikasi paralel adalah sebagai berikut: a. b. Akan tetapi. Concurrency memegang peranan utama dalam aplikasi paralel yang sebenarnya. Fokus dari tahap ini adalah mempartisi sejumlah besar tugas dalam ukuran kecil dengan tujuan menguraikan suatu masalah menjadi butiran.untuk memaksimalkan kegunaan dari sumber daya komputasi yang disediakan oleh prosesor multicore. Communication. dengan masing- . c.

Masalah mapping ini tidak muncul pada uniprocessor yang menyediakan penjadwalan tugas. . d. Oleh karena itu. Web server dan application server mempunyai throughput yang lebih baik.masing tugas berukuran lebih besar. Pada sisi server. prosesor multicore menjadi ideal karena server mengizinkan banyak user untuk melakukan koneksi ke server secara simultan. kita menspesifikasi di mana tiap tugas akan dieksekusi. Mapping Dalam tahap yang keempat dan terakhir ini.

oreilly. .com/repo/abba/v06/Kuliah/SistemOperasi/2008/240/15Penjadwalan_Prosesor_Jamak.wikipedia. http://opensource.org/wiki/Multiprocessing Diakses 15 Oktober 2010.pdf Diakses 15 Oktober 2010. .png Diakses 15 Oktober 2010.Daftar Pustaka http://id.telkomspeedy.com/catalog/9780596514549/figs/I_mediaobject12_d1e21060. http://www.

MAKALAH SISTEM TERDISTRIBUSI MULTIPROCESSING Disusun oleh: Bethesda Simaremare (071401053) Ardian Oka (071401039) Hendrik Gunawan (071401049) Indra Wira Pranata (071401055) Boris Ganda Sirait (071401067) Angga Ricardo (081401025) DEPARTEMEN ILMU KOMPUTER FMIPA USU 2010 .

Sign up to vote on this title
UsefulNot useful