Selasa, 21 Januari 2014

TUGAS ORGANISASI DAN ARSITEKTUR KOMPUTER II


Multiprocessor & Multicore Processor
FAKULTAS TEKNIK DAN ILMU KOMPUTER
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

·         http://blog.uin-malang.ac.id



2 komentar:

  1. Mau nanya ni,gimana hubungan multiprosesor terhadapa speed processor speed dan comunication speednya?
    bantu share ya mas.

    BalasHapus