MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan...

14
PAPER MULTIPROCESSOR ARSITEKTUR DAN ORGANISASI KOMPUTER Dosen : Drs. Eko Polosoro, M.Eng, M.M Kelompok: Muhammad Akbar (1111601058) Rano Kurniawan (1111601074) Taufik Tirkaamiasa (1111601082) MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI LUHUR JAKARTA 2012

Transcript of MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan...

Page 1: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

PAPER

MULTIPROCESSOR ARSITEKTUR DAN ORGANISASI KOMPUTER

Dosen : Drs. Eko Polosoro, M.Eng, M.M

Kelompok:

Muhammad Akbar (1111601058)

Rano Kurniawan (1111601074)

Taufik Tirkaamiasa (1111601082)

MAGISTER ILMU KOMPUTER

UNIVERSITAS BUDI LUHUR

JAKARTA

2012

Page 2: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

MULTIPROCESSOR

I. Pengertian Multiprocessor

Merupakan sistem komputer dengan dua atau lebih CPU yang identik dengan

membagi akses secara penuh kepada common RAM (Shared Memory

Multiprocessor).

Kenapa menggunakan Multi Processor?

ü Untuk support Multiprogramming.

ü Untuk support parallel programming.

ü Tidak independent.

Multiprocessing merupakan istilah teknologi informasi dalam bahasa inggris yang

merujuk kepada:

• Dukungan sebuah sistem untuk mendukung lebih dari satu processor dan

mengalokasikan tugas kepada processor-processor tersebut.

• 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 di implementasikan 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

diantaranya atau tidak sama sekali. Perhatikan Gambar 1.1 Multiprogramming

dengan Multiprocessor.

Gambar 1.1 : Multiprogramming dengan Multiprocessor

Supervisor

Proses A

Proses B

Proses C

Proses D

Processor 1

Processor 1

Page 3: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

Gambar 1.1 Multiprogramming dengan Multiprocessor mengilustrasikan prilaku dari

multiprocessing yang digunakan untuk multiprogramming. Beberapa proses terpisah

di alokasikan di dalam memory. Ruang alamat proses terdiri dari halaman-halaman

sehingga hanya sebagian saja dari proses tersebut yang berada dalam memory pada

satu waktu. Hal ini memungkinkan banyak proses dapat aktif.

II. Keunggulan Multiprocessor

Gambar 2.1 : Multiprocessor Systems

Gambar 2.1 Multiprocessor System merupakan skema proses pada multiprocessor.

Berikut penjelasannya:

a. 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 menjadi

sejumlah/sebanyak processornya. Yang meningkat ialah jumlah pekerjaan yang

bisa dilakukannya dalam waktu tertentu.

b. Economy of Scale (ekonomis), ekonomis dalam devices yang dibagi bersama-

sama. Processor-processor terdapat dalam satu komputer dan dapat membagi

peripheral (ekonomis) seperti disk dan satu daya listrik.

c. Peningkatan kehandalan (reliabilitas), jika satu processor mengalami suatu

gangguan, maka proses yang terjadi masih dapat berjalan dengan baik karena tugas

processor yang terganggu diambil alih oleh processor lain. Hal ini dikenal dengan

istilah Graceful Degradation. Sistemnya sendiri dikenal bersifat fault tolerant atau

fail of system.

Page 4: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

III. Jenis-jenis Multiprocessing

Multiprocessing dapat dibagi ke dalam beberapa kelas, yakni:

1. Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam:

ü Asymmetric Multiprocessing (ASMP)

ü Symmetric Multiprocessing (SMP)

ü Non-Uniform Memory Access (NUMA) Multiprocessing

ü Clustering

2. Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam:

ü SISD (Single Instruction on Single Data Stream)

ü SIMD (Single Instruction on Multiple Data Stream)

ü MISD (Multiple Instruction on Single Data Stream)

ü MIMD (Multiple Instruction on Multiple Data Stream)

