Multiple Processor Scheduling
Pada penjadwalan multiprocessor ada synchronization granularity, pengertian synchronization granularity sendiri ialah 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 jadwal diantrikan didalam antrian, prosesor yang menganggur sanggup mengambil antrian paling depan serta menjalankannya.
Gang Scheduling
pengertian gang scheduling sendiri ialah 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 jadwal diberikan sebanyak prosesor sejumlah thread yang ada didalam jadwal itu.
Dynamic Scheduling,
dynamic scheduling yaitu jumlah thread yang diaktifkan dari satu jadwal yang bisa diubah-ubah.
ada juga pendekatan yang lain, pendekatan yang lain ialah pendekatan load berbagi, apa itu pendekatan load menyebarkan ? di bawah ini ialah pendekatan load menyebarkan :
First Come First Served ( FCFS )
pengertian first come first served atau pengertian fcfs sendri ialah thread-thread didalam antrian bersam. prosesor menganggur sanggup 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 jadwal dengan jumlah thread terkecil.
Tersebut ialah 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, alasannya 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 ialah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.
b. Economy of sale (ekonomis), hemat dalam devices yang dibagi bersama-sama. Prosesor-prosesor terdapat dalam satu komputer dan sanggup membagi peripheral (ekonomis) menyerupai disk dan catu daya listrik.
c. Peningkatan kehandalan (reliabilitas), jikalau satu prosesor mengalami suatu gangguan, maka proses yang terjadi masih sanggup berjalan dengan baik alasannya kiprah 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 sanggup dibagi ke dalam beberapa kelas, yakni:
Berdasarkan simetrinya, multiprocessing sanggup dibagi ke dalam
Asymmetric Multiprocessing (AMP)
Pendekatan pertama untuk Multiprocessor Scheduling ialah 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 melaksanakan pekerjaan yang berafiliasi dengan System, Slave Processor melayani user requests dalam pengeksekusian program. Pemrosesan yang banyak tidak mengakibatkan penurunan performance.
Metode ini sederhana alasannya hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing. Sebagai contoh, prosesor master menentukan proses yang akan dieksekusi, kemudian mencari prosesor yang available, dan menawarkan isyarat start processor. Prosesor slave memulai sanksi 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 sanggup ditujukan untuk suatu proses yang sama pada waktu yang berbeda. Master processor sanggup 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 terusan moemory kira-kira sama pada setiap processor
• Seluruh processor membagi terusan I/O baik pada chanel yang sama maupun berbeda dengan menawarkan 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.
• Sekolah Menengah Pertama 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 jikalau diperlukan
Dalam Klasifikasi Organisasi Symmetric Multiprocessor
Time-shared atau Common Bus
• Prosesor sanggup berkomunikasi dengan prosesor lainnya melalui memori
• Time shared bus ialah prosedur mudah 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 usul acak -lebih penting didahulukan- untuk kontrol bus dengan sketsa 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 menyerupai sistem single processor
• Flexibility = gampang perluasan sistem dengan menyisipkan beberapa processor ke dalam bus
• Reliability = kesalahan pada penyisipan device tidak menimbulkan kegagalan pada seluruh sistem
Kerugian Time-shared Bus
• Performa terbatas pada bus cycle time
• Setiap processor harus mempunyai local chace
• Mengurangi beberapa terusan bus
• Masalah Pada “chace coherence” (dijelaskan nanti)
Multiport Memory
• Pengijinan terusan langsung, dan independen pada modul memory oleh setiap processor
Central Control Unit
• Pembagian data stream antara independent modul seperti; processor, memory, I/O.
• Dapat melaksanakan buffer pada permintaan
• Melakukan arbitrasi dan penjadwalan
• Melakukan status dan kontrol
• Melakukan cache update alerting
• Contoh. IBM S/390
Operating system untuk Sekolah Menengah Pertama (Simultaneous Concurrent Processes)
Manajemen sanksi 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 Sekolah Menengah Pertama 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 isu wacana 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 sketsa yang kompleks
Lock dipakai untuk proses sinkronisasi, apabila ada 2 atau lebih proses yang ingin mengakses alamat memori yang sama dan mengubah shared memory. Dalam sketsa tersebut, salah satu penjadwalan akan digunakan. Salah satu cara memakai symmetric multiprocessing (SMP). Dimana setiap prosesor menjadwalkan diri sendiri. Setiap prosesor mengusut ready queue dan menentukan 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 sanksi kode kernel-mode sanggup 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 mengambarkan performa yang tingggi dibandingkan single processor (William Stallings)
Sistem Multiprocessing sering lebih gampang untuk merancang jikalau 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 sanggup dibagi dalam beberapa cara, termasuk asymmetric multiprocessing (AMP), non-seragam terusan memori (NUMA) multiprocessing, dan berkelompok multiprocessing.
Permasalahan pada Multiprocessor Scheduling
1) Load sharing : sanggup 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 menuntaskan 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) ialah memori komputer Rancangan yang dipakai dalam multiprocessors , dimana waktu terusan memori tergantung pada lokasi memori relatif terhadap prosesor. Under NUMA, Dalam NUMA, prosesor atau NUMA multiprocessor ialah sebuah sistem shared memory dimana waktu aksesnya bervariasi ke lokasi memori wor:
• NUMA sanggup mengakses lokal memori lebih cepat dengan local process, sedangkan terusan 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 sanggup ditambahkan ke multiprocessor system, dalam hal ini ada tiga pola terusan memory, dimana yang tercepat ialah terusan ke lokal memori, terusan ke global memori dan yang paling lambat ialah terusan dari memory yang jauh (Hierarchical Cluster Model )
Berdasarkan jumlah isyarat dan datanya, sanggup dibagi ke dalam (lihatTaksonomi Flynn)
SISD (Single Instruction on Single Data Stream)
Yang merupakan akronim dari Single Instruction, Single Data ialah satu-satunya yang memakai arsitektur Von Neumann. Ini dikarenakan pada model ini hanya dipakai 1 processor saja. Oleh alasannya itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang memakai beberapa processor. Beberapa pola komputer yang memakai model SISD ialah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
• Satu prosesor
• Satu isyarat stream
• Data disimpan di satu memori
• Disebut Uni-processor
SIMD (Single Instruction on Multiple Data Stream)
Yang merupakan akronim dari Single Instruction, Multiple Data. SIMD memakai banyak processor dengan isyarat yang sama, namun setiap processor mengolah data yang berbeda. Sebagai pola kita ingin mencari angka 27 pada formasi angka yang terdiri dari 100 angka, dan kita memakai 5 processor. Pada setiap processor kita memakai algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari formasi / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 hingga urutan 40, begitu pun untuk processor-processor yang lain. Beberapa pola komputer yang memakai model SIMD ialah 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 isyarat dihukum dalam set data yang berbeda oleh proses yang berbeda
MISD (Multiple Instruction on Single Data Stream)
Yang merupakan akronim dari Multiple Instruction, Single Data. MISD memakai banyak processor dengan setiap processor memakai isyarat yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa memakai kasus yang sama pada pola model SIMD namun cara penyelesaian yang berbeda. Pada MISD jikalau pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang dipakai untuk teknik pencariannya berbeda di setiap processor. Sampai dikala ini belum ada komputer yang memakai model MISD.
• Satu Aliran Instruksi
• Banyak Aliran Data
• Belum sanggup diimplementasikan dengan baik
• MIMD (Multiple Instruction on Multiple Data Stream)
Yang merupakan akronim dari Multiple Instruction, Multiple Data. MIMD memakai banyak processor dengan setiap processor mempunyai isyarat yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang memakai model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang memakai model MIMD ialah 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 isyarat 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, sanggup dibagi ke dalam
Loosely Coupled
• Mendistribusikan komputasi diantara beberapa prosessor. Prosessor berkomunikasi dengan prosessor lain melalui saluran komunikasi, contohnya bus kecepatan tinggi atau saluran telepon. Sistem ini disebut loosely coupled system atau sistem terdistribusi (distributed system) dengan memakai memory local atau multi komputer.
• Setiap site mempunyai processor, memori lokal dan clock sendiri namun semua resource sanggup 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 ialah konsep antarmuka yang mendukung koordinasi secara global atau multi processor.
• Prosesor berkomunikasi antara satu dengan yang lain dengan cara menyebarkan 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 ialah 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 kiprah antara mereka.
Keuntungan multiprocessing antara lain :
a) Dapat meningkatkan throughput, maksudnya ialah peningkatan jumlah pekerjaan yang sanggup dilakukan dalam waktu tertentu;
b) Lebih ekonomis, maksudnya ialah dibandingkan sebuah sistem dengan banyak prosesor tunggal, metode multiprocessing sanggup mengoptimalkan alokasi hardware menyerupai memori, storage, dan power supply (hal ini dikarenakan sanggup di shared);
c) Dapat meningkatkan performa/kehandalan, hal ini dikarenakan jikalau pekerjaan (instruksi) terbagi secara merata, maka kegagalan salah satu prosesor bisa ditanggulangi oleh prosesor-prosesor yang lain.
Multiple Processor Scheduling
Reviewed by Raden
on
13.50
Rating: 5