Minggu, 17 April 2016

multi processing


MULTIPROCESSING

 

 

 


 

 

 

 

 

DISUSUN OLEH :

 

                                             YUSUP NUR IKHSAN           1304030008

                                             IYAN RODIYANA                  1304030106

                                             RIZAL AMIN                           1304030096

                                             NOURMA NIRMALA            1304030079

                                             SELLY SINTIA                       1304030055

                                             YAHYA AULIA Q                   1304030068

                                             ABDUL HAKIM                      1304030102

                                             DEPTA SUSANTO                  1304030050

 

                                            

 

Ditulis untuk memenuhi Tugas Ekt1

 

 

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSTIAS ISLAM SYEKH YUSUFTANGERANG

2016





DAFTAR ISI

DAFTRA GAMBAR




































 


Daftar Gambar

 

Gambar 1. Master slave Multiprocessor............................................................................   7

Gambar 2. SMP (Smmetric Multiprocessing)...................................................................    8

Gambar 3. SISD (Single Instruction on Single Data Stream)..........................................   9

Gambar 4. SISD (Single Instruction on Single Data Stream)........................................... 10

Gambar 5. SIMD (Single Instruction on Multiple Data Stream)....................................... 10

Gambar 6. SIMD (Single Instruction on Multiple Data Stream)....................................... 11

Gambar 7. MISD (Multiple Instruction on Single Data Stream)....................................... 12

Gambar 8. MIMD (Multilpe Instruction on Multiple Data Stream).................................. 12

Gambar 9. MIMD (Multilpe Instruction on Multiple Data Stream).................................. 13

Gambar 10. Loosely Coupled............................................................................................ 14

Gambar 11. Tightly Coupled............................................................................................. 15

Gambar 12. Penjadwalan Assymmetric Multiprocessing (penjadwalan AMP)................. 16

Gambar 13. Penjadwalan Symmetric Multiprocessing (penjadwalan SMP)..................... 17

Gambar 14. Model Many to One....................................................................................... 24

Gambar 15. Model One to One......................................................................................... 25

Gambar 16. Model Many to Many.................................................................................... 25

Gambar 17. Multicore........................................................................................................ 27


 

 

 

 

 

 
 

 




 

PENDAHULUAN


1.1 Latar Belakang


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 sangat menentukan pola simetri dalam sistem Control Unit. Sebagai contoh, perangkat keras atau perangkat lunak mungkin memerlukan pertimbangan bahwa hanya satu CPU menanggapi semua hardware interrupts, sedangkan semua pekerjaan laindalam 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. Sistem Multiprocessing sering difungsikan sebagai jalan pemecahannya, tetapi fungsi ini terkadang cenderung kurang efisien dibandingkan dengan sistem di mana semua CPU yang digunakan.

Multiprocessing merupakan penggunaan dua atau lebih unit pengolahan pusat (CPU) dalam satu sistem komputer. Istilah ini juga merujuk pada kemampuan sistem untuk mendukung lebih dari satu prosesor atau kemampuan untuk mengalokasikan tugas antara mereka, ada banyak variasi pada tema dasar, dan definisi multiprocessing dapat bervariasi dengan konteks, sebagian besar sebagai fungsi dari seberapa CPU. Dalam makalah ini tim penulis menyajikan beberapa ulasan singkat tentang “Multiprocesing” secara terstruktur. Meskipun hanya ulasan singkat, tetapi tim penulis berharap makalah ini dapat bermanfaat baik bagi pembaca maupun bagi penulis sendiri.

 

1.2 Rumusan Masalah


Kali ini yang akan di bahas dalam makalah kami. Yang berjudul multiprocessing.  Sebagai berikut  rumusan  masalah :

1. Apa pengertian multiprocessing ?

2. Apa saja keuntungan multiprocessing ?

3. Apa saja jenis-jenis multiprocessing ?

4. Apa saja jenis penjadwalan yang ada dalam  multiprocessing ?

5. Apa itu affinity dan load  balancing ?

6. Cara kerja multiprocessing  ?

7. Kegunaanya  ?

8. Apa itu multithreading ?

9. Apa itu multicore ?

 

1.3 Tujuan Penulisan Makalah


Adapun tujuan dari  makalah ini adalah :

1. Untuk mengetahui tentang pengertian multiprocessing.

