Powered By Blogger

Jumat, 03 Desember 2010

Sistem Terdistribusi

Sistem Terdistribusi adalah Sekumpulan komputer otonom yang terhubung kesuatu jaringan, dimana bagi pengguna sistem terlihat sebagai satu komputer. Maksud komputer otonomi adalah walaupun komputer tidak terhubung kejaringan, komputer tersebut tetap data berjalan.

1. Berikan contoh sistem terdistribusi !

Contoh Sistem Terdistribusi

•Internet

•Mobile Computing

•Sistem Otomasi Bank

•Deteksi Roaming Pada Telepon Seluler

•GPS (Global Positioning System)

•Retail Point-of-Sale Terminals


2. Jelaskan mengapa sistem terdistribusi diperlukan !

•Butuh berbagi data danresource di antara pemakai

•Mendukung komunikasi person-to-person

•Fleksibilitas : komputer yang berbeda dengan kemampuan yang berbeda dapat di share antar user


3. Apa tujuan name service pada sistem terdistribusi ?

Tujuan Penamaan

1. Identifikasi

Seorang pemakai menginginkan obyek/layanan A, bukan obyek/layanan B.

2. Memungkinkan terjadinya sharing

Lebih dari satu pemakai dapat mengindentifikasikan resource dengan nama yang sesuai (tidak harus nama yang sama).

3. Memungkinkan location independence:

Perubahan lokasi tidak menuntut perubahan nama, asalkan lokasi tidak menjadi bagian dari nama resource tsb.

4. Memberikan kemampuan keamanan (security)

Jika sebuah nama dipilih secara acak dari himpunan besar interger, maka nama tsb hanya bisa diketahui dari legitimate source, bukan dari menebak. Jadi jika seseorang mengetahui nama obyek tsb, maka dia memang diberitahu, karena sulit sekali menebak nama tsb.

4. Apakah keuntungan dan kelemahan dari remote procedure call ?

RPC (Remote Procedure Call)

Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Pendekatan yang dilakuan adalah sebuah server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bilaclient tidak tahu harus menghubungi port yang mana, client bisa me- requestkepada sebuah matchmaker pada sebuah RPC port yang tetap. Matchmakerakan memberikan port apa yang digunakan oleh prosedur yang diminta client.

RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote procedure. RPC menggunakan socketuntuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter- install kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.

Implementasi RPC

Sun Microsystems Open Network Computing (ONC) : RPC specification, XDR (eXternal Data Representation) standard, UDP atau TCP transport protocol.

Xerox Courier : RPC model, Data representation standard, XNS (Xerox Network Systems) SPP (Sequenced Packet Protocol) sebagai transport protocol, Apollo’s Network Computing Architecture (NCA), RPC protocol, NDR (Network Data Representation).

Kelebihan RPC

· Relatif mudah digunakan

Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti soket, marshalling & unmarshalling.

· Robust (Sempurna)

Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical application yg memerlukan scalability, fault tolerance, & reliability.

Kekurangan RPC

· Tidak fleksibel terhadap perubahan

- Static relationship between client & server at run-time.

- Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.

· Kurangnya location transparency

- Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by reference.

- Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).

- Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg terpisah.


5. Berikan tiga contoh jenis sistem operasi terdistribusi !

Beberapa contoh dari sistem operasi terdistribusi ini diantaranya :

• Amoeba (Vrije Universiteit)

Amoeba adalah sistem berbasis mikro-kernel yang tangguh yang menjadikan banyak workstation personal menjadi satu sistem terdistribusi secara transparan. Sistem ini sudah banyak digunakan di kalangan akademik, industri, dan pemerintah selama sekitar 5 tahun.

• Angel (City University of London)

Angel didesain sebagai sistem operasi terdistribusi yang pararel, walaupun sekarang ditargetkan untuk PC dengan jaringan berkecepatan tinggi. Model komputasi ini memiliki manfaal ganda, yaitu memiliki biaya awal yang cukup murah dan juga biaya incremental yang rendah. Dengan memproses titik-titik di jaringan sebagai mesin single yang bersifat shared memory, menggunakan teknik distributed virtual shared memory (DVSM), sistem ini ditujukan baik bagi yang ingin meningkatkan performa dan menyediakan sistem yang portabel dan memiliki kegunaan yang tinggi pada setiap platform aplikasi.

• Chorus (Sun Microsystems)

CHORUS merupakan keluarga dari sistem operasi berbasis mikro-kernel untuk mengatasi kebutuhan komputasi terdistribusi tingkat tinggi di dalam bidang telekomunikasi, internetworking, sistem tambahan, realtime, sistem UNIX, supercomputing, dan kegunaan yang tinggi. Multiserver CHORUS/MiX merupakan implementasi dari UNIX yang memberi kebebasan untuk secara dinamis mengintegrasikan bagian-bagian dari fungsi standar di UNIX dan juga service dan aplikasi-aplikasi di dalamnya.

• GLUnix (University of California, Berkeley)

