Anda di halaman 1dari 24

KOMPUTER KINERJA TINGGI

Diajukan Sebagai Tugas Arsitektur Komputer

KINERJA TINGGI Diajukan Sebagai Tugas Arsitektur Komputer DiSusun Oleh: Nama : TEGUH SETIO : BAGAS PUTRA

DiSusun Oleh:

Nama

:

TEGUH SETIO

:

BAGAS PUTRA .Y

:

HARI PURWANGGA .K

Nim

: 14-55-201-397

: 14-55-201-351

: 14-55-201-

Fakultas

: Teknik Informatika

Sm/Kelas

:

III F1/F2

Dosen

:

Fauyhi Eko N., S.Kom., M.Kom

UNIVERSITAS MUHAMMADIYAH TANGERANG

JL.Perintis Kemerdekaan 1/33 Cikokol - Kota tangerang Tlp . (021) 55730730 55730731 55371198

KATA PENGANTAR

Puji syukur kami penjatkan kehadirat Allah SWT, yang atas rahmat-Nya sehingga kami dapat menyelesaikan penyusunan makalah yang berjudul Komputer Kinerja Tinggi. Penulisan makalah ini merupakan salah satu tugas yang diberikan dalam mata kuliah Arsitektur Komputer Dalam Penulisan makalah ini kami merasa masih banyak kekurangan baik pada teknis penulisan maupun materi, mengingat akan kemampuan yang kami miliki. Untuk itu, kritik dan saran dari semua pihak sangat kami harapkan demi penyempurnaan pembuatan makalah ini.

Dalam penulisan makalah ini penulis menyampaikan ucapan terima kasih yang sebesar-besarnya kepada pihak-pihak yang membantu dalam menyelesaikan makalah ini, khususnya kepada Dosen kami yang telah memberikan tugas dan petunjuk kepada kami, sehingga kami dapat menyelesaikan tugas ini.

DAFTAR ISI

KATAPENGANTAR

i

DAFTAR ISI

ii

BAB I PENDAHULUAN

A. Latar Belakang

1

B. Fungsi Dasar

2

C. Tujuan Pembelajaran

3

D. Sasaran Komputer Kinerja Tinggi

4

BAB II PEMBAHASAN

A.Konsep Dasar Komputer Kinerja Tinggi

5

B. Kasifikasi Arsitektur Komputer

6

C. Symmetric Multiprosesor (SMP)

7

D. Cachce Coherence

8

E. Multithreading

9

F. Cluster

10

G. CC-NUMA

11

H. Processor Vector dan GPU

12

BAB III PENUTUP

DAFTAR PUSTAKA

13

BAB I PENDAHULUAN

A. Latar Belakang

Pada awalnya komputer dirancang untuk keperluan yang terbatas. Sejalan dengan semakin meningkatnya penggunaan komputer untuk berbagai keperluan aplikasi maka arsitektur komputer terns dikembangkan. Teknologi dasar Integrated Circuit (IC) menjadi kunci tumbuhnya arsitektur dan sistem komputer. Semakin cepatnya respon yang dibutuhkan oleh pengguna maka semakin meningkatkan kebutuhan komputer kinerja tinggi.

International Business Machine (IBM) sebagai perusahaan pertama pada bidang mesin komputer, membuat komputer mainframe sebagai komputer berkinetja tinggi. Komputer jenis ini digunakan sebagai pemroses urusan-urusan dalam skala besar, seperti pada perusahaan-perusahaan besar.

B. FUNGSI

Data besar adalah aset yang dapat dijadikan aset perusahaan yang menghasilkan pendapatan baru. Perubahan trend ini memiliki konsekuensi pada teknologi komputer sebagai pemroses data DASAR

C. TUJUAN PEMBELAJARAN

Mengenal Lebih dalam kinerja tentang komputer kinerja tinggi. Pada bagian ini ini di bahas konsep dasar prosesor kinerja yang di gunakan untuk memperoses sejumlah data yang besar dan aplikasidengan waktu respon yang memadai

D. SASARAN KOMPUTER KNERJA TINGGI

Komputer kinerja tinggi adalah sebuah sistem komputer yang dirancang untuk memproses instruksi dan data dalam jumlah yang besar. Sangat relevan untuk membicarakan komputer kinerja tinggi dalam pemrosesan data yang besar.

20.1 Konsep Dasar Komputer Kinerja Tinggi

Perkembangan teknologi tumbuh sejalan- dengan tuntutan perkembangan aplikasi pengguna. Salah satu trend yang sekarang berkembang adalah pemrosesan data dalam jumlah yang besar, big data. Data besar adalah aset yang dapat dij adikan aset perusahaan yang menghasilkan pendapatan baru. Perubahan trend ini memiliki konsekuensi pada teknologi komputer sebagai pemroses data. Diperlukan komputer kecepatan tinggi yang dapat memroses data dalam jumlah besar dengan waktu yang relatif cepat.

Komputer kinerja tinggi adalah sebuah sistem komputer yang dirancang untuk memproses instruksi dan data dalam jumlah yang besar. Sangat relevan untuk membicarakan komputer kinerja tinggi dalam pemrosesan data yang besar.