2. Untuk dapat mendeskripsikan tentang keuntungan  dan jenis-jenis multiprocessing.

4. Untuk dapat mengetahui tentang penjadwalan  pada  multiprocessing.

5. Untuk mengetahui istilah affinity dan load balancing dalam  multiprocessing.

6. Untuk mengetahui tentang multithreading.

7. Untuk mengetahui tentang multicore.

8. untuk mengetahui cara kerja dan kegunaan Multiprocessing.

 

 

 

 

BAB II


PEMBAHASAN


 

2.1 Pengertian multiprocessing


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 denganmenggunakan 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.

 

2.2  Keuntungan Multiprocessing


Beberapa keuntungan multiprocessing antara lain:

  1. Peningkatan throughput.yang meningkat adalah peningkatan jumlah pekerjaan yang dapat dilakukan dalam waktu tertentu.
  2. Lebih ekonomis daripada sistem dengan banyak prosesor tunggal, karena bisa berbagi memori, storage dan powersupply, peningkatan kehandalan jika pekerjaan terbagi rata, maka kegagalan salah satu prosesor bisa ditanggulangi oleh prosesor-prosesor yang lain.

2.3 Jenis-jenis Multiprocessing


2.3.1 Berdasarkansimetrinya, multiprocessing dapat dibagi ke dalam:


a. Asymmetric Multiprocessing (AMP)

b. Symmetric Multiprocessing (SMP)

c. Non-uniform memory access (NUMA)

  1. 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 penurunanperformance.
    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.
    GambaGambar 1  Master slave MultiProcessor
     
    Setiap prosesor diberikan suatu tugas yang spesifik, sebuah prosesor bertindak sebagaimaster processor yang bertugas menjadwalkan dan mengalokasikan pekerjaan pada prosesor lain yang disebut slave processor, sayangnya model ini memiliki beberapa kelemahan seperti:

  1. kegagalan prosesor utama bisa menyebabkan kegagalan keseluruhan sistem.
  2. bisa terjadi penurunan performa, yaitu terjadi bottleneck di prosesor utamakarena dialah yang bertanggung jawab atas penjadwalan dan manajement proses.
     

  1. Symmetric Multiprocessing (SMP)
    Pada Komputer stand alone dengan karakteristik berikut (William Stallings):

  1. Dua atau lebih processor yang sama dengan kapasitas yang sebanding
  2. Processor membagi I/O dan memory yang sama
  3. Processor terkoneksi oleh bus atau koneksi internal lainya
  4. Waktu akses moemory kira-kira sama pada setiap processor
  5. Seluruh processor membagi akses I/Obaik pada chanel yang sama maupun berbeda dengan memberikan path ke device yang sama
  6. Seluruh Processor mengerjakan fungsi yang sama (hence symetric)
  7. Sistem dikontrol oleh OS yang terintegrasimenyediakan interaksi antara processor atau interaksi terjadi pada job, task, file, data pada level-level elemen.
  8. SMP merupakan Tightly Coupled System      
  9. Mempunyai lebih dari satu prosesor
  10. Dapat berkomunikasi
  11. Membagi bus, clock, perangkat memory, dan peripheral
  12. Setiap prosesor menjalankan sistem operasi yang identik dan komunikasi antar prosesor jika diperlukan.
     
     
     
     
     
     
     
     

Gambar 2. Symmetric Multiprocessing (SMP)


 

Setiap prosesor menjalankan salinan identik dari sistem operasi dan banyak job yang dapat berjalan pada suatu waktu tanpa mengurangi kinerja.

Keuntungan SMP

  1. Performance
  2. Availability
  3. Incremental growth
     
     
     

2.3.2 Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam (Taksonomi Flynn).


 

  1. SISD (Single Instruction on Single Data Stream)



     
     
     
     
     
     

Gambar 3 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.

  1. Satu prosesor
  2. Satu instruksi stream
  3. Data disimpan di satu memori
  4. Disebut Uni-processor
     

Gambar 4. Single Instruction on Single Data Stream


 


  1. SIMD (Single Instruction on Multiple Data Stream)
     

 

 

 

 

Gambar 5 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).

  1. Instruksi mesin tunggal
  2. Eksekusi dikendalikan secara simultan
  3. Terdapat sejumlah elemen proses
  4. Setiap instruksi dieksekusi dalam set data yang berbeda oleh proses yang berbeda
     