3. Berdasarkan kedekatan antar processor, dapat dibagi ke dalam:

ü Loosely Coupled

ü Thightly Coupled

3.1 Asymmetric Multiprocessing (ASMP)

Pendekatan pertama untuk penjadwalan processor jamak adalah penjadwalan

asymmetric multiprocessing atau biasa disebut juga sebagai penjadwalan master/slave.

Dimana pada metode ini hanya satu processor (master) yang menangani semua

keputusan penjadwalan pemrosesan M/K dan aktivitas sistem lainnya dan processor

lainnya (slave) hanya mengeksekusi proses. Metode ini sederhana karena hanya satu

processor yang mengakses struktur data sistem dan juga mengurangi data sharing.

Dalam teknik penjadwalan master/slave, satu processor menjaga status dari semua

proses dalam sistem dan menjadwalkan kinerja untuk semua processor slave. Sebagai

contoh, processor master memilih proses yang akan dieksekusi, kemudian mencari

processor yang available dan memberikan instruksi start processor. Processor slave

memulai eksekusi pada lokasi memory yang dituju. Saat slave mengalami sebuah

kondisi tertentu seperti meminta M/K, processor slave memberi interupsi kepada

processor master dan berhenti untuk menunggu perintah selanjutnya. Perlu diketahui

bahwa processor slave yang berbeda dapat ditujukan untuk suatu proses yang sama

pada waktu yang berbeda.

Page 5: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

3.2 Symmetric Multiprocessing (SMP)

Setiap processor menjalankan salinan identik dari sistem operasi dan banyak job yang

dapat berjalan pada suatu waktu tanpa mengurangi kinerja.

Gambar 3.2.1 : Skema Symmetric Multiprocessing (SMP)

Keuntungan SMP:

• Performance

• Availability

• Incremental growth

Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing

Page 6: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

3.3 Non-Uniform Memory Access (NUMA)

NUMA multiprocessor adalah sebuah sistem shared memory dimana waktu aksesnya

bervariasi ke lokasi memory word.

Gambar 3.3.1 : Shared Local Memories (BBN Butterfly)

Gambar 3.3.2 : Hierarchical Cluster Model (Chedar System)

GSM : Global Share Memory

CIN : Cluster Interconnection Network

CSM : Cluster Shared Memory

• Shared memory yang secara phisik didistribusikan ke semua proses disebut lokal

memory dan kumpulan dari lokal memory membentuk ruang alamat global yang

dapat diakses oleh semua proses.

LM1 P1

LM2 P2

LMn Pn

Interconnection

Network

GSM GSM GSM

Global Interconnect Network

P1

P1

P1

C I N

P1

P1

P1

P1

P1

P1

C I N

P1

P1

P1

Page 7: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

• NUMA dapat mengakses lokal memory lebih cepat dengan lokal proses,

sedangkan akses ke memory yang jauh diberikan ke proses lain yang kapasitasnya

lebih besar untuk ditambah delay melalui interkoneksi jaringan (BBN Butterfly).

• Disamping distribusi memory, secara umum shared memory dapat ditambahkan ke

multiprocessor system, dalam hal ini ada tiga pola akses memory, dimana yang

tercepat adalah akses ke lokal memory, akses ke global memory dan yang paling

lambat adalah akses dari memory yang jauh (Hierarchical Cluster Model).

3.4 Single Instruction on Single Data Stream (SISD)

• Satu processor

• Satu instruksi stream

• Data disimpan di satu memory

• Disebut uni-processor

Gambar 3.4.1 : Skema SISD

3.5 Single Instruction on Multiple Data Stream (SIMD)

• Instruksi mesin tunggal

• Eksekusi dikendalikan secara simultan

• Terdapat sejumlah elemen proses

• Setiap instruksi dieksekusi dalam set data yang berbeda oleh proses yang berbeda

Page 8: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