Instruksi dan data diproses oleh prosesor. Kata kuncinya adalah prosesor. Peningkatan kinerja prosesor dapat dilakukan dengan berbagai cara seperti proses yang terkenal multitasking dan pipelining. Ke'dua konsep tersebut diterapkan pada prosesor tunggal dengan melakukan pembagian waktu proses instruksi. Pada proses mulitasking terdapat beberap instruksi yang dikerjakan secara bersama-sama, lebih tepatnya bergantian. Seolah-olah dikerjakan bersamaan, pada kenyataannya dikerjakan secara bergantian. Tidak mungkin dua instruksi dikerjakan secara bersamaan, pada tipe komputer prosesor tunggal, karena hanya ada satu prosesor yang mengeksekusi instruksi- instruksi tersebut. Konsep pipelining, mirip dengan sistem ban berjalan pada lini produksi. Pemrosesan instruksi terdiri beberapa tahapan dari mulai pengambilan instruksi dari dari memori, penerjemah, eksekusi, akses pengisian register (terdapat beberapa jenis tahapan eksekusi instruksi tergantung jenis instruksinya). Satu instruksi dikerjakan dalam satu siklus, pada sistem konvensional. Pada sistem pipelining, terdapat beberapa instruksi yang dikeljakan secara besamaa n dengan tahapan yang berbeda. Pada saat instruksi pertama diterjemahkan, prosesor dapat mengambil instruksi yang kedua dari memori. Demikian seterusnya.

Kinerja ' Prosesor tunggal sudah mendekati maksimal sementara tuntutan kinerja pemrosesan untuk instruksi dan data yang besar masih belum tuntas, diperlukan konsep berikutnya yaitu multiprosesor. Konsepnya adalah melipatgandakan jumlah prosesor sebagai mesin pemroses. Komputer kinerja tinggi dibangun dari kumpulan 'prosesor yang bekerja secara bersama-sama untuk menyelesaikan instruksi dan data.

Terdapat banyak variasi pengembangan komputer kinerja tinggi dengan melibatkan lebih dari satu prosesor. Terdapat berbagai arsitektur yg dibangun untuk mewujudkan sistem berkinerja tinggi. Sampai saat ini terdapat berbagai konsep klasiflkasi arsitektur

komputer berkinerja tinggi. Berikut ini pembahasan klasifikasi arsitektur komputer berkinerja tinggi

20.2 Klasifikasi Arsitektur Komputer

Terdapat banyak variasi pengembangan komputer kinerja tnggi dengan melibatkan lebih dari satu prosesor Berikut ini beberapa klasiflkasi arsitektur komputer kinerja tinggi.

a. Klasiiikasi Flynn (Tahun 1966) Klasifikasi arsitektur komputer berdasarkan Flynn terdiri dari kombinasi sejurnlah instruksi dan data. Instruksi berhubungan dengan unit kendali (control unit, CU) yang dikerjakan oleh unit pemroses (processing unit) dengan mengakses data yang terdapat pada memori dan disimpan kembali ke dalam memori

Terdapat empat katagori sebagai berikut.

-single-instuction data streams (SISD)

Pada sistem ini terdapat sebuah prosesor yang mengeksekusi sebuah instruksi setiap waktu dan mengoperasikan data yang tersimpan dalam sebuah memori. Sistem ini berjalan seperti pada computer-komputer yang umumnya digunakan saat ini. Sistem ini diistilahkan sebagai sistem prosesor tunggal.

- Single- instrucn'on multiple data streams (SIMD)

Pada sistem ini terdapat sejumlah prosesor yang mengeksekusi sebuah instruksi yang mengeljakan sekumpulan elemen data dalam memori. Sistem seperti ini digunakan untuk menyelesaikan data-data array atau vektor. Implementasi sistem ini adalah prosesor array dan vektor.

- Multsze- insh'uction single-data

streams (MISD)

Pada sistem ini terdapat sejumlah instruksi yang dikerjakan pada setiap prosesor yang mengerjakan serangkaian data. Sistem ini kurang efesien sehingga tidak diimplementasikan.

-Multiple- instruction multiple-data streams (MIMD)

Pada sistem ini terdapat sejumlah prosesor yang mengeksekusi sejumlah instruksi yang mengoperasikan sejumlah data. Contoh sistem yang menggunakan sistem ini adalah symmetric multiprocessor, sistem cluster dan Non Uniform Memory Access (NUMA).

Konsep arsitektur Flynn dapat digambarkan sebagai sekumpulan unit kendali, unit pemroses dan memori. Gambar 20.1. menunjukan arsitektur berdasarkan klasiiikasi Flynn, yang meliputi SISD, SIMD, MIMD memori bersama dan MIMD memori terdistribusi.

Memori Unit Unit Intruksi Data Memori Intruksi Kendali Peroses
Memori
Unit
Unit
Intruksi
Data
Memori
Intruksi
Kendali
Peroses

(a) SISD

Intruksi Data Memori Intruksi Kendali Peroses (a) SISD Memori Unit Intruksi Kendali Intruksi Unit Pemroses1
Memori Unit Intruksi Kendali
Memori
Unit
Intruksi
Kendali
Kendali Peroses (a) SISD Memori Unit Intruksi Kendali Intruksi Unit Pemroses1 Unit Pemroses2 Unit Pemroses3