Gambar 6 SIMD (Single Instruction on Multiple Data Stream)


 

 

  1. 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.

  1. Satu Aliran Instruksi
  2. Banyak Aliran Data
  3. Belum dapat diimplementasikan dengan baik
    http://reader14.docslide.net/store14/html5/412015/5572003b49795991699f0de3/bgd.png

Gambar 7 MISD (Multiple Instruction on Single Data Stream)


                                                                                                                        

  1. MIMD (Multiple Instruction on Multiple Data Stream)



     
     
     
     
     
     
     
     
     
     

Gambar 8 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/L.

  1. Terdiri dari sejumlah set prosesor
  2. Terdiri dari sejumlah set data yang berbeda
  3. Secara simultan mengeksekusi urutan instruksi yang berbeda
     
    Sifat komputer MIMD:

  1. Mendistribusikan pemrosesan ke sejumlah prosesor independen.
  2. Membagikan sumber termasuk memori utama ke prosesor independen.
  3. Setiap prosesor menjalankan programnya sendiri.
  4. Setiap prosesor berfungsi secara independen dan bersama-sama.
     

Gambar 9 MIMD (Multiple Instruction on Multiple Data Stream)


 

2.3.3 Berdasarkan kedekatan antar processor, dapat dibagi ke dalam :


Loosely Coupled

  1. Setiap site memiliki processor, memori lokal dan clock sendiri
    namun semua resource dapat diakses dari setiap site.
  2. Proses yang dijalankan pada komputer yang berbeda modul saling
    berkomunikasi dengan bertukar pesan melalui Message Transfer
    System (MTS).
     

Gambar 10 Loosely Coupled


 

Tightly Coupled         

  1. 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.
  2. Sebuah memori lokal kecil atau buffer (cache) kemungkinan terdapat
    pada setiap prosesor untuk memperbaiki kinerja
     
     
     
     
     
     
     

 

 

Gambar 11 Tightly Coupled


 

2.3.4 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.

2.4 Penjadwalan Multiprocesing


2.4.1 Penjadwalan Assymmentric Multiprocesing (Penjadwalan AMP)


Pendekatan pertama untuk penjadwalan prosesor jamak adalah penjadwalan asymmetric multiprocessing atau biasa disebut juga sebagaipenjadwalan master/slave. Dimana pada metode ini hanya satu prosesor (master)yang menangani semua keputusan penjadwalan pemrosesan M/K, dan aktivitassistem lainnya dan prosesor lainnya (slave) hanya mengeksekusi proses. Metodeini sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan juga mengurangi data sharing.

Dalam teknik penjadwalan master/slave, satu prosesor menjaga status darisemua proses dalam sistem dan menjadwalkan kinerja untuk semua prosesorslave. Sebagai contoh, prosesor master memilih proses yang akan dieksekusi,kemudian mencari prosesor yang available, dan memberikan instruksi startprocessor. Prosesor slave memulai eksekusi pada lokasi memori yang dituju. Saatslave mengalami sebuah kondisi tertentu seperti meminta M/K, prosesor slavememberi interupsi kepada prosesor master dan berhenti untuk menunggu perintahselanjutnya. Perlu diketahui bahwa prosesor slave yang berbeda dapat ditujukanuntuk suatu proses yang sama pada waktu yang berbeda.


Gambar 12 Penjadwalan Assymmentric Multiprocesing (Penjadwalan AMP)


 

Gambar diatas mengilustrasikan perilaku dari multiprocessor yangdigunakan untuk multiprogramming.

Beberapa proses terpisah dialokasikandidalam memori. Ruang alamat proses terdiri dari halaman-halaman sehinggahanya sebagian saja dari proses tersebut yang berada dalam memori pada satuwaktu. Hal ini memungkinkan banyak proses dapat aktif dalam sistem.

 

 

 

 

2.4.2 Penjadwalan Symmentric Multiprocesing (Penjadwalan SMP)


