Postingan-Keren

Blog gado-gado yang menyediakan tutorial dan download gratis

Breaking

Sunday 16 April 2017

Sistem Terdistribusi Sebelum Uts

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
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
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

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 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

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
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.

Decentralized Architecture
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
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
Interceptor
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
Thread
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 :
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

postingan keren