Intruksi

Unit Pemroses1 Unit Pemroses2 Unit Pemroses3 Unit Pemroses4
Unit
Pemroses1
Unit
Pemroses2
Unit
Pemroses3
Unit
Pemroses4

(b) SIMD

Memori Data 1 Memori Data 2 Memori Data 3 Memori Data 4
Memori
Data
1
Memori
Data
2
Memori
Data
3
Memori
Data
4

Gambar 20.1 (a) menunjukan sistem SISD yang terdapat sebuah untuk kendali yang berfungsi menteljemahkan instruksi untuk dikeljakan oleh unit pemroses. Instruksi tersebut berasal dari memori instruksi. Aliran instruksi dari unit kendali ke unit pemroses berkorelasi dengan ah'ran data yang terdapat pada memori. Data yang diproses berasal dari memori dan hasilnya disimpan lagi ke dalam memori.

Pada sistem SISD terdapat satu aliran instruksi dari unit kendali ke unit pemroses dan terdapat satu aliran data dari memori ke unit pemroses dan sebaliknya.

Gambar (b) menunjukan sistem SIMD yang menggambarkan sebuah unit kendali yang menterjemahkan instruksi yang diproses oleh n buah unit pemroses. Masing- masing unit pemroses mengerjakan sejumlah n buah aliran data yang berbeda yang berasal dari n buah memori.

b. Klasifikasi Kuck (Tahun 1978)

Klasifikasi Kuck merupakan perluasan dari klasiflkasi Flynn dengan mendambahkan scalar dan array pada jenis instruksi tunggal maupun jamak. Demikian juga pada tipe data tunggal dan jamak dilihat dari tipe scalar dan array. Pada klasifikasi Kuck terdapat 16 jenis arsitektur komputer.

c. Klasiiikasi Hwang dan Briggs (Tahun 1984)

Hwang dan Briggs melakukan penambahan pada tiga klasiiikasi Flynn. Hwang dan Briggs mengenalkan sistem pengkelasan pada klasifikasi arsitektur komputer. Pada tipe arsitektur SISD, ditambahkan katagori baru berdasarkan unit fungsional yaitu unit fungsional tunggal dan banyak. SISD-S adalah SISD dengan unit fungsional tunggal sementara SISD-S adalah SISD dengan unit fungsional jamak. Tipe MIMD dikatagorikan berdasarkan loosly coupled dan tightly coupled, MIMD- L dan MIMD-T. Tipe SIMD dikatagorikan berdasarkan satuan terkecil yaitu word-sliced processing dan bit-sliced processing, SIMD- w dan SIMD-B

d. Klasitikasi Erlangen (Tahun 1981) Pada klasitikasi Erlangen dikenalkan sebuah unit

baru yang lebih rinci yaitu unit logika elementer (Elementary Logic Unit, ELU) disamping unit kendali (Control Unit, CU) dan unit aritmetik dan logika (Arithmetic and Logical Unit, ALU). Klasifikasi Erlangen dinotasikan sebagai sistem tiga-Tuple (k, d, w) dengan k adalah jumlah unit kendali, d jumlah unit aritmetik dan logika dan w jumlah unit logika elementer (ELU). Misalkan arsitektur komputer (1,32,32) menunjukan bahwa dalam arsitektur komputer tersebut terdiri dari 1 unit kendali, yang mengendalikan 32 unit aritmetik dan logika yang masing- masingnya memihki 32 ELU.

Komputer

Pararel

Sistem Pararel Pipelining Real
Sistem Pararel
Pipelining
Real
Komputer Pararel Sistem Pararel Pipelining Real Multiprosesor (k>1) Komputer Array (d>1) Word Sliced
Komputer Pararel Sistem Pararel Pipelining Real Multiprosesor (k>1) Komputer Array (d>1) Word Sliced
Multiprosesor (k>1) Komputer Array (d>1) Word Sliced
Multiprosesor
(k>1)
Komputer Array
(d>1)
Word Sliced
Macro-pipeniling (k’>1) Komputer Array (d’>1)
Macro-pipeniling
(k’>1)
Komputer Array
(d’>1)

Arithemetic-

Pipeniling (w’>1)

Machine (w>1)

Gambar 20.2 skema klasifikasi komputer Erlangen

Secara umum arsitektur komputer. paralel dibagi dua yaitu arsitektur sistem paralel real yaitu sistem yang memiliki lebih dari 1 prosesor dan arsitektur pipelining. Arsitektur yang kedua sebenarnya terdapat

satu buah prosesor yang dapat mengerjakan pekerjaan lebih dari satu instruksi pada satu waktu.

Pada sistem multiprosesor terdapat lebih dari satu unit kendali yang mengirimkan instruksi ke dalam sistem. Pada sistem komputer array terdapat lebih dari satu unit aritmetik dan logika dan pada sistem word sliced machine terdapat lebih dari satu unit logika elementer (ELU). Sementara itu pada sistem pipelining menunjukan seolah- olah memiliki lebih dari satu unit kendali, unit aritmetik dan logika dan unit logika elementer.