Penjadwalan SMP (Symmetric multiprocessing) adalah pendekatan keduauntuk penjadwalan prosesor jamak. Dimana setiap prosesor menjadwalkan dirinyasendiri (self scheduling). Semua proses mungkin berada pada antrian ready yangbiasa, atau mungkin setiap prosesor memiliki antrian ready tersendiri.Bagaimanapun juga, penjadwalan terlaksana dengan menjadwalkan setiapprosesor untuk memeriksa antrian ready dan memilih suatu proses untukdieksekusi. Jika suatu sistem prosesor jamak mencoba untuk mengakses dan meng- update suatu struktur data, penjadwal dari prosesor-prosesor tersebut harusdiprogram dengan hati-hati; kita harus yakin bahwa dua prosesor tidak memilihproses yang sama dan proses tersebut tidak hilang dari antrian. Secara virtual,semua sistem operasi modern mendukung SMP, termasuk Windows XP,Windows 2000, Windows Vista, Solaris, Linux, dan Mac OS X..

 

http://reader14.docslide.net/store14/html5/412015/5572003b49795991699f0de3/bg11.png

Gambar 13 Penjadwalan Symmentric Multiprocesing (Penjadwalan SMP)


 

2.4.3 Dalam Klasifikasi Organisasi Symmetric Multiprocessor


  1. Time-shared atau Common Bus :

  1. Prosesor dapat berkomunikasi dengan prosesor lainnya melalui memori
  2. Time shared bus adalah mekanisme simpel untuk membangun sistem multi-processor, struktur dan inteface sama pada single processor yaitu penggunaan bus interconnection
     

  1. Fitur:

  1. Pengalamatan (Addressing) = Membedakan module untuk mengalokasikan data dari sumber ke tujuan
  2. Artbitrasi (Artbitration) = Mekanisme penyediaan permintaan acak -lebih penting didahulukan- untuk kontrol bus dengan skema prioritas
  3. Time Sharing = Jika satu mudule berada di bus, yang lain harus menunggu dan bisa juga di tunda operasinya.
     

  1. Keuntungannya Time-shared Bus :

  1. Simplicity = Fisik interface, addressing, arbitration, dan time –sharing logic tiap processor sama seperti sistem single processor
  2. Flexibility = mudah ekspansi sistem dengan menyisipkan beberapa processor ke dalam bus
  3. Reliability = kesalahan pada penyisipan device tidak mengakibatkan kegagalan pada seluruh system
     

  1. Kerugian Time-shared Bus :

  1. Performa terbatas pada bus cycle time
  2. Setiap processor harus memiliki local chace
  3. Mengurangi beberapa akses bus
  4. Masalah Pada “chace coherence” (dijelaskan nanti)
     

  1. Multiport Memory

  1. Pengijinan akses langsung, dan independen pada modul memory oleh setiap processor
  2. Kebutuhan logic untuk pemecahan conflict
  3. Sedikit modifikasi (bahkan tidak ada) ke processor atau modul yang dibutuhkan
     

  1. Central Control Unit

  1. Pembagian data stream antara independent modul seperti; processor, memory, I/O.
  2. Dapat melakukan buffer pada permintaan
  3. Melakukan arbitrasi dan penjadwalan
  4. Melakukan status dan kontrol
  5. Melakukan cache update alerting
  6. Contoh. IBM S/390
     

  1. Operating system untuk SMP:

  1. Simultaneous concurrent processes = Manajemen eksekusi IS code yang sama secara simultan pada OS routine 
  2. Scheduling = Melakukan Penjadwalan untuk menghindari conflict
  3. Synchronization = Sinkronisasi yang efektif pada shared address/ shared I/O
  4. Memory management = Pengaturan memory yang akurat pada multiport
  5. Reliability and fault tolerance = Pengenalan kesalahan pada processor
     

  1. Mainframe SMP pada IBM S/390

  1. Processor unit (PU) terdiri dari : CISC microprocessor, Frequently used instructions hard wired, 64k L1 unified cache with 1 cycle access time
  2. L2 cache : 384k
  3. Bus switching network adapter (BSN) : Includes 2M of L3 cache, Memory card, 8G per card
     
     

  1. Directory Protocol :

  1. Mengumpukan dan merawat informasi tentang copian data pada cache
  2. Directory tersimpan pada memory
  3. Permintaan di cek oleh directory
  4. Pelaksanaan transfer yang lebih penting dahulu
  5. Pembuatan sentral bottleneck
  6. Efektif pada sistem skala besar dengan interkoneksi skema yang kompleks
     