Gambar 3.5.1 : Skema SIMD

3.6 Multiple Instruction on Single Data Stream (MISD)

• Banyak aliran instruksi

• Satu aliran data

• Belum dapat diimplementasikan dengan baik

Gambar 3.6.1 : Skema MISD

Page 9: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

3.7 Multiple Instruction on Multiple Data Stream (MIMD)

• Terdiri dari sejumlah set processor

• Terdiri dari sejumlah set data yang berbeda

• Secara simultan mengeksekusi urutan instruksi yang berbeda

Sifat Komputer MIMD:

• Mendistribusikan pemrosesan ke sejumlah processor independen.

• Membagikan sumber termasuk memory utama ke processor independen.

• Setiap processor menjalankan programnya sendiri.

• Setiap processor berfungsi secara independen dan bersama-sama.

Gambar 3.7.1 : Skema MIMD

3.8 Loosely Coupled

• Setiap site memiliki processor, memory 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).

Page 10: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

Gambar 3.8.1 : Skema Loosely Coupled

3.9 Thightly Coupled

• Processor berkomunikasi antara satu dengan yang lain dengan cara berbagi

memory utama, sehingga kecepatan komunikasi dari satu processor ke yang lain

tergantung pada bandwidth memory.

• Sebuah memory lokal kecil atau buffer (cache) kemungkinan terdapat pada setiap

processor untuk memperbaiki kinerja.

Gambar 3.9.1 : Skema Thightly Coupled

Page 11: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

IV. Time Sharing

Time Sharing adalah inovasi yang memungkinkan komputer-komputer besar

memproses banyak tugas secara simultan, dengan memberikan potongan waktu pada

masing-masing tugas dan beralih dari satu tugas ke tugas lainnya dengan cepat.

Varian dari multiprogramming, dimana tiap pemakai mempunyai satu terminal on-line

dengan pemroses hanya memberi layanan pada pemakai yang aktif secara bergantian

dengan cepat. Pemakai akan merasa dilayani terus menerus, padahal sebenarnya digilir

persatuan waktu yang cukup singkat.

Perbedaan Batch Multiprogramming dengan Time Sharing. Perhatikan Tabel 4.1

berikut ini:

Tabel 4.1 : Perbedaan Batch Multiprogramming dengan Time Sharing

Gambar 4.1 : Skema Organisasi Komputer SMP

Page 12: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

Time shared/common bus (bus bersama). Seperti ditunjukkan pada Gambar 4.1 Skema

Organisasi Komputer SMP di atas. Pada organisasi ini, semua processor dan modul

I/O berbagi bus untuk mengakses memory utama. Kelebihan: sederhana (simplicity),

fleksibel, handal (reliability).

Kekurangan:

• Koherensi Cache

• CPU melakukan multiplex pada beberapa jobs yang berada di memory dan disk

• CPU hanya dialokasikan kepada jobs yang telah siap dan berada di memory

• Besar memory masih sangat terbatas. Pada job dilakukan swapped in dan out dari

memory ke disk

• Komunikasi on-line (interaktif) antara user dan sistem, jika:

§ OS telah selesai mengeksekusi satu perintah, menunggu perintah berikut bukan

dari “card reader”, tapi dari terminal user.

§ On-line System harus tersedia bagi user yang akan mengakses data dan kode.

V. Affinity dan Load Balancing

5.1 Affinity

Data yang paling sering diakses oleh beberapa proses akan memadati cache pada

processor, sehingga akses memory yang sukses biasanya terjadi di memory cache.

Namun, jika suatu proses berpindah dari satu processor ke processor lainnya akan

mengakibatkan isi dari cache memory yang dituju menjadi tidak valid, sedangkan

cache memory dari processor asal, harus disusun kembali populasi datanya. Karena

mahalnya invalidating dan re-populating dari cache, kebanyakan sistem SMP mencoba

