Multi Processing

June 14, 2018 | Author: bethesda_simaremare | Category: N/A


Comments



Description

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) Asymmetric Multiprocessing (ASMP) Setiap prosesor diberikan suatu tugas yang spesifik. Sayangnya. Sebuah prosesor bertindak sebagai master processor yang bertugas menjadwalkan dan mengalokasikan pekerjaan pada prosesor lain yang disebut slave processor. . Symmetric Multiprocessing (SMP) Setiap prosesor menjalankan salinan identik dari sistem operasi dan banyak job yang dapat berjalan pada suatu waktu tanpa mengurangi kinerja. yaitu terjadi bottleneck di prosesor utama karena dialah yang bertanggung jawab atas penjadwalan dan manajenem proses. model ini memiliki beberapa kelemahan. seperti: • • Kegagalan prosesor utama bisa menyebabkan kegagalan keseluruhan sistem. Bisa terjadi penurunan performa. 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 .Keuntungan SMP: • • • Performance Availability Incremental growth Berdasarkan jumlah instruksi dan datanya. 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 . dapat dibagi ke dalam a. memori lokal dan clock sendiri namun semua resource dapat diakses dari setiap site. Loosely coupled b. Proses yang dijalankan pada komputer yang berbeda modul saling berkomunikasi dengan bertukar pesan melalui Message Transfer System (MTS). • . Membagikan sumber termasuk memori utama ke prosesor independen. Thightly coupled Loosely coupled • Setiap site memiliki processor. Setiap prosesor menjalankan programnya sendiri. Setiap prosesor berfungsi secara independen dan bersama-sama. Sifat komputer MIMD: • • • • Berdasarkan kedekatan antar prosesor.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. Penjadwalan ASMP) Asymmetric Multiprocessing (Penjadwalan Pendekatan pertama untuk penjadwalan prosesor jamak adalah penjadwalan asymmetric multiprocessing atau biasa disebut juga sebagai penjadwalan master/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. • Sebuah memori lokal kecil atau buffer (cache) kemungkinan terdapat pada setiap prosesor untuk memperbaiki kinerja. 4. dan aktivitas sistem lainnya dan prosesor lainnya (slave) . sehingga kecepatan komunikasi dari satu prosesor ke yang lain tergantung pada bandwidth memori. Perlu diketahui bahwa prosesor slave yang berbeda dapat ditujukan untuk suatu proses yang sama pada waktu yang berbeda. Gambar: Multiprogramming dengan multiprocessor Gambar diatas mengilustrasikan perilaku dari multiprocessor yang digunakan untuk multiprogramming.hanya mengeksekusi proses. Penjadwalan Symmetric Multiprocessing (Penjadwalan SMP) Penjadwalan SMP (Symmetric multiprocessing) adalah pendekatan kedua untuk penjadwalan prosesor jamak. Beberapa proses terpisah dialokasikan didalam memori. Semua proses mungkin berada pada antrian ready yang biasa. kemudian mencari prosesor yang available. penjadwalan terlaksana dengan menjadwalkan setiap prosesor untuk memeriksa antrian ready dan memilih suatu proses untuk dieksekusi. Prosesor slave memulai eksekusi pada lokasi memori yang dituju. 5. prosesor master memilih proses yang akan dieksekusi. satu prosesor menjaga status dari semua proses dalam sistem dan menjadwalkan kinerja untuk semua prosesor slave. Saat slave mengalami sebuah kondisi tertentu seperti meminta M/K. Bagaimanapun juga. atau mungkin setiap prosesor memiliki antrian ready tersendiri. dan memberikan instruksi start processor. Metode ini sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing. Dalam teknik penjadwalan master/slave. Dimana setiap prosesor menjadwalkan dirinya sendiri (self scheduling). Jika suatu sistem prosesor jamak mencoba untuk mengakses dan meng.update suatu struktur data. kita harus yakin bahwa dua prosesor tidak memilih proses yang . Sebagai contoh. penjadwal dari prosesor-prosesor tersebut harus diprogram dengan hati-hati. Ruang alamat proses terdiri dari halaman-halaman sehingga hanya sebagian saja dari proses tersebut yang berada dalam memori pada satu waktu. Hal ini memungkinkan banyak proses dapat aktif dalam sistem. prosesor slave memberi interupsi kepada prosesor master dan berhenti untuk menunggu perintah selanjutnya. Solaris. Hal ini disebut afinitas prosesor (processor affinity). Ada dua jenis afinitas prosesor. sedangkan cache memori dari prosesor asal harus disusun kembali populasi datanya. Windows Vista. Gambar: Multiprogramming dengan Symmetric Multiprocessing 6. berpindah dari satu prosesor ke prosesor lainnya akan mengakibatkan isi dari cache memori yang dituju menjadi tidak valid.sehingga akses memori yang sukses biasanya terjadi di memori cache. termasuk Windows XP. Windows 2000. Karena mahalnya invalidating dan re-populating dari cache. Contoh sistem yang menyediakan system calls yang mendukung hard affinity adalah Linux. dan Hard affinity yang menjamin bahwa suatu proses akan berjalan pada prosesor yang sama dan tidak berpindah. kebanyakan sistem SMP mencoba untuk mencegah migrasi proses antar prosesor sehingga menjaga proses tersebut untuk berjalan di prosesor yang sama. yakni: • • Soft affinity yang memungkinkan proses berpindah dari satu prosesor ke prosesor yang lain.sama dan proses tersebut tidak hilang dari antrian. Secara virtual. Load Balancing Dalam sistem SMP.. semua sistem operasi modern mendukung SMP. jika suatu proses . 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. dan Mac OS X. Namun. yakni: • Push migration. tidak ada aturan tetap keuntungan yang mana yang lebih baik. SMT juga biasa disebut teknologi hyperthreading . prosesor tersebut segera mengerjakan proses yang dapat dilaksanakan dari antrian biasa tersebut. Jika terdapat ketidakseimbangan. jadi setiap prosesor bisa memiliki private queue. Pada sistem dengan antrian yang biasa (common queue). Ada sebuah strategi alternatif yang lebih cenderung untuk menyediakan logical processor daripada physical processor. Perlu juga diperhatikan bahwa pada sebagian besar sistem operasi kontemporer mendukung SMP. Strategi ini dikenal sebagai SMT (Symetric Multithreading). 7. Keuntungan dari affinity berlawanan dengan keuntungan dari load balancing. load balancing tidak diperlukan karena sekali prosesor menjadi idle. Symmetic Multithreading Sistem SMP mengizinkan beberapa thread untuk berjalan secara bersamaan dengan menyediakan banyak physical processor. Ada dua jenis load balancing. proses dipindahkan hanya jika terjadi ketidakseimbangan yang besar antara prosesor. Dalam kasus system engineering. Load balancing adalah usaha untuk menjaga workload terdistribusi sama rata untuk semua prosesor dalam sistem SMP. Kedua pendekatan tersebut tidak harus mutually exclusive dan dalam kenyataannya sering diimplementasikan secara paralel pada sistem load-balancing. Perlu diperhatikan bahwa load balancing hanya perlu dilakukan pada sistem dimana setiap prosesor memiliki antrian tersendiri (private queue) untuk prosesproses yang berstatus ready. Jika tidak. maka dilakukan perataan dengan memindahkan( pushing) proses dari yang kelebihan muatan ke prosesor yang idle atau yang memiliki muatan lebih sedikit. 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. prosesor idle selalu menarik proses dari prosesor nonidle sedangkan pada sistem yang lain. pada kondisi ini ada suatu task spesifik yang secara berkala memeriksaload dari tiap-tiap prosesor. • Pull migration.memaksimalkan keuntungan memiliki multiprocessor. kondisi ini terjadi saat prosesor yang idle menarik (pulling) proses yang sedang menunggu dari prosesor yang sibuk. Walaupun pada beberapa sistem. mungkin satu atau lebih prosesor idle disaat prosesor lain harus bekerja keras dengan workload yang tinggi. penjadwal pertama kali akan lebih memilih untuk membagi thread ke physical processor daripada membaginya ke logical processor dalam physical processor yang sama. Ide dari SMT adalah untuk menciptakan banyak logical processor dalam suatu physical processor yang sama dan mempresentasikan beberapa prosesor kepada sistem operasi. bukan software. akan tetapi performa yang diharapkan tidak selalu terjadi pada sistem operasi yang berjalan pada SMT. setiap logical prosesor bertanggung jawab pada penanganan interupsinya sendiri. 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. suatu sistem memiliki 2 physical processor. seperti cache dan bus. keduanya idle. Misalnya. setiap logical processor men. pada sistem ini terdapat empat prosesor. Sistem operasi tidak perlu didesain khusus jika berjalan pada sistem SMT. Dari sudut pandang sistem operasi. yang berarti bahwa interupsi cenderung dikirimkan ke logical processor dan ditangani oleh logical processor bukan physical processor. Lebih jauh lagi. Setiap logical processor mempunyai state arsitekturnya sendiri yang mencakup general purpose dan machine state register. Dengan kata lain.share resource dari physical processor-nya. sehingga hardware harus menyediakan representasi state arsitektur dari setiap logical processor sebagaimana representasi dari penanganan interupsinya.dalam prosesor intel. sehingga logical processor pada satu physical processor bisa menjadi sibuk sedangkan physical processor yang lain menjadi idle. dibutuhkan penyesuaian pada software yang ada . Bus snooping adalah suatu teknik yang digunakan dalam sistem pembagian memori terdistribusi dan multiprocessor yang ditujukan untuk mendapatkan koherensi pada cache. TLP lebih dikenal sebagai chip-level multiprocessing. Pada umumnya. • Secara fisik. multicore mengizinkan perangkat komputasi untuk memeragakan suatu bentuk thread-level paralelism (TLP) tanpa mengikutsertakan banyak prosesor terpisah. 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.Multicore Multicore microprocessor adalah kombinasi dua atau lebih prosesor independen ke dalam sebuah integrated circuit (IC). Gambar: Chip CPU dual-core Keuntungan: • Meningkatkan performa dari operasi cache snoop (bus snooping). Sinyal dengan kualitas baik ini memungkinkan lebih banyak data yang dikirimkan dalam satu periode waktu dan tidak perlu sering di-repeat . • desain single-core Kerugian: • Dalam hal sistem operasi. Hal ini dikarenakan sinyal antara CPU yang berbeda mengalir pada jarak yang lebih dekat. sehingga kekuatan sinyal hanya berkurang sedikit. • dengan sepasang prosesor dual-core. Communication. Setiap aplikasi harus tertulis secara spesifik untuk memaksimalkan penggunaan dari banyak thread. Tugas-tugas yang telah terpartisi diharapkan dapat langsung dieksekusi secara parallel. Agglomeration Pada tahap ini kita pindah dari sesuatu yang abstrak ke sesuatu yang konkret. pemanfaatan daerah permukaan silikon dari Pengembangan chip multicore membuat produksinya menjadi turun karena desain single-core lebih baik daripada desain multicore. Kita pertimbangkan juga apakah perlu untuk menggumpalkan (agglomerate) tugas-tugas pada fase partition menjadi lebih sedikit.untuk memaksimalkan kegunaan dari sumber daya komputasi yang disediakan oleh prosesor multicore. Langkah-langkah dalam mendesain aplikasi paralel adalah sebagai berikut: a. Akan tetapi. karena eksekusi berjalan secara independen. Pengaruh multicore terhadap software Keuntungan software dari arsitektur multicore adalah kode-kode dapat dieksekusi secara paralel. bertambahnya tingkat kesulitan untuk mengatur suhu pada chip yang padat. Pelaksanaan komputasi dalam satu tugas membutuhkan asosiasi data antara masingmasing tugas. Concurrency memegang peranan utama dalam aplikasi paralel yang sebenarnya. kode-kode tersebut dieksekusi dalam thread-thread atau proses-proses yang terpisah. Partitioning Tahap desain ini dimaksudkan untuk membuka peluang awal pengeksekusian secara paralel.butiran kecil. Dalam sistem operasi. Kemudian data harus berpindah-pindah antar tugas dalam melangsungkan komputasi. dengan masing- . Aliran informasi inilah yang dispesifikasi dalam fase communication. Fokus dari tahap ini adalah mempartisi sejumlah besar tugas dalam ukuran kecil dengan tujuan menguraikan suatu masalah menjadi butiran. Kemampuan prosesor multicore untuk meningkatkan performa aplikasi juga bergantung pada jumlah penggunaan thread dalam aplikasi tersebut. Setiap aplikasi pada sistem berjalan pada prosesnya sendiri sehingga aplikasi paralel akan mendapatkan keuntungan dari arsitektur multicore. Kita tinjau kembali kedua tahap di atas dengan tujuan untuk mendapatkan algoritma pengeksekusian yang lebih efisien. c. • • Dari sudut pandang arsitektur. b. Banyak aplikasi software tidak dituliskan dengan menggunakan thread-thread yang concurrent karena tingkat kesulitan yang tinggi dalam pembuatannya. pada umumnya tidak bisa. Pada sisi server. kita menspesifikasi di mana tiap tugas akan dieksekusi. Oleh karena itu. .masing tugas berukuran lebih besar. Masalah mapping ini tidak muncul pada uniprocessor yang menyediakan penjadwalan tugas. prosesor multicore menjadi ideal karena server mengizinkan banyak user untuk melakukan koneksi ke server secara simultan. d. Mapping Dalam tahap yang keempat dan terakhir ini. Web server dan application server mempunyai throughput yang lebih baik. wikipedia. .pdf Diakses 15 Oktober 2010.Daftar Pustaka http://id.org/wiki/Multiprocessing Diakses 15 Oktober 2010.com/catalog/9780596514549/figs/I_mediaobject12_d1e21060.png Diakses 15 Oktober 2010. http://www.telkomspeedy. http://opensource.com/repo/abba/v06/Kuliah/SistemOperasi/2008/240/15Penjadwalan_Prosesor_Jamak.oreilly. . 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 .
Copyright © 2024 DOKUMEN.SITE Inc.