Pembahasan Mengenai Sistem Terdistribusi

Sistem Terdistribusi memiliki dua karakteristik yaitu

  1. Penomoran sendiri, autonomous dan komunikasi CPU.
  2. Sistem melihat user seperti single komputer.

 

Poin pertama memiliki arti komputer bisa saling terhubung oleh jaringan. Komputasi umum terdiri dari kumpulan komputer pribadi yang memiliki akses ke file server. Dalam sistem terdistribusi akan menempatkan setiap proses dengan mempertimbangkan beban CPU, ketersediaan memori, lokasi file yang dibutuhkan, bandwidth jaringan, pola komunikasi, dan faktor lainnya.

Salah satu cara yang mungkin untuk membangun sistem terdistribusi akan merakit komputer pada ruang mesin. Setiap papan akan berisi CPU, memori, antarmuka jaringan. Seorang pengguna pada X-terminal dapat memberi perintah, yang kemudian dieksekusi oleh prosesor. Pekerjaan ini hanya membutuhkan satu CPU. Sedangkan pekerjaan lain seperti program catur, mungkin akan memerlukan ratusan CPU yang bekerja secara pararel. Analogi sebuah sistem terdistribusi adalah sistem telepon di seluruh dunia. Sistem telepon terdiri dari ribuan switch, panggilan dialihkan melalui serat optik, sinyal microwave, kabel koaksial dan beberapa kombinasi alat lainnya.

 

Struktur Sistem

Microkernel adalah sistem operasi yang relatif kecil dengan fungsi terbatas. Sebuah microkernel dimaksudkan untuk memungkinkan programmer bisa membangun berbagai sistem operasi. Perbandingan antara sistem berbasis mikrokernel dan sistem monolithic kernel adalah:

1

Gambar 1 a. monolithic kernel. b. microkernel

Microkernel menerapkan prioritas proses pada penjadwalan. Microkernels biasanya melakukan fungsi-fungsi berikut:

  1. komunikasi interprocess;
  2. proses manajemen tingkat rendah;
  3. manajemen memori tingkat rendah;
  4. input output

Pada level tingkat rendah, komunikasi interproses harus berdasarkan message passing. Mikrokernel harus menyediakan beberapa primitif untuk mengirim dan menerima pesan. Sistem terdistribusi membutuhkan proses sebagai alat abstraksi. Mengatur semua proses untuk mikrokernel. I/O dilakukan di mikrokernel sebagai artefak arsitektur. Mesin RISC memiliki instruksi lebih sedikit daripada mesin CISC. Prinsip desain RISC adalah jika instruksi tidak penting maka akan ditinggalkan. Mikrokernel dapat dianggap sebagai sistem operasi RISC.

Mesin RISC memiliki kelebihan dibandingkan mesin CISC yaitu lebih sederhana, modularitas dan lebih fleksibel. Pertama, lebih sederhana untuk merancang sistem, mudah untuk menerapkan debug. Membuat kernel yang lebih sederhana dapat dipastikan kernel tersebut lebih dapat diandalkan. Kedua, mikrokernel menyebabkan sistem lebih modular. Menghapus sistem file dari kernel tidak akan membuat sistem down. Ketiga, mikrokernel lebih fleksibel. Mach Kernel dapat menjalankan UNIX dan MS-DOS secara bersamaan. Mikrokernel juga memungkinkan pengguna dengan kebutuhan khusus seperti desainer database untuk merancang dan mengimplementasikan file sistem mereka sendiri.

2

Gambar 2 Paradigma client-server

 

Dalam model ini, layanan sistem yang disediakan oleh proses server, setiap proses biasanya menawarkan satu layanan tertentu. Contohnya adalah file server, server diektori, print server, mail server, database server. Program aplikasi dijalankan sebagai klien. Untuk mendapatkan layanan, client mengirimkan pesan ke server, kemudian server mengirim pesan balasan. Dengan memiliki server yang bekerja diluar kernel, maka dapat sangat modular dengan masing-masing server menyediakan satu layanan. Desai ini juga memungkinkan untuk memiliki beberapa file server (misalnya, UNIX dan MS-DOS) yang berjalan secara bersamaan dan menawarkan layanan berbeda untuk klien yang berbeda.

 

