Anda di halaman 1dari 13

Nama : Riyan Sutantio Bangkit Nugroho

NIM : L200180180
Kelas :C

Laporan Tugas
Organisasi dan Arsitektur Komputer
Pertemuan 12
Chapter 17 : Parallel Processing

17.1. Multiple Processor Organization


a. Type of Parallel Processor system
Hal pertama yang dikenalkan oleh Flynn adalah taksonomi, hal tersebut
merupakan hal yang paling umum untuk mengkategorisasikan sistem dengan
kemampuan proses paralel. Flynn mengkategorikannya sebagai berikut :
 Single instruction, single data (SISD) stream : prosesor tunggal yang
mengeksekusi arus instruksi tunggal yang dioperasikan dimemori
tunggal. Uniprosesor termasuk dalam kategori ini.
 Single isntruction, multiple data (SIMD) stream : Sebuah instruksi
mesin tunggal yang mengkontrol beberapa proses eksekusi secara
bergantian dari elemen prosesing di basis lockstep. Setiap element
prosesing mempunyai data memori yang terasosiasikan bersama. Jadi
isntruksi-instruksi tereksekusi di set data yang berbeda oleh prosesor
yang berbeda.
 Mulitple instruction, single data (MISD) stream : Sebuah urutan dari
data tertransmisikan ke set prosesor. Yang mana setiap-nya dieksekusi
dengan urutan instruksi yang berbeda. Struktur ini tidak umum
diimplementasikan.
 Mulitple instruction, mulitple data (MIMD) stream : Sebuah set
prosesor dieksekusi secara berurutan dengan urutan instruksi yang
berbeda di set data yang berbeda. Sistem kluster SMP dan NUMA bisa
masuk ke kategori ini.
b. Parallel Organizations
Gambar 17.2 merupakan instruksi dari organisasi general dari taksonomi
gambar 17.1. Gambar 17.2.a menunjukkan struktur dari SISD. Gambar 17.2.b
menunjukkan struktur dari SIMD. Gambar 17.2.c menunjukkan struktur dari
MIMD dan Gambar 17.2.d menunjukkan struktur dari MIMD.

17.2. Symetric Multiprocessors


Symetric Multiprocessor atau SMP, istilah SMP menrujuk ke sebuah
arsitektur perangkat keras komputer dan juga ke sistem operasi yang
mencerminkan arsitektur. Dibawah ini merupakan karakteristik dari SMP :
 Ada dua atau lebih prosesor yang sama berdasarkan kapasitasnya.
 Prosesor itu berbagi dengan main memory dan fasitlitas I/O dan
terkoneksi dengan sebuah skema koneksi internal. Waktu akses
memori sama untuk setiap prosesor.
 Semua proses membagikan akses ke perangkat I/O, antara melalui
chanel yang sama atau melalui chanel berbeda yang menyediakan jalur
ke perangkat yang sama.
 Semua prosesor dapat melakukan fungsi yang sama.
 Sistem dikontrol oleh sistem operasi yang terintegrasi yang
menyediakan interaksi diantara prosesor dan programnya di tugas, file
dan level elemen data.
Sistem operasi dari SMP menjadwalkan proses melewati semua proesesor.
Sebuah oraniasasi SMP mempunyai sebuah nomor dari keuntungan potensial
diatas organisasi uniprosesor, hal tersebut meliputi : performa, ketersediaan,
pertambahan perkembangan, dan pengskalaan.
a. Organization
Gambar 17.4 menggambarkan kondisi general dari organisasi sistem
multiprosesor. Ada dua atau lebih prosesor. Setiap prosesor memiliki CU, ALU,
register dan satu atau dua level dari cache. Setiap prosesor memiliki akses ke
main memory bersama dan perangkat I/O melalui beberapa bentuk dari
mekanisme interkoneksi. Setiap prosesor berkomunikasi melalui memori. Ini
mungkin juga prosesor untuk bertukar sinyal langsung.

Organisasi untuk PC,workstation, dan server yang paling umum adalah


time-shared bus. Time-shared bus merupakan mekanisme tersimple untuk
membangun sebuah multiproseseor sistem (gambar 17.5). Struktur dan
interfacenya pada dasarnya sama dengan prosesor tunggal yang menggunakan
sebuah bus interkoneksi.
b. Multiprocessor Operating System Design Considerations
Sebuah sistem operasi SMP mengatur prosesor dan sumber daya
komputer lainnya yang user lihat sistem operasi tunggal mengkontrol sumber
daya sistem. User dapat membentuk sebuah aplikasi yang menggunakan
multiprosesor atau multithreads didalam proses tanpa menganggap apakah
prosesor tungal atau prosesor ganda tersedia.