2.5 Cara Kerja Multiprocessor


Uang yang terpakai lebih sedikit karena prosesor -prosesor terdapat dalam satu komputer dan dapat membagi peripheral(ekonomis) seperti disk dan catu daya listrik.

Jika satu processor 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 fail-soft system.

 

2.6 Kegunaannya


Komputer ini memiliki lebih dari satu processor. Akibatnya meningkatkan jumlah suatu proses yang dapat diselesaikan dalam satu unit waktu (pertambahan throughput ). Perlu diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya. Yang meningkat adalah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.

 

 

 

2.7Affinity dan Load Balancing


2.7.1 Affinity


Data yang paling sering diakses oleh beberapa proses akan memadaticache pada prosesor,sehingga akses memori yang sukses biasanya terjadi dimemori cache. Namun, jika suatu proses . berpindah dari satu prosesor ke prosesorlainnya akan mengakibatkan isi dari cache memori yang dituju menjadi tidakvalid, sedangkan cache memori dari prosesor asal harus disusun kembali populasidatanya. Karena mahalnya invalidating dan re-populating dari cache, kebanyakansistem SMP mencoba untuk mencegah migrasi proses antar prosesor sehinggamenjaga proses tersebut untuk berjalan di prosesor yang sama. Hal ini disebutafinitas prosesor (processor affinity).

 

Ada dua jenis afinitas prosesor, yakni:

  1. Soft affinity yang memungkinkan proses berpindah dari satu prosesor keprosesor yang lain,
  2. Hard affinity yang menjamin bahwa suatu proses akan berjalan pada prosesoryang sama dan tidak berpindah. Contoh sistem yang menyediakan systemcalls yang mendukung hard affinity adalah Linux.
     

2.7.2 Load Balancing


Dalam sistem SMP, sangat penting untuk menjaga keseimbanganworkload (banyaknya task yang harus diselesaikan oleh prosesor) antara semuaprosesor untuk memaksimalkan keuntungan memiliki multiprocessor. Jika tidak,mungkin satu atau lebih prosesor idle disaat prosesor lain harus bekerja kerasdengan workload yang tinggi. Load balancing adalah usaha untuk menjagaworkload terdistribusi sama rata untuk semua prosesor dalam sistem SMP. Perludiperhatikan bahwa load balancing hanya perlu dilakukan pada sistem dimanasetiap prosesor memiliki antrian tersendiri (private queue) untuk proses-prosesyang berstatus ready. Pada sistem dengan antrian yang biasa (common queue),load balancing tidak diperlukan karena sekali prosesor menjadi idle, prosesortersebut segera mengerjakan proses yang dapat dilaksanakan dari antrian biasatersebut. Perlu juga diperhatikan bahwa pada sebagian besar sistem operasikontemporer mendukung SMP, jadi setiap prosesor bisa memiliki private queue.

Ada dua jenis load balancing, yakni:

  1. Push migration, pada kondisi ini ada suatu task spesifik yang secara berkala
    memeriksaload dari tiap-tiap prosesor. Jika terdapat ketidakseimbangan,maka dilakukan perataan dengan memindahkan( pushing) proses dari yangkelebihan muatan ke prosesor yang idle atau yang memiliki muatan lebihsedikit.
  2. Pull migration, kondisi ini terjadi saat prosesor yang idle menarik (pulling)
    proses yang sedang menunggu dari prosesor yang sibuk.Kedua pendekatan tersebut tidak harus mutually exclusive dan dalamkenyataannya sering diimplementasikan secara paralel pada sistem load-balancing. Keuntungan dari affinity berlawanan dengan keuntungn dari load balancing, yaitu keuntungan menjaga suatu proses berjalan pada satu prosesor yangsama dimana proses dapat memanfaatkan data yang sudah ada pada memori cacheprosesor tersebut berkebalikan dengan keuntungan menarik atau memindahkanproses dari satu prosesor ke prosesor lain. Dalam kasus system engineering, tidakada aturan tetap keuntungan yang mana yang lebih baik. Walaupun pada beberapasistem, prosesor idle selalu menarik proses dari prosesor non- idle sedangkan padasistem yang lain, proses dipindahkan hanya jika terjadi ketidakseimbangan yangbesar antara prosesor.
     

2.8 Multithreading