e. Skema SIMD

Terdapat dua Skema implementasi model arsitektur SIMD. Pada Skema 1, masing- masing pemroses memiliki memori data internal. Pemroses dapat saling berkomunikasi satu dengan yang lainnya melalui jaringan penghubung.

Memori Intruksi

Unit Kendali
Unit Kendali
melalui jaringan penghubung. Memori Intruksi Unit Kendali Pemroses 0 Memori Data 0 Pemroses 1 Memori Data
melalui jaringan penghubung. Memori Intruksi Unit Kendali Pemroses 0 Memori Data 0 Pemroses 1 Memori Data
melalui jaringan penghubung. Memori Intruksi Unit Kendali Pemroses 0 Memori Data 0 Pemroses 1 Memori Data
Pemroses
Pemroses
jaringan penghubung. Memori Intruksi Unit Kendali Pemroses 0 Memori Data 0 Pemroses 1 Memori Data 1
0 Memori Data 0
0
Memori
Data 0
Memori Intruksi Unit Kendali Pemroses 0 Memori Data 0 Pemroses 1 Memori Data 1 Pemroses 2
Pemroses
Pemroses
Intruksi Unit Kendali Pemroses 0 Memori Data 0 Pemroses 1 Memori Data 1 Pemroses 2 Memori
1 Memori Data 1
1
Memori
Data 1
Pemroses 0 Memori Data 0 Pemroses 1 Memori Data 1 Pemroses 2 Memori Data 2 Pemroses
Pemroses 2
Pemroses
2
0 Memori Data 0 Pemroses 1 Memori Data 1 Pemroses 2 Memori Data 2 Pemroses n-1
Memori Data 2
Memori
Data 2
Data 0 Pemroses 1 Memori Data 1 Pemroses 2 Memori Data 2 Pemroses n-1 Memori Data
Pemroses n-1 Memori Data n-1
Pemroses
n-1
Memori
Data n-1
Data 0 Pemroses 1 Memori Data 1 Pemroses 2 Memori Data 2 Pemroses n-1 Memori Data
Data 0 Pemroses 1 Memori Data 1 Pemroses 2 Memori Data 2 Pemroses n-1 Memori Data

Jaringan Penghubung

a.

Memori Intruksi

Unit Kendali
Unit Kendali
Memori Intruksi Unit Kendali Pemroses Pemroses Pemroses Pemroses 0 1 2 n-1 Jaringan Penghubung Memori Memori
Memori Intruksi Unit Kendali Pemroses Pemroses Pemroses Pemroses 0 1 2 n-1 Jaringan Penghubung Memori Memori
Pemroses Pemroses Pemroses Pemroses 0 1 2 n-1 Jaringan Penghubung Memori Memori Memori Memori Data
Pemroses
Pemroses
Pemroses
Pemroses
0
1
2
n-1
Jaringan Penghubung
Memori
Memori
Memori
Memori
Data 0
Data 1
Data 2
Data n-1

(b) Skema Implementasi SIMD

Pada skema yang kedua prosesor dan memori berkomunikasi melalui jaringan penghubung. Dua prosesor dapat saling bertukar data melalui modul memori.

Skema SIMD direpresentasikan dalam 5-tuple (N, C, I, M, F) dengan masing- masing argumen sebagai berikut.

- N adalah jumlah elemen pemrosesan (N =2k, k21)

- C adalah kumpulan instruksi kendali yang digunakan oleh unit kendali, contoh, do, for dan step.

- I adlaah kumpulan instruksi yang dieksekusi oleh unit pemrosesan yang sedang aktif.

- M adalah bagian dari elemen pemrosesan

- F adalah kumpulan fungsi interkoneksi yang menentukan jalur komunikasi diantara elemen pemrosesan.

f. Skema MIMD

Pada Proses operasi MIMD dibagi menjadi dua katagori yaitu mekanisme shared memory dan arsitektur message-passing.

-Sistem Memori Bersama (shared- memory) 'Sebuah Sistem yang didalamnya terdapat beberapa prosesor, isal a dan b, yang terhubung dengan sebuah memori bersama melalui jaringan penghubung.

dengan sebuah memori bersama melalui jaringan penghubung. Prosesor a Prosesor b Jaringan Penghubung Memori Bersama
dengan sebuah memori bersama melalui jaringan penghubung. Prosesor a Prosesor b Jaringan Penghubung Memori Bersama
Prosesor a Prosesor b Jaringan Penghubung Memori Bersama
Prosesor a
Prosesor b
Jaringan Penghubung
Memori Bersama
Prosesor a Prosesor b Jaringan Penghubung Memori Bersama Gambar 20.4 Sistem Memori Bersama Sebuah sistem yang

Gambar 20.4 Sistem Memori Bersama

Sebuah sistem yang terdapat beberapa prosesor, misal a dan b, yang mengakses sebuah memori bersama melalui jaringan penghubung. Pada saat prosesor a akan mengakses data pada memori maka prosesor a mengajukan permintaan kepada memori. Prosesor a akan mengakses data selama prosesor b tidak sedang mengakses. Pada saat memori melayani prosesor a dan prosesor b akses, maka memori akan mengirim sinyal sibuk kepada prosesor b dan prosesor b menunggu sampai prosesor a selesai.

