1. Multi Processor
Pengertian Multi Processor
Multiprocessor merupakan sistem komputer dengan dua atau lebih CPU identik yang membagi akses secara penuh kepada common RAM (Shared Memory Multiprocessor). Alasan utama untuk penggunaaan sistem multiprocessor adalah membangun komputer yang tangguh untuk meningkatkan kinerja dengan menggunakan pemrosesan pararel . Cara kerja Multiprocessor adalah menjalankan dua atau lebih intruksi secara serentak dengan menggunakan sejumlah CPU dalam sebuah komputer . Dengan pendekatan seperti ini , Sistem operasi dapat mengatur agar sejumlah CPU menjalankan intruksi – intruksi yang berbeda dan terletak dalam sebuah program dalam waktu yang sama .
Karakteristik dalam Multiprocessor yaitu :
1) Mengandung dua atau lebih processor general purpose yang memiliki kemampuan yang setara.
2) Semua processor memiliki akses bersama ke memori global.
3) Semua processor memiliki akses bersama ke perangkat I/O , baik melalui saluran yang sama atau memilih saluran yang berbeda yang menyediakan lintasan ke perangkat yang sama
Gambar1. di atas menunjukan ada 2 buah chip yang terdapat pada sebuah sistem komputer Dengan sistem seperti ini sebuah sistem operasi dapat mengatur agar sejumlah CPU menjalankan instruksi-instruksi yang berbeda yang terletak dalam sebuah program dalam waktu yang sama. Alur kerja Multiprocessor dapat dilihat di (gambar 2)
Gambar 2 Arsitektur Multiprocessor
Sistem multi prosessor yang sering digunakan adalah model, Symmetric Multiprocessing dimana setiap prosessor menjalankan sistem operasi yang identik dan komunikasi antar prosesor jika diperlukan. Beberapa sistem menggunakan Asymmetic Multiprocessing, dimana setiap prosessor mempunyai tugas tetentu. Prosessor master mengontrol sistem, prosessor lain menunggu instruksi master atau mempunyai tugas yang ditentukan oleh master. Skema ini merupakan hubungan master-slave. Prosessor master menjadwal dan mengalokasikan pekerjaan dari prosessor slave.
Permasalahan dalam Multiprocessor scheduling :
1) Load Sharing , Dapat terjadi apabila proses yang jalan disuatu prosessor overload sehingga bagian proses berpindah ke prosessor lainnya.
2) Time Sharing , Masing – masing proses akan dijalankan bila terdapat CPU yang telat menyelesaikan pekerjaannya.
3) Space Sharing , Multiple thread dalam waktu yang sama masuk ke multiple CPU
4) Gang Scheduling , Semua thread berasal dari proses yang running pada suatu waktu.
Penginjinan akses langsung dan independen pada modul memory oleh setiap processor
Kebutuhan logic untuk pemecahan Konflik
Sedikit modifikasi ke processor atau modul yang dibutuhkan. Tiga model shared memory Multiprocessor , yaitu :
Uniform Memory Access (UMA).
Uniform Memory Access ( UMA ) adalah arsitektur yang digunakan di paralel bersama memori komputer .Semua prosesor di uma model berbagi memori fisik seragam . akses waktu untuk sebuah lokasi memori independen dari prosesor yang membuat permintaan atau memori chip berisi data ditransfer .memori akses komputer arsitektur yang seringkali kontras dengan memori non-uniform akses ( NUMA ) arsitektur yang .Di uma arsitektur setiap prosesor dapat menggunakan private cache. model Uniform Memory Access (UMA) yang cocok untuk tujuan umum dan waktu berbagi aplikasi oleh beberapa pengguna. Itu dapat digunakan untuk mempercepat eksekusi dari sebuah program dalam waktu kritis tunggal yang besar aplikasi.
Jenis Arsitektur Uniform Memory Access (UMA)
1. UMA using bus-based Symmetric Multiprocessor (SMP) architectures.
2.
UMA using crossbar switches.Gambar 3 Arsitektur Uniform Memory Access (UMA)
Pada gambar 3 . bahwa terlihat memori dibagi secara merata ke semua processor Semua Processor mempunyai waktu akses yang sama ke semua word memori. Setiap Processor menggunakan private cache , dan UMA dapat digunakan untuk meningkatkan kecepatan eksekusi dari program tunggal yang besar pada aplikasi time-critical.
No Nuniform Memory Access (NUMA).
Non-Uniform Memory Access atau Non-Uniform Memory Arsitektur (NUMA) adalah Sebuah metode mengkonfigurasi sekelompok mikroprosesor dalam sistem multiprocessing sehingga mereka dapat berkomunikasi satu sama lain, ini meningkatkan kinerja dan kemampuan ekspansi.
.
Gambar 4 Arsitektur No Nuniform Memory Access (NUMA)
akses memory, dimana yang tercepat adalah akses ke lokal memori, akses ke global memori dan yang paling lambat adalah akses dari memory yang jauh (Hierarchical Cluster Model )
Cache Only Memory Architecture (COMA).
Cache Only Memory Architecture (COMA) adalah multiprosesor yang hanya menggunakan cache memory. COMA dapat ditemukan pada NUMA machines, dimana pendistribusian main memori dirubah ke cache. Disini tidak ada hirarki memori pada setiap node komputer. Semua cache berasal dari ruang alamat global. seperti yang ditunjuk pada (gambar 5) Akses ke cache yang jauh dibantu oleh direktor cache yang didistribusikan. Tergantung kepada interkoneksi jaringan yang digunakan, terkadang direktori digunakan untuk membantu penempatan kopian dari blok - blok cache.
Gambar 5 Arsitektur Cache only Memory Architecture (COMA)
Keunggulan Multi Processor
b. Economy of scale (ekonomis), ekonomis dalam devices yang dibagi bersama sama. Prosesorprosesor terdapat dalam satu komputer dan dapat membagi peripheral (ekonomis) seperti disk dan catu daya listrik.
c. Peningkatan kehandalan (reliabilitas), Jika satu prossor mengalami suatu gangguan, maka proses yang terjadi masih dapat berjalan dengan baik karena tugas prosesor yang terganggu diambil alih oleh prosesor lain. Hal ini dikenal dengan istilah Graceful Degradation. Sistemnya sendiri dikenal bersifat fault tolerant atau failoft system.
Kekurangan Multiprocessor a. Kebutuhan arusnya yang melebar b. Membutuhkan banyak daya c. Adanya waktu tunda
d. waktu naik semakin lambat karna adanya waktu tunda.
Jenis – Jenis Multiprocessor
Multiprocessing dapat deibedakan dalam beberapa kelas , yaitu :
1) Berdasarkan simetry , multiprocessing dapat dibagi ke dalam : a) Asymmetric Multiprocessing (ASMP)
Gambar 6 Asymmetric Multiprocessor (ASMP)
Pada gambar 6 pada metode ini satu prosesor bertindak sebagai master dan prosesor lainnya sebagai slave. Metode ini sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing. topologi yang digunakan adalah topologi bus . Sebagai contohnya prosesor master memilih proses yang akan dieksekusi, kemudian mencari prosesor yang available, dan memberikan instruksi start processor. Prosesor slave memulai eksekusi pada lokasi memori yang dituju. Saat slave mengalami sebuah kondisi tertentu, prosesor slave memberi interupsi kepada prosesor master dan berhenti untuk menunggu perintah selanjutnya. prosesor slave yang berbeda dapat ditujukan untuk suatu proses yang sama pada waktu yang berbeda. Master processor dapat mengeksekusi OS dan menangani I/O, sedangkan sisanya processor tidak punya kemampuan I/O dan disebut sebagai Attached Processor (Aps). APs mengeksekusi kodekode user dibawah pengawasan master processor.
b) Symmentric Multiprocessing (SMP)
operasi dapat berjalan pada prosesor manapun dan kemungkinan terjadinya error dan hambatan pada CPU akan berkurang.
Gambar 7 Symmetric Multiprocessor (SMP)
c) Cluster
Cluster merupakan suatu interkoneksi sistem komputer multi yang independen yang dioprasikan seperti sebuah sistem tunggal dalam suatu kerjasama / kolaborasi . Cara ini menggantikan sistem multiprocessor dimana processor – processor jamak berada dalam suatu sistem komputer tunggal . Setiap simpul (simpul) dalam suatu cluster dapat juga bekerja secara independen. Cluster menyediakan keuntungan dari sebuah mikroprocessor
Berdasarkan jumlah instruksi dan datanya , dapat dibagi ke dalam :
a) SISD (Single Instruction on Single Data Stream)
Gambar 8 Diagram SSID
Terlihat pada gambar 8 bahwa instruksi dilakukan secara berurutan dari Control Unit (CU) dan Instruction Stream (IS) masuk ke Processor Unit (PU) kemudian Data Stream (DS) dikirim ke Memory Modul (MM) dari Memory Modul juga bisa di feedcak ke processor unit , tetapi juga overlap dalam tahapan eksekusi dan satu alur instruksi didecode untuk alur data tunggal .
b) SIMD (Single Instruction on Multiple Data Stream)
Sebuah mesin tunggal instruksi mengontrol eksekusi simultan dari sejumlah elemen pengolahan pada dasar berbaris. Setiap elemen pemrosesan memiliki memori data yang terkait, sehingga bahwa setiap instruksi dieksekusi pada satu set data yang berbeda oleh berbagai prosesor. Array prosesor vektor dan termasuk dalam kategori ini dilihat (pada gambar 9) cara kerja sistem SIMD Single Instruction on Multiple Data Stream adalah :
Beberapa Processor Unit (Processing Element) disupervisi oleh Control Unit yang sama.
Semua Processing Element menerima instruksi yang sama dari control unit tetapi mengeksekusi data yang berbeda dari alur data yang berbeda pula.
Gambar 9 Diagram SIMD
c) MISD(Multiple Instruction on Single Data Stream)
Sebuah urutan data ditransmisikan ke satu set prosesor, masing-masing melaksanakan instruksi yang berbeda urutan. (pada gambar 10). cara kerja sistem MISD (Multiple Instruction on single Data Stream ) Sejumlah PU (processor unit ), masing-masing menerima instruksi yang berbeda dan mengoperasikan data yang sama. Output salah satu prosesor menjadi input bagi prosesor berikutnya.
d) MIMD(Multiple Instruction on Multiple Data Stream)
Merupakan Satu set prosesor secara simultan mengeksekusi urutan instruksi yang berbeda pada set data yang berbeda
Gambar 11 Arsitektur Sistem MIMD
Pada gambar 11 . Sejumlah prosesor secara simultan mengeksekusi rangkaian instruksi yang berbeda pada kumpulan data yang berbeda yang berbeda pula.
Berdasarkan Kedekatan antar prosessor dapat dibagi ke dalam: a) Loosely Coupled
Mendistribusikan komputasi diantara beberapa prosessor. Prosessor berkomunikasi dengan prosessor lain melalui saluran komunikasi, misalnya bus kecepatan tinggi atau saluran telepon. Sistem ini disebut loosely coupled system atau sistem terdistribusi (distributed system) dengan menggunakan memory local atau multi komputer. Setiap site memiliki processor, memori lokal dan clock sendiri namun semua resource dapat diakses dari setiap site. Proses yang dijalankan pada komputer yang berbeda modul saling berkomunikasi dengan bertukar pesan melalui Message Transfer System (MTS).
Tight coupling di antara window adalah konsep antarmuka yang mendukung koordinasi secara global atau multi processor. Prosesor berkomunikasi antara satu dengan yang lain dengan cara berbagi memori utama, 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.
2. MultiCore Processor
Pengertian Multicore ProcessorGambar 12 Bnetuk fisik MultiCore Processor
Gambar 13 Arsitektur MultiCore Processor
Keuntungan Multicore Processor
1. Meningkatkan performa dari operasi cache snoop (bus snooping). Bus snooping adalah suatu teknik yang digunakan dalam sistem pembagian memori terdistribusi danmultiprocessor yang ditujukan untuk mendapatkan koherensi pada cache. Hal ini dikarenakan sinyal antara CPU yang berbeda mengalir pada jarak yang lebih dekat, sehingga kekuatan sinyal hanya berkurang sedikit. Sinyal dengan kualitas baik ini memungkinkan lebih banyak data yang dikirimkan dalam satu periode waktu dan tidak perlu sering di-repeat.
3. Prosesor dual-core menggunakan sumber daya lebih kecil dibanding prosesor multicore untuk meningkatkan performa aplikasi juga bergantung pada penggunaan banyaknya thread dalam aplikasi tersebut.
2. Dari sudut pandang arsitektur, pemanfaatan daerah permukaan silikon dari desain single-core lebih baik daripada desain multicore.
3. Pengembangan chip multicore membuat produksinya menjadi menurun karena semakin sulitnya pengaturan suhu pada chip yang padat.
Fungsi Multicore Processor
Untuk memproses data yang diterima dari masukka (input), seterusnya akan menghasilkan keluaran (output). Semasa kerja memproses data tersebut, processor juga akan senantiasa berhubungan dengan komponen komputer yang lain, terutamanya hard disk dan RAM. digambarkan sebagai “otak” kepada komputer dimana setiap data akan melalui processor bagi menghasilkan keluaran (output) yang sepautnya. Sesuai dengan fungsinya, ia juga dikenal sebagai CPU. Apabila processor tidak berfungsi, maka komponen – komponenkomputer yang lain juga tidak dapat berfungsi.
Keuntungan software dari arsitektur multicore adalah kode-kode dapat dieksekusi secara paralel. Dalam sistem operasi, kode-kode tersebut dieksekusi dalam thread-thread atau proses-proses yang terpisah. Setiap aplikasi pada sistem berjalan pada prosesnya sendiri sehingga aplikasi paralel akan mendapatkan keuntungan dari arsitektur multicore. Setiap aplikasi harus tertulis secara spesifik untuk memaksimalkan penggunaan dari banyak thread.
Banyak aplikasi software tidak dituliskan dengan menggunakan thread-thread yang concurrent karena kesulitan dalam pembuatannya. Concurrency memegang peranan utama dalam aplikasi paralel yang sebenarnya.
Langkah-langkah dalam mendesain aplikasi paralel adalah sebagai berikut:
Partitioning Tahap desain ini dimaksudkan untuk membuka peluang awal pengeksekusian secara paralel. Fokus dari tahap ini adalah mempartisi sejumlah besar tugas dalam ukuran kecil dengan tujuan menguraikan suatu masalah menjadi butiran-butiran kecil.
Communication Tugas-tugas yang telah terpartisi diharapkan dapat langsung dieksekusi secara paralel tapi tidak bisa, karena pada umumnya eksekusi berjalan secara independen. Pelaksanaan komputasi dalam satu tugas membutuhkan asosiasi data antara masing-masing tugas. Data kemudian harus berpindah-pindah antar tugas dalam melangsungkan komputasi. Aliran informasi inilah yang dispesifikasi dalam fase communication.
Mapping Dalam tahap yang keempat dan terakhir ini, kita menspesifikasi dimana setiap tugas akan dieksekusi. Masalah mapping ini tidak muncul pada uniprocessor yang menyediakan penjadwalan tugas.
Desain prosesor mendapat tambahan eksekusi sumber daya untuk mendukung beberapa instruksi pelaksana secara paralel .dua program dapat menjalankan secara serentak pada pemroses tanpa harus menukar masuk dan keluar ( lihat gambar 14 . ) Untuk mendorong untuk mengenali satu sistem kerja prosesor , chip yang baru diciptakan untuk muncul sebagai dua prosesor.
Gambar 14 Konsep Parallel thread pada Multicore Processor
Gambar 15 Konsep Thread di pecah di setiap core
Pada Gambar 15 . Memiliki lebih dari satu eksekusi core prosesor multi-core pada satu chip, setiap inti kan memiliki eksekusi pipeline .Dan setiap inti telah sumber dayayang dibutuhkan untuk tanpa menghalangi sumber daya yang dibutuhkan oleh thread pada perangkat lunak yang lain .Sedangkan, tidak ada pembatasan melekat dalam jumlah dari core yang dapat ditempatkan pada satu chip .Mainframe lebih dari dua ini menggunakan prosesor core . multi-core desain memungkinkan dua atau lebih core untuk berjalan pada kecepatan agak lebih lambat . Gabungan dari throughput core ini memberikan kekuatan pemrosesan lebih besar dari nilai maksimal yang tersedia di prosesor single-core hari ini dan pada suatu tingkat konsumsi daya lebih rendah.
Kesimpulan
No
Multiprocessor
MulticoreProcessor
1.
Multiprocessor merupakan sistem komputer dengan dua atau lebih CPU identik yang membagi akses secara penuh kepada commonRAM (Shared Memory
Multiprocessor)
Multicore processor adalah sebuah CPU yang memiliki lebih dari sebuah core
2.
Keuntungan :1. Peningkatan throughput
Keuntungan :
2. Economy of scale (ekonomis)
3. Prosesor dual-core menggunak an sumber daya lebih kecil
dibanding sepasang
prosesor dual-core
4. Desain multicore memiliki resiko design error yang lebih
kepada software yang ada
untuk memaksimalkan
kegunaan dari sumbe rdaya komputasi yang disediakan oleh prosesor multicore.
2. Dari sudut pandang arsitektur
3. Pengembangan chip multicore
4.
Fungsi :diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya. Yang meningkat adalah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.
komponen komputer yang lain, terutamanya hard disk dan RAM.
5.
Bertugas untuk server dengan kemampuan komputasi tinggi .DAFTAR PUSTAKA
Ir Syahrul. 2010.Organisasi dan arsitektur Komputer. Yogyakarta : Andi Yogyakarta, 2010.
[Mardiyeni,Reza] ,
www.slideshare.net/RezaMardiyeni/multiprosesor-multikomputer , Multiprocessor dan Multicomputer , di akses 15 january 2014 : 15:20.
[Parikesit,Dian] , https://www.academia.edu/7547799/Multiprocessor , Multiprocessor, diakses , 15 January 2015 : 15:25.