UNIX harus dijalankan sebagai aplikasi. Ada sistem terdistribusi yang telah mencoba dua pendekatan berbeda. Dalam jangka pendek, kompatibilitas biner seringkali diperlukan untuk menjalankan perangkat lunak dengan source code yang tidak disediakan. Salah satu cara untuk menyediakan kompatibilitas biner adalah memetakan emulasi ke bagian atas ruang alamat dari semua proses UNIX. Ketika proses membuat system call, mikrokernel menangkap panggilan dan mencerminkan kembali di dalam library emulasi. Kemudian library memanggil server UNIX untuk melakukan pekerjaan seperti pada gambar 3.

3

Gambar 3 Kompatibilitas biner dengn UNIX

Pendekatan lain menyediakan library panggilan sistem UNIX (OPEN, READ, dll) dan mengkompilasi ulang program untuk menggunakan library yang baru. Library dapat memanfaatkan layanan apapun yang diperlukan dan tidak memiliki overhead yang terjebak di kernel. Dalam jangka panjang, itu adalah pendekatan yang paling efisien untuk menghindari perangkap emulasi. Banyak optimasi yang dapat diterapkan disini, seperti mencoba untuk meminimalkan jumlah panggilan ke UNIX server.

 

Komunikasi

4

Gambar 4 (a)-(b) Ordered Broadcast, (c) Interleaved Broadcast

 

Untuk aplikasi tertentu, komunikasi umumnya tidak dari klien ke server, sehingga RPC tidak tepat. Lebih sering, komunikasi adalah dari satu proses ke banyak proses. Meskipun dimungkinkan untuk mensimulasikan satu ini banyak (Yaitu., Broadcast atau multicast) komunikasi dengan RPC diulang, melakukannya tidak efisien. Selanjutnya, jika dua atau lebih proses yang terlibat dalam satu-ke-banyak komunikasi pada saat yang sama, pesan mungkin interleaved, yang mengarah ke kondisi ras dan kesalahan.

Menggunakan ordered broadcasting ini, memungkin untuk memperbarui variabel dalam semua proses secara bersamaan, tanpa harus khawatir tentang konsekuensi dari kehilangan pesan, pesan interleaved dan masalah lainnya. Mekanisme ini dapat digunakan untuk membangun lebih mudah untuk menggunakan abstraksi, seperti objek data bersama. Tidak memiliki jenis penyiaran membuat pemrograman aplikasi ini jauh lebih sulit.

 

Distributed shared memory     

Beberapa sistem CPU datang dalam dua bentuk: multiprocessors (Yang telah berbagi memori), dan multicomputers (Yang tidak berbagi). Membangun multiprocessors besar

adalah menyulitkan karena kebutuhan untuk menjaga memori yang koheren lebih dari ribuan prosesor yang berpotensi. Di sisi lain, sistem ini langsung ke program. Proses dapat langsung berbagi variabel dan dapat menyinkronkan menggunakan Semaphore, monitor, dan teknik baik lainnya.

Multicomputers, sebaliknya, mudah untuk dibangun selama masing-masing memori CPU terhubung independen satu sama lain. Mereka lebih sulit dalam Program, bagaimanapun, terutama untuk aplikasi paralel. Dalam beberapa tahun terakhir, bentuk hibrida telah dikembangkan yang mensimulasikan memori bersama pada multicomputers. Teknik ini disebut disfributed memori bersama dan mengarah ke pengamatan berikutnya.

Distributed shared memory terdiri dari dua jenis :

  • page-based
  • object-based