untuk mencegah migrasi proses antar processor sehingga menjaga proses tersebut

untuk berjalan di processor yang sama. Hal ini disebut afinitas processor (processor

affinity).

Ada dua jenis afinitas processor, yakni:

• Soft affinity yang memungkinkan proses berpindah dari satu processor ke

processor yang lain, dan

• Hard affinity yang menjamin bahwa suatu proses akan berjalan pada processor

yang sama dan tidak berpindah. Contoh sistem yang menyediakan system calls

yang mendukung hard affinity adalah Linux.

Page 13: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

5.2 Load Balancing

Dalam sistem SMP, sangat penting untuk menjaga keseimbangan workload

(banyaknya task yang harus diselesaikan oleh processor) antar semua processor untuk

memaksimalkan keuntungan memiliki multiprocessor. Jika tidak, mungkin satu atau

lebih processor idle disaat processor lain harus bekerja keras dengan workload yang

tinggi. Load balancing adalah usaha untuk menjaga workload terdistribusi sama rata

untuk semua processor dalam sistem SMP. Perlu diperhatikan bahwa load balancing

hanya perlu dilakukan pada sistem dimana setiap processor memiliki antrian tersendiri

(private queue) untuk proses-proses yang berstatus ready. Pada sistem dengan antrian

yang biasa (common queue), load balancing tidak diperlukan karena sekali processor

menjadi idle, processor tersebut segera mengerjakan proses yang dapat dilaksanakan

dari antrian biasa tersebut. Perlu juga diperhatikan bahwa pada sebagian besar sistem

operasi kontemporer mendukung SMP, jadi setiap processor bisa memiliki private

queue.

Ada dua jenis load balancing, yakni:

• Push migration, pada kondisi ini ada suatu task spesifik yang secara berkala

memeriksa load dari tiap-tiap processor. Jika terdapat ketidakseimbangan, maka

dilakukan perataan dengan memindahkan (pushing) proses dari yang kelebihan

muatan ke processor yang idle atau yang memiliki muatan lebih sedikit.

• Pull migration, kondisi ini terjadi saat processor yang idle menarik (pulling) proses

yang sedang menunggu dari processor yang sibuk.

Kedua pendekatan tersebut tidak harus mutually exclusive dan dalam kenyataannya

sering diimplementasikan secara paralel pada sistem load balancing.

Keuntungan dari affinity berlawanan dengan keuntungan dari load balancing, yaitu

keuntungan menjaga suatu proses berjalan pada satu processor yang sama dimana

proses dapat memanfaatkan data yang sudah ada pada memory cache processor

tersebut berkebalikan dengan keuntungan menarik atau memindahkan proses dari satu

processor ke processor lain. Dalam kasus system engineering, tidak ada aturan tetap

keuntungan yang mana yang lebih baik. Walaupun pada beberapa sistem, processor

idle selalu menarik proses dari processor non-idle sedangkan pada sistem yang lain,

proses dipindahkan hanya jika terjadi ketidakseimbangan yang besar antara processor.

Page 14: MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI … · Gambar 3.2.2 : Skema Multiprogramming dengan Symmetric Multiprocessing . ... • Setiap instruksi dieksekusi dalam set data yang berbeda

Daftar Pustaka

• http://en.wikipedia.org/wiki/Flynn%27s_taxonomy 19-05-2012

• http://www.cs.toronto.edu/~demke/469F.06/lectures.shtml 19-05-2012

• http://www.cs.vu.nl/~ast/books/book_software.html 19-05-2012

• http://id.wikipedia.org/wiki/Multiprocessing 19-05-2012

• http://opensource.telkomspeedy.com/repo/abba/v06/Kuliah/SistemOperasi/2008/240/15-

Penjadwalan_Prosesor_Jamak.pdf 19-05-2012

• http://www.oreilly.com/catalog/9780596514549/figs/I_mediaobject12_d1e21060.png 19-

05-2012