Kinerja sebuah computer diukur berdasarkan kecepatan respon terhadap aplikasi yang dijalakan pada level pengguna. Banyak factor yang dapat menjadi pendukung terciptanya kinerja computer yang baik diantaranya adalah jumlah siklus instruksi, kinerja processor, proses pipeline dan frekuensi clock computer.

Kinerja prosesor sebagai salah satu penentu kinerja computer dapat dinyatakan dalam kemampuannya mengeksekusi instruksi. Semakin tinggi tingkat eksekusi instruksi maka kinerja prosesor semakin tinggi. Rumus umum untuk tingkat esksekusi instrusksi dipengaruhi oleh sua hal yaitu frekuensi clock prosesor (f) dan jumlah instruksi per siklus (Instruction per cycle, IPC).

Tingkat Eksekusi Instruksi (TEI) =f x IPC

 

Keterangan :

  • f      : frekuensi clock prosesor
  • IPC : Instruction Per Cycle
     
    Pengikatan pada kedua factor, f dan IPC, dapat meningkatkan kinebuahprosesor. IPC sendiri dapat ditingkatkan dengan menggunakan mekanisme pipeline yang memungkinkan untuk membagi proses eksekusi instruksi kedalam beberapa sub proses yang masing-masing dapat dikerjakan secara independen.
    Konsep lain untuk meningkatkan kinerja prosesor adalah dengan membagi eksekusi serangkaian instruksi kedalam sub rangkaian instruksi (thread). Konsep ini dikenal sebagai konsep multithreading. Konsep ini menawarkan proses parallel pada level eksekusi instruksi.
     

2.8.1 Model MultiThreading


Beberapa terminologi yang akan dibahas:

  1. Thread pengguna: Thread yang pengaturannya dilakukan oleh pustaka thread pada tingkatan pengguna. Karena pustaka yang menyediakan fasilitas untuk pembuatan dan penjadwalan thread, thread pengguna cepat dibuat dan dikendalikan.
  2. Thread Kernel: Thread yang didukung langsung oleh kernel. Pembuatan, penjadwalan dan manajemen thread dilakukan oleh kernel pada kernel space. Karena dilakukan oleh sistem operasi, proses pembuatannya akan lebih lambat jika dibandingkan dengan thread pengguna.
     

  1. Model Many-to-One. Model ini memetakan beberapa thread tingkatan pengguna ke sebuah thread. tingkatan kernel. Pengaturan thread dilakukan dalam ruang pengguna sehingga efisien. Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat. Jadi Multiple thread tidak dapat berjalan secara paralel pada multiprosesor. Contoh: Solaris Green Threads dan GNU Portable Threads.
    http://ikc.dinus.ac.id/umum/ibam/ibam-os-html/img/5-4.png

Gambar 14. Model Many-to-One


 

  1. Model One-to-One. Model ini memetakan setiap thread tingkatan pengguna ke setiap thread. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahan model ini ialah setiap pembuatan thread pengguna memerlukan tambahan thread kernel. Karena itu, jika mengimplementasikan sistem ini maka akan menurunkan kinerja dari sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam sistem. Contoh: Windows NT/XP/2000 , Linux, Solaris 9.
    http://ikc.dinus.ac.id/umum/ibam/ibam-os-html/img/5-5.png

Gambar 15. Model One-to-One


 

  1. Model Many-to-Many. Model ini memultipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna. Model ini mengizinkan developer membuat thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu. Keuntungan dari sistem ini ialah kernel thread yang bersangkutan dapat berjalan secara paralel pada multiprosessor.
    http://ikc.dinus.ac.id/umum/ibam/ibam-os-html/img/5-6.pngGambar 16. Model Many-to-Many

2.8.3 Keuntungan menggunakan Multithreading:


  1. Responsive,tanggap: Multi-Threading mengizinkan program untuk berjalan terus walau-pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama/panjang. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
     
  2. Pembagian sumber daya : Secara default, thread membagi memori dan sumber daya dari proses. Ketika thread berjalan pada data yang sama, thread tersebut bisa berbagi cache memory.
  3. Ekonomis : Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads.
     
  4. Pemberdayaan arsitektur multiprosesor: Keuntungan dari multi-threading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara paralel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.

 

 

 

 

 

 

 