page-based beroperasi sebagai sistem paging melewati batas mesin. Semua mesin berbagi ruang alamat virtual umum, dengan halaman sendiri menyebar ke mesin seperlunya. Ketika kesalahan halaman terjadi, halaman yang dibutuhkan diambil dari mesin yang saat ini memegang kendali. Halaman Read-only dapat direplikasi, tapi halaman read-write harus terpetakan dari host saat ini, karena mereka mungkin tidak hadir dalam dua mesin pada saat yang sama.

Object-based, berbagi memori berdasarkan objek perangkat lunak. Operasi yang ada didefinisikan dalam sebuah objek, dan ketika sebuah operasi dieksekusi dalam sebuah objek, perangkat lunak yang akan mengatur objek keluar masuknya objek jika dibutuhkan.

 

Internetwork Protocol

 

Kebanyakan protokol jaringan modern memberikan dukungan untuk aplikasi seperti transfer file. Aplikasi terdistibusi memiliki kebutuhan dalam menghadapi kegagalan processor. Dibandingkan menggunakan protokol adhoc, telah dirancang sebuah protokol baru disebut  Fast Local Internet Protocol (FLIP). FLIP adalah protokol unreliable message  yang Menyediakan baik komunikasi point-to-point dan komunikasi multicast. Telah dibangun prototipe sebagai kernel baru untuk amoeba dan didistribusikan sistem operasi. Pada sistem terdistribusi memiliki persyaratan khusus seperti mencapai transparansi, khusus panggilan prosedur jauh (RPC) dan bahkan dalam menghadapi crashprocessor, communication group, keamanan, manajemen jaringan, dan jaringan wide-area. Sistem terdistribusi sering menggunakan internetwork lokal kompleks komunikasi.

5

Layers dalam TCP/IP, OSI, dan FLIP

Sebuah internetwok protokol untuk mendukung sistem terdistribusi, transfer file dan remot login adalah dua aplikasi dasar bahwa mekanisme komunikasi dalam SO  harus mendukung.  seperti transfer file hanya salah satu dari banyak aplikasi yang bergantung pada mekanisme komunikasi yang disediakan oleh sistem operasi. Ada beberapa persyaratan sebagaimana persyaratan uji sistem terdistribusi, yaitu :

  • Transparansi

Tujuan penting untuk sistem terdistribusi seperti amoeba, chorus, clouds, sprite, dan V.  sistem terdistribusi yang dibangun dari sejumlah besar prosesor dihubungkan oleh LAN, bus, dan media komunikasi lainnya. Tanpa memperdulikan di mana proses berjalan, itu harus dapat berkomunikasi dengan proses lain dalam sistem menggunakan mekanisme tunggal yang independen dari mana proses berada. Sistem komunikasi harus mampu mencari rute pesan yang terbaik dari satu proses ke proses lainnya. Sebagai contoh yaitu, jika dua proses dapat mencapai satu sama lain melalui LAN dan kecepatan tinggi bus, sistem komunikasi harus menggunakan bus. Karena kebanyakan protokol komunikasi tidak memberikan transparansi yang dibutuhkan oleh aplikasi yang ada pada sistem distribusi.

  • Remote Procedure call

Biasanya terstruktur clien-server. Proses pengguna disebut klien, dan permintaan proses disebut server. Unutk melakukan beberapa komunikasi dengan mengirim pesan dari server kemudian memblokir sampai server mengirim kembali balasannya, mekanisme tersebut disebut RPC atau komunikasi jarak jauh.

  • Group Communication

Group communication memungkinkan pesan yang handal untuk mengirim pesan dari 1 pengirim ke penerima. aplikasi dapat mereplikasi data untuk toleransi kesalahan. Aplikasi ini dapat keuntungan dari tion Aplikasi ini dapat keuntungan dari setiap kelompok komunikasi untuk menjaga data direplikasi. dalam membangun efisien didistribusikan memori bersama. banyak jaringan menyediakan mekanisme untuk melakukan broadcast atau multicast pada lapisan data-link. Misalnya, Ethernet dan beberapa cincin tanda, dua LAN yang umum digunakan, baik memberikan siaran dan multicast. jaringan masa depan, seperti Gigabit LAN, juga cenderung menerapkan multicasting atau penyiaran untuk mendukung aplikasi kinerja tinggi seperti multimedia.

  • Keamanan

