Rabu, 12 Maret 2014

SISTEM TERDISTRIBUSI



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 :


Tidak ada komentar:

Posting Komentar