Pada sistem UMA terdapat sejumlah prosesor yang dapat mengakses data pada semua memori bersama dengan kesempatan yang sama. Sementara itu pada skema COMA, masing- masing prosesor memiliki memori cache yang berfungsi menyimpan data sementara. Pada arsitektur NUMA, masing- masing prosesor memiliki bagian khusus untuk mengkses alamat pada memori bersama.

Prosesor 1 Prosesor 2 Prosesor n
Prosesor 1
Prosesor 2
Prosesor n
Jaringan Penghubung
Jaringan Penghubung

Memori Bersama 1

Memori Bersama 2

(a)Uniform memori acces (UMA)

Prosesor 1 Prosesor 2 Prosesor n Cache 1 Cache 2 Cache n Jaringan Penghubung (b)
Prosesor 1
Prosesor 2
Prosesor n
Cache 1
Cache 2
Cache n
Jaringan Penghubung
(b) Cache-Only memory
Prosesor 1 Prosesor 2 Prosesor n Memori 1 Memori 2 Memori n Jaringan Penghubung
Prosesor 1
Prosesor 2
Prosesor n
Memori 1
Memori 2
Memori n
Jaringan Penghubung
Memori Bersama 1
Memori Bersama 1
1 Memori 2 Memori n Jaringan Penghubung Memori Bersama 1 Memori Bersama 2 Gambar 20.5 (c)
Memori Bersama 2
Memori Bersama 2
Memori 2 Memori n Jaringan Penghubung Memori Bersama 1 Memori Bersama 2 Gambar 20.5 (c) Non

Gambar 20.5 (c) Non Uniform Memory Acces (NUMA)

- Sistem message-passing

Pada sistem ini terdapat sejumlah prosesor yang masing- masing mengakses memori dihubungkan oleh sebuah bus. Masing- masing sistem ini dapat berkomunikasi dengan sistem serupa melalui jaringan penghubung dengan melewatkan pesan.

Prosesor 1

jaringan penghubung dengan melewatkan pesan. Prosesor 1 Memori 1 Prosesor 2 Memori 2 Bus 1 Bus
jaringan penghubung dengan melewatkan pesan. Prosesor 1 Memori 1 Prosesor 2 Memori 2 Bus 1 Bus
jaringan penghubung dengan melewatkan pesan. Prosesor 1 Memori 1 Prosesor 2 Memori 2 Bus 1 Bus
Memori 1 Prosesor 2 Memori 2 Bus 1 Bus 2 Jaringan penghubung Bus n Prosesor
Memori 1
Prosesor 2
Memori 2
Bus 1
Bus 2
Jaringan penghubung
Bus n
Prosesor n
Memori n
1 Bus 2 Jaringan penghubung Bus n Prosesor n Memori n Gambar 20.6 Arsitektur sistem multiposesor
1 Bus 2 Jaringan penghubung Bus n Prosesor n Memori n Gambar 20.6 Arsitektur sistem multiposesor
1 Bus 2 Jaringan penghubung Bus n Prosesor n Memori n Gambar 20.6 Arsitektur sistem multiposesor
1 Bus 2 Jaringan penghubung Bus n Prosesor n Memori n Gambar 20.6 Arsitektur sistem multiposesor

Gambar 20.6 Arsitektur sistem multiposesor dengan massage -passing

Prosesor 1 mengakses memori 1 melalui bus 1 pada saat akan mengakses data pada memori 2 maka prosesor 1 mengirimkan pesan melalui jaringan penghubung.

20.3 Symmetric Multiprocessor (SMP)

