Anda di halaman 1dari 26

MULTIPROCESSOR,

MULTITHREADING &
MULTITASKING
Oleh :
Putu Agus Mahadi Putra, ST., MT
MULTIPROCESSOR

■ Multiprocessor merupakan sebuah sistem komputer yang memiliki dua atau lebih
processor didalamnya. Atau sebuah sistem yang memiliki dua atau lebih socket
processor. Multiprocessor umumnya digunakan oleh Server dengan kemampuan
komputasi tinggi.
■ Multiprocessor adalah sistem komputer dengan dua atau lebih CPU identik yang
membagi akses secara penuh kepada common RAM (Shared Memory MultiProcessor).
■ Pengertian lainnya multiprocessing dalam teknologi informasi adalah :
1. Dukungan sebuah sistem untuk mendukung lebih dari satu processor dan
mengalokasikan tugas kepada prosesor-prosesor tersebut.
2. Kemampuan esksekusi terhadap beberapa proses perangkat lunak dalam sebuah
sistem secara serentak.
MULTIPROCESSOR
MULTIPROCESSOR

■ Berikut ini adalah salah satu skema paling sederhana yakni, memiliki sebuah bus
tunggal dengan banyak CPU dengan satu memori yang seluruhnya dipasang ke
dalam bus tersebut. Sebuah diagram dari multiproses berbasiskan bus seperti itu
ditunjukkan pada Gambar (a). Banyak perusahaan membuat system – system
seperti ini.
MULTIPROCESSOR

■ Sebagai contoh Processor Intel Xeon E5 bisa dipasang dalam konfigurasi Dual
Processor. Bahkan bisa ditambah dengan processor tambahan (co-processor) Intel
Xeon Phi dengan slot PCI.
■ Multiprocessor memiliki karakteristik sebagai berikut : Processor utama harus
dalam konfigurasi identik, atau kedua processor termasuk dalam jenis yang sama.
Nama tempat dimana processor dipasang adalah Socket. Jika system bisa
dikonfigurasi dalam mode Dual Processor, artinya motherboard memiliki Dual
Socket didalamnya. Walau memiliki konfigurasi dual processor, sistem tetap bisa
berjalan (running) dengan satu processor.
MULTIPROCESSOR
MULTIPROCESSOR
MULTIPROCESSOR
KELEBIHAN MULTIPROCESSOR
1. 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.
2. 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.
3. 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.
MULTIPROCESSOR
JENIS – JENIS MULTIPROCESSOR
Multiprocessing dapat dibagi ke dalam beberapa kelas, yakni:
1. Berdasarkan simetrinya :
a. Asymmetric Multiprocessing (AMP)
b. Symmetric Multiprocessing (SMP)
c. Non-uniform memory access (NUMA) multiprocessing
2. Berdasarkan jumlah instruksi dan datanya :
a. SISD (Single Instruction on Single Data Stream)
b.SIMD (Single Instruction on Multiple Data Stream)
c. MISD (Multiple Instruction on Single Data Stream)
d.MIMD (Multiple Instruction on Multiple Data Stream)
MULTIPROCESSOR
JENIS – JENIS MULTIPROCESSOR
3. Berdasarkan kedekatan antar prosesor :
a. Loosely coupled
b. Thightly coupled
MULTIPROCESSOR
ASYMMETRIC MULTIPROCESSING (AMP)
■ Pendekatan pertama untuk Multiprocessor Scheduling adalah asymmetric
multiprocessing Scheduling 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.
MULTIPROCESSOR
SYMMETRIC MULTIPROCESSING (SMP)
■ Penjadwalan SMP adalah pendekatan kedua untuk Multiprocessor Scheduling. Pada
metode ini setiap prosesor menjadwalkan dirinya sendiri (self scheduling). Penjadwalan
terlaksana dengan menjadwalkan setiap prosesor untuk memeriksa antrian ready dan
memilih suatu proses untuk dieksekusi.
■ Jika suatu sistem Multiprocessor Scheduling mencoba untuk mengakses dan
mengupdate suatu struktur data, penjadwal dari prosesor-prosesor tersebut harus
diprogram dengan hati-hati, kita harus yakin bahwa dua prosesor tidak memilih proses
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, Mac OS X, OS/2 Warp Server 4.0 , OS/2
for SMP 2.11, Windows NT 4.0 , Novell NetWare 4.1 SMP, Novell UnixWare SMP 2.0 ,
SCO Open Server 5.0 with SCO MPX 3.0 , Banyan Vines , Symbian OS (Mobile Device)
MULTIPROCESSOR
Non-uniform memory access (NUMA)
■ 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 word.
■ 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 )
MULTIPROCESSOR
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
MULTIPROCESSOR
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
MULTIPROCESSOR
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
MULTIPROCESSOR
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/L
· Terdiri dari sejumlah set prosesor
· Terdiri dari sejumlah set data yang berbeda
· Secara simultan mengeksekusi urutan instruksi yang berbeda
MULTIPROCESSOR
MIMD (Multiple Instruction on Multiple Data
Stream)
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.
MULTIPROCESSOR
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).
MULTIPROCESSOR
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.
MULTITHREADING

