Bab 1.Arsitektur Sistem Terdistribusi
Tujuan dan Sudut Pandang Arsitektur Sistem Tersebar
Tujuan arsitektur sistem
terdistribusi/tersebar:
ØMenyakinkan
bahwa
struktur
sistem
memenuhi
standar
saat
ini
dan
yang akan
datang.
●user interaction view
●data view: fokus pada bagaimana data flows melewati sistem, dan disimpan
●control view: fokus pada control flow
●decomposition view
●user interaction view
●data view: fokus pada bagaimana data flows melewati sistem, dan disimpan
●control view: fokus pada control flow
●decomposition view
Selama menjabarkan
sebuah arsitektur, perlu diambil sudut pandang - sudut pandang yang berbeda,
diantaranya:
Model Arsitektur Logis(Style)
1.Layered Architectures
2.Object-Base Architectures
3.Data-Center Architectures
4.Event-Base Architectures
Arsitektur Sistem
1.Centralized Architecture
2.Decentralized Architecture
3.Hybrid
Layered
Architectures
Komponen-komponen pada Layered
Architectures diorganisasi dalam bentuk lapisan-lapisan fungsi dan service
contoh:
●Sistem Operasi(linux, windows,
mac)
●Protokol Jaringan(OSI, TCP/IP)
Object-base architectures
Object Base Architectures menggambarkan setiap objek melakukan koresponden dengan komponen,dan komponen ini terkoneksi melalui mekanisme procuder call.Bentuk sistem ini digunakan aplikasi perangkat lunak dalam skala besar.
Data-center architectures
Data center dapat dipandang
sebagai data warehouse yang berfungsi sebagai sistem
pengelolaan
data mulai dari pengumpulan, pengolahan, penyimpanan hingga penemuan kembali
data, serta mampu memberikan dukungan dalam pengambilan keputusan.
contoh: sistem terdistribusi
berbasis web.
Event-based
architectures
Proses sistem ini berdasarkan propagasi event.Proses mengeluarkan event setelah Middleware memberikan kepastian hanya proses itu saja yang bisa disubscribe untuk event yang diterima.Keuntungan sistem ini yaitu proses bersifat loosely coupled.Sistem ini lebih dikenal sebagai publish/subscribe system
Centralized architecture
Proses dalam sistem terpusat memiliki 2 bagian,yaitu server sebagai penyedia layanan dan client sebagai pengguna yang meminta layanan dari server dengan mengirim permintaan dan menunggu jawaban dari server.
A.Keuntungan dan Kekurangan Arsitetur Tersentralisasi
Kentungan dan Kekurangan Arsitektur Desentralisasi:
a)Keuntungan Arsitektur Desentralisasi
Konsep yang kemudian disebut adaptive Software.
Centralized architecture
Proses dalam sistem terpusat memiliki 2 bagian,yaitu server sebagai penyedia layanan dan client sebagai pengguna yang meminta layanan dari server dengan mengirim permintaan dan menunggu jawaban dari server.
A.Keuntungan dan Kekurangan Arsitetur Tersentralisasi
- Instalasi lebih aman
- Kontrol aman
- Biaya pemeliharaan murah
- Lebih mudah dalam membuat perencanaan strategis
- Lebih mudah melakukan pelatihan
- Hardware dan Software terstandarisasi sehingga lebih mudah dalam pemeliharaan
B.Kerugian Arsitektur Tersentralisasi
- Jika ada masalah maka semua akan terkena dampaknya(Kurang fleksibel).
- Sistem yang dibuat secara global,tidak spesifik sesuai kebutuhan masing-masing bagian.
- Pemrosesan di mainframe lebih lama(traffic padat).
Decentralized
Architecture
Arsitektur desentralisasi merupakan konsep dari pemrosesan data tersebar(atau terdistribusi).Sistem pemrosesan data terdistribusi(atau biasa disebut sebagai komputasi tersebar).Sebagai system yang terdiri atas sejumlah komputer yang tersebar padu berbagai lokasi yang dihubungkan dengan sarana telekomunikasi dengan masing-masing komputer mampu melakukan pemrosesan yang serupa secara mandiri.
Model sederhana sistem pemrosesan terdistribusi terdapat pada sejumlah komputer yang terhubung dalam jaringan yang menggunakan arsitektur Peer-to-peer,masing-masing komputer memiliki kontol terhadap resource(misalnya data,printer,CD-ROM),tetapi memungkinkan komputer lain menggunakan sumber daya tersebut.Sistem seperti ini menjadi pemandangan umum semenjak kehadiran PC yang mendominasi perkantoran.
Kentungan dan Kekurangan Arsitektur Desentralisasi:
a)Keuntungan Arsitektur Desentralisasi
- Penghematan biaya
- Pengingatan tanggung jawab terhadap peneluaran biaya
- Peningkatan kepuasan pemakai
- Kemudahan pencadangan ketika terjadi musibah
b)Kekurangan Arsitektur Desentralisasi
- Memungkinkan kekacauan kontrol terhadap sistem komputer
- Ketidaksesuaian dalam menyediakan perangkat lunak dan perangkat keras
- Kemubaziran dalam tugas
- Standarisasi bisa tak dicapai
Hybrid
Edge-Server Systems
- Sistem ini dibangun di jaringan internet dimana server ditempatkan pada tepi dari jaringan
- Sistem ini bertujuan melayani isi(content)saat proses filtering dan fungsi transcoding
Collaborative Distributed Systems
- Dibangun dari beberapa jaringan terdistribusi yang ada
- Sistem ini memiliki konsep yang sama dengan BitTorrent file-Sharing System.
- Komponen dapat redirect Client untuk mengakses server lain,analisa pola akses Client,memanage replication data.
Architecture versus Middleware
- Tidak membahas komparasi arsitektur dengan middleware.
- Middleware mengikuti bentuk arsitektur yang ada.
- Middleware dan aplikasi menangani kebutuhan yang berbeda,tapi untuk menyesuaikan kebutuhan aplikasi ke depanya diperlukan middleware yang mudah dikonfigurasi,disesuaikan dan dikostumisasi.
Interceptors
Adalah Software yang memecah control flow dan mengizinkan kode lain untuk dieksekusi atau diproses.Interceptors sangat bagus untuk menyediakan proses transparency dari replication dan performance.
Pendekatan Umum Software yang
Adaptif
Perubahan yang secara terus menerus perlu dilakukan untuk penyesuaian terhadap lingkungan aplikasi pada sistem terdistribusi.
Mobility,quality-of-service networks,kerusakan hardware dan battery drainage menghasilkan perubahan yang dimaksud.
Konsep yang kemudian disebut adaptive Software.
Bab 2.Proses dan Thread
Apa Itu Proses ?
Proses adalah program dalam eksekusi.Suatu proses adalah lebih dari kode program,dimana kadang kala dikenal sebagai bagian tulisan.Proses juga termasuk aktifitas yang sedang terjadi,sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar processor/processors register.
Beberapa proses dalam sistem terdistribusi :
- Pembuatan dan penghapusan proses pengguna dan sistem proses
- Menunda atau melanjutkan proses
- Menyediakan mekanisme untuk proses sinkronisasi
- Menyediakan mekanisme untuk proses komunikasi
- Menyediakan mekanisme untuk penanganan deadlock
Apa Itu Thread ?
Thread adalah sebuah alur kontrol dari sebuah proses.Kontrol Thread tunggal ini hanya memungkinkan proses unuk menjalankan satu tugas pada satu waku.
Thread merupakan unit dasar dari penggunaan CPU,terdiri dari Thread_ID,program counter,register set,dan Stack.Sebuah Thread berbagi code section,data section,dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama.
Perbedaan antara proses dengan thread
tunggal dan proses dengan
thread yang banyak
Proses dengan Thread banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu.
Banyak perangkat lunak yang berjalan pada PC modern dirancang secara multi-threading.Sebuah aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali.Contohnya sebuah web browser mempunyai thread untuk menampilka gambar atau sedangkan thread yang lain berfungsi sebagai penerima data dari network.
Apa Keuntungan Thread ?
Responsi
Membuat
aplikasi yang interaktif menjadi multithreading dapat membuat sebuah program
terus berjalan meski
pun sebagian dari program tersebut
diblok atau melakukan operasi yang panjang, karena itu dapat meningkatkan
respons kepada pengguna. Sebagai
contohnya dalam web browser yang multithreading,sebuah
thread dapat melayani permintaan
pengguna sementara thread lain berusaha menampilkan image.slice
atau quantum).
Berbagi
sumber daya
Thread berbagi memori dan sumber daya
dengan thread lain yang dimiliki oleh proses yang sama.Keuntungan
dari berbagi kode adalah
mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang
berbeda dalam lokasi memori yang sama.
Apa Keuntungan Thread ?
Ekonomi
Dalam
pembuatan sebuah proses banyak
dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah
dengan penggunaan thread, karena
thread berbagi memori dan sumber daya proses yang memilikinya
maka akan lebih ekonomis untuk
membuat dan context switch thread. Akan susah untuk mengukur
perbedaan waktu antara proses dan
thread dalam hal pembuatan dan pengaturan, tetapi secara umum
pembuatan dan pengaturan proses
lebih lama dibandingkan thread. Pada Solaris, pembuatan proses
lebih
lama 30 kali dibandingkan pembuatan
thread, dan context switch proses 5 kali lebih lama dibandingkan
context switch thread.
Utilisasi arsitektur multiprocessor
Keuntungan
dari multithreading dapat sangat meningkat pada arsitektur multiprocessor,
dimana setiap thread
dapat berjalan secara pararel di
atas processor yang berbeda. Pada arsitektur processor tunggal, CPU
menjalankan setiap thread secara
bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan
ilusi pararel, tetapi pada kenyataannya hanya satu thread yang dijalankan CPU
pada satu-satuan
waktu (satu-satuan waktu pada CPU
biasa disebut time.
Kegunaan Thread
Thread
bermanfaat untuk Multithreading yang berguna untuk
Multiprocessor dan Singleprocessor.
Multithreading
berguna untuk multiprocessor dan singleprocessor.
Kegunaan untuk system multiprocessor adalah :
Kegunaan untuk system multiprocessor adalah :
1.Sebagai
unit pararel atau tingkat granularitas pararelisme.
2.Peningkatan
kinerja disbanding berbasis proses.
Karakteristik Thread
Proses
merupakan lingkungan eksekusi bagi thread-thread yang dimilikinya.
Thread-thread
di
satu proses memakai bersama
sumber daya
yang
dimiliki
proses, yaitu :
1.Ruang alamat.
2.Himpunan berkas yang dibuka.
3.Proses-proses anak.
4.Timer-timer.
5.Snyal-sinyal.
6.Sumber daya-sumber daya lain milik
proses.
Implementasi Thread
1.Thread Level Kernel
Keunggulan = Memudahkan koordinasi multithread seperti proses server menyebabkan tidak seboros kumpulan proses tradisional
Kelemahan = Operasi manajemen thread sangat boros,Kernel harus menyediakan semua feature.
2.Thread Level Pemakai
Keunggulan = Kinerja lebih bagus dibandingkan thread level Kernel karena tidak memerlukan modifikasi kernel serta memiliki fleksibilitas yang tinggi
kelemahan = Tidak memanfaatkan multiprocessor,Untuk kernel dengan keterlibatan Kernel yang kecil Mengharuskan nonblocking system Call.
Contoh Penerapan Thread
Sebuah
web server dapat mempunyai ratusan klien yang mengaksesnya secara concurrent.
Kalau web server berjalan sebagai proses yang hanya mempunyai thread tunggal
maka ia
hanya dapat melayani satu klien pada satu satuan waktu.Bila
ada
klien lain yang ingin
mengajukan permintaan maka ia harus menunggu sampai klien sebelumnya selesai
dilayani. Solusinya adalah dengan membuat web server menjadi
multi-threading.
Dengan
ini
maka sebuah web server akan membuat thread yang akan mendengar
permintaan
klien, ketika permintaan lain diajukan maka web server akan menciptakan
thread
lain yang akan melayani permintaan tersebut.
Apa itu Virtualisasi ?
•Sistem
operasi yang Multiprogram memberikan ilusi eksekusi simultan melalui virtualisasi
sumber daya
•Menggunakanperangkat
lunak untuk membuatnya terlihat seperti proses konkuren
mengeksekusi secara bersamaan
•teknologi
Mesin Virtual menciptakan mesin virtual yang terpisah, mampu mendukung
beberapa
sistem operasi yang berbeda.
Apa Keuntungan Virtualisasi ?
•PerubahanHardware
lebih cepat dari perangkat lunak
•Misalkan
Anda ingin menjalankan aplikasi yang sudah ada dan OS yang mendukung pada
komputer baru: lapisan VMM memungkinkan untuk melakukannya.
•Sistem
dikompromikan (kegagalan internal atau serangan eksternal) diisolasi.
•Menjalankan
beberapa sistem operasi yang berbeda pada waktu yang sama
Bagaimana Peran Virtualisasi dalam Sistem Terdistribusi ?
•Portabilitas
dari mesin virtual mendukung server untuk komputer baru
•Beberapa
server dapat dengan aman berbagi dalamsatu komputer
•MemilikikarakteristikPortabilitas
dan keamanan (isolasi)
No comments:
Post a Comment