Multiprosesor simetris (Sysmmetric Multiprocessor, SMP) adalah sistem multiprosesor yang terdiri dari beberapa prosesor yang identik yang mangakses memori besama melalui bus (jaringan penghubung

Perbedaan mendasar antara sistem SMP dengan sistem prosesor tunggal adalah pada pemrosesan instruksi. Pada prosesor tunggal pemrosesan instruksi dilakukan secara serial, satu per satu. Sistem operasi dapat mengatur beberapa proses dijalankan secara bersama~ sama dengan pembagian waktu pemrosesan oleh prosesor. Misal terdapat empat buah proses, proses 1, 2, 3, dan 4. Keempat proses tersebut dapat dijalankan secara bergantian.

Pada sistem SMP terdapat sejumlah N prosesor yang terhub-ung dengan sebuah Memori Utama melalui Bus Sistem. Masing- masing prosesor memiliki dua bauh Cache sebagai tempat menyimpan sementara sejumlah instruksi. Cache ini dibagi dua yaitu cache level 1

yang terdapat pada masing- masing prosesor dan cache level 2 yang terdapat diluar prosesor. Bus sistem dihubungkan dengan bus peraangkat masukan/luaran melalui penghubung bus. Bus perangkat masukan/luaran terhubung dengan sejumlah M perangkat masukan/luaran.

Prrsesor 1 Prrsesor 1 Prrsesor 1 Cache1 L1 Cache2 L2 CacheN L1 Cache1 L2 Cache2
Prrsesor 1
Prrsesor 1
Prrsesor 1
Cache1 L1
Cache2 L2
CacheN L1
Cache1 L2
Cache2 L2
Cache1NL2
Bus sistem
Memori
Penghubungi
Utama
Bus
Bus Perangkat masukan/Luaran
Memori Utama
Memori
Utama

Gambar 20.8 Arsitektur Sistem SMP

Memori

Utama

20.4 Cache Coherence

Cache adalah memori yang menyimpan sementara data yang diekseskusi pada sebuah prosesor. Dengan adanya cache ini maka proses eksekusi data akan lebih efesien.

Terdapat dua cara yang digunakan untuk menyelaraskan data dalam memori dan cache. Pada saat prosesor membaca memori, data dari memori akan disalin ke dalam cache. Prqsesor menulis dan membaca data dari cache. Secara periodik data pada cache akan dituliskan balik kepada Memori utama. Cara penyelarasan data seperti ini diistilahkan sebaga sistem tulis balik (write back). Disamping cara

pertama terdapat cara kedua yaitu pada saat data pada cache diubah maka secara langsung, data pada memori utama diubah sesuai dengan perubahan data pada cache. Cara ini diistilahkan sebagai sistem tulis langsung (write through).

Kedua cara ini memiliki kelebihan dan kekurangan. Cara pertama adalah konsep yang sesuai dengan tujuan awal adanya cache yaitu agar mempercepat proses eksekusi data pada cache daripada mengakses memori utama, sehingga kelebihannya adalah kecepatan. Kelemahan sistem ini adalah dimungkinkan adanya ketidakonsistenan data pada saat prosesor lain mengakses data yang sama pada memori utama sementara nilai terakhir dari cache belum dituliskan ke dalam memori utama. Cara kedua memiliki kelebihan dalam hal konsistensi data. Data dalam memori utama selalu sama dengan data pada cache sehingga kecil kemungkinan adanya ketidakkonsistenan. Kelemahan cara kedua adalah setiap kali ada perubahan data di cache dilakukan penulisan ke memori utama. Hal ini memerlukan waktu proses.

Pada kasus multiprosesor yang di dalamnya melibatkan banyak prosesor dengan cache pada masing- masingnya maka dimungkinkan terjadinya ketidakcocokan antara data yang terdapat pada cache prosesor 1 dengan cache prosesor 2 dan data memori utama.

Hal ini merupakan masalah utama pada sistem SMP. Misal prosesor 1 mengambil data pada alamat memori M[100] dan disimpan dalam cache prosesor 1. Berikutnya prosesor 2 mengambil data juga pada alamat M[1oo]. Secara bersamaan masing- masing prosesor mengupdate nilai memori tersebut. Maka akan terjadi ketidakkonsistenan nilai pada alamat memori tersebut.

Masalah ketidakkonsistenan cache pada sistem SMP dapat didekati dengan pengaturan perangkat lunak pada level sistem operasi. Pengaturan penyelarasan nilai cache dapat dilakukan pada saat program dijalankan. Sistem perangkat keras tidak berubah, proses pemeriksaan konsistensi data cache dan memori dilakukan oleh perangkat lunak sistem oprasi.

Prrsesor 1 Cache1 L1 Cache1 L1
Prrsesor 1
Cache1 L1
Cache1 L1
lunak sistem oprasi. Prrsesor 1 Cache1 L1 Cache1 L1 Prrsesor 2 Cache12L1 Cache1 L1 Bus Sistem
Prrsesor 2 Cache12L1 Cache1 L1
Prrsesor 2
Cache12L1
Cache1 L1
Bus Sistem Memori Utama
Bus Sistem
Memori
Utama

Gambar 20.9 Cache coherence

Pendekatan yang kedua adalah dengan menempkan mekanisme kendali memori dan cache pada level perangkat keras. Terdapat pusat pengendali akses memori yang memastikan bahwa proses pembacaan dan penulisan memori utama konsisten. Pendekatan pemngkat keras ini memudahkan bagi pmgramer. tidak ada hal yang perlu ditangani pada level perangkat lunak sistem.

Protokol MESI

Salah satu sistem untuk menangani ketidakkonsistenan cache adalah dengan menggunakan protokol MESI yang merupakan kependekan dari Modified Exclusive, Shared dan Invalid. Masing- masing adalah kondisi yang mungkin teljadi pada saat akses memori utama dan cache.

Modified (dimodiiikasi) adalah kondisi pada saat data pada cache dimodiditikasi sehingga berbeda dengan data aslinya di memori. Data

modifikasi ini hanya terdapat pada cache.

Exclusive (ekslusif): data yang terdapat pada suatu cache sama dengan data pada memori tapi tidak terdapat pada cache lain. Shared (Bersama): Data yang terdapat pada suatu cache sama dengan data pada memori utama dan mungkin juga terdapat pada cache lain, Invalid (tidak valid): data yang terdapat pada cache tidak valid.

Read Miss adalah kejadian pada saat prosesor memerlukan data yang tidak terdapat dalam cache lokal. Langkah yang dilakukan oleh prosesor adalah membaca langsung dari memori utama. Prosesor mengirimkan sinyal pemberitahuan kepada seluruh prosesor untuk mengatuhi proses baca data dari memori dan disalin ke dalam cache lokal. Terdapat beberapa kemungkinan kondisi sebagai berikut.

-Jika terdapat cahce lain yang tidak memiliki salinan dari data tersebut maka akan mengembalikan sinya shared. Prosesor tersebut kemudian me ngubah status dari eixclusive ke shared. Pada saat yang sama, prosesor yang menginisiasi pembacaan, akan membaca data dari memori utama dan' menyalin data ke dalma cache dan mengubah status cache dari invalid menjadi shared. '

-Jika satu atau beberap cache tidak menyalin data tersebut, maka masing- masing berada pada status shard dan mengirim sinyal shared. Prosesor yang menginisiasi kemudian membaca data dari memori dan mengubah status dari invalid menjadi shared.

-Jika terdapat satu cache yang telah memodiiikasi data, maka cache tersebut mem-blok pembacaan memori dan menyediakan data yang diminta ke dalam bus. Cache yang merespon kemudian mengubah baris tersebut dari modified ke shared. Data dikirim ke cache yang memerlukan. '

-Jika tidak ada cache yang memiliki salinan data, maka tidak ada sinya] yang dikembalikan. Prosesor yang menginisiasi membaca data dan transisi dari status invalid ke exclusive.

