Scaling teknik
Skalabilitas masalah dalam sistem terdistribusi
muncul sebagai masalah kinerja disebabkan oleh terbatasnya kapasitas server dan
jaringan, pada dasarnya ada hanya tiga teknik untuk skala: latency komunikasi
bersembunyi, distribusi, dan replikasi.
Menyembunyikan latency komunikasi berlaku dalam
kasus skalabilitas geografis. Ide dasarnya adalah sederhana: mencoba untuk
menghindari menunggu tanggapan terhadap permintaan layanan jarak jauh sebanyak
mungkin. Misalnya, ketika layanan telah diminta pada mesin remote, alternatif
untuk menunggu balasan dari server adalah untuk melakukan pekerjaan yang
berguna lainnya di sisi pemohon itu. Pada dasarnya ini berarti membangun
aplikasi meminta sedemikian rupa sehingga pengguna hanya komunikasi asynchronous.
Ketika balasan masuk, aplikasi terganggu dan penangan khusus dipanggil untuk
melengkapi permintaan sebelumnya dikeluarkan. Komunikasi asynchronous sering
dapat digunakan dalam sistem batch processing dan aplikasi paralel, di mana
tugas-tugas yang kurang lebih independen dapat dijadwalkan untuk eksekusi,
sementara tugas lain sedang menunggu untuk komunikasi untuk menyelesaikan.
Atau, kontrol threadof baru dapat mulai untuk melakukan permintaan. Meskipun
blok menunggu jawaban, benang lainnya dalam proses dapat dilanjutkan.
Namun, ada banyak aplikasi yang tidak bisa membuat
penggunaan efektif dari komunikasi asynchronous. Misalnya, dalam aplikasi
interaktif ketika pengguna mengirimkan permintaan ia umumnya akan memiliki
apa-apa yang lebih baik untuk dilakukan daripada menunggu jawabannya. Dalam
kasus tersebut, solusi yang jauh lebih baik adalah dengan mengurangi komunikasi
secara keseluruhan, misalnya, dengan memindahkan bagian dari perhitungan yang
biasanya dilakukan pada server untuk proses klien meminta layanan. Sebuah kasus
yang khas di mana pendekatan ini bekerja sedang mengakses database menggunakan
formulir.
Mempertimbangkan world wide web. Untuk kebanyakan
pengguna, web tampaknya menjadi dokumen berbasis sistem informasi yang sangat
besar di mana setiap dokumen memiliki nama yang unik dalam bentuk URL. Secara
konseptual, bahkan mungkin muncul seolah-olah hanya ada satu server tunggal. Namun,
web secara fisik didistribusikan di sejumlah besar server, penanganan setiap
beberapa dokumen web. Nama server penanganan dokumen dikodekan ke URL yang
dokumen. Itu hanya karena ini distribusi dokumen yang web telah mampu skala
untuk ukuran saat ini.
Menimbang bahwa masalah skalabilitas sering muncul
dalam bentuk penurunan kinerja, itu umumnya ide yang baik untuk benar-benar
meniru komponen di sistem terdistribusi. Replikasi tidak hanya meningkatkan
ketersediaan, tetapi juga membantu tp menyeimbangkan beban antar komponen yang
mengarah ke kinerja yang lebih baik. Juga, dalam sistem geografis tersebar
luas, memiliki salinan dekatnya dapat menyembunyikan banyak masalah komunikasi
latency disebutkan sebelumnya.
Caching adalah bentuk khusus dari replikasi, meskipun
distinetion antara keduanya sering sulit untuk membuat atau bahkan buatan.
Seperti dalam kasus replikasi, caching hasil dalam membuat salinan dari sumber
daya, umumnya dalam kedekatan klien mengakses sumber daya itu. Namun, berbeda
dengan replikasi, caching adalah keputusan yang dibuat oleh klien dari sumber
daya, dan bukan oleh pemilik sumber daya.
Ada satu kelemahan serius untuk caching dan
replikasi yang bisa mempengaruhi skalabilitas. Karena kita sekarang memiliki
beberapa salinan dari sumber daya, memodifikasi satu salinan membuat salinan
yang berbeda dari yang lain. Akibatnya, caching dan replikasi menyebabkan
masalah konsistensi.
1.3 HARDWARE CONCEPTS
Sistem terdistribusi terdiri dari beberapa CPU, ada
beberapa cara berbeda hardware dapat diatur, terutama dalam hal bagaimana
mereka terkoneksi dan bagaimana mereka berkomunikasi. Pada bagian ini kita akan
melihat secara singkat pada perangkat keras sistem terdistribusi, khususnya,
bagaimana mesin itu conneted bersama-sama, di bagian selanjutnya kita akan
membahas beberapa masalah perangkat lunak terkait dengan sistem terdistribusi.
Berbagai skema klasifikasi untuk sistem komputer
beberapa CPU telah diusulkan selama bertahun-tahun, namun tidak satupun dari
mereka telah benar-benar tertangkap dan telah diadopsi secara luas. Untuk
purpeses kami, kami mempertimbangkan sistem hanya dibangun dari kumpulan
komputer independen. Dalam ara 1 - 6, kita membagi semua komputer menjadi dua
kelompok: mereka yang telah berbagi memori, biasanya disebut Multiprocessors,
dan mereka yang tidak, kadang-kadang disebut multicomputers. Perbedaan penting
adalah ini: dalam multiprosesor, ada sebuah alamat fisik tunggal space tha
dibagi oleh semua CPU. Jika ada menulis CPU, misalnya, nilai 44 untuk adddress
1000, setiap CPU lainnya kemudian membaca dari yang adddress 1000 akan
mendapatkan nilai 44. Semua mesin berbagi memori yang sama.
Different
basic organizations and memories in distributed computer systems
Sebaliknya, dalam sebuah multicomputer, setiap mesin
memiliki memori pribadi sendiri. Setelah satu CPU menulis nilai 44 untuk
mengatasi 1000, jika CPU lain membaca alamat 1000 akan get nilai apapun ada di
sana sebelumnya. Write dari 44 tidak mempengaruhi memori sama sekali. Sebuah
contoh umum dari multi computer adalah kumpulan komputer yang terhubung
jaringan.
Masing-masing kategori dapat dibagi lagi
berdasarkan pada arsitektur jaringan interkoneksi. Dalam fig 1-6 kami desribe
dua kategori sebagai bus dan beralih. Dengan bus kami berarti bahwa ada jaringan
tunggal, backplane, bus, kabel, atau media lain yang connectc semua mesin.
Televisi kabel menggunakan skema seperti ini: perusahaan kabel kawat berjalan
di jalan, dan semua pelanggan telah keran berjalan untuk itu dari televisi
mereka.
Sistem Switched tidak memiliki tulang punggung
tunggal seperti televisi kabel. Sebaliknya, ada kabel individu dari mesin ke
mesin banyak pola kabel qith berbeda digunakan. Pesan bergerak sepanjang kawat,
dengan keputusan beralih eksplisit dibuat pada setiap langkah untuk pesan rute
sepanjang salah satu kabel keluar. Sistem telepon di seluruh dunia publik
diselenggarakan dengan cara ini.
Kami membuat perbedaan jauh antara sistem komputer
terdistribusi yang homogeneus dan mereka yang heterogeneus. Pembedaan ini
berguna hanya untuk multicomputers. Dalam multicomputer homogeneus, ada
dasarnya hanya sebuah jaringan interkoneksi tunggal yang menggunakan teknologi
yang sama dimana-mana. Demikian juga, semua prosesor yang sama dan umumnya
memiliki akses ke jumlah yang sama dari memori pribadi. Multicomputers
homogeneus cenderung digunakan lebih sebagai sistem paralel (bekerja pada
sebuah masalah tunggal), seperti Multiprocessors.
Sebaliknya, sistem multicomputer heterogeneus
mungkin berisi berbagai jaringan yang berbeda. Misalnya, sebuah sistem komputer
terdistribusi dapat dibangun dari koleksiyang berbeda jaringan area komputer
lokal, yang interconected melalui FDDI atau ATM backbone switched.
Dalam tiga bagian berikut, kita akan melihat lebih
dekat pada multiprosesor, dan homogeneus dan sistem multicomputer heterogeneus.
Meskipun topik yang tidak berkaitan langsung dengan perhatian utama kami,
sistem terdistribusi, mereka akan menumpahkan beberapa lampu pada subjek karena
organisasi sistem terdistribusi sering tergantung pada hardware.
1.3.1
MULTIPROCESSOR
Multiprocessors terdiri dari beberapa jumlah CPU
semua terhubung ke bus umum, bersama dengan modul memori. Sebuah konfigurasi
yang sederhana adalah memiliki backplane kecepatan tinggi atau motherboard
dimana CPU dan memori kartu dapat disisipkan. Sebuah bus khas memiliki jalur
alamat 32 atau 64, 32 atau 64 baris data, dan mungkin 32 atau lebih garis
kontrol, yang semuanya beroperasi secara paralel. Untuk membaca kata-kata
memori, CPU menempatkan alamat dari katayang diinginkan pada jalur bus alamat,
kemudian menempatkan sinyal pada garis kontrol yang tepat untuk menunjukkan
bahwa ia ingin membaca. Memori merespon dengan menempatkan nilai kata pada
baris data untuk memungkinkan CPU meminta untuk membacanya masuk Menulis bekerja
dengan cara yang sama.
Karenahanya ada satu memori, jika CPUA menulis
sebuah kata untuk memori dan kemudian CPUB membaca kata kembali mikrodetik
kemudian, Bakan mendapatkan nilai hanya ditulis. Sebuah memori yang memiliki
properti ini dikatakan koheren. Koherensi memainkan peran penting dalam sistem
operasi terdistribusi dalam berbagai cara yang akan kita pelajari nanti.
A bus-based multiprocessor.
Masalah dengan skema ini adalah bahwa dengan
sesedikit 4 atau 5 CPU, bus biasanya akan kelebihan beban dan kinerja akan
turun drastis. Solusinya adalah dengan menambahkan memori cache berkecepatan
tinggi antara CPU dan bus, seperti yang ditunjukkan pada Gambar. 1-5. Cache
memegang kata yang paling baru diakses. Semua permintaan memori melalui cache.
Jika kata yang diminta dalam cache, cache sendiri menanggapi CPU, dan tidak ada
permintaan bus dibuat. Jika cache cukup besar, kemungkinan keberhasilan, yang
disebut hit rate, akan tinggi, dan jumlah lalu lintas bus perCPU akan turun
drastis, memungkinkan CPU lebih banyak dalam sistem. Cache ukuran 64K1M yang
umum, yang sering memberikan hit rate dari 90 persen atau lebih.
Untuk membangun multiprosesor dengan lebih dari 64
prosesor, metode yang berbeda diperlukan untuk menghubungkan CPU dengan memori.
Salah satu kemungkinan adalah untuk membagi memori menjadi modul dan
menghubungkan mereka ke CPU dengan switch crossbar, Setiap CPU dan memori
masing-masing memiliki koneksi yang keluar dari itu, seperti yang ditunjukkan.
Pada setiap persimpangan adalah saklar elektronik kecil crosspoint yang dapat
dibuka dan ditutup dalam perangkat keras. Ketika CPU ingin mengakses memori par
¬ khususnya, yang crosspoint beralih menghubungkan mereka ditutup sesaat, untuk
memungkinkan akses untuk mengambil tempat. Keutamaan saklar crossbar adalah
bahwa banyak CPU dapat mengakses memori pada saat yang sama, meskipun jika dua
CPU mencoba untuk mengakses memori yang sama secara bersamaan, salah satu dari
mereka akan harus menunggu.
Kelemahan dari switch crossbar adalah bahwa dengan
n CPU dan n kenangan, n2 crosspoint switch diperlukan. Untuk n yang besar,
jumlah ini dapat menjadi penghalang. Akibatnya, orang telah mencari, dan
menemukan, beralih jaringan alternatif yang memerlukan switch lebih sedikit.
Omega jaringan Gambar. l-6 (b) adalah salah satu contoh. Jaringan ini berisi
empat switch 2x2, masing-masing memiliki dua input dan dua ¬ menempatkan.
Setiap switch dapat rute baik input ke output baik. Sebuah hati-hati melihat
sosok itu akan menunjukkan bahwa dengan pengaturan yang tepat dari switch, CPU
dapat mengakses setiap memori setiap. Switch ini dapat diatur dalam nanodetik
atau kurang. Dalam kasus umum, dengan n CPU dan n kenangan, jaringan omega
membutuhkan log2 «tahap switching, masing-masing berisi n / 2 switch, untuk
total (n log2 / z) / 2 switch. Meskipun untuk besar n ini jauh lebih baik
daripada n2, masih cukup besar.
a) A
crossbar switch
b) An
omega switching network
Orang-orang telah berusaha untuk mengurangi biaya
dengan pergi ke sistem hirarkis. Beberapa memori dikaitkan dengan setiap CPU.
Setiap CPU dapat mengakses memori lokal sendiri dengan cepat, tapi memori
mengakses orang lain adalah lebih lambat. Desain ini menimbulkan apa yang
dikenal sebagai mesin (Access Memory seragam) NUMA. Meskipun mesin NUMA memiliki
waktu akses yang lebih baik daripada rata-rata mesin didasarkan pada jaringan
omega, mereka memiliki komplikasi baru bahwa penempatan program dan data
menjadi penting untuk membuat akses yang paling pergi ke memori lokal.
Untuk meringkas, bus berbasis Multiprocessors,
bahkan dengan cache snoopy, dibatasi oleh jumlah kapasitas bus untuk sekitar 64
CPU paling banyak. Untuk melampaui yang membutuhkan jaringan switching, seperti
switch crossbar, sebuah jaringan switching omega, atau sesuatu yang serupa. Switch
mistar gawang besar sangat mahal, dan jaringan omega besar keduanya mahal dan
lambat. NUMA mesin membutuhkan algoritma yang kompleks untuk penempatan
perangkat lunak yang baik. Kesimpulannya jelas: membangun besar, erat-coupled,
shared memory multiprosesor adalah mungkin, tetapi sulit dan mahal.
Sumber : http://penuhrahmatt.mdl2.com/mod/book/view.php?id=4
Materi Selanjutnya : http://vaisalarc.blogspot.com/2014/03/hubungan-sistem-terdistribusi-dengan.html
Materi Sebelumnya :http://angga12casidy.wordpress.com/2014/03/12/sistem-terdistribusi/
Kelompok 5 :
- http://ridwanobo.blogspot.com/2014/03/contoh-sistem-terdistribusi-dan.html
- http://angga12casidy.wordpress.com/2014/03/12/sistem-terdistribusi/
- http://dendiyulistiana.blogspot.com/2014/03/sistem-terdistribusi_12.html
- http://vaisalarc.blogspot.com/2014/03/hubungan-sistem-terdistribusi-dengan.html
- http://adamanaruh.blogspot.com/2014/03/sistem-terdistribusi.html
Tidak ada komentar:
Posting Komentar