Multiprocessor
& Multicore Processor
SISTEM
KOMPUTER
2014
I.
MULTIPROCESSOR
Pengertian Multiprocessor
Multiprocessing adalah suatu kemampuan suatu
sistem operasi yang menjalankan dua atau lebih instruksi secara serentak dengan
menggunakan sejumlah CPU dalam sebuah komputer. Dengan sistem seperti ini
sebuah sistem operasi dapat mengatur agar sejumlah CPU menjalankan instruksi-instruksi
yang berbeda yang terletak dalam sebuah program dalam waktu yang sama.
Kemampuang 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.
Multiprocessing adalah istilah
teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan
pemrosesan komputer yang dilakukan secara serentak 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.
Sistem multi prosessor yang
sering digunakan adalah model symmetric multiprocessing, dimana setiap prosessor
menjalankan sistem operasi yang identik dan komunikasi antar prosesor jika
diperlukan. Beberapa sistem menggunakan asymmetric multiprocessing, dimana setiap prosessor
mempunyai tugas tetentu. Prosessor master mengontrol sistem, prosessor lain
menunggu instruksi master atau mempunyai tugas yang ditentukan oleh master.
Skema ini merupakan hubungan master-slave. Prosessor master menjadwal dan
mengalokasikan pekerjaan dari prosessor slave.
Contoh symmetric
multiprocessing adalah sistem UNIX versi Encore’s untuk komputer
Multimax Komputer dapat dikonfigurasikan untuk menangani satu lusin prosessor,
semua menjalankan UNIX. Keuntungan dari model ini adalah bahwa beberapa proses
dapat berjalan pada satu waktu (N proses jika terdapat N CPU) tanpa
menyebabkan pengurangan performansi. Sehingga kita dapat mengontrol I/O secara
hati-hati untuk menjamin data mendapatkan prosessor yang tepat
Ø
Keunggulan 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 ialah jumlah pekerjaan yang bisa dilakukannya dalam waktu
tertentu.
2)
Economy of scale (ekonomis), ekonomis dalam devices yang dibagi bersama
sama. Prosesorprosesor terdapat dalam satu komputer dan dapat membagi
peripheral (ekonomis) seperti disk dan catu daya listrik.
3)
Peningkatan
kehandalan (reliabilitas), Jika satu prossor mengalami suatu gangguan, maka
proses yang terjadi masih dapat berjalan dengan baik karena tugas prosesor yang
terganggu diambil alih oleh prosesor lain. Hal ini dikenal dengan istilah
Graceful Degradation. Sistemnya sendiri dikenal bersifat fault tolerant atau
failoft system.
Ø
Jenis - Jenis
Multiprocessing
Berdasarkan jumlah instruksi
dan datanya, dapat dibagi ke dalam (lihat Taksonomi 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/L.
·
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.
Multiprocessing dapat dibagi ke
dalam beberapa kelas berdasarkan simetrinya yaitu :
·
Asymmetric Multiprocessing
(AMP)
·
Symmetric Multiprocessing (SMP)
·
Non-uniform memory access
(NUMA)
AMP
(Asymmetric Multiprocessing)
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.
SMP
(Symmetric Multiprocessing)
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
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)
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
·
Kebutuhan logic
untuk pemecahan conflict
·
Sedikit modifikasi
(bahkan tidak ada) ke processor atau modul yang dibutuhkan
Ø 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 tinggi 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 (ASMP), 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
NUMA
(Non Uniform Memory Access)
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.
Selain itu
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) dan 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 )
II.
MULTICORE
PROCESSOR
Multi-core menyediakan 4-arah multitask
pengolahan dengan Intel HT Technology dan dua core fisik berdedikasi membantu
untuk memberikan performa tambahan di berbagai jenis aplikasi dan beban kerja
Sebuah prosesor multi-core adalah sebuah
sistem pengolahan yang terdiri dari dua atau lebih inti independen. Hal ini
dapat digambarkan sebagai sebuah sirkuit terintegrasi ke dua atau lebih
individu prosesor (disebut core dalam pengertian ini) telah terpasang. Inti
biasanya terintegrasi ke dalam satu sirkuit terpadu (dikenal sebagai chip
multiprosesor atau CMP), atau mereka mungkin diintegrasikan ke beberapa dalam
satupaket chip. Prosesor dengan banyak-inti adalah salah satu di mana jumlah
core yang cukup besar multi-prosesor tradisional teknik tidak lagi efisien –
batas ini adalah suatu tempat dalam jangkauan puluhan core – dan mungkin
memerlukan jaringan chip.
Sebuah prosesor dual-core berisi dua core,
dan quad-core prosesor berisi empat core. Sebuah prosesor multi-core
mengimplementasikan multiprocessing dalam satu paket fisik. Core dalam
perangkat multi-core dapat digabungkan bersama-sama dengan erat. Sebagai
contoh, core mungkin atau mungkin tidak berbagi cache, dan mereka dapat
mengimplementasikan pesan lewat atau memori bersama antar-metode komunikasi
inti. Umum topologi jaringan untuk menghubungkan core termasuk bus, cincin,
2-dimensi mesh, dan palang. Semua core adalah identik dalam homogen sistem
multi-core dan mereka tidak identik dalam heterogen sistem multi-core. Seperti halnya
dengan sistem prosesor tunggal, core dalam sistem multi-core dapat
mengimplementasikan arsitektur seperti superscalar , VLIW , pengolahan vektor ,
SIMD, atau multithreading.
Fungsi Multi Core-Processor
Untuk memproses data yang diterima dari
masukkan (input), seterusnya akan menghasilkan keluaran (output). Semasa kerja
memproses data tersebut, processor juga akan senantiasa berhubungan dengan
komponen komputer yang lain, terutamanya hard disk dan RAM. Ia juga digambarkan
sebagai “otak” kepada komputer dimana setiap data akan melalui processor bagi
menghasilkan keluaran (output) yang sepautnya. Sesuai dengan fungsinya, ia juga
dikenal sebagai CPU. Apabila processor tidak berfungsi, maka komponen –
komponen komputer yang lain juga tidak dapat berfungsi.
Pengaruh Multi Core-Processor Terhadap Software
Keuntungan software dari arsitektur
multicore adalah kode-kode dapat dieksekusi secara paralel. Dalam sistem
operasi, kode-kode tersebut dieksekusi dalam thread-thread atau proses-proses
yang terpisah. Setiap aplikasi pada sistem berjalan pada prosesnya sendiri
sehingga aplikasi paralel akan mendapatkan keuntungan dari arsitektur
multicore.
Banyak aplikasi software tidak dituliskan dengan menggunakan thread-thread yang
concurrent karena kesulitan dalam pembuatannya. Concurrency memegang peranan
utama dalam aplikasi paralel yang sebenarnya.
Langkah-langkah dalam mendesain aplikasi paralel adalah sebagai berikut:
- Partitioning . Tahap desain ini dimaksudkan untuk membuka peluang awal
pengeksekusian secara paralel. Fokus dari tahap ini adalah mempartisi sejumlah
besar tugas dalam ukuran kecil dengan tujuan menguraikan suatu masalah menjadi
butiran-butiran kecil.
- Communication . Tugas-tugas yang telah terpartisi diharapkan dapat langsung
dieksekusi secara paralel tapi tidak bisa, karena pada umumnya eksekusi
berjalan secara independen. Pelaksanaan komputasi dalam satu tugas membutuhkan
asosiasi data antara masing-masing tugas. Data kemudian harus berpindah-pindah
antar tugas dalam melangsungkan komputasi. Aliran informasi inilah yang
dispesifikasi dalam fase communication.
- Agglomeration . Pada tahap ini kita pindah dari sesuatu yang abstrak ke yang
konkret. Kita tinjau kembali kedua tahap diatas dengan tujuan untuk mendapatkan
algoritma pengeksekusian yang lebih efisien. Kita pertimbangkan juga apakah
perlu untuk menggumpalkan ( agglomerate) tugas-tugas pada fase partition
menjadi lebih sedikit, dengan masing-masing tugas berukuran lebih besar.
Mapping . Dalam tahap yang keempat dan terakhir ini, kita menspesifikasi dimana
setiap tugas akan dieksekusi. Masalah mapping ini tidak muncul padauniprocessor
yang menyediakan penjadwalan tugas.
Keuntungan
Kedekatan core CPU ganda yang sama memungkinkan
koherensi cache sirkuit untuk beroperasi pada clock rate jauh lebih tinggi
daripada yang jika harus melakukan perjalanan sinyal off-chip. Menggabungkan
setara CPU secara signifikan meningkatkan performa cache snoop (alternatif: Bus
mengintai) operasi. Secara sederhana, ini berarti bahwa sinyal antara CPU yang
berbeda perjalanan jarak pendek, dan karena itu sinyal yang menurunkan kurang.
Sinyal berkualitas lebih tinggi ini memungkinkan lebih banyak data yang akan
dikirim dalam jangka waktu tertentu karena sinyal individu dapat menjadi lebih
pendek dan tidak perlu sering diulang.
Terbesar dalam kinerja meningkatkan kemungkinan akan
melihat dalam waktu respon ditingkatkan saat menjalankan proses CPU-intensif,
seperti antivirus scan, merobek / pembakaran media (yang membutuhkan konversi
file), atau mencari folder. Sebagai contoh, jika scan virus otomatis memulai
sementara film sedang dimainkan, aplikasi yang berjalan di film jauh lebih
cenderung tidak kekurangan daya prosesor, seperti program antivirus tersebut
akan diarahkan ke core prosesor yang berbeda dari yang menjalankan film.
Asumsi bahwai bisa masuk ke dalam paket, secara fisik,
multi-core CPU desain membutuhkan jauh lebih sedikit Printed Circuit Board
(PCB) ruang dari multi-chip SMP desain. Juga, sebuah prosesor dual-core
menggunakan lebih sedikit daya dari dua ditambah prosesor single-core, terutama
karena penurunan daya yang diperlukan untuk mengarahkan sinyal luar chip.
Selanjutnya, core berbagi beberapa sirkuit, seperti L2 cache dan antarmuka ke
front side bus (FSB). Bersaing dalam hal teknologi yang tersedia silikon daerah
mati, desain multi-core dapat memanfaatkan perpustakaan inti CPU terbukti
desain dan menghasilkan produk dengan risiko rendah kesalahan desain daripada
merancang sebuah desain inti baru yang lebih luas. Selain itu, penambahan cache
menderita semakin berkurang
Keuntungan
software dari arsitektur multicore adalah kode-kode dapat dieksekusi secara
parallel. Dalam system operasi kode-kode tersebut dieksekusi dalam
thread-thread atau proses-proses yang terpisah. Setiap aplikasi system berjalan
pada prosesnya sendiri sehingga aplikasi parallel akan mendapatkan keuntungan
dari arsitektur multicore. Setiap aplikasi harus tertulis secara spesifik untuk
memaksimalkan penggunaan dari banyak thread. Banyak aplikasi software tidak
dituliskan dengan menggunakan thread-thread yang concurrent karena kesulitan
dalam pembuatannya. Concurrency memegang peranan utama dalam aplikasi parallel
yang sebenarnya.
L1 Cache selalu private untuk sebuah core
L2 Cache dapat private atau di share
·
Keuntungan L2 cache yang di share :
o Alokasi space dinamis yang efisien disetiap core
o Data yang di share dibanyak core tidak direplikasi
·
Keuntungan L2 cache yang private :
o Akses cepat ke L2 privat, bagus untuk set pekerjaan
yang kecil
o Bus private untuk L2 sedikit persaingan
Kekurangan#
Selain sistem operasi (OS) dukungan, penyesuaian
perangkat lunak yang ada diwajibkan untuk memaksimalkan pemanfaatan sumber daya
komputasi yang disediakan oleh prosesor multi-core. Selain itu, kemampuan
multi-core untuk meningkatkan kinerja aplikasi tergantung pada penggunaan
benang dalam beberapa aplikasi. Situasi membaik: misalnya Valve Corporation ‘s
Sumber mesin, menawarkan dukungan multi-core, dan Crytek telah mengembangkan
teknologi serupa untuk CryEngine 2, yang kekuatan permainan mereka, Crysis
.Emergent Game Technologies’ Gamebryo mesin teknologi termasuk pintu air mereka
yang menyederhanakan multicore permainan di platform pengembangan.
Integrasi multi-core chip drive hasil produksi turun
dan mereka lebih sulit untuk mengelola termal dari kerapatan rendah desain chip
tunggal. Intel telah sebagian balas Masalah pertama ini dengan menciptakan quad
core dengan desain dengan menggabungkan dua dual-core pada satu die dengan
cache yang bersatu, maka setiap dua dual-core yang bekerja mati dapat
digunakan, berlawanan dengan memproduksi empat core pada satu mati dan
mengharuskan semua empat untuk bekerja untuk menghasilkan sebuah quad-core.
Dari sudut pandang arsitektur, pada akhirnya, desain CPU tunggal dapat membuat
lebih baik menggunakan permukaan silikon dari core multiprocessing, sehingga
komitmen pembangunan arsitektur ini dapat membawa risiko keusangan. Akhirnya,
kekuatan pemrosesan mentah bukan satu-satunya kendala pada kinerja sistem. Dua
core berbagi sama bus sistem dan bandwidth memory membatasi kinerja dunia nyata
keuntungan. Jika satu inti adalah dekat untuk menjadi terbatas bandwidth
memory, pergi ke dual-core mungkin hanya memberikan 30% sampai 70% perbaikan.
Jika memori bandwidth bukan masalah, 90% peningkatan dapat diharapkan rujukan.
Akan mungkin untuk suatu aplikasi yang menggunakan dua CPU berakhir berjalan
lebih cepat pada satu dual-core jika komunikasi antara CPU adalah faktor
pembatas, yang akan dihitung sebagai lebih dari 100% peningkatan.
III.
PENUTUP
Multicore
Multicore merupakan sebuah
processor yang memiliki dua atau lebih inti processor (atau Core).
Turunannya bisa menjadi Dual Core (Dua Core), Quad Core (Empat Core) dan
seterusnya. Bahkan saat ini ada sebuah processor dengan 60 inti processor
didalamnya, seperti Intel Xeon Phi. Sesuai namanya, inti processor
merupakan mesin pengolah utama didalam processor. Tugasnya
melakukan pengolahan aplikasi. Semakin banyak jumlah core, makin baik
performa processor tersebut karena aplikasi dikerjakan oleh banyak
pengolah. Processor Intel rata-rata menggunakan Dual Core, misalnya Intel
Atom,Pentium dan Core i3. Zaman dulu, processor masih menggunakan Single
Core sehingga bekerja tidak efisien. Banyak aplikasi hanya dijalankan satu
mesin, sehingga sering terjadi “bottle-neck” dan berpengaruh pada performa
secara keseluruhan. Jumlah core juga dapat dihitung per-system
komputer, misalnya sebuah Server Intel berbasis Processor Xeon E5 Dual
Processor Configuration berarti memiliki 12 core didalamnya. Ini dihitung dari
masing-masing processor E5 yang memiliki 6 core didalamnya.
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. 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 dikonfigrasi dalam mode Dual Processor, artinya
motherboard memiliki Dual Socket didalamnya. Walau memiliki konfigurasi
dual processor, sistem tetap bisa berjalan (running) dengan satu processor.
PERBEDAAN
ANTARA MULTIPROCESSOR DAN MULTI CORE-PROCESSOR
•
Perbandingan yang mendasar antara
multiprocessor dan multicore processor adalah multiprocessor merupakan sistem
komputer dengan dua atau lebih CPU yang membagi akses secara penuh kepada
common RAM (Shared Memory Multiprocessor), sedangkan multicore processor
merupakan processor yang memiliki banyak inti. Inti adalah bagian dari
processor yang melakukan read dan execute intruction.
•
Multiprocessor atau multi CPU
adalah sebuah sistem yang terdiri dari 2 atau lebih CPU (Processor), selain itu
masing-masing CPU pada multiprocessor bisa jadi merupakan multicore processor.
Sistem ini dikenal juga sebagai SMP (Simultaneous Multiprocessing). Pada
multiprocessor system, computer atau sistem tersebut dapat melakukan 2
pekerjaan (task/process) secara bersamaan, tentunya bila ada 2 CPU, bila
terdapat 3 CPU maka akan ada 3 pekerjaan yang dapat dilakukan secara bersamaan
dan seterusnya.
•
Jadi suatu system multiprocessor
bisa saja juga merupakan multicore processor, namun multicore processor tidak
dapat termasuk sebagai multiprocessor. Selain itu multicore processor lebih
membutuhkan sedikit resources dibanding dengan multiprocessor, seperti space
atau tempat pada motherboard, fan untuk mengatasi heat yang dihasilkan dan
biaya untuk membangun sistem itu sendiri.
Keuntungan Sistem
Multiprocessor
•
Penjadwalan asymmetric
multiprocessing atau penjadwalan master/slave menangani semua keputusan
penjadwalan, pemrosesan M/K, dan aktivitas sistem lainnya hanya dengan satu
prosesor ( master). Dan prosesor lainnya ( slave) hanya mengeksekusi proses
•
Peningkatan troughtput karena
lebih banyak proses/thread yang dapat dijalankan sekaligus
•
Meningkatkan jumlah proses yang
dapat ditangani oleh processor (bukan mening-
•
katkan waktu komputasinya)
•
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
•
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.
Kerugian:
•
Kebutuhan
arusnya yang malar.
•
Membutuhkan
banyak daya.
•
Adanya
waktu tunda.
•
Waktu
naik semakin lambat karena adanya waktu tunda.
Keuntungan
Multicore Processor :
·
Meningkatkan perfoma dari operasi
cache snoop (bus snooping). Bus Snooping adalah suatu teknik yang digunakan
dalam system pembagian memory 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.
·
Secara fisik desain CPU multicore
menggunakan ruang yang lebih kecil pada PCB (Printed Circuit Board) dibanding dengan
desain multichip SMP
·
Processor dual core menggunakan
sumber daya lebih kecil dibanding sepasang processor dual core
·
Desain multicore memiliki resiko
design error yang lebih rendah daripada desain single core
Kerugian
Multicore Processor :
·
Dalam hal system operasi butuh
penyesuaian kepada software yang ada untuk memaksimalkan kegunaan dari sumber
daya komputasi yang disediakan oleh processor multicore. Kemampuan processor
multicore untuk meningkatkan performa aplikasi juga bergabung pada penggunaan banyaknya
thread dalam aplikasi tersebut.
·
Dari sudut pandang arsitektur
pemanfaatan daerah permukaan silicon dari design single core lebih baik
daripada desain multicore
·
Pengembangan chip multicore
membuat produksinya menjadi menurun karena semakin sulitnya pengaturan suhu
pada chip yang padat.
IV.
REFERENSI