Read Hit terjadi pada saat prosesor memerlukan data yang terdapat

pada cache lokal. Tidak terjadi perubahan kondisi pada memori utama maupun cahce- cache yang lain.

Write Miss terjadi pada saat prosesor tidak menemukan data pada cache lokal untuk dimodiflkasi. Prosesor membaca data pada memori utama kemudian menyalinnya ke dalam cache lokal, dan mengubah statusnya menjadi modified.

Write Hit teljadi pada saat prosesor mcnulisi data pada cache lokal. Terdapat beberapa kemungkinan perubahan tergantung kondisi cache Iokal saat ini, sebagai berikut.

- Kondisi shared : prosesor mengubah status ekslusif baris yang diupdate dan memberitahukan prosesor lain untuk mengubah nilai data pada cache. Prosesor lain yang status cache nya berbagi akan mengubah status menjadi invalid. Prosesor mengubah isi memori utama dan prosesor lain menyalin data tersebut ke dalam cahce masing- masing.

Kondisi exclusive : prosesor mengendalikan sepenuhnya pengubahan data pada cache tersebut. Prosesor mengubah data tersebut dan menyah'n ke memori utama.

Kondis modified : prosesor langsung dapat memOdiflkaSi dan mengubah nilai pada memori utama.

20.5 Multithreading

Kinerja sebuah komputer diukur berdasarkan kecepatan respon terhadap aplikasi yang dijalankan pada level pengguna. Banyak faktor yang dapat menjadi pendukung terciptanya kinerja komputer yang baik diantaranya adalah jumlah siklus instruksi, kinerja prosesor, proses pipeline dan frekuensi clock komputer.

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

Tingkat Eksekusi Instruksi (TEI) = f x IPC

Keterangan:

- f : frekuensi clock prosesor

- IPC : Instruction Per Cycle

Peningkatan pada kedua faktor, f dan IPC, dapat meningkatkan kinerja sebuah prosesor. IPC sendiri dapat ditingkatkan dengan menggunakan mekanisme pipeline yang memungkinkan untuk membagi proses eksekusi instruksi ke dalam beberapa sub proses yang masing- masing dapat dikerjakan secara independen.

Konsep lain untuk meningkatkan kinerja prosesor adalah dengan membagi eksekusi serangkaian instruksi ke dalam sub rangkaian instruksi (thread). Konsep ini dikenal sebagai konsep multithreading. Konsep ini menawarkan proses paralel pada level eksekusi instruksi.

20.6 Cluster

Semakin meningkatnya jumlah data yang harus diproses oleh komputer mengakibatkan tuntutan kecepatan proses yang semakin tinggi. Sekarang saatnya big data. IBM telah mengembangkan komputer super cepat sebagai server yang handal. Perkembangan berikutnya terjadi pergeseran dari super komputer menuju komputer pribadi yang relatif memiliki kapasitas keci].

Sistem cluster memiliki banyak keuntungan diantaranya adalah kemudahan pengembangan. Pada saat . diperlukan adanya penambahan sumber daya komputer, tidak perlu pembenahan dari awal. Cukup menambahkan sejumlah komputer yang diperlukan. Disamping itu memiliki ketahanan dan ketersediaan yang kuat. Pada saat terjadi kesalahan pada satu bagian komputer, tidak akan mempengaruhi keseluruhan cluster. Terdapat mekanisme penanganan pada saat salah satu atau beberapa komputer dalam cluster mengalami kesalahan.

Kofigurasi sebuah cluster dapat diimplementasikan dengan menggunakan sebuah jalur penghubung kecepatan tinggi sehingga tidak ada hambatan untuk komunikasi antar komputer dalam cluster. Secara umum terdapat dua tipe kofiigurasi yaitu server tanpa adanya memori bersama dan sistem Cluster dengan sebuah sistem memori bersama yang digunakan oleh seluruh komputer dalam cluster.