Sampai saat ini, workstation dengan modem tidak memberikan hasil yang baik untuk membuat eksekusi suatu sistem operasi terdistribusi dalam lingkungan yang shared dengan aplikasi yang berurutan. Hasil dari penelitian ini adalah untuk menempatkan resource untuk performa yang lebih baik baik untuk aplikasi pararel maupun yang seri/berurutan. Untuk merealisasikan hal ini, maka sistem operasi harus menjadwalkan pencabangan dari program pararel, mengidentifikasi idle resource di jaringan, mengijinkan migrasi proses untuk mendukung keseimbangan loading, dan menghasilkan tumpuan untuk antar proses komunikasi.

• GUIDE

Guide (Grenoble Universities Integrated Distributed Environment) adalah sistem operasi terdistribusi yang berorientasi obyek untuk pempangunan dan operasi dari aplikasi terdistribusi pada PC atau server dengan jaringan yang tersambung LAN.
Guide adalah hasil penggabungan Bull and the IMAG Research Institute (Universities of Grenoble), yang telah membangun Bull-IMAG joint Research Laboratory. Ini juga memiliki kaitan erat dengan COMANDOS Esprit Project (Construction and Management of Distributed Open Systems) dan BROADCAST Esprit Basic Research project.

• Hurricane

Sistem operasi Hurricane memiliki hierarki sebagai sistem operasi dengan cluster yang merupakan implementasi dari Hector multiprocessor. Peng-cluster-an mengatur resource pada sistem, menggunakan pasangan yang ketat antara cluster, dan kehilangan pasangan pada cluster. Prinsip sistem terdistribusi diaplikasikan dengan mendistribusikan dan mereplika servis pada sistem dan objek data untuk meningkatkan kelokalan, meningkatkan konkurensi, dan untuk mencegah sistem terpusat, sehingga membuat sistem berimbang.

• Mach (Carnegie Mellon University)

Mach adalah satu dari beberapa komunitas penelitian tentang sistem operasi. Sistem ini aslinya dimulai di CMU, dan Mach menjadi basis dari banyak sistem penelitian.
Walaupun pekerjaan dengan Mach di CMU sudah lama tidak diterapkan, tetapi masih banyak kelompok-kelompok lain yang masih menggunakan Mach sebagai basis pada penelitiannya.

• Mach at OSF (OSF Research Institute)

OSF Research Institute masih menggunakan teknologi yang dimulai dari CMU dan
menggunakan ini sebagai basis dari banyak penelitian, termasuk sistem operasi untuk mesin pararel , kernel berorientasi objek yang aman, dan penelitian-penelitian tentang sistem operasi yang lain.

• Maruti (University of Maryland) Group Members

Maruti adalah sistem operasi berbasis waktu, yang merupakan proyek di University of Maryland. Dengan Maruti 3.0, kita memasuki fase baru pada proyek ini. Menurut mereka, mereka memiliki sistem operasi yang lebih nyaman untuk kalangan yang lebih luas.

• Masix (Blaise Pascal Institute MASI Laboratory)

Masix adalah sistem operasi terdistribusi yang berbasis pada mikro kernel dari Mach, yang saat ini di bawah pengembangan dari MASI Laboratory. Tujuan utama dari sistem ini adalah untuk secara simultan mengeksekusi banyak data aplikasi personal, yang berjalan baik baik di semua platform, baik Unix, DOS, OS/2 dan Win32.

• MOSIX (Hebrew University, Jerusalem, Israel)

Sebuah solusi untuk masalah saat ini menjadi ada untuk lingkungan multikomputer, yang disebut MOSIX. Mosix adalah pengembangan dari UNIX, yang mengijinkan user untuk menggunakan resource yang ada tanpa ada perubahan pada level aplikasi. Dengan penggunaan yang transparan, algoritma proses migrasi dinamis, MOSIX melayani servis jaringan, seperti NFS, TCP/IP, dari UNIX, untuk level proses, dengan menggunakan penyeimbangan load dan distribusi dinamis pada cluster-cluster yang homogen.

• Plan 9 (Bell Labs Computing Science Research Center)

Plan 9 adalah sistem operasi baru yang dibangun di Bell Labs. Ini adalah sebuah sistem yang terdistribusi. Pada kebanyakan konfigurasi, ini menggunakan tiga macam komponen : terminal yang ada pada meja pengguna, server file yang menyimpan data permanen, dan server CPU yang melayani CPU lainnya lebih cepat, authentikasi user, dan network gateways. Salah satu kesemuan yang menarik dari Plan 9 adakah pengiriman file yang esensial pada semua servis system.

• Puma and relatives (Sandia National Laboratory)

Sistem operasi Puma menargetkan aplikasi dengan performa tinggi yang dipasangkan dengan arsitektur memory terdistribusi. Ini adalah turunan dari SUNMOS.

Sistem Operasi Tedistribusi Lainnya

Selain sistem operasi-sistem operasi di atas, masih banyak lagi sistem operasi terdistribusi yang dibangun, baik secara opensource maupun yang ‘closed source’.
Sistem-sistem itu diantaranya adalah