Meskipun keamanan tidak dapat disediakan oleh protokol komunikasi saja, protokol dapat menyediakan mekanisme untuk membangun aman, namun efisien untuk sistem terdistribusi.

  • Manajemen Jaringan

Di lingkungan dengan banyak prosesor dan jaringan, sering terjadi bahwa prosesor harus diturunkan untuk pemeliharaan atau jaringan harus ulang. Dengan perangkat lunak saat ini, konfigurasi ulang jaringan biasanya memerlukan intervensi manual oleh administrator sistem untuk menetapkan nomor jaringan baru dan untuk memperbarui file konfigurasi.

  • Wide-Area Jaringan

Kebanyakan proses dalam sistem terdistribusi berkomunikasi dengan layanan yang terletak di dekatnya. Misalnya, untuk membaca file, pengguna biasanya melakukan RPC dengan file server local.

 

FLIP adalah protokol connectionless yang dirancang untuk mendukung transparansi, RPC efisien, komunikasi kelompok, komunikasi yang aman, dan manajemen network mudah. Layanan terjadi antara layanan network acces points (NSAPS), node pada internet dapat memiliki lebih dari satu NSAP, biasanya satu atau lebih untuk setiap entitas seperti proses FLIP memastikan bahwa ini transparan pada penggunanya. Seperti protokol lainnya, jika pesan terlalu besar untuk jaringan tertenti, hal itu akan terpecah menjadi potongan yang lebih kecil yang disebut fragmen yang biasanya cocok pada paket jaringan tunggal. Hal yang berbeda yaitu reassembly atau secara teoritis mungkin tetapi menerima entitas harus mampu menangani pesan fragmentasi. NSAPS dibagi menjadi 256 ruang alamat 56-bit, yang membutuhkan 64 bit dalam semua. Alamat nol dicadangkan sebagai alamat broadcast.

Pada prinsipnya, antarmuka antara tuan rumah dan kotak FLIP bisa independen dari protokol FLIP, . Antarmuka terdiri dari tujuh downcalls dan dua panggilan (untuk lalu lintas masuk). Alamat yang ditentukan, Swasta-Alamat, bukan (publik) alamat yang digunakan oleh entitas lain sebagai tujuan dari pesan FLIP. Namun, alamat publik dan swasta terkait menggunakan fungsi berikut pada orde rendah 56 bit:

Public-Alamat = One-Way-Encryption (Private-Alamat).

Fungsi One-Way-Encryption menghasilkan Public-Alamat dari Swasta-Alamat sedemikian rupa bahwa seseorang tidak dapat menyimpulkan Swasta-Alamat dari Public-Alamat. Entitas yang mengetahui (publik) alamat dari NSAP

(Karena mereka telah berkomunikasi dengan itu) tidak dapat menerima pesan tentang alamat tersebut, karena mereka tidak tahu alamat pribadi yang sesuai. Karena fungsi khusus dari alamat null, properti berikut diperlukan:

One-Way-Encryption (Alamat) = O jika dan hanya jika Alamat = O.

Fungsi One-Way-Encryption saat ini didefinisikan menggunakan DES [21]. Jika 56 bit yang lebih rendah dari pribadi-Alamat null, Public-Alamat didefinisikan sebagai nol juga. Alamat null digunakan untuk penyiaran, dan tidak perlu dienkripsi. Jika tidak, 56 bit yang lebih rendah dari pribadi-Alamat digunakan sebagai kunci DES untuk crypt 64-bit nol blok. Jika hasilnya kebetulan null, hasilnya lagi dienkripsi, efektif menukar hasil null address terenkripsi dengan alamat terenkripsi yang menghasilkan alamat null. Sisa 8 bit dari Swasta-Alamat, digabungkan dengan 56 bit yang lebih rendah dari hasil, membentuk Public-Alamat. Sandal _register mengenkripsi Private-Alamat dan menyimpan yang sesuai Public-Alamat dalam tabel routing packet switch.

