BAB
I
PENGENALAN SISTEM TERDISTRIBUSI
A.
Latar Belakang
Sejak
ditemukan hingga sampai pada tahun 2010 ini komputer telah mengalami
perkembangan, dari sisi perangkat keras maupun perangkat lunaknya. Selain itu perkembangan
teknologi informasi yang berkolaborasi dengan teknologi komunikasi melahirkan
perangkat keras dan perangkat lunak yang digunakan dalam membangun jaringan
komputer, sehingga kedua teknologi itu disatukan dalam istilah TIK ( Teknologi
Informasi dan Komunikasi ).
Perangkat jaringan komputer dalam bentuk
perangkat keras dan perangkat lunak telah mengubah fungsi komputer yang pertama
kali ditemukan untuk memenuhi kebutuhan dalam perang dunia 2, menjadi komputer
yang terhubung dengan komputer lain dengan teknologi dan topologi yang
berbeda-beda dalam jaringan komputer yang dikenal dengan istilah
internetworking atau internet.
Bentuk
jaringan komputer yang diwakili dalam topologi merepresentasikan bahwa komputer
tidak dapat terlepas dari komputer yang lainnya dalam sebuah jaringan komputer.
Hal ini karena susunan setiap komputer yang terdiri dari Prosesor dan memori
akan berhubungan dengan prosesor dan memori komputer yang lain dalam jaringan
komputer, tergantung dari perangkat lunak yang digunakan dalam jaringan
komputer tersebut.
Ketergantungan perangkat lunak
jaringan komputer ini akan membuahkan klasifikasi perangkat lunak dalam
jaringan komputer, yang pertama adalah sistem terpusat yang dimotori oleh
teknologi WEB, dan yang kedua adalah sistem terdistribusi yang dimotori
oleh aplikasi dan sistem operasi yang berbasis visual.
Gambar 1. 1 Kumpulan berbagai computer dalam
sistem terdistribusi
B.
Rumusan Masalah
1.
Mahasiswa
dapat mengetahui pengertian dari Sistem Terdistribusi
2.
Mahasiswa
dapat memahami dari tujuan Sistem Terdistribusi
3.
Mahasiswa
dapat memahami konsep Hardware (Perangkat Keras) dalam sistem terdistribusi
4.
Mahasiswa dapat
memahami konsep Software (Perangkat Lunak) dalam sistem terdistribusi
5.
Mahasiswa
dapat mengenal dan memahami model Client-Server
di dalam sistem terdistribusi.
BAB II
PEMBAHASAN
1.
Pengertian Sistem Terdistribusi
Berbagai definisi sistem terdistribusi telah diberikan
dalam beberapa literatur, tetapi tak satupun penjelasan itu memuaskan dan tidak
ada sebuah kesepakatan dalam pengertian sistem terdistribusi. Oleh sebab
itu diifinisi sistem terdistribusi memliki cakupan yang luas:
“Sebuah
sistem terdistribusi adalah kumpulan komputer independen yang digunakan oleh
pengguna sebagai satu kesatuan yang mempunyai fungsi yang sama.”
Definisi ini mempunyai dua aspek. Yang pertama berhubungan dengan hardware: mesin-mesin bersifat otonom. Yang kedua berhubungan dengan software: pengguna sistem memikirkan sebagai satu komputer. Keduanya sangat penting. Kita akan kembali ke dalam bab ini, setelah beberapa materi berlatarbelakang pada kedua hardware dan software.
Alih-alih
akan dengan definisi lebih lanjut, mungkin lebih bermanfaat memberikan beberapa
contoh dari sistem terdistribusi. Sebagai contoh pertama, pertimbangkan
jaringan dari workstation di universitas atau departemen dalam perusahaan.
Selain setiap pengguna komputer pribadi, mungkin ada banyak prosesor
dalam komputer yang tidak ditugaskan untuk melakukan hal tertentu namun
dialokasikan secara dinamis sesuai dengan keperluan. Sistem seperti ini mungkin
memiliki sistem berkas tunggal, dengan semua file yang dapat diakses dari semua
mesin dengan cara yang sama dan menggunakan nama path yang sama. Terlebih lagi,
ketika pengguna mengetik perintah, sistem bisa mencari tempat terbaik untuk
mengeksekusi perintah, mungkin pada komputer milik sendiri, mungkin pada
workstation yang idle milik orang lain, dan mungkin di salah satu unassigned
prosesor di ruang mesin superkomputer. Jika sistem secara keseluruhan terlihat
dan bertindak seperti halnya prosesor tunggal dengan sistem operasi yang time
sharing, akan memenuhi syarat sebagai didistribusikan sistem.
Contoh
kedua, sebuah pabrik yang penuh dengan robot, masing-masing berisi komputer
kuat untuk menangani tugas. Ketika robot di jalur perakitan pemberitahuan bahwa
sebuah bagian mengalami kecacatan, ia akan meminta robot lain untuk membawa
penggantiannya. Jika semua bertindak seperti robot yang memiliki
perangkat periferal yang sama, pusat komputer dan sistem dapat deprogram, hal
ini juga dikatakan sebagai sistem terdistribusi.
Contoh
terakhir, pikirkan tentang sebuah bank besar dengan ratusan kantor cabang
seluruh dunia. Setiap kantor memiliki komputer master untuk menyimpan
rekening lokal dan menangani transaksi lokal. Selain itu, setiap komputer
memiliki kemampuan untuk berbicara untuk semua cabang lainnya komputer dan
dengan komputer pusat di kantor pusat. Jika transaksi dapat dilakukan tanpa
memperhatikan di mana seorang pelanggan atau account, dan para pengguna tidak
akan melihat adanya perbedaan antara sistem ini dan terpusat mainframe, ini
juga dianggap sebagai sistem terdistribusi.
2. Tujuan
Sistem Terdistribusi
Setiap
sistem yang diciptakan pasti memeliki tujuan, begitupula dengan sistem
terdistribusi.
2.1.
Koneksi
Antara Pengguna dan Sumber Daya
Tujuan utama sistem
terdistribusi yaitu untuk memudahkan pengguna dalam mengakses sumber daya jarak
jauh secara bersama-sama dengan terkontrol dan efisien. Dengan semakin
meningkatnya konektivitas dan akses untuk dapat saling berbagi.
2.2.
Transparansi
Sistem terdistribusi
bertujuan untuk menyembunyikan fakta bahwa proses dan sumber daya fisik
didistribusikan ke banyak komputer. Anggapan pengguna bahwa aplikasi yang
dilihatnya merupakan satu sistem komputer inilah yang disebut transparency.
Access
transparency:
menyembunyikan perbedaan
representasi data dan bagaimana sumber daya diakses.
Contohnya : pemetaan drive
di samba, NFS, remote printer, dll. Sistem terdistribusi mungkin memiliki
sistem komputer yang menjalankan sistem operasi yang berbeda, masing-masing
memiliki konvensi sendiri penamaan file. Perbedaan dalam konvensi penamaan,
serta bagaimana file dapat dimanipulasi, semua harus disembunyikan dari
pengguna dan aplikasi.
Location
transparency:
menyembunyikan dimana sumber daya berada.
Contoh : transaksi perbankan ATM, web pages, dll. Nama
http://www.prenhall.com/index.html URL
yang tidak memberikan petunjuk tentang lokasi server utama Web Prentice
Hall.
Migration
transparency:
menyembunyikan bahwa sumber daya mungkin pindah ke
tempat lain.
Contoh : web pages, NFS, dll. URL http://www.prenhall.com/index.html tidak
memberikan petunjuk apakah index.html selalu berada di lokasi saat ini atau baru
pindah ke lain tempat.
Replication
transparency:
Menyembunyikan sumber daya direplikasi.
Contoh : distributed DBMS, mirroring web pages, dll.
Sumber daya dapat direplikasikan untuk meningkatkan ketersediaan atau untuk
meningkatkan kinerja dengan menempatkan salinan dekat ke tempat di mana ia
diakses.
Concurrency transparency :
Menyembunyikan bahwa sumber daya mungkin dibagi kepada
beberapa penggun Contoh : NFS, Automatic teller machine network,
Database Management System. Dua pengguna
independen mungkin masing-masing
memiliki file yang tersimpan di server file yang sama
atau mungkin mengakses tabel yang sama dalam database bersama.
Dalam kasus tersebut, adalah penting bahwa
setiap pengguna
tidak menyadari bahwa yang lain adalah
memanfaatkan sumber yang sama.
Failure transparency :
menyembunyikan kegagalan dan pemulihan dari sumber
daya.
Contoh : Database Management System. Contoh lain, saat menghubungi server web sibuk, browser akhirnya akan time out dan melaporkan bahwa halaman Web tidak tersedia .. Pada saat itu, pengguna tidak dapat menyimpulkan bahwa server benar-benar down.
Contoh : Database Management System. Contoh lain, saat menghubungi server web sibuk, browser akhirnya akan time out dan melaporkan bahwa halaman Web tidak tersedia .. Pada saat itu, pengguna tidak dapat menyimpulkan bahwa server benar-benar down.
Performance Transparency :
meminimalkan tambahan performance dalam menggunakan
remote resourse, sehingga response time dan throughput sebanding dengan ketika
mengakses resource secara lokal.
2.3.
Keterbukaan
(Oppennes)
Openness (Keterbukaan).
Sistem distribusi terbuka adalah suatu sistem yang menawarkan layanan sesuai
dengan aturan standar yang menjelaskan sintak dan semantik dari layanan. Dalam
sistem terdistribusi, layanan spesifikasi secara umum dalam tampilan antarmuka,
yang sering disebut Interface Definition Languaga (IDL). Kunci aspek openness adalah
antarmuka standar dan protokol serta mendukung keberagaman.
2.4.
Skalabilitas
Bertambahnya kebutuhan
terhadap sistem terdistribusi, memungkinkan untuk memperbesar dan memperkecil
infrastruktur dari sistem terdistribusi itu sendiri. Perubahan ukuran ini tidak
mempengaruhi sistem yang sedang berjalan. Perubahan skalabilitas ini pengguna
dan perangkat keras serta lunak sistem terdistribusi.
3.
Konsep Perangkat Keras (Hardware Concepts)
Meskipun semua sistem terdistribusi terdiri dari
beberapa CPU, ada beberapa cara berbeda dengan mengatur hardware, terutama
dalam hal bagaimana mereka saling berhubungan dan bagaimana mereka
berkomunikasi. Pada bagian ini kita akan mengambil sekilas perangkat keras
sistem terdistribusi, khususnya, bagaimana mesin terhubung antara satu dengan
yang lainnya. Pada bagian berikutnya kita akan meneliti beberapa isu perangkat
lunak yang berkaitan dengan sistem terdistribusi.
Berbagai
skema klasifikasi untuk beberapa CPU dari komputer telah pernah diusulkan
selama bertahun-tahun, namun tak satu pun dari mereka sudah benar-benar dapt
diadopsi secara luas. Mungkin yang paling sering dikutip adalah penggolongan
taksonomi Flynn (1972), meskipun cukup mendasar. Flynn mengambil dua ciri
dari CPU yang dianggap penting yaitu: jumlah aliran instruksi dan jumlah aliran
data . Sebuah komputer dengan satu aliran instruksi dan aliran data tunggal
adalah disebut SISD (single instruction stream and a single data stream). Semua
komputer Uniprocessor tradisional (yaitu, mereka hanya memiliki satu CPU)
termasuk dalam kategori ini, dari komputer pribadi ke mainframe besar.
Kategori
berikutnya adalah SIMD, single instruction stream multiple data stream. Jenis
ini mengacu pada array prosesor dengan satu unit instruksi yang mengambil suatu
instruksi, dan kemudian menginstruksikan banyak data untuk melaksanakannya
secara paralel, masing-masing dengan data sendiri. Mesin ini berguna untuk
perhitungan yang berulang.
Gambar 1.
Taksonomi terdistribusi dan paralel sistem komputer
Kategori berikutnya adalah MISD, multiple instruction stream, single data stream. Dan kategori terakhir adalah MIMD, yang pada dasarnya berarti sekelompok komputer independen, masing-masing dengan program counter, program, dan data. Semua sistem terdistribusi menggunakan MIMD
Meskipun Flynn berhenti di sini, kita akan lebih jauh. Dalam Gambar 1, kita membagi semua MIMD komputer menjadi dua kelompok: Tightly coupled yang share memori, biasanya disebut Multiprocessors, dan mereka yang tidak, kadang-kadang disebut multicomputers. Perbedaan yang esensial adalah: dalam multiprosesor, ada virtual address yaitu satu ruang yang digunakan bersama-sama oleh semua CPU. Jika ada CPU menulis, misalnya, nilai 44 menjadi alamat 1000, CPU lain kemudian membaca dari alamat 1000 akan mendapatkan nilai 44. Semua mesin memiliki memori yang sama.
Sebaliknya,
dalam multicomputer, setiap mesin memiliki memori pribadi. Jika satu CPU
menulis nilai 44 menjadi alamat 1000, ketika CPU lain reads 1000 alamat tidak
akan mendapatkan nilai apa pun yang ada di sana sebelumnya. Sebuah contoh umum
adalah sebuah komputer pribadi yang dihubungkan dengan jaringan membentuk
multicomputer.
Masing-masing
kategori ini dapat dibagi lagi berdasarkan arsitektur jaringan interkoneksi.
Dalam Gambar 1 kita menggambarkan dua kategori sebagai bus dan switched. Dengan
bus kami maksud bahwa ada jaringan tunggal, backplane, bus, kabel, atau media
lain yang menghubungkan semua mesin.
Sistem switched tidak memiliki satu backbone seperti televisi kabel. Sebaliknya, ada kabel individu dari mesin ke mesin, dengan berbagai pola kabel digunakan. Pesan bergerak sepanjang kabel, dengan eksplisit keputusan switching yang dibuat pada setiap langkah untuk rute pesan di sepanjang salah satu jalur kabel. Telepon umum diseluruh dunia sistem ini disusun dengan cara ini.
Dimensi lain penggolongan / taksonomi kita adalah bahwa dalam beberapa sistem mesin tightly coupled dan lainnya loosely coupled. Dalam tightly coupled, mengalami penundaan ketika pesan dikirim dari satu komputer ke komputer lain, dan data rate tinggi, yaitu jumlah bit per detik yang dapat ditransfer adalah besar. Dalam loosely coupled, kebalikannya adalah pesan dari satu jomputer ke computer yang dikirimkan mengalami penundaan dan data rate rendah. Untuk Misalnya, dua CPU sama chip pada printed circuit board dan dihubungkan oleh kabel seperti tightly coupled, sedangkan dua komputer terhubung dengan modem 2400 bit/sec melalui sistem telepon tertentu adalah loosely coupled.
Sistem Tightly-coupled digabungkan untuk digunakan sebagai sistem paralel (bekerja pada satu masalah) dan loosely coupled yang cenderung digunakan sebagai sistem terdistribusi (bekerja pada banyak masalah yang tidak berkaitan), meskipun hal ini tidak selalu benar. Salah satu yang terkenal adalah proyek di mana ratusan komputer semua dunia bekerja bersama-sama mencoba untuk mencari faktor dengan jumlah besar (sekitar 100 digit). Setiap computer ditugaskan dalam kisaran yang berbeda pembagi untuk melakukannya, dan mereka semua bekerja tidak serempak dan melaporkan hasil ketika mereka selesai.
Secara keseluruhan, Multiprocessors cenderung lebih Tightly-coupled daripada multicomputers, karena mereka dapat bertukar data pada memori yang cepat, tetapi beberapa fiberoptic berbasis multicomputers juga dapat bekerja pada memori yang cepat. Meskipun ketidak jelasan dari istilah "tightly coupled" dan "loosely coupled" mereka konsep yang berguna, seperti mengatakan "Jack is fat and Jill is thin" menyampaikan informasi tentang kegemukan meskipun salah satu dapat masuk ke cukup banyak berdiskusi tentang konsep-konsep dari "fatness" and "thinness."
Sistem switched tidak memiliki satu backbone seperti televisi kabel. Sebaliknya, ada kabel individu dari mesin ke mesin, dengan berbagai pola kabel digunakan. Pesan bergerak sepanjang kabel, dengan eksplisit keputusan switching yang dibuat pada setiap langkah untuk rute pesan di sepanjang salah satu jalur kabel. Telepon umum diseluruh dunia sistem ini disusun dengan cara ini.
Dimensi lain penggolongan / taksonomi kita adalah bahwa dalam beberapa sistem mesin tightly coupled dan lainnya loosely coupled. Dalam tightly coupled, mengalami penundaan ketika pesan dikirim dari satu komputer ke komputer lain, dan data rate tinggi, yaitu jumlah bit per detik yang dapat ditransfer adalah besar. Dalam loosely coupled, kebalikannya adalah pesan dari satu jomputer ke computer yang dikirimkan mengalami penundaan dan data rate rendah. Untuk Misalnya, dua CPU sama chip pada printed circuit board dan dihubungkan oleh kabel seperti tightly coupled, sedangkan dua komputer terhubung dengan modem 2400 bit/sec melalui sistem telepon tertentu adalah loosely coupled.
Sistem Tightly-coupled digabungkan untuk digunakan sebagai sistem paralel (bekerja pada satu masalah) dan loosely coupled yang cenderung digunakan sebagai sistem terdistribusi (bekerja pada banyak masalah yang tidak berkaitan), meskipun hal ini tidak selalu benar. Salah satu yang terkenal adalah proyek di mana ratusan komputer semua dunia bekerja bersama-sama mencoba untuk mencari faktor dengan jumlah besar (sekitar 100 digit). Setiap computer ditugaskan dalam kisaran yang berbeda pembagi untuk melakukannya, dan mereka semua bekerja tidak serempak dan melaporkan hasil ketika mereka selesai.
Secara keseluruhan, Multiprocessors cenderung lebih Tightly-coupled daripada multicomputers, karena mereka dapat bertukar data pada memori yang cepat, tetapi beberapa fiberoptic berbasis multicomputers juga dapat bekerja pada memori yang cepat. Meskipun ketidak jelasan dari istilah "tightly coupled" dan "loosely coupled" mereka konsep yang berguna, seperti mengatakan "Jack is fat and Jill is thin" menyampaikan informasi tentang kegemukan meskipun salah satu dapat masuk ke cukup banyak berdiskusi tentang konsep-konsep dari "fatness" and "thinness."
Dalam
empat bagian berikut, kita akan melihat empat kategori pada Gambar 1, secara
lebih rinci, yaitu bus Multiprocessors, switched Multiprocessors, bus
multicomputers, dan switched multicomputers. Walaupun topik ini tidak berkaitan
langsung dengan perhatian utama kami, sistem operasi terdistribusi, mereka
titik terang pada subjek karena seperti yang akan kita lihat, berbagai kategori
mesin menggunakan berbagai jenis sistem operasi.
Bus-based multiprocessors terdiri dari
beberapa jumlah CPU yang semua terhubung menggunakan bus, bersama dengan sebuah
modul memori.
Konfigurasi sederhana seperti terlihat di gambar, sebuah bus berkecepatan tinggi menghubungkan CPU dan memori. Tipikal bus memiliki 32 atau 64 jalur alamat, 32 atau 64 jalur data, dan mungkin 32 atau lebih banyak kontrol jalur, yang semuanya beroperasi secara paralel. Proses membaca (read) dari memori, dengan cara, CPU menempatkan alamat dari kata/data yang diinginkan pada bus yang berisi alamat, kemudian meletakkan sinyal pada bus kontrol yang tepat untuk menunjukkan bahwa akan terjadi proses read. Memori merespon dengan menempatkan data pada bus data untuk agar CPU yang meminta dapat membacanya dengan cara yang sama.
Konfigurasi sederhana seperti terlihat di gambar, sebuah bus berkecepatan tinggi menghubungkan CPU dan memori. Tipikal bus memiliki 32 atau 64 jalur alamat, 32 atau 64 jalur data, dan mungkin 32 atau lebih banyak kontrol jalur, yang semuanya beroperasi secara paralel. Proses membaca (read) dari memori, dengan cara, CPU menempatkan alamat dari kata/data yang diinginkan pada bus yang berisi alamat, kemudian meletakkan sinyal pada bus kontrol yang tepat untuk menunjukkan bahwa akan terjadi proses read. Memori merespon dengan menempatkan data pada bus data untuk agar CPU yang meminta dapat membacanya dengan cara yang sama.
Karena hanya ada satu memori, jika CPU A
menulis (write) data ke memori dan kemudian CPU B membaca data itu satu
mikrodetik kemudian, B akan mendapatkan nilai yang dituliskan (proses real
time). Sebuah memori yang memiliki properti ini dikatakan koheren. Koheren
memainkan peran penting dalam sistem operasi terdistribusi dalam berbagai cara
yang akan kita bahas nanti.
Masalahnya dengan skema ini adalah bahwa dengan jumlah CPU sebanyak 4 atau 5, akan membuat bus kelebihan beban dan menyebabkan kinerja akan menurun drastis. Solusi adalah menambahkan kecepatan memori yang tinggi (cache memory) antara CPU dan bus, seperti yang ditunjukkan pada gambar diatas. Cache memiliki data yang paling baru diakses dan semua memori melakukan permintaan melalui cache. Jika ada permintaan dalam cache, cache sendiri menanggapi ke CPU, dan tidak pada bus. Jika cache cukup besar, kemungkinan keberhasilan, yang disebut hit rate, akan tinggi, dan jumlah bus traffic per CPU akan turun drastis, sehingga memungkin penambahan CPU dalam sistem menjadi banyak lagi. Ukuran cache 64Kb untuk 1Mb memori adalah sebuah kewajaran, dan akan memberikan hit rate 90 persen atau lebih.
Namun, pengenalan cache juga membawa masalah serius. Misalkan dua CPU, A dan B, masing-masing membaca data yang sama ke dalam masing-masing cache. Maka A akan menimpa data. B berikutnya ketika membaca data itu, ia mendapatkan nilai lama dari cache, bukan nilai yang baru saja dituliskan dan sistem ini sulit untuk diprogram.
Masalahnya dengan skema ini adalah bahwa dengan jumlah CPU sebanyak 4 atau 5, akan membuat bus kelebihan beban dan menyebabkan kinerja akan menurun drastis. Solusi adalah menambahkan kecepatan memori yang tinggi (cache memory) antara CPU dan bus, seperti yang ditunjukkan pada gambar diatas. Cache memiliki data yang paling baru diakses dan semua memori melakukan permintaan melalui cache. Jika ada permintaan dalam cache, cache sendiri menanggapi ke CPU, dan tidak pada bus. Jika cache cukup besar, kemungkinan keberhasilan, yang disebut hit rate, akan tinggi, dan jumlah bus traffic per CPU akan turun drastis, sehingga memungkin penambahan CPU dalam sistem menjadi banyak lagi. Ukuran cache 64Kb untuk 1Mb memori adalah sebuah kewajaran, dan akan memberikan hit rate 90 persen atau lebih.
Namun, pengenalan cache juga membawa masalah serius. Misalkan dua CPU, A dan B, masing-masing membaca data yang sama ke dalam masing-masing cache. Maka A akan menimpa data. B berikutnya ketika membaca data itu, ia mendapatkan nilai lama dari cache, bukan nilai yang baru saja dituliskan dan sistem ini sulit untuk diprogram.
Banyak peneliti telah mempelajari
masalah ini, dan berbagai solusi diketahui. Anggaplah bahwa cache memori
dirancang sedemikian rupa agar setiap kali data yang ditulis ke cache, tertulis
melalui memori juga. Seperti cache, disebut writethrough cache. Dalam desain
ini, cache hits untuk membaca bus tidak menyebabkan macetnya trafik data, tapi
cache yang tidak dapat membaca dan menulis yang menyebabkan macetnya trafik
data pada bus.
Selain itu, semua cache selalu memantau bus. Cache setiap kali melihat alamat memori yang ada dalam cache, hal ini untuk menghapus yang entri dari cache, atau entri cache update dengan nilai baru. Seperti cache disebut snoopy cache (atau kadang-kadang, sebuah mengintai cache) karena selalu "mengintip" (menguping) di bus. Sebuah desain yang terdiri dari snoopy write-through cache adalah koheren dan ini tidak terlihat oleh programmer. Hampir semua bis Multiprocessors berbasis gunakan arsitektur atau satu ini berkaitan erat dengan hal itu, untuk menempatkan sekitar 32 atau mungkin 64 CPU pada satu bus. Untuk lebih lanjut tentang Multiprocessors berbasis bus, lihat Lilja (1993).
Selain itu, semua cache selalu memantau bus. Cache setiap kali melihat alamat memori yang ada dalam cache, hal ini untuk menghapus yang entri dari cache, atau entri cache update dengan nilai baru. Seperti cache disebut snoopy cache (atau kadang-kadang, sebuah mengintai cache) karena selalu "mengintip" (menguping) di bus. Sebuah desain yang terdiri dari snoopy write-through cache adalah koheren dan ini tidak terlihat oleh programmer. Hampir semua bis Multiprocessors berbasis gunakan arsitektur atau satu ini berkaitan erat dengan hal itu, untuk menempatkan sekitar 32 atau mungkin 64 CPU pada satu bus. Untuk lebih lanjut tentang Multiprocessors berbasis bus, lihat Lilja (1993).
Membangun
multiprosesor dengan lebih dari 64 prosesor, diperlukan metode yang berbeda
untuk menghubungkan CPU dengan memori. Satu kemungkinan adalah untuk membagi
memori ke dalam modul dan menghubungkan mereka ke CPU dengan crossbar switch,
seperti ditunjukkan pada gambar (a).
Setiap
CPU dan memori masing-masing memiliki sambungan input/ output. Di setiap
persimpangan adalah Crosspoint elektronik kecil yang dapat dibuka dan ditutup
dengan hardware. Ketika CPU ingin mengakses memori tertentu, switch
menghubungkan mereka Crosspoint ditutup sementara, untuk memungkinkan akses
berlangsung. Keutamaan crossbar switch adalah bahwa banyak CPU dapat mengakses
memori pada saat yang sama, walaupun jika dua CPU mencoba akses memori yang
sama secara bersamaan, salah satu dari mereka harus menunggu.
Kelemahan dari crossbar switch
adalah bahwa dengan n CPU dan n memori, n kuadrat Crosspoint switch
diperlukan. Untuk besarnya n, jumlah ini dapat menjadi penghalang. Akibatnya,
orang-orang yang telah mencari, dan menemukan, alternatif switching yang
memerlukan lebih sedikit switch. Jaringan omega gambar (b) adalah satu contoh.
Jaringan ini berisi empat (2 x 2) switch, masing-masing mempunyai dua input dan
dua output. Setiap switch dapat rute baik baik input ke output. Switch ini
dapat diatur dalam nanodetik atau kurang.
Dalam kasus umum, dengan n CPU dan n
memori, jaringan omega log2 n switching memerlukan tahap, masing-masing berisi
n/2 switch, dengan total (n log2 n) / 2 switch. Walaupun untuk n besar ini jauh
lebih baik daripada n kuadrat.
Selain
itu, ada masalah lain: penundaan. Sebagai contoh, untuk n = 1024, ada 10 tahap
beralih dari CPU ke memori, dan 10 untuk kata diminta untuk datang kembali.
Anggaplah bahwa CPU RISC chip modem berjalan pada 100 MIPS, yaitu waktu
eksekusi instruksi adalah 10 nsec. Jika Permintaan memori untuk melewati
total 20 switching tahap (10 outbound dan 10 belakang) dalam 10 nsec, waktu
switching harus 500 picosec (0,5 nsec). Multiprosesor memerlukan 5120
500-picosec switch.
Orang,
telah berusaha untuk mengurangi biaya dengan beralih ke sistem hirarkis.
Beberapa memori dikaitkan dengan masing-masing CPU. Setiap CPU dapat mengakses
local sendiri memori dengan cepat, tetapi orang lain mengakses memori yang
lebih lambat. Desain ini dikenal sebagai NUMA (Non Uniform Memory Access)
mesin. Meskipun mesin NUMA memiliki waktu akses rata-rata lebih baik daripada
mesin didasarkan pada jaringan omega, mereka memiliki komplikasi baru bahwa
penempatan program dan data menjadi penting untuk membuat kebanyakan akses ke
memori lokal.
Ringkasnya,
bus berbasis Multiprocessors, bahkan dengan snoopy cache, adalah dibatasi oleh
jumlah kapasitas bus untuk sekitar 64 CPU paling banyak.
Melampaui yang membutuhkan jaringan switching, seperti crossbar switch,
jaringan omega switching, atau sesuatu yang serupa. crossbar switch besar
sangat mahal, dan jaringan omega besar yang baik mahal dan lambat. Mesin NUMA
memerlukan kompleks algoritma untuk penempatan perangkat lunak yang baik.
Kesimpulannya jelas: building a large, tightly-coupled, shared memory
multiprocessor adalah mungkin, meski sulit dan mahal.
Dalam membangun multicomputer (yakni, tidak menggunakan mekanisme shared memory) akan lebih mudah. Setiap CPU memiliki koneksi langsung ke memori lokal sendiri. Meskipun begitu tetap saja ada masalah yaitu cara CPU berkomunikasi dengan satu sama lain. Jelas, beberapa skema interkoneksi dibutuhkan di sini, karena hanya untuk komunikasi CPU-ke-CPU, dapat menyebabkan trafik jaringan komputer akan beberapa kali lebih sibuk.
Dalam membangun multicomputer (yakni, tidak menggunakan mekanisme shared memory) akan lebih mudah. Setiap CPU memiliki koneksi langsung ke memori lokal sendiri. Meskipun begitu tetap saja ada masalah yaitu cara CPU berkomunikasi dengan satu sama lain. Jelas, beberapa skema interkoneksi dibutuhkan di sini, karena hanya untuk komunikasi CPU-ke-CPU, dapat menyebabkan trafik jaringan komputer akan beberapa kali lebih sibuk.
Dalam
Gambar diatas kita melihat bus berbasis multicomputer. Secara topologi
tampak/mirip dengan bus yang berbasis multiprosesor, tetapi karena lalu lintas
datanya lebih sedikit, tidak memerlukan bus berkecepatan tinggi. Bahkan,
kecepatan yang jauh lebih rendah dari LAN. Mengacu gambar diatas, 4
kumpulan workstation pada sebuah LAN lebih efisien daripada kumpulan CPU dimasukkan ke bus yang
cepat(backplane).
4.
Konsep Software (Software Concepts)
Meskipun hardware penting, software bahkan lebih
penting. Gambaran yang sistem berikan kepada para penggunanya, dan bagaimana
mereka berpikir tentang sistem, sangat ditentukan oleh sistem operasi dan
perangkat lunak, bukan perangkat keras. Dalam bagian ini kita akan
memperkenalkan berbagai jenis sistem operasi untuk Multiprocessors dan
multicomputers yang baru saja kita mempelajari, dan mendiskusikan jenis
perangkat lunak yang berjalan pada perangkat keras.
Sistem
operasi tidak dapat dimasukkan ke dalam computer secara assembling seperti
perangkat keras. Secara alamiah perangkat lunak yang samar dan tak berbentuk.
Namun, lebih-atau-kurang mungkin untuk membedakan dua jenis sistem operasi
untuk beberapa sistem CPU: loosely coupled dan tightly coupled. Sebagaimana
akan kita lihat, loosely coupled dan tightly coupled software secara analog
berbeda dengan loosely coupled dan tightly coupled.
Perangkat
lunak Loosely-coupled memungkinkan komputer dan pengguna dari suatu sistem
terdistribusi secara mendasar independen satu sama lain, tetapi tetap untuk
berinteraksi dengan terbatas tingkat mana yang diperlukan. Pertimbangkan
sekelompok personal komputer, masing-masing yang memiliki CPU, memori sendiri,
hard disk sendiri, dan sistem operasi sendiri, tetapi berbagi beberapa
sumber daya, seperti laser printer dan database, menggunakan LAN. Sistem ini
longgar digabungkan, karena individu mesin jelas dibedakan, masing-masing
dengan tugas untuk dilakukan.
Untuk menunjukkan betapa sulitnya membuat
definisi di daerah ini, sekarang mempertimbangkan sistem yang sama seperti di
atas, tetapi tanpa jaringan. Untuk mencetak file, user menulis file di floppy
disk, membawa ke mesin dengan printer, membacanya dan kemudian mencetaknya.
Apakah ini masih suatu sistem terdistribusi, hanya sekarang bahkan lebih
loosely coupled? Sulit untuk dijelaskan. Dari sudut pandang fundamental,
benar-benar tidak ada perbedaan teori antara berkomunikasi melalui LAN dan
berkomunikasi dengan membawa disket. Pada kebanyakan orang dapat mengatakan
bahwa penundaan dan kecepatan data yang lebih buruk.
Pada keadaan ekstrem yang lain kita mungkin menemukan
multiprosesor didedikasikan untuk menjalankan program secara paralel. Software
untuk sistem ini, baik aplikasi program dan sistem operasi yang dibutuhkan
untuk mendukung itu, jelas banyak lebih erat digabungkan daripada contoh
sebelumnya.
Kita
telah melihat empat jenis hardware dan didistribusikan dua jenis. Secara teori,
seharusnya ada delapan kombinasi hardware dan software. Pada kenyataannya,
hanya empat bernilai pembeda, karena bagi pengguna, teknologi interkoneksi
tidak terlihat. Bagi sebagian besar tujuan, sebuah multiprosesor adalah
multiprosesor, apakah itu menggunakan bus dengan snoopy cache atau menggunakan
jaringan omega. Pada bagian berikut, kita akan melihat beberapa yang kombinasi
paling baik dari hardware dan software.
5.
Model Client-Server
Bagaimana cara kerja sistem
terdistribusi antara komponen-komponen sistem dan bagaimana komponen tersebut
berada pada sistem terdistribusi :
- Client - Server Model
Sistem
yang terdiri dari kumpulan - kumpulan proses disebut dengan server, dan
memberikan layanan kepada user yang disebut dengan client.
Model client-server biasanya berbasiskan protokol
request/reply. Contoh implementasinya antara lain: RPC (Remote Procedure
Calling) dan RMI (Remote Method Invocation).
Client :Proses
akses data, melakukan operasi pada komputer lain.
Server :Proses mengatur data, proses mengatur resources, proses komputasi.
Interaksi :Invocation/result
Server :Proses mengatur data, proses mengatur resources, proses komputasi.
Interaksi :Invocation/result
·
Karakteristik
Client-Server
1.
Service : menyediakan layanan terpisah yang berbeda
2.
Shared Resource : server dapat melayani beberapa client pada
saat yang sama dan mengatur pengaksesan resource
3.
Asymmetrical
Protocol : antara client dan server merupakan hubungan
one to many
4.
Mix and Match : tidak tergantung pada platform
5.
Encapsulation
of Service : message memberitahu server apa yang akan
dikerjakan
6.
Transparency
Location : proses server dapat ditempatkan pada mesin
yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan
lokasi server dari client
7. Message-based-exchange : antara client dan server berkomunikasi dengan
mekanisme pertukaran message
8.
Scalability : sistem client/server dapat dimekarkan baik
vertikal maupun horisontal
9. Integrity : kode dan data server diatur secara terpusat,
sedangkan pada client tetap pada komputer sendiri
·
Kelebihan
jaringan client server:
ü
Mendukung
keamanan jaringan yang lebih baik
ü
Kemudahan
administrasi ketika jaringan bertambah besar
ü
Manajemen
jaringan terpusat
ü
Semua data bisa
disimpan dan di backup terpusat di satu lokasi
·
Kekurangan
jaringan client server:
ü
Butuh
administrator jaringan yang profesional
ü
Butuh perangkat
bagus untuk digunakan sebagai komputer server
ü
Butuh software
tool operasional untuk mempermudah manajemen jaringan
ü
Anggaran untuk
manajemen jaringan menjadi besar
ü
Bila server
down, semua data dan resource diserver tidak bisa diaks
BAB III
PENUTUP
a.
Kesimpulan
Sebenarnya definisi dari sebuah Sistem Terdistribusi
sangat luas, akan tetapi di sini kami mencoba mengutarakan bahwa :
Sebuah sistem terdistribusi
adalah kumpulan komputer independen yang digunakan oleh pengguna sebagai satu
kesatuan yang mempunyai fungsi yang sama.
Dan
Definisi tersebut pun mempunyai dua aspek. Yang pertama berhubungan dengan
hardware: mesin-mesin bersifat otonom. Yang kedua berhubungan dengan software:
pengguna sistem memikirkan sebagai satu komputer. Keduanya sangat penting.
Setiap
sistem yang diciptakan pasti memeliki tujuan, begitupula dengan sistem terdistribusi.
Berikut
adalah beberapa tujuan dari sistem terdistribusi;
ü
Koneksi
Antara Pengguna dan Sumber Daya (Connecting User and Resources)
ü
Transparansi
(Transparency)
Access
transparency
Location
transparency
Migration
transparency
Replication
transparency
Concurrency transparency
Failure transparency
Performance Transparency
ü
Keterbukaan
(Oppennnes)
ü
Skalabilitas
(Scalability)
Adapun konsep hardware yang akan
dibahas pada sistem distribusi yaitu adalah, dimana hardware ini yang bertujuan
untuk mengkoordinir seluruh perangkat-perangkat yang terdapt pada mainframes,
server, workstation, ataupun Personal Computer.
Nah selain itu software juga
berperan penting terhadap sistem terdistribusi, disini yang akan di utarakan
adalah pemakaian sistem operasi yang diterapkan atau digunakan pada sistem
terdistribusi.
Kemudian adalah client-server , dimana client
didefinisikan sebagai proses akses data, melakukan operasi pada komputer
lain, dan server di definisikan sebagai proses mengatur data, proses mengatur
resources, proses komputasi. Dan clinet-server ini pula saling berhubungan dan
saling melengkapi satu sama lain dalam menjalankan tugas nya.
Daftar Pustaka
1 komentar:
terimakasih atas infonya
solder uap 2in1
Posting Komentar