Kekuatan cluster, disamping perangkat keras, adalah perangkat lunak penghubung sebagai middleware yang mengatur operasional seluruh cluster komputer. Terdapat beberapa isu penting yang perlu ditangani oleh sistem operasi yang menghubungkan antar komputer dalam cluster. Beberapa hal yang perlu ditangani oleh sistem operasi untuk sistem cluster sebagai berikut

a. Manajemen kegagalan: perangkat lunak sistem harus mampu menangani jika terjadi kegagalan pada sebagian komputer atau sub sistem yang terhubung dengan cluster. Secara umum terdapat dua pendekatan yaitu memastikan bahwa sistem benar-benar handal dan sistem toleransi kesalahan.

b. Perimbangan beban: cluster terdiri dari sejumlah komputer yang bekerja secara

bersama-sama. Sistem akan semakin efesien jika beban pekeljaan merata diantara seluruh komputer yang terdapat pada cluster. Menjadi isu penting bagi sistem operasi

untuk memastikan bahwa pengelolaan beban proses dapat disebarkan ke seluruh komputer dalam cluster.

c. Proses paralel: konsep untuk mengerjakan beberapa proses secara bersamaan.

Dalam sistem cluster pun berlaku sistem paralel dengan asumsi bahwa sejumlah

komputer dalam cluster bekerja sama sebagai sebuah sistem yang utuh dimata pengguna.

20.7 CC-NUMA

Pada sistem multiprosesor terdapat sejumlah komputer yang mengakses sebuah sistem memori yang sama. Salah satu contohnya adalah sistem Symmetric Multi Processor (SMP). Pada sistem ini prosesor-prosesor memiliki peluang yang sama untuk akses memori baik untuk operasi baca ma upun tulis. Seluruh bagian memori dianggap sama. Sistem seperti ini diistilahkan sebagai sistem yang memiliki akses memori secara seragam atau Uniform Memory Access (UMA). Terdapat sistem lain yang membagi akses memori ke dalam bebarapa bagian. Terdapat ba gian memori yang dapat diakses secara cepat dan lebih lambat. Prosesor dapat mengakses memori dengan kecepatan yang berbeda. Sistem seperti ini dinamakan sebagai sistem akses memori yang tidak seragam atau Nonuniform Memory Access (NUMA).

Baik UMA maupun NUMA adalah sistem akses memori pada sebuah sistem multiprosesor yang masing- masing prosesor memiliki cache lokal untuk menampung sementara data salinan dari memori utama. Masih terdapat masalah pada sistem seperti ini yaitu koherensi dari data pada masing- masing cache dengan memori utama dan cache prosesor lain. Sistem terakhir adalah sistem NUMA dengan sistem cache yang koheren yang diistilahkan sebagai Cache-Coherence Nonuniform Memory Access (CC-NUMA)

Arsitektur sistem CC-NUMA terdiri dari sejumlah cluster komputer yang masing- masing cluster memiliki memori bersama dan terdiri dari sejumlah komputer. Sebuah cluster yang terdiri dari sejumlah N buah komputer dengan sebuah memori bersama dan bus sistem diistilahkan sebagai node. Dalam koniigurasi CC-NUMA, sister: terdiri dari sejumlah node yang saling berhubungan. Satu node dengan node yang lainnya dihubungkan dengan sebuah jaringat penghubung kecepatan tinggi.

20.8 Prosesor Vector dan GPU

Pada sistem komputasi aritemtik terdapat operasi-operasi yang melibatkan sebuah array atau vektor yang komplek namun seragam. Komputasi dengan variabel masukan seperti ini memerlukan sistem prosesor khusus yang dapat eksekusi data secara bersamaan. Pada sistem komputer yang dirancang untuk tujuan umum, proses in i dapat dilakukan dengan melakukan iterasi yang lama. Diperlukan waktu yang lama untuk melakukan operasi ini.

Contoh data yang banyak digunakan pada bidang aritmetik yaitu operasi vektor. Misal terdapat vektor A dan B yang akan dijumlahkan menjadi vektor C.

2 3.3 4 17 25.2 7.6 12.5
2
3.3
4
17
25.2
7.6
12.5

A

+

+

3.2 4.2 3 7 8.4 9 2.8
3.2
4.2
3
7
8.4
9
2.8

B

=

5.2 7.4 7 24 33.6 16.6 15.3
5.2
7.4
7
24
33.6
16.6
15.3

C

Gambar 20.10 Penjumlahan Vektor

Penjumlahan Vektor pada contoh A+B=C dengan menggunakan prosesor umum akan memerlukan 7 kali iterasi penjumlahan. Walaupun dapat dipcrcepat dengan proses pipeline, cara seperti ini kurang efesien dibandingkan dengan penggunaan sekema array prosesor.

Pada sistem prosesor vektor dapat digunakan sejumlah ALU yg dipasang secara serial dengan konsep pipeline atau sejumlah ALU yang dipasang secara paralel untuk mengerjakan data seragam dalam jumlah yang banyak. Sistem prosesor seperti ini adalah bentuk khusus prosesor untuk menyelesaikan komputasi vector