6

Antarmuka antara host dan packet switch. Deskripsi fragmen berisi data, tujuan dan sumber, identifier pesan, offset, panjang fragmen, panjang total, dan flag dari sebuah fragmen yang diterima.

Sebuah kotak FLIP mengimplementasikan pesan komunikasi tidak dapat diandalkan antara NSAPS dengan bertukar fragmen FLIP dan dengan memperbarui tabel routing ketika fragmen tiba. Fragmen FLIP terdiri dari dua bagian : header dan data.

7

Bagian tetap dari header berisi informasi umum tentang fragmen. The Hop Count mengandung bobot jalur. Hal ini bertambah pada setiap kotak FLIP dengan berat jaringan dimana fragmen akan dialihkan. Jika Hop Count sebenarnya melebihi Hitungan Maximum Hop, fragmen akan dibuang. The Reserved (Res.) Bidang dicadangkan untuk penggunaan masa depan. The Flags lapangan berisi informasi administrasi tentang fragmen. Bit O, 1, dan 2 ditentukan oleh pengirim. Jika bit O diatur dalam Flags, bidang bilangan bulat (jumlah hop, panjang, Pesan Identifier, Offset) dikodekan dalam big endian (byte paling signifikan pertama), jika tidak di little endian.  FLIP efisien dapat mengirim pesan melalui jaringan dipercaya, karena ia tahu bahwa enkripsi pesan tidak diperlukan. Null Destination Address adalah alamat broadcast; memetakan ke semua alamat. Bidang Panjang menggambarkan total panjang dalam byte dari fragmen tidak termasuk header FLIP. Pesan Identifier digunakan untuk menyimpan beberapa fragmen pesan bersama-sama, serta untuk mengidentifikasi transmisi ulang jika diperlukan. Total Panjang adalah panjang total dalam bytes dari pesan yang fragmen ini adalah bagian, dengan Offset byte offset dalam pesan

8

Kode 0 berarti Kode lapangan memberikan jenis parameter. Ukuran lapangan memberikan ukuran data dalam parameter ini. Parameter yang bersambung untuk membentuk Bagian Variable lengkap. Total panjang dari Bagian Variabel harus kelipatan dari empat byte.

Fungsi dasar dari protokol FLIP adalah untuk rute yang berarti panjang dari sumber NSAP ke NSAP tujuan. Dalam sebuah internetwork, tujuan mungkin dicapai melalui salah satu dari beberapa rute. routing setiap jaringan yang terhubung ke kotak FLIP dikodekan dalam jaringan dan flag  aman. Setiap kali fragmen membuat hop dari satu kotak FLIP ke kotak FLIP lain Hop Count sebenarnya adalah meningkatnya jaringan lebih dari yang disalurkan (Atau dibuang jika Hop Count sebenarnya yang menjadi lebih besar dibandingkan max Hop Count). Jaringan yannng lebih canggih dapat di dasaekan pada jenis fragmen yang dapat di tinjau dalam bagian variabel header. Pada setiap kotak FLIP pesan yang di arahkan menggunakan informasi yang disimpan dalam table routing. Tabel routing adalah cache petunjuk dalam bentuk : alamat, jaringan, lokasi, hop hitung, keamanan

Jaringan adalah suatu hardware dependent antarmuka yang memiliki alamat yang bisa di hubungi. Lokasi adalah alamat data-link dari hop berikutnya

Hop count adalah suatu berat rute ke sebuah alamat

9

Hal ini memungkinkan tabel routing untuk mengakomodasi perubahan topologi jaringan.  Protokol FLIP memungkinkan tabel routing secara otomatis beradaptasi dengan perubahan dalam topologi jaringan. Pengguna data ditransmisikan dalam unidata atau multidata.

Pesan unidata biasa digunakan untuk komunikasi point-to-point dan diteruskan melalui satu rute ke tujuan. Multidata digunakan untuk komunikasi multicast dan diteruskan melalui rute ke semua tujuan. Pesan NOTHERE akan muncul jika kotak FLIP menerima pesan unidata dengan tujuan yang tidak diketahui.