■ Multithreading berasal dari istilah “Hyperthreading” yaitu sebuah processor dengan


teknologi yang membuat satu processor dikenali sebagai dua processor secara
virtual. Pengertian teknisnya adalah, sebuah processor hyperthreading bisa
menyalurkan dua aliran data (thread) sekaligus dalam satu waktu.
■ Tujuannya agar eksekusi aplikasi menjadi lebih efisien & ringan, terutama untuk
multitasking. Hyperthreading pertama kali diperkenalkan oleh Intel pada Processor
Intel Pentium 4 HT, setelah itu hampir sebagian besar processor Intel telah
menggunakan Hyperthreading didalamnya.
■ Pengertian multithreading adalah sekumpulan hyperthreading pada beberapa core.
Sebagai contoh, processor Intel Core i7 memiliki quad-core, maka
hyperthreadingnya juga ada 4 buah. Sehingga processor ini dikenal sebagai
processor dengan 8 core, yaitu 4 core asli dan 4 core hyperthreading.
MULTITHREADING
KELEBIHAN
■ If a thread gets a lot of cache misses, the other threads can continue taking
advantage of the unused computing resources, which may lead to faster overall
execution as these resources would have been idle if only a single thread were
executed. Also, if a thread cannot use all the computing resources of the CPU
(because instructions depend on each other's result), running another thread may
prevent those resources from becoming idle.
■ If several threads work on the same set of data, they can actually share their cache,
leading to better cache usage or synchronization on its values.
MULTITHREADING
JENIS-JENIS
1. Coarse-grained multithreading
2. Interleaved multithreading
3. Simultaneous multithreading
MULTITASKING

Multitasking merupakan kemampuan sistem komputer menjalankan dua atau lebih


aplikasi dalam waktu bersamaan. Multitasking biasanya merujuk pada kemampuan
processor. Dengan adanya teknologi Dual & Quad Core, maka processor bisa
melakukan eksekusi banyak aplikasi sekaligus.
■ Multitasking berjalan pada processor dengan konfigurasi dual core / dual processor
atau lebih.
■ Hampir semua processor yang ada saat ini sudah memiliki kemampuan
multitasking.
■ Multitasking juga harus didukung oleh kemampuan Operating System & Aplikasi
yang berjalan diatasnya.
MULTITASKING
KELEBIHAN
Keuntungan sistem ini adalah :
■ Suatu perintah dapat dilaksanakan secara tuntas sampai berakhir dengan prioritas
tertinggi.
■ Mampu memproses lebih dari satu perintah dalam waktu yang bersamaan.hal ini
dapat terjadi karena kemampuan membagi sumber daya yang tersedia.
TUGAS

■ CARI KEKURANGAN DARI MULTIPROCESSING, MULTITHREADING, DAN


MULTITASKING !
■ KIRIM KE EMAIL : mahadi.putra@gmail.com dalam bentuk doc/docx
■ FORMAT MASIH SAMA SEPERTI YANG DULU, jangan lupa sertakan sumber !
■ Dikirim paling lambat tgl 26 Desember 2016, jam 12 malam

Anda mungkin juga menyukai