Multiple Processor Scheduling
Pada penjadwalan multiprocessor ada synchronization granularity, pengertian synchronization granularity sendiri adalah seberapa kerap sinkronisasi proses-proses yang berlangsung didalam prosesor-prosesor.
Didalam computer dual-core, prosesornya dua. didalam sistem multi prosesor, prosesornya banyak. bagaimana menggerakkan program-program pengguna didalam computer multiprosesor ? bagaimana bila programnya sendiri terdiri dari sebagian thread ? ada empat pendekatan didalam problem tersebut yang bisa dipilih :
Load Sharing
pengertian load bsharing yang artinya sharing beban, seluruh program diantrikan didalam antrian, prosesor yang menganggur dapat mengambil antrian paling depan serta menjalankannya.
Gang Scheduling
pengertian gang scheduling sendiri adalah thread yang saling berkenaan diantrikan pada sekumpulan prosesor pada waktu yang sama, satu thread satu prosesor.
Dedicated Prosesor Assignment,
pengertian dedicated processor assigment yakni pada sesuatu program diberikan sebanyak prosesor sejumlah thread yang ada didalam program itu.
Dynamic Scheduling,
dynamic scheduling yaitu jumlah thread yang diaktifkan dari satu program yang bisa diubah-ubah.
ada juga pendekatan yang lain, pendekatan yang lain adalah pendekatan load berbagi, apa itu pendekatan load berbagi ? di bawah ini adalah pendekatan load berbagi :
First Come First Served ( FCFS )
pengertian first come first served atau pengertian fcfs sendri adalah thread-thread didalam antrian bersam. prosesor menganggur dapat memanggil thread paling depan.
Smallest Number of Threads First
pengertian smallest number of threads first yaitu ada antrian cocok prioritas-prioritas paling tinggi diberikan pada program dengan jumlah thread terkecil.
Tersebut adalah dari pengertian penjadwalan multiprocessor serta beberpa pendekatan-pendekatan yang berlangsung atau yang ada pada penjadwalan multiprocessor yang dibarengi dengan definisi serta manfaat pendekatan panjadwalan multiprocessor.
Kelebihan Multiprocessor
a. Peningkatan throughput, karena lebih banyak proses/thread yang berjalan dalam satu waktu sekaligus (jika proses yang antri di ready queue sedikit). Perlu diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya. Yang meningkat adalah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.
b. Economy of sale (ekonomis), ekonomis dalam devices yang dibagi bersama-sama. Prosesor-prosesor terdapat dalam satu komputer dan dapat membagi peripheral (ekonomis) seperti disk dan catu daya listrik.
c. Peningkatan kehandalan (reliabilitas), jika satu prosesor 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.
Jenis – jenis Multiprocessor
Multiprocessing dapat dibagi ke dalam beberapa kelas, yakni:
Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam
Asymmetric Multiprocessing (AMP)
Pendekatan pertama untuk Multiprocessor Scheduling adalah asymmetric multiprocessingScheduling atau biasa disebut juga sebagai penjadwalan Master Slave MultiProcessor. Dimana pada metode ini satu prosesor bertindak sebagai master dan prosesor lainnya sebagai slave. Master Processor bertugas untuk menjadualkan dan mengalokasikan proses yang akan dijalankan oleh Slave Processors. Master Processor melakukan pekerjaan yang berhubungan dengan System, Slave Processor melayani user requests dalam pengeksekusian program. Pemrosesan yang banyak tidak menyebabkan penurunan performance.
Metode ini sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing. Sebagai contoh, 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. Perlu diketahui bahwa 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.
Pada Komputer stand alone dengan karakteristik berikut (William Stallings):
• Dua atau lebih processor yang sama dengan kapasitas yang sebanding
• Processor membagi I/O dan memory yang sama
• Processor terkoneksi oleh bus atau koneksi internal lainya
• Waktu akses moemory kira-kira sama pada setiap processor
• Seluruh processor membagi akses I/O baik pada chanel yang sama maupun berbeda dengan memberikan path ke device yang sama
• Seluruh Processor mengerjakan fungsi yang sama (hence symetric)
• Sistem dikontrol oleh OS yang terintegrasi menyediakan interaksi antara processor atau interaksi terjadi pada job, task, file, data pada level-level elemen.
• SMP merupakan Tightly Coupled System
• Mempunyai lebih dari satu prosesor
• Dapat berkomunikasi
• Membagi bus, clock, perangkat memory, dan peripheral.
• Setiap prosesor menjalankan sistem operasi yang identik dan komunikasi antar prosesor jika diperlukan
Dalam Klasifikasi Organisasi Symmetric Multiprocessor
Time-shared atau Common Bus
• Prosesor dapat berkomunikasi dengan prosesor lainnya melalui memori
• Time shared bus adalah mekanisme simpel untuk membangun sistem multi-processor, struktur dan inteface sama pada single processor yaitu penggunaan bus interconnection
Fitur
• Pengalamatan (Addressing) = Membedakan module untuk mengalokasikan data dari sumber ke tujuan
• Artbitrasi (Artbitration) = Mekanisme penyediaan permintaan acak -lebih penting didahulukan- untuk kontrol bus dengan skema prioritas
• Time Sharing = Jika satu mudule berada di bus, yang lain harus menunggu dan bisa juga di tunda operasinya.
Keuntungannya Time-shared Bus
• Simplicity = Fisik interface, addressing, arbitration, dan time –sharing logic tiap processor sama seperti sistem single processor
• Flexibility = mudah ekspansi sistem dengan menyisipkan beberapa processor ke dalam bus
• Reliability = kesalahan pada penyisipan device tidak mengakibatkan kegagalan pada seluruh sistem
Kerugian Time-shared Bus
• Performa terbatas pada bus cycle time
• Setiap processor harus memiliki local chace
• Mengurangi beberapa akses bus
• Masalah Pada “chace coherence” (dijelaskan nanti)
Multiport Memory
• Pengijinan akses langsung, dan independen pada modul memory oleh setiap processor
Central Control Unit
• Pembagian data stream antara independent modul seperti; processor, memory, I/O.
• Dapat melakukan buffer pada permintaan
• Melakukan arbitrasi dan penjadwalan
• Melakukan status dan kontrol
• Melakukan cache update alerting
• Contoh. IBM S/390
Operating system untuk SMP (Simultaneous Concurrent Processes)
Manajemen eksekusi IS code yang sama secara simultan pada OS routine
• Scheduling = Melakukan Penjadwalan untuk menghindari conflict
• Synchronization = Sinkronisasi yang efektif pada shared address/ shared I/O
• Memory management = Pengaturan memory yang akurat pada multiport
• Reliability and fault tolerance = Pengenalan kesalahan pada processor
Mainframe SMP pada IBM S/390
• Processor unit (PU) terdiri dari : CISC microprocessor, Frequently used instructions hard wired, 64k L1 unified cache with 1 cycle access time
• L2 cache : 384k
• Bus switching network adapter (BSN) : Includes 2M of L3 cache, Memory card, 8G per card
Directory Protocol
• Mengumpukan dan merawat informasi tentang copian data pada cache
• Directory tersimpan pada memory
• Permintaan di cek oleh directory
• Pelaksanaan transfer yang lebih penting dahulu
• Pembuatan sentral bottleneck
• Efektif pada sistem skala besar dengan interkoneksi skema yang kompleks
Lock digunakan untuk proses sinkronisasi, apabila ada 2 atau lebih proses yang ingin mengakses alamat memori yang sama dan mengubah shared memory. Dalam skema tersebut, salah satu penjadwalan akan digunakan. Salah satu cara menggunakan symmetric multiprocessing (SMP). Dimana setiap prosesor menjadwalkan diri sendiri. Setiap prosesor memeriksa ready queue dan memilih proses yang akan dieksekusi.
Dalam sistem multiprocessing, semua CPU mungkin sama, atau beberapa mungkin disediakan untuk tujuan khusus. Sebuah kombinasi antara perangkat lunak perangkat keras dan pertimbangan desain sistem operasi menentukan simetri (atau kekurangan daripadanya) dalam sistem tertentu. Sebagai contoh, perangkat keras atau perangkat lunak mungkin memerlukan pertimbangan
bahwa hanya satu CPU menanggapi semua hardware interrupts, sedangkan semua pekerjaan lain dalam sistem boleh didistribusikan merata antara CPU, atau eksekusi kode kernel-mode dapat dibatasi hanya satu prosesor (baik prosesor tertentu, atau hanya satu prosesor pada satu waktu), sedangkan kode pengguna-mode mungkin dijalankan dalam setiap kombinasi prosesor.
Jika suatu pekerjaan bisa diorganisasikan, maka porsi yang sama pada sebuah pekerjaan bisa dilakukan secara paralel, sehingga sistem dengan multiple processor akan menunjukan performa yang tingggi dibandingkan single processor (William Stallings)
Sistem Multiprocessing sering lebih mudah untuk merancang jika larangan tersebut diberlakukan, tetapi mereka cenderung kurang efisien dibandingkan dengan sistem di mana semua CPU yang digunakan.
Sistem yang memperlakukan semua CPU sama disebut multiprocessing simetris (SMP) sistem. Dalam sistem dimana semua CPU yang tidak sama, sumber daya sistem dapat dibagi dalam beberapa cara, termasuk asymmetric multiprocessing (AMP), non-seragam akses memori (NUMA) multiprocessing, dan berkelompok multiprocessing.
Permasalahan pada Multiprocessor Scheduling
1) Load sharing : dapat terjadi apabila proses yang jalan di satu prosesor overload sehingga sebagian proses berpindah ke prosesor yang lain
2) Time Sharing : masing – masing proses akan dijalankan bila terdapat CPU yang telah menyelesaikan job nya
3) Space Sharing: multiple threads dalam waktu yang sama masuk ke multiple CPUs
4) Gang scheduling: semua thread berasal dari proses yang running pada suatu waktu
Non-Uniform Memory Access (NUMA) Multiprocessing
Non-Uniform Memory Access atau Non-Uniform Memory Arsitektur (NUMA) adalah memori komputer Rancangan yang digunakan dalam multiprocessors , dimana waktu akses memori tergantung pada lokasi memori relatif terhadap prosesor. Under NUMA, Dalam NUMA, prosesor atau NUMA multiprocessor adalah sebuah sistem shared memory dimana waktu aksesnya bervariasi ke lokasi memori wor:
• NUMA dapat mengakses lokal memori lebih cepat dengan local process, sedangkan akses ke memori yang jauh diberikan ke process lain yang kapasistasnya lebih besar untuk ditambah delay melalui interconeksi jaringan (BBN Butterfly).
• Disamping distribusi memori, secara umum shared memory dapat ditambahkan ke multiprocessor system, dalam hal ini ada tiga pola 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 )
Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam (lihatTaksonomi Flynn)
SISD (Single Instruction on Single Data Stream)
Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
• Satu prosesor
• Satu instruksi stream
• Data disimpan di satu memori
• Disebut Uni-processor
SIMD (Single Instruction on Multiple Data Stream)
Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
• 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)
Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
• Satu Aliran Instruksi
• Banyak Aliran Data
• Belum dapat diimplementasikan dengan baik
• MIMD (Multiple Instruction on Multiple Data Stream)
Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/
• Terdiri dari sejumlah set prosesor
• Terdiri dari sejumlah set data yang berbeda
• Secara simultan mengeksekusi urutan instruksi yang berbeda
Sifat komputer MIMD:
• Mendistribusikan pemrosesan ke sejumlah prosesor independen.
• Membagikan sumber termasuk memori utama ke prosesor independen.
• Setiap prosesor menjalankan programnya sendiri.
• Setiap prosesor berfungsi secara independen dan bersama-sama.
Berdasarkan kedekatan antar prosesor, dapat dibagi ke dalam
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).
Thightly Coupled
• 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.
Kesimpulan
Multiprocessing adalah penggunaan dua atau lebih unit pengolahan pusat (CPU) dalam satu sistem komputer. Hal ini berarti kemampuan sistem untuk mendukung lebih dari satu prosesor dan/atau kemampuan untuk mengalokasikan tugas antara mereka.
Keuntungan multiprocessing antara lain :
a) Dapat meningkatkan throughput, maksudnya adalah peningkatan jumlah pekerjaan yang dapat dilakukan dalam waktu tertentu;
b) Lebih ekonomis, maksudnya adalah dibandingkan sebuah sistem dengan banyak prosesor tunggal, metode multiprocessing dapat mengoptimalkan alokasi hardware seperti memori, storage, dan power supply (hal ini dikarenakan dapat di shared);
c) Dapat meningkatkan performa/kehandalan, hal ini dikarenakan jika pekerjaan (instruksi) terbagi secara merata, maka kegagalan salah satu prosesor bisa ditanggulangi oleh prosesor-prosesor yang lain
Pada penjadwalan multiprocessor ada synchronization granularity, pengertian synchronization granularity sendiri adalah seberapa kerap sinkronisasi proses-proses yang berlangsung didalam prosesor-prosesor.
Didalam computer dual-core, prosesornya dua. didalam sistem multi prosesor, prosesornya banyak. bagaimana menggerakkan program-program pengguna didalam computer multiprosesor ? bagaimana bila programnya sendiri terdiri dari sebagian thread ? ada empat pendekatan didalam problem tersebut yang bisa dipilih :
Load Sharing
pengertian load bsharing yang artinya sharing beban, seluruh program diantrikan didalam antrian, prosesor yang menganggur dapat mengambil antrian paling depan serta menjalankannya.
Gang Scheduling
pengertian gang scheduling sendiri adalah thread yang saling berkenaan diantrikan pada sekumpulan prosesor pada waktu yang sama, satu thread satu prosesor.
Dedicated Prosesor Assignment,
pengertian dedicated processor assigment yakni pada sesuatu program diberikan sebanyak prosesor sejumlah thread yang ada didalam program itu.
Dynamic Scheduling,
dynamic scheduling yaitu jumlah thread yang diaktifkan dari satu program yang bisa diubah-ubah.
ada juga pendekatan yang lain, pendekatan yang lain adalah pendekatan load berbagi, apa itu pendekatan load berbagi ? di bawah ini adalah pendekatan load berbagi :
First Come First Served ( FCFS )
pengertian first come first served atau pengertian fcfs sendri adalah thread-thread didalam antrian bersam. prosesor menganggur dapat memanggil thread paling depan.
Smallest Number of Threads First
pengertian smallest number of threads first yaitu ada antrian cocok prioritas-prioritas paling tinggi diberikan pada program dengan jumlah thread terkecil.
Tersebut adalah dari pengertian penjadwalan multiprocessor serta beberpa pendekatan-pendekatan yang berlangsung atau yang ada pada penjadwalan multiprocessor yang dibarengi dengan definisi serta manfaat pendekatan panjadwalan multiprocessor.
Kelebihan Multiprocessor
a. Peningkatan throughput, karena lebih banyak proses/thread yang berjalan dalam satu waktu sekaligus (jika proses yang antri di ready queue sedikit). Perlu diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya. Yang meningkat adalah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.
b. Economy of sale (ekonomis), ekonomis dalam devices yang dibagi bersama-sama. Prosesor-prosesor terdapat dalam satu komputer dan dapat membagi peripheral (ekonomis) seperti disk dan catu daya listrik.
c. Peningkatan kehandalan (reliabilitas), jika satu prosesor 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.
Jenis – jenis Multiprocessor
Multiprocessing dapat dibagi ke dalam beberapa kelas, yakni:
Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam
Asymmetric Multiprocessing (AMP)
Pendekatan pertama untuk Multiprocessor Scheduling adalah asymmetric multiprocessingScheduling atau biasa disebut juga sebagai penjadwalan Master Slave MultiProcessor. Dimana pada metode ini satu prosesor bertindak sebagai master dan prosesor lainnya sebagai slave. Master Processor bertugas untuk menjadualkan dan mengalokasikan proses yang akan dijalankan oleh Slave Processors. Master Processor melakukan pekerjaan yang berhubungan dengan System, Slave Processor melayani user requests dalam pengeksekusian program. Pemrosesan yang banyak tidak menyebabkan penurunan performance.
Metode ini sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing. Sebagai contoh, 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. Perlu diketahui bahwa 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.
Pada Komputer stand alone dengan karakteristik berikut (William Stallings):
• Dua atau lebih processor yang sama dengan kapasitas yang sebanding
• Processor membagi I/O dan memory yang sama
• Processor terkoneksi oleh bus atau koneksi internal lainya
• Waktu akses moemory kira-kira sama pada setiap processor
• Seluruh processor membagi akses I/O baik pada chanel yang sama maupun berbeda dengan memberikan path ke device yang sama
• Seluruh Processor mengerjakan fungsi yang sama (hence symetric)
• Sistem dikontrol oleh OS yang terintegrasi menyediakan interaksi antara processor atau interaksi terjadi pada job, task, file, data pada level-level elemen.
• SMP merupakan Tightly Coupled System
• Mempunyai lebih dari satu prosesor
• Dapat berkomunikasi
• Membagi bus, clock, perangkat memory, dan peripheral.
• Setiap prosesor menjalankan sistem operasi yang identik dan komunikasi antar prosesor jika diperlukan
Dalam Klasifikasi Organisasi Symmetric Multiprocessor
Time-shared atau Common Bus
• Prosesor dapat berkomunikasi dengan prosesor lainnya melalui memori
• Time shared bus adalah mekanisme simpel untuk membangun sistem multi-processor, struktur dan inteface sama pada single processor yaitu penggunaan bus interconnection
Fitur
• Pengalamatan (Addressing) = Membedakan module untuk mengalokasikan data dari sumber ke tujuan
• Artbitrasi (Artbitration) = Mekanisme penyediaan permintaan acak -lebih penting didahulukan- untuk kontrol bus dengan skema prioritas
• Time Sharing = Jika satu mudule berada di bus, yang lain harus menunggu dan bisa juga di tunda operasinya.
Keuntungannya Time-shared Bus
• Simplicity = Fisik interface, addressing, arbitration, dan time –sharing logic tiap processor sama seperti sistem single processor
• Flexibility = mudah ekspansi sistem dengan menyisipkan beberapa processor ke dalam bus
• Reliability = kesalahan pada penyisipan device tidak mengakibatkan kegagalan pada seluruh sistem
Kerugian Time-shared Bus
• Performa terbatas pada bus cycle time
• Setiap processor harus memiliki local chace
• Mengurangi beberapa akses bus
• Masalah Pada “chace coherence” (dijelaskan nanti)
Multiport Memory
• Pengijinan akses langsung, dan independen pada modul memory oleh setiap processor
Central Control Unit
• Pembagian data stream antara independent modul seperti; processor, memory, I/O.
• Dapat melakukan buffer pada permintaan
• Melakukan arbitrasi dan penjadwalan
• Melakukan status dan kontrol
• Melakukan cache update alerting
• Contoh. IBM S/390
Operating system untuk SMP (Simultaneous Concurrent Processes)
Manajemen eksekusi IS code yang sama secara simultan pada OS routine
• Scheduling = Melakukan Penjadwalan untuk menghindari conflict
• Synchronization = Sinkronisasi yang efektif pada shared address/ shared I/O
• Memory management = Pengaturan memory yang akurat pada multiport
• Reliability and fault tolerance = Pengenalan kesalahan pada processor
Mainframe SMP pada IBM S/390
• Processor unit (PU) terdiri dari : CISC microprocessor, Frequently used instructions hard wired, 64k L1 unified cache with 1 cycle access time
• L2 cache : 384k
• Bus switching network adapter (BSN) : Includes 2M of L3 cache, Memory card, 8G per card
Directory Protocol
• Mengumpukan dan merawat informasi tentang copian data pada cache
• Directory tersimpan pada memory
• Permintaan di cek oleh directory
• Pelaksanaan transfer yang lebih penting dahulu
• Pembuatan sentral bottleneck
• Efektif pada sistem skala besar dengan interkoneksi skema yang kompleks
Lock digunakan untuk proses sinkronisasi, apabila ada 2 atau lebih proses yang ingin mengakses alamat memori yang sama dan mengubah shared memory. Dalam skema tersebut, salah satu penjadwalan akan digunakan. Salah satu cara menggunakan symmetric multiprocessing (SMP). Dimana setiap prosesor menjadwalkan diri sendiri. Setiap prosesor memeriksa ready queue dan memilih proses yang akan dieksekusi.
Dalam sistem multiprocessing, semua CPU mungkin sama, atau beberapa mungkin disediakan untuk tujuan khusus. Sebuah kombinasi antara perangkat lunak perangkat keras dan pertimbangan desain sistem operasi menentukan simetri (atau kekurangan daripadanya) dalam sistem tertentu. Sebagai contoh, perangkat keras atau perangkat lunak mungkin memerlukan pertimbangan
bahwa hanya satu CPU menanggapi semua hardware interrupts, sedangkan semua pekerjaan lain dalam sistem boleh didistribusikan merata antara CPU, atau eksekusi kode kernel-mode dapat dibatasi hanya satu prosesor (baik prosesor tertentu, atau hanya satu prosesor pada satu waktu), sedangkan kode pengguna-mode mungkin dijalankan dalam setiap kombinasi prosesor.
Jika suatu pekerjaan bisa diorganisasikan, maka porsi yang sama pada sebuah pekerjaan bisa dilakukan secara paralel, sehingga sistem dengan multiple processor akan menunjukan performa yang tingggi dibandingkan single processor (William Stallings)
Sistem Multiprocessing sering lebih mudah untuk merancang jika larangan tersebut diberlakukan, tetapi mereka cenderung kurang efisien dibandingkan dengan sistem di mana semua CPU yang digunakan.
Sistem yang memperlakukan semua CPU sama disebut multiprocessing simetris (SMP) sistem. Dalam sistem dimana semua CPU yang tidak sama, sumber daya sistem dapat dibagi dalam beberapa cara, termasuk asymmetric multiprocessing (AMP), non-seragam akses memori (NUMA) multiprocessing, dan berkelompok multiprocessing.
Permasalahan pada Multiprocessor Scheduling
1) Load sharing : dapat terjadi apabila proses yang jalan di satu prosesor overload sehingga sebagian proses berpindah ke prosesor yang lain
2) Time Sharing : masing – masing proses akan dijalankan bila terdapat CPU yang telah menyelesaikan job nya
3) Space Sharing: multiple threads dalam waktu yang sama masuk ke multiple CPUs
4) Gang scheduling: semua thread berasal dari proses yang running pada suatu waktu
Non-Uniform Memory Access (NUMA) Multiprocessing
Non-Uniform Memory Access atau Non-Uniform Memory Arsitektur (NUMA) adalah memori komputer Rancangan yang digunakan dalam multiprocessors , dimana waktu akses memori tergantung pada lokasi memori relatif terhadap prosesor. Under NUMA, Dalam NUMA, prosesor atau NUMA multiprocessor adalah sebuah sistem shared memory dimana waktu aksesnya bervariasi ke lokasi memori wor:
• NUMA dapat mengakses lokal memori lebih cepat dengan local process, sedangkan akses ke memori yang jauh diberikan ke process lain yang kapasistasnya lebih besar untuk ditambah delay melalui interconeksi jaringan (BBN Butterfly).
• Disamping distribusi memori, secara umum shared memory dapat ditambahkan ke multiprocessor system, dalam hal ini ada tiga pola 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 )
Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam (lihatTaksonomi Flynn)
SISD (Single Instruction on Single Data Stream)
Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
• Satu prosesor
• Satu instruksi stream
• Data disimpan di satu memori
• Disebut Uni-processor
SIMD (Single Instruction on Multiple Data Stream)
Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
• 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)
Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
• Satu Aliran Instruksi
• Banyak Aliran Data
• Belum dapat diimplementasikan dengan baik
• MIMD (Multiple Instruction on Multiple Data Stream)
Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/
• Terdiri dari sejumlah set prosesor
• Terdiri dari sejumlah set data yang berbeda
• Secara simultan mengeksekusi urutan instruksi yang berbeda
Sifat komputer MIMD:
• Mendistribusikan pemrosesan ke sejumlah prosesor independen.
• Membagikan sumber termasuk memori utama ke prosesor independen.
• Setiap prosesor menjalankan programnya sendiri.
• Setiap prosesor berfungsi secara independen dan bersama-sama.
Berdasarkan kedekatan antar prosesor, dapat dibagi ke dalam
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).
Thightly Coupled
• 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.
loading...
Kesimpulan
Multiprocessing adalah penggunaan dua atau lebih unit pengolahan pusat (CPU) dalam satu sistem komputer. Hal ini berarti kemampuan sistem untuk mendukung lebih dari satu prosesor dan/atau kemampuan untuk mengalokasikan tugas antara mereka.
Keuntungan multiprocessing antara lain :
a) Dapat meningkatkan throughput, maksudnya adalah peningkatan jumlah pekerjaan yang dapat dilakukan dalam waktu tertentu;
b) Lebih ekonomis, maksudnya adalah dibandingkan sebuah sistem dengan banyak prosesor tunggal, metode multiprocessing dapat mengoptimalkan alokasi hardware seperti memori, storage, dan power supply (hal ini dikarenakan dapat di shared);
c) Dapat meningkatkan performa/kehandalan, hal ini dikarenakan jika pekerjaan (instruksi) terbagi secara merata, maka kegagalan salah satu prosesor bisa ditanggulangi oleh prosesor-prosesor yang lain
Sumber : hadisetiyadi.blogspot.co.id