2.9Multicore


 

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrv6m6SRqe-dRItiYQtdCs2361Q3OxFTIz-LDestTZHS0DNZ86V9hk-SaPSdSG0IEiwkJSYiQDdDivVLtUd3dGqKo9bNTQ1vDe7K-18skVwoXZZIv2pr8_feMeVWKtW2ICEGWoxOm6vkQ/s1600/multi+perocessor.jpg

Gambar 17. Multicore


 

Multicore microprocessor adalah kombinasi dua atau lebih prosesor independen ke dalam sebuah integrated circuit (IC). Pada umumnya, multicore mengizinkan perangkat komputasi untuk memeragakan suatu bentuk thread-level paralelism (TLP) tanpa mengikutsertakan banyak prosesor terpisah. TLP lebih dikenal sebagai chip-level multiprocessing.

Teknologi proccessor sudah memanfaatkan multi core, sebuah chip memiliki 2 core atau lebih sudah banyak dibuat. Memiliki computer dengan 2 inti atau 4 inti, saat ini sudah menjadi hal biasa. Demikian juga harga procesor yang dijual dari tahun ke tahun terus turun. Tahun 2010 produsen procesor seperti Intel dan AMD akan terus memperbanyak jumlah core atau inti procesor pada sebuah procesor. Dari 4 core pada sebuah chip akan meningkat menjadi 6 bahkan 8 core.

 

2.9.1 Keuntungan Multi core-prosesor


  1. Meningkatkan performa dari operasi cache snoop (bus snooping). Bus snooping adalah suatu teknik yang digunakan dalam sistem pembagian memori terdistribusi dan multiprocessor 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.
  2. Secara fisik, desain CPU multicore menggunakan ruang yang lebih kecil pada PCB ( Printed Circuit Board) dibanding dengan desain multichip SMP.
  3. Prosesor dual-core menggunakan sumber daya lebih kecil dibanding sepasang prosesor dual-core.
  4. Desain multicore memiliki resiko design error yang lebih rendah daripada desain single-core.
     

2.9.2 Kerugian Multi core-prosesor


  1. Dalam hal sistem operasi, butuh penyesuaian kepada software yang ada untuk memaksimalkan kegunaan dari sumberdaya komputasi yang disediakan oleh prosesor multicore. Kemampuan 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.

 

 

 

 

 

 

BAB III


Kesimpulan


 

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.

 

Beberapa keuntungan multiprocessing antara lain:

  1. Peningkatan throughput.&ang meningkat adalah peningkatan jumlah pekerjaan yang dapat dilakukan dalam waktu tertentu.
  2. Lebih ekonomis dari pada sistem dengan banyak prosesor tunggal, karena bisa berbagi memori, storage dan powersupply, peningkatan kehandalan
     
     
     
     
     

Kesan


Alhamdulillah tugas makalah ini telah selasai..   senang sekali hee. Terima kasih kepada dosen kami,  dan team kelompok 5  .. tetap semangat dalam belajar nya dan tetap uptude selalu dalam ilmu teknologi yang semakin lama semaikn canggih dan terus berkembang..

^.^ keep smile

Saran


 

Pesatnya perkembangan teknologi telah merambah ke segala bidang kehidupan manusia terutama pada bidang informasi. Untuk menghadapi perkembangan yang sedemikian pesatnya maka diharapkan kepada kita semua untuk mengimbangi dan mengikuti perkembangan itu. Maka yang menjadi tujuan penulisan makalah ini adalah agar para pembaca dapat mengetahui teknologi informasi tersebut.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Daftar Pusaka


 

  1. Wikipedia (2016). From https://id.wikipedia.org/wiki/Multipengolahan, 16 Maret 2016
  2. E-learning masasep (2014), From http://elearning-masasep.blogspot.co.id /2014/11/definisi-multicore-processor-keuntungan-kerugian.html, 16 Maret 2016
  3. Eric”Ralph”Perdana (2010).  Fromhttps://erichgolf2002.wordpress.com/ 2010/07/09/ multiprocessing/, 16 Maret 2016
  4. Abdurohman, Manan (2015). Organisasi & Arsitektur Komputer. Bandung : Penerbit Informatika Bandung.

 

 

 

 

 




1 komentar:

  1. Mantap,, makasih abang2 emba2 udah bantu mempermudah tugas saya hehe :D (y)

    BalasHapus