17.3. Cache Coherence and the MEST Protocol


a. Software Solutions
Percobaan skema koherensi software cache dihindari guna untuk
menambah sirkuit hardware dan logic mengandalkan kompiler dan sistem
operasi untuk menhadapi masalah. Pendekatan software merupakan hal
menarik karena overhead mendeteksi potensial masalah sedang ditransfer
dari waktu pelaksanaan sampai waktu kompile dan kerumitan desain sedang
ditransfer dari hardware ke software. Di sisi lain, waktu kompile pendekekatan
software biasanya harus menggunakan pilihan konservatif, mengarahkan ke
ketidak efisienan penggunaan cache.
Pendekatan yang paling simple adalah mencegah sebagai variabel data
dari cache. ini sangat konservatif, karena struktur data yang dibagikan
mungkin menjadi penggunaan ekslusif selama beberapa waktu dan mungkin
menjadi efektif read-only selama beberapa waktu. Ini terjadi hanya ketika
setidaknya satu proses mengupdate variabel dan setidaknya satu dari proses
mengakses variabel yang sedang ada masalah dengan koherensi cache.

b. Hardware Solutions
i. Directory Protocol
Protokol direktoru mengumpulkan dan mengurus informasi tentang
dimana baris kopian tinggal. Biasanya, disana ada pengsentralan
kontroler yang menjadi bagian dari kontroler main memory, dan
sebuah direktori terdaftar di main memory. Direktori terdiri dari
informasi pernyataan global tentang konten dari variasi kolak cache.
Dimana kontroler individual cache membuat sebuah permintaan,
centralized controller menecek dan perintah penting untuk data
trasfer diantara memori dan cache atau diantara cache. Ini juga
bertanggungjawab untuk menjaga pernyataan informasi tetap
terupdate.
ii. Snoopy Protocol
Snoopy protokol membagikan tanggungjawab untuk mengurus
koherensi cache diantara semua kontroler cache didalam
multiprosesor. Sebuah cache harus mengakui ketika sebuah baris
yang dipegangnya dapat dibagikan dengan cache lainnya. Ketika ada
aksi update dijalankan di baris shared cache, dia harus
mengumumkan ke semua cache dengan broadcast mekanisme. Setiap
cache kontroler dapat ‘snoop’ ke jaringan untuk mengobservasi
notifikasi broadcast tadi, dan bertindak sedemikian rupa.
c. The MESI Protocol
Untuk menhasilkan kekonsistenan cache di sebuah SMP, data cache
kadang menudukung protokol yang disebut dengan MESI. Untuk MESI, data
cache terdiri dari dua status bit per tag, jadi setiap baris dapat menjadi satu
dari empat tahap :
 Modified : baris didalam cache telah dimodifikasi dan tersedia
hanya di cache ini.
 Exclusive : baris yang didalam cache adalah sama dengan yang ada
di main memori dan tidak menyajikan di cache lain.
 Shared : baris didalam cache adalah cache yang sama dengan yang
ada di main memori dan mungkin tersedia untuk cache lainnya.
 Invalid : baris didalam cache tidak terdiri dari data valid.

Tabel 17.1 merupakan ringkasan dari empat tahap diatas. Gambar 17.6
menampilkan bagian diagram dari MESI Protocol.

Read miss : ketika sebuah read miss terjadi didalam cache lokal, prosesor
menginisasi sebuah memori untuk membaca baris dari main memori yang
mengandung alamat yang hilang. Prosesor memasukkan sinyal ke bus dan
memberitahukan ke semua unit prosesor/cache untuk ‘snoop’ semua
transaksi.
Read Hit : ketikasebuah read hit terjadi didalam cache lokal, prosesor
membaca kebutuhan item. Disana tidak ada pergantian state, state tinggal
modified, shared, dan exclusive.
Write miss : ketika sebuah write miss terjadi, prosesor menginisasi sebuah
memori pembaca untuk membaca barus dari main memori yang mengandung
alamat yang hilang. Untuk tujuan ini, prosesor mengisukan sinyal ke bus yang
berisi ‘read-with-intent-to-modify-’. ketika baris terisikan, langsung segera
ditandai modified.
Write hit : ketika write hit terjadi di cache lokal, efeknya tergantung dari
current state dari baris di lokal cache :
 Shared : sebelum mngupdate, prosesor harus mendapatkan