• Alpha Kernel (Carnegie Mellon University)
• QNX
• Spring Real-Time Project (University of Massachsetts, Amherst)
• Spring System (Sun)
• Sprite (University of California, Berkeley)
• Sting
• Sumo (Lancaster University)
• Tao Operating System (Tao Systems)
• Tigger (Trinity College Dublin)
• TUNES

Dalam sistem operasi terdistribusi terjadi proses yang lebih rumit dari sistem yang biasa, tetapi dapat menghasilkan suatu sistem dengan performa dan kemampuan yang lebih. Dari uraian di atas telah banyak disinggung keunggulan-keunggulan dari sistem operasi terdistribusi. Tetapi di samping keunggulan-keunggulan yang ada sistem ini juga memiliki kelemahan yang banyak, diantaranya adalah perawatan tiap cluster yang sangat sulit, selain itu juga boros daya, karena harus menghidupkan banyak CPU, membutuhkan jaringan berkecepatan tinggi.


6. Apakah keuntungan dan kerugian dari Manajemen Database Terdistribusi?

Keuntungan dari DDBS

- Otonomi local : karena data didistribusikan, user dapat mengakses dan bekerja dengan data tersebut sehingga memiliki kontrol local.

- Meningkatkan kinerja : karena setiap site menangani hanya bagian dari DB, CPU dan I/ O tidak seberat seperti DB pusat. Data yang dipakai untuk transaksi disimpan dalam beberapa site, sehingga eksekusi transaksi dapat secara parallel.

- Meningkatkan reliability/ availability : jika satu site mengalami crash, dapat membuat beberapa site tidak dapat diakses. Jika data direplikasi ke banyak site, kerusakan hubungan komunikasi tidak menjadikan sistem total tidak dapat dioperasikan.

- Ekonomis : dari biaya komunikasi, baik membagi aplikasi dan memproses secara local di setiap site. Dari biaya komunikasi data, akan lebih murah untuk memelihara sistem komputer dalam satu site dan menyimpan data secara local.

- Expandibility : akan lebih mudah mengakomodasikan ukuran DB yang semakin besar. Ekspansi dapat dilakukan dengan menambah proses dan kekuatan penyimpanan ke jaringan.

- Shareability : jika sistem informasi tidak terdistribusi, akan sulit untuk berbagi data dan sumber daya. Sistem DB terdistribusi memungkinkan hal ini.

Kerugian dari DDBS

- Kurangnya pengalaman : sistem DB terdistribusi bertujuan umum (generalpurpose) tidak sering digunakan. Yang digunakan adalah sistem prototype yang dibuat untuk satu aplikasi (misal : reservasi pesawat)

- Kompleksitas : masalah DDBS lebih kompleks dibandingkan dengan manajemen database terpusat

- Biaya : sistem terdistribusi membutuhkan tambahan hardware (untuk mekanisme komunikasi) sehingga biaya hardware meningkat. Yang terpenting pada biaya ini adalah replikasi. Jika fasilitas komputer dibuat di banyak site, akan memerlukan orang2 yang memelihara fasilitas tersebut

- Kontrol distribusi : sebelumnya menjadi keuntungan. Tetapi karena distribusi menyebabkan masalah sinkronisasi dan koordinasi, kontrol terdistribusi menjadi kerugian atau kekurangan di masalah ini.

- Keamanan : akan mudah mengontrol database yang terpusat. Dalam sistem database terdistribusi, jaringan membutuhkan keamanan tersendiri.

- Perubahan yang sulit : tidak ada tool atau metodologi untuk membantu user mengubah database terpusat ke database terdistribusi.


7. Apakah keuntungan dan kerugian replikasi file pada sistem terdistribusi?

Keuntungan dan kerugian dari replikasi

- Availability : jika satu site yang berisi relasi r gagal, relasi r masih didapat di site yang lain. Sistem dapat melanjutkan proses meskipun satu site mengalami kegagalan.

- Meningkatkan parallel : beberapa site dapat memproses query terhadap r secara parallel. Semakin banyak ada replikasi, semakin besar kesempatan data yang dibutuhkan ditemukan pada site dimana transaksi dijalankan. Replikasi data meminimalkan pergerakan data di antara site.

- Meningkatkan overhead update : sistem harus memastikan bahwa semua replikasi dari relasi r konsisten. Karena kalau tidak, akan terjadi kesalahan komputasi. Di mana pun r di-update, update ini harus disebar ke seluruh site. replikasi meningkatkan kinerja operasi baca dan meningkatkan availability pembacaan data. Transaksi update meningkatkan overhead. Masalah pengontrolan konkurensi update data yang direplikasi semakin kompleks dari pendekatan terpusat. Cara sederhana adalah membuat salinan utama dari r. Misal : di sistem perbankan, rekening dapat dihubungkan dengan site dimana rekening tersebut dibuka.



Tidak ada komentar:

Posting Komentar