Contoh topologi jaringan mengandung dua jenis: VME-bus dan Ethernet. Karena VME-bus lebih cepat dari Ethernet

FLIP adalah dasar untuk semua komunikasi dalam sistem terdistribusi Amoeba, syarat FLIP memenuhi setiap persyaratan sistem terdistribusi seperti :

  • Transparansi

Tujuan utama dari Amoeba adalah untuk membangun sebuah sistem operasi terdistribusi transparan.

  • At-Most-Once RPC

RPC lapisan dalam kernel Amoeba menyediakan sebuah antarmuka untuk at-most-once RPC, Salah satu masalah dalam mencapai at-most-once adalah untuk memutuskan apakah permintaan baru telah dieksekusi atau belum.

  • Group Communication

Amoeba menyediakan pengiriman  pesan ke sekelompok proses yang handal. packet switch dapat menggunakan alamat multicast.

  • Keamanan

Keamanan di Amoeba diimplementasikan dengan menggunakan dukungan FLIP untuk keamanan. Meskipun FLIP tidak mengenkripsi pesan itu sendiri, ia menyediakan dua mekanisme untuk mendukung keamanan. Pertama, pesan dapat ditandai sensitif oleh pengirim (menggunakan bit Keamanan). Kedua, pesan melalui FLIP mungkin ditandai tidak aman (Menggunakan bit yang tidak aman), sehingga penerima dapat mengatakan apakah atau tidak ada rute aman untuk pengirim

  • Manajemen Jaringan

manajemen jaringan diperlukan di Amoeba. FLIP dapat menangani panggilan otomatisnya dengan perubahan jaringan: kita menambahkan mesin, jaringan, atau mengkonfigurasi ulang sistem hanya dengan memasukkan atau mencabut kabel.

  • Wide Arean Network (WAN)

Meskipun FLIP telah berhasil digunakan dalam WAN dengan skala kecil tidak dengan skala besar, cukup baik untuk digunakan sebagai protokol komunikasi WAN dalam skala besar.

Ukuran terpenting untuk setiap protokol adalah kinerjanya. Tabel berikut menjelaskan mengenai kinerja setiap amoeba dan RPC yang di uji coba dan penjelasannya :

10

Baris pertama dalam tabel memberikan kinerja RPC menggunakan protokol di Amoeba 4.0. Baris  kedua dalam tabel memberikan kinerja untuk pelaksanaan RPC baru dengan FLIP. Amoeba 4.0 lebih rendah daripada di Amoeba 5.0, karena Amoeba 4.0 RPC diimplementasikan over Ethernet dan mengharuskan semua mesin di domain untuk berada di satu jaringan, sehingga tidak perlu melakukan routing, dan implementasi yang dapat disetel untuk kasus satu antarmuka jaringan.

Dalam sistem terdistribusi seperti Amoeba banyak entitas yang tidak bertahan lama dan mengirim pesan-pesan kecil. Dalam kondisi seperti itu, akan  membuat koneksi membuang-buang waktu dan sumber daya. . Oleh karena itu dibuat FLIP protokol connectionless.

 

Referensi 

[1] M. F. Kaashoek, R. V. Renesse, H. V. Staveren, and A. S. Tanenbaum, “FLIP: An internetwork Protocol for Supporting Distributed Systems,” ACM TransactIons on Computer Systems, Vol 11, No 1, Feb 1993.

[2]  A. S. Tanenbaum, “Distributed Operating System,” Distributed System Engineering, pp. 3-10, 1992.

 

You may also like...

1 Response

  1. harydj says:

    Anggota Kelompok :
    1301144205 – Hariyanto
    1301140135 – Arif Abdurrahman Farisi
    1301140195 – Yisti Yisnika
    1301140355 – Bayu Kusuma

Leave a Reply

Your email address will not be published. Required fields are marked *