kepemilikan ekslusif dari baris. Sinyal prosesor bermasuksud
didalam bus, setiap prosesor yang memiliki copyan dari baris
yang gagal.
 Exclusive : prosesor sudah memiliki kontrol ekslusif dari baris
ini, dan melakukan update dan transisi salinan dari baris dari
ekslusif ke modified.
 Modified : proseseor sudah memiliki kontrol ekslusif dari baris
ini dan sudah menandai baris sebagai modified dan
menjalankan update.

17.4. Multithreading and Chip Multiprocessors


a. Implicit and Explicit Multithreading
Konsep dari thread digunakan di pembahasan multithreaded prosesor
boleh atau tidak boleh sama dengan konsep dari software threads di siste =m
operasi multiprogramed. Ini akan berguna untuk menjelaskan istilah secara
singkat :
 Process : sebuah contoh dari program yang berjalan di sebuah
komputer. Sebuah proses mewujudkan dua karakteristik kunci :
 Resource ownership : sebuah proses termasuk sebuah ruang
alamat virtual untuk memegang gambar proses.
 Scheduling/execution : pengeksekusian dari sebuah proses
mengikuti sebuah jalur pengeksekusian melalui satu atau lebih
programs. Eksekusi ini mungkin akan disisipkan dengan proses
lainnya.
 Process switch : sebuah operasi yang mengalihkan prosesor ke satu
proses ke lainnya, dengan menghemat semua proses kontrol data,
register dan informasi lainny auntuk pertama dan mengantinya dengan
proses informasi yang ke dua.
 Thread : sebuah unit yang dapat mengirim pekerjaan didalam proses.
 Thread switch : penggantian prosesor kontrol dari satu trhead ke yang
lainnya didalam proses yang sama.
b. Approaches to Explicit Multithreading
pada dasarnya, sebuah multithreaded prosesor harus menyediakan
sebuah program counter terpisah untuk setiap thread dari pengeksekusian
untuk di eksekusi secara bersamaan. Perbedaan desain di banyak dan tipe dari
tambahan hardware digunakan untuk mengsupport bersama pengeksekusian
thread. Secara general, instruksi mengambil tempat di sebuah basis thread.
Prosesor memprlakukan setiap thread terpisah dan mungkin menggunakan
sebuah nomor dari teknik untuk pengoptimalisasian eksekusi single-thread,
termasuk cabang prediksi, penamaan kembali register, and super-scalar
teknik. Apa yang telah dicapai adalah keparalelan thread-level, yang mana
menyediakan perkembangan yang hebat di performa ketika bergabung
dengan instrukcion-level parallelism.
17.5. Cluster
a. Cluster Configurations
Di dalam bacaan, kluster dikalsifikasikan ke dalam sebuah nomor yang
berbeda-beda. Mungkin pengklasifikasian simpel berdasarkan pada apakah
komputer didalam sebuah kluster membagikan akses ke disk yang sama.
Gambar 17.8a menunjukkan dua node kluster yang mana hanya terkoneksi
dengan high-speed link.

b. Operating System Design Issues


Failure management, bagaimana kegagalan diatasi oleh sebuah cluster
berdasarkan pada metode clusterins yang dipakai(tabel17.2). secara general,
dua pendekatan dapat diambil untuk menghadapi kegagalan: high available
cluster dan fault-tolerant clusters.
Load balancing, sebuah kluster membutuhkan sebuah kemampuan yang
keefisienan untuk menyeimbangkan beban diantar komputer yang tersedia. Ini
termasuk kebuthan yang cluster menjadi terukur secara bertahap.
Parallelizing computation, di beberapa kasus, efektifitas diguanakannya
cluster memerlukan software dari single aplikasi di parallel. Daftar tiga
pendekatan general ke masalah :
 Paralelizing compiler : sebuah kompiler yang memparalelkan
berdasarkan, pada waktu kompile dimana bagian dari aplikasi dapat
diekekusi secara paralel. Kemudian dibagi untuk dimasukkan ke
komputer yang berbida di kluster.
 Parallelized application : di pendekatan ini, programer menuliskan
sebuah aplikasi dari awal untuk dijalankan di sebuah cluster. Dan
penggunaan pesan lewat untuk menggerakkan data, sesuai
kebutuhan, diantara cluster node.
 Parametric computing : pendekatan ini dapat digunakan jika inti
dari aplikasi adalah algoritmanya atau program yang bisa
mengeksekusi sebuah nomor yang besar dari waktu, setiap waktu
dengan perbedaan kondisi permulaan set atau parameter.
c. Cluster Computer Architecture

Gambar 17.9 menunjukkan sebuah arsitektur cluster. Individual komputer terhubung


oleh beberapa LAN berkecepatan tinggi atau switch hardware. Setiap komputer mampu
beroperasi terpisah. Didalam keadaan, sebuah middleware layer dari software terinstal di
setiap komputer untuk mengaktifkan operasi cluster. Cluster middelware juga
bertanggungjawab untuk menyediakan ketersediaan tinggi, dengan maksud dari
penyeimbangan beban dan merespon kegagalan di setiap komponen. Daftar keinginan cluster
middleware servis dan fungsi : satu titik masuk, satu file hirarki, satu kontrol point, satu
jaringan virtual, satu memori space, satu sistem manajemen pekerjaan, satu user interface,
satu tempa I/O , satu tempat proses,checkpoin, dan prose migration.
d. Blade Servers
Implementasi yang sering digunakan dari pendekatan cluster adalah blade
server. Blade server adalah arsitektur server yang menyimpan beberapa modul
server(‘blades’) di chasis tunggal. Hal tersebut digunakan di data center untuk
menyimpan tempat dan mengembangkan sistem manajemen.Sebuah contoh
dari aplikasinya diperlihatkan pada gambar 17.10.
e. Clusters Compared to SMP
Cluster dan SMP keduanya menyediakan sebuah konfigurasi dengan
multiple prosesor untuk mensupport aplikasi kebutuhan tinggi. Kedua solusi
merupakan hal yang sudah disediakan, meskipun skema SMP sudah lebih
lama. Kekuatan utama dari pendekatan SMP adalah SMP lebih mudah untuk
dimanajemen dan dikonfigurasi daripada cluster. SMP mirip dengan single
prosesor yang mana semua aplikasinya sudah tertulis. Perubahan prinsip pasti
membutuhkan dari uniprosesor ke sebuah SMP adalah fungsi terjadwal.
Manfaat lain dari SMP adalah biasanya ini membutuhkan tempat
penyimpanan fisik dan tenaga yang lebih kecil daripada cluster. Keuntungna
terakhir dari produk SMP lebih stabil.
17.6. Nonuniform Memory Access
Nonuniform memory access(NUMA) telah menjadi subjek penelitian dan
telah disebarluaska.
a. Motivation
Dengan sistem SMP, disana ada batasan angka dari prosesor yang dapat
digunakan. Sebuah skema cache yang efektif mengurangi trafic bus diantara
satu prosesor dengan yang lain dan main memory. Sebagai nomor dari
prosesor bertambah, arus bus juga meningkat. Juga, bus digunakan untuk
bertukan sinyal koherensi cache, lebih jauh menambahkan ke burden. Di poin
yang sama, bus menjadi bottleneck. Hal tersebut menyebabkan penurunan
performa dari bus dilihat dari batasan angka dari prosesor di konfigurasi SMP
diantara 16 sampai 64 processor.
Tujuan dari NUMA adalah untuk mempertahankan sistem transparan wide
memori ketika memperbolehkan banyak node multiprosesor, setiap dengan
busnya masing-masing atau dengan inernal interconnect sistem lainnya.
b. Organization
Gambar 17.11 menggambarkan tipe organisasi CC-NUMA. Ada banyak
independen node, dimana setiap node berefek ke organisasi SMP. Jadi, setiap
node berisi multiple prosesor dan memiliki L1 dan L2 cache ditambah dengan
main memori.
Setiap node di sistem CC-NUMA termasuk beberapa main memori. dari
prespektif prosesor, namun, disana hanya sebuah single memori yang dapat
dialamatkan dengan setiap lokasi memiliki sistem pengalamantan unik wide.
Ketika prosesor menginisiasi memori access, jika lokasi memori yang diminta
tidak didalam cache prosesor. Kemudian cache L2 menginisasi proses
pengambilan. Didalam konfigurasi ini, koherensi cache adalah fokusan utama.
c. NUMA Pros and Cons
Tantangan utama dari sistem CC-NUMA bahwa ini dapat memberikan
performa yang efektif di level parallel yang tinggi daripada SMP, diluar
membutuhkan perubahan besar di software. Dengan multiple node NUMA,
trafic bus di setiap individu node merupakan terbatas oleh permintaan dari
yang bisa dihandle bus.
Bahkan jika mengalami kerusakan performa selama pengalamantan
remote access, disana ada dua keuntungan dari pendekatan CC-NUMA.
Pertama, CC-NUMA tidak transparan seperti SMP, perubahan software akan
dibutuhkanuntuk memindahkan sebuah sistem operasi dan aplikasi dari SMP
ke CC-NUMA. Hal tersebut melingkupi alokasi halaman, proses alokasi dan
penyeimbangan beban oleh sistem operasi. Fokusan kedua adalah
ketersediaan. Isu ini lebih kompleks dan bergantung pada implementasi yang
tepat dari sistem CC-NUMA.
17.7. Cloud Comuting
a. Cloud Computing Elements
Cloud compputing tersusun dari lima karakteristek esensial, tiga model
servis dan empat model penyebaran. Gambar 17.12 menggambarkan
hubungan antara konsep itu. Karakteristik esensial sebagai berikut :
 Broad network access : kemampuan yang tersedia di jaringan dan
diakses melalui mekanisme standart yang mempromosikan
penggunaan dari heterogen tipis atau tebal platform client juga
sama baiknya dengan traditional atau cloud-based jasa software.
 Rapid elasticity : cloud computing memberikan kesempatan untuk
memperluas dan mengurangi sumber daya berdasar kepada
kebutuhan sepesifik servis anda.
 Measured servive : sistem cloud otomatis mengkontrol dan
mengoptimalisasi sumber daya yang digunakan oleh memanfaatkan
pengukuran kemampuan di beberapa level dari abstraksi sesuai
dari tipe pelayanan.
 On-demand self-service : seorang konsumer dapat menentukan
secara sepihak kemampuan komputasi, seperti server time dan
penyimpanan jaringan
 Resource pooling : penyedia memasukkan sumberdaya yang
dikumpulkan untuk melayani beberapa kostumer menggunakan
multi-tenant model, dengan perbedaan sumber daya secara fisik
dan virtual yang dinamis ditugaskan dan penugasan kembali
berdasarkan permintaan kostumer.
NIST menetapkan tiga model servis, yang mana dapat dilihat di gambar
17.13.

 Software as a service (SaaS) : menyediakan servis ke konsumen


dalam bentuk software, secara spesifik dengan aplikasi , running on
dan dapat diakses ke cloud.
 Platform as a servide (PaaS) : menyediakan pelayanan ke konsumen
dalam bentuk platform dimana aplikasi konsumen dapat dijalankan.
 Infrastructure as a service (IaaS) : menyediakan pelayanan ke
konsumen dibawah insfrastruktur cloud.
NIS menetapkan empat deployment model :
 Public cloud : cloud dapat diakses oleh general publik atau industri
besar dan memiliki penjualan cloud service.
 Private cloud : infrastruktur cloud diimplementasikan dengan
internal lingkungan organisasi IT.
 Community cloud : karakteristik community cloud kostumer dapat
berbagi secara privat dan publik.
 Hybrid cloud : infrastruktur cloud ini memiliki dua atau lebih
komposisi (private,community,or public).
b. Cloud Computing Referenece Architecture
Referensi arsitektur, dijelaskan di gambar 17.15 menetapkan lima aktor
utama dari segi wewenang dan tanggungjawab :
 Cloud consumer : seorang atau organisasi yang mempertahankan
sebuah hubungan bisnis dengan, dan menggunakan jasa dalam bentuk
cloud provider.
 Cloud provider (CP) : seorang, organisasi atau kesatuan yang
bertanggung jawab dalam membuat jasa pelayanan tersedia.
 Cloud auditor : sekumpulan orang yang dapat melakukan penilaian
mandisi terhadap pelayanan cloud, informasi sistem operasi, performa,
dan keamanan dari cloud.
 Cloud broker : kesatuan yang mengelola penggunaan, performa dan
penyampaian pelayanan cloud dan bernegoisasi hubungan antara CP
dan cloud konsumen.
 Cloud carrier : sebuah perantara yang menyediakan koneksi dan
transport dari pelayanan cloud dari CP ke konsumen.

Anda mungkin juga menyukai