Tugas 1 Sistem Terdistribusi Rangkuman Dasar Jaringan dan Dasar Sistem Operasi

PAPER Andrew S Tanenbaum (1993)

 

Sistem operasi terdistribusi. Apa yang sudah kita pelajari selama ini?

 

  1. Apa itu sistem terdistribusi?

Sistem bukanlah sistem yang terdiri dari banyak mainframe yang memungkinkan ratusan terminal ASCII dapat dihubungkan. Sistem terdistribusi memiliki dua ciri yang utama yaitu:

  1. Sistem memiliki CPU yang saling berkomunikasi secara independen dan otomatis.
  2. Sistem terlihat seperti komputer tunggal bagi pengguna.

Maksud dari poin pertama adalah sistem terdiri dari komputer-komputer yang terpisah yang dihubungkan oleh jaringan. Salah satu cara yang memungkinkan untuk membangun sistem terdistribusi adalah dengan merakit beberapa komputer yang disimpan dalam rak pada ruang mesin. Setiap komputer memiliki sebuah CPU, memory tersendiri, interface jaringan, dan sistem operasinya sendiri. Pengguna pada X-Terminal dapat mengetik command yang selanjutnya dieksekusi pada pusat processor. Pekerjaan simpel dapat hanya membutuhkan satu CPU, tetapi pekerjaan lain seperti sebuah program catur dapat membutuhkan ratusan CPU yang bekerja secara paralel. Lokasi dari processors, files, dan lainnya dilakukan secara otomatis oleh sistem operasi.            Untuk memperjelas, sistem terdistribusi dapat dianalogikan sebagai sistem jaringan telepon dunia. Sistem telepon terdiri dari ribuan switch, tetapi tidak ada yang dijadikan sebagai boss. Proses routing panggilan melalui jalur fiber optic, jalur microwave, kabel coaxial, atau beberapa kombinasi jalur dilakukan oleh sistem bukan oleh penggunanya.

 

  1. Struktur Sistem

Observasi 1: sistem operasi terdistribusi harus berbasis mikrokernel

Mikrokernel adalah kernel sistem operasi yang relatif kecil dengan fungsionalitas yang terbatas. Biasa digunakan pada banyak hardware. Tidak seperti sistem operasi konvensional yang mengharuskan secara langsung mendukung program aplikasi, mikrokernel diharuskan untuk memungkinkan programmer sistem menggunakannya sebagai basis untuk membangun bermacam sistem operasi diatasnya. Jasa yang disediakan oleh mikrokernel adalah kebutuhan pembangun sistem operasi, bukan kebutuhan pengguna umum. Perbedaan sistem berbasis mikrokernel dan kernel konvensional ditunjukan pada gambar berikut.

1

Gambar 1. Monolitik kernel sebelah kiri dan mikro kernel sebelah kanan. Bentuk elips menunjukan proses.

 

Mikrokernel pada umumnya melakukan fungsi-fungsi berikut:

  1. Interprocess communication
  2. Low-level process management
  3. Low-level memory management
  4. Input/output

Pekerjaan yang dilakukan pada setiap area dan fungsionalitas tepat yang disediakan berbeda pada setiap sistem, tetapi jelas lebih sedikit pada sistem operasi konvensional.

 

Observasi 2: client-server paradigma

Paradigma yang banyak digunakan dan sukses besar adalah paradigma client-sewer. Dalam model ini, sistem menawarkan satu layanan tertentu. Contohnya file servers, directory servers, print servers, mail servers, database servers, dll. Aplikasi dijalankan sebagai proses client.

 

Observasi 3: UNIX dapat dijalankan dengan sukses sebagai program aplikasi

Jika gagasan bahwa sistem operasi harus berdasark pada microkernel, maka kesimpulan logisnya UNIX harus dijalankan sebgai aplikasi. Pada sistem terdistribusi yang ada telah dilakukan dua pendekatan untuk menjalankan software yang source code nya tidak tersedia.

2 3

3

 

  1. Komunikasi

 

Karena sistem terdistribusi terdiri dari banyak proses komunikasi, kunci utama dalam desain sistem operasinya ialah bagaimana komunikasi dikelola. Disini ada 3 pengamatan:

 

Observasi 4: Remote procedure call merupakan model komunikasi yang baik.

Birrell dan Nelson menunjukan sebuah cara untuk menyembunyikan komunikasi, cara tersebut dikenal dengan istilah RPC (Remote Procedure Call). RPC telah banyak digunakan sebagai dasar komunikasi pada operasi sitem terdistribusi.

Bagusnya skema ini adalah client procedure dan server procedure sma-sama mengetahui bahwa keduanya terlibat dalam komunikasi jarak jauh. Client memanggil local procedure untuk mengirim parameter, kemudian server dipanggil oleh local procedure untuk mendapatkan parameter pada stack. Dengan RPC semua pesan yang lewat akan disembunyikan pada stubs. Mekanisme ini merupakan sebuah kemajuan besar, lebih merujuk pada client-server langsung mengirim dan menerima pesan, cara yang lebih minim kesalahan pemrograman.

4

 

Observasi 5: Globally ordered, reliable broadcasting sangat berguna

Sebuah sistem terdistribusi dapat dibangun dan digunakan di berbagai cara. Konsepnya, sejumlah CPU yang tersedia dimanfaatkan untuk bekerja bersama secara parallel untuk mempercepat aplikasi tunggal. Pada kasus tertentu komunikasi tidak melulu dari klien ke server, sehingga RPC menjadi tidak tepat. Lebih sering, komunikasi dari satu proses ke banyak proses.

Dengan penggunaan broadcasting memungkinkan untuk memperbarui semua variable dalam semua proses secara bersamaan, tanpa perlu mengkhawatirkan konsekuensi pesan hilang, tertinggal atau masalah lainnya.

 

 

Observasi 6: Komunikasi yang transparan sangatlah penting

Ketika sebuah proses menyampaikan pesan kepada proses lain, seharusnya tidak perlu menghiraukan lokasi dari proses-proses tsb. Isu transparansi muncul dalam berbagai konteks. Seperti harus membuat perbedaan antara dua mesin pada LAN yang sama.

 

  1. Distributed Shared Memory

 

          CPU pada umumnya memiliki dua bentuk: multiprocessors dan multicomputers. Membangun multiprocessors uumnya lebih sulit karena perlu membuat processor yang banyak untuk tetap koheren dengan memori. Walaupun begitu sistem ini bersahabat dengan program, proses dapat secara langsung membagikan variable dan melakukan sinkronisasi.

Sebaliknya dengan multicomputers yang lebih mudah untuk dibangun dengan konsep setiap memori pada masing-masing CPU bersifat independen/ bebas dari keterkaitan dengan yang lain. Namun lebih sulit beradaptasi dengan program, erutama untuk aplikasi parallel.

Dalam beberapa tahun terakhir telah banyak dikembangkan bentuk hybrid untuk mensimulasikan mmori bersama (shared memory) pada multicomputers. Teknik tersebut dinakaman Distributed Shared Memory.

 

Observasi 7: Distributed Shared Memory menjadikan pemrograman paralel lebih mudah

Distributed Shared Memory terbagi menjadi 2 variasi:

  1. Berbasis halaman (page-based)

Beroperasi sebagai sistem berbasis halaman tanpa menghiraukan batasan-batasan mesin. Semua mesin berbagi alamat virtual, dengan halaman yang tersebar pada tiap-tiap mesin jika diperlukan. Ketika keslahan pada sebuah halaman terjadi, halaman lain yang dibutuhkan akan diambil.

  1. Berbasis objek (object-based)

Dengan distribusi berbasis objek unit didefinisikan berdasarkan objek. Ketika operasi dijalankan dalam bentuk objek, perangkat lunak yang mengelola objek berjalan dan mendapatkan objek-objek tertentu yang dibutuhkan.

 

  1. Open Issues

 

  1. Machine Ownership

Masalah kepemilikan mesin akan dapat terjadi ketika ekonomi memungkinkan hal itu dapat terjadi. Jika pengguna diinikan untuk menggunakan CPU milik orang lain, maka model komunikasi tidak lagi bisa didasarkan pada memori bersama (shared memory) karena beberapa CPU akan lokal sementara yang lainnya remote.

  1. File caching

Dalam sistem terdistribusi ada berbagai tempat yang dapat melakukan caching. Termasuk memori utama serber, memori utama klien, dan local disc klien. Ada sedikit kontroversi tentang nilai server caching. Masalah akan muncul ketika caching dilakukan di sisi klien. Ketika workstation yang digunakan, setidaknya jelas mana caching yang telah dikakuan di mesin klien. Komplikasi muncul ketika dua klien memiliki file cache yang sama dan keduanya ingin memodifikasinya.

  1. Thread management

Ada beberapa kesepakatan tentang  threads control. Pertanyaan yang muncul adalah berapa banyak yang harus diketahui oleh kernel tentang thread. Pada kasus yang ekstrim, kernel mengelola threads dengan benar, sama seperti proses, di sisi lain kernel sama sekali tidak mengetahi apa-apa tentang threads.

  1. Atomic Transactions

Transaksi atom adalah teknik yang kuat yang digunakan dalam sistem database untuk menjaga konsistensi dalam mengjadapi konkurensi. Berpotensi untuk banyak bidang komputasi terdistribusi. Masalahnya ialah bahwa transaksi atom sangat berat dan mahal, Harus ditinjau terlebih dahulu apakah akan sebanding dan layak dengan harganya.

 

 

 

  1. Kesimpulan

 

Untuk merancang sebuah sistem terdistribusi tidak semudah kelihatannya. Penting untuk menghindari kompleksitas yang mungkin akan terjadi dan menahan godaan untuk menambahkan banyak fitur untuk mempercantik yang sebetulnya tidak begitu diperlukan. Harus memiliki trik-trik khusus untuk membuat sebuah konseptual model sederhana.

Sistem desainer memiliki motto: KISS (Keep It Simple, Stupid) maka kita dapat maju(sukses) lebih cepat.

 

 

 

 

 

PAPER M FRANS KAASHOEK (1993)

 

FLIP : Sebuah Internetwork Protokol untuk Mendukung Sistem Terdistribusi

 

  1. Introduction

Kebanyakan protokol jaringan yang dirancang mendukung aliran bit yang handal antara
pengirim tunggal dan penerima tunggal. Sistem operasi terdistribusi memiliki beberapa persyaratan khusus seperti mencapai transparency, remote procedure call, group communication, security, network management, and wide-area networking. Aplikasi pada sistem operasi terdistribusi sering menggunakan internetwork lokal yang kompleks diantaranya Ethernets, high-speed multiprocessor buses, hyper-cubes, and optical fibers. FLIP (Fast Local Internet Protocol) adalah protokol internet kustom yang digunakan oleh sistem terdistribusi amoeba yang lebih cocok dari pada protokol yang sudah ada. FLIP dirancang untuk mendukung transparansi, komunikasi kelompok, komunikasi yang aman dan manajemen jaringan yang mudah.

5

  1. Distributed System Requirements

Pada bagian ini akan dibahas mengenai persyaratan untuk berkomunikasi dalam
sistem terdistribusi dan garis besar mengenai pendekatan yang dilakukan oleh FLIP. Ada enam persyaratan yaitu transparency, remote procedure call, group communication, security, network management, and wide-area networking.

a. Transparency

Tujuan penting untuk sistem terdistribusi, seperti Amoeba [20, 32], Chorus
[26], Clouds [10], Sprite [22], dan V [7], adalah transparansi. sistem terdistribusi
dibangun dari sejumlah besar prosesor yang dihubungkan oleh LAN, bus, dan media komunikasi lainnya. Tidak peduli di mana proses itu berjalan, yang penting harus dapat berkomunikasi dengan proses lain dalam sistem dengan menggunakan mekanisme tunggal yang independen dimana proses itu berada. Sebagai contoh, jika dua proses dapat mencapai satu sama lain melalui LAN dan bus yang berkecepatan tinggi, sistem komunikasi itu harus menggunakan bus. Kebanyakan protokol komunikasi tidak memberikan transparansi yang dibutuhkan oleh aplikasi yang berjalan pada sistem terdistribusi. Alamat di protokol ini mengidentifikasi host bukan suatu proses. Misalnya, jika proses ini bermigrasi ke prosesor lain, proses harus menginformasikan mitra komunikasinya yang telah pindah. Untuk mengatasi masalah tersebut, sistem terdistribusi mengharuskan alamat mengidentifikasi proses, bukan host.

b. Remote Procedure Call

Dalam model ini, proses pengguna, disebut klien, meminta proses pengguna lain, yang disebut server. Mekanisme komunikasi yang digunakan untuk mengimplementasikan model client server disebut RPC. Banyak orang berpikir bahwa masukan \ keluaran tidak harus menjadi abstraksi pusat bahasa pemrograman modern. Oleh karena itu, sebagian besar pembangun system terdistribusi, desainer bahasa, dan programmer lebih memilih RPC.

c. Group communication

Meskipun RPC adalah abstraksi yang baik untuk permintaan \ balasan dari jenis komunikasi, ada bagian aplikasi yang memerlukan sekelompok proses untuk berinteraksi. komunikasi kelompok memungkinkan pesan yang akan dikirim dapat dipercaya dari 1 pengirim ke n penerima. Sebagai contoh, aplikasi dapat mereplikasi data untuk
mencapai toleransi kesalahan. Aplikasi ini dapat memberikan keuntungan dari komunikasi kelompok untuk menjaga konsisten data yang direplikasi. Banyak jaringan menyediakan mekanisme untuk melakukan broadcast atau multicast pada lapisan data-link.

d. Security

Meskipun keamanan tidak disediakan oleh protokol komunikasi, protokol yang baik dapat menyediakan mekanisme untuk membangun sistem terdistribusi yang aman, namun efisien. Alamat protokol pada saat ini sering dipalsukan, sehingga memungkinkan sebuah proses untuk meniru layanan yang penting. Misalnya, dalam banyak sistem proses pengguna dapat meniru file server setelah tahu alamat dari file server tersebut. Kebanyakan protokol tidak menyediakan dukungan untuk enkripsi data, Pengguna harus memutuskan apakah perlu atau tidak untuk menggunakan enkripsi. Begitu mereka memutuskan untuk melakukannya, mereka harus mengenkripsi setiap pesan, bahkan jika kedua sumber terletak didalam ruang aman yang sama. Sebuah protokol bisa memberikan kinerja yang jauh lebih baik dengan menghindari enkripsi jika mengetahui jaringan tersebut dapat dipercaya, dan dengan menggunakan enkripsi jika jaringan tersebut tidak dipercaya.

e. Network management

Di lingkungan yang terdapat banyak prosesor dan jaringan, sering terjadi bahwa prosesor harus diturunkan untuk pemeliharaan atau jaringan harus dikonfigurasi ulang. Dengan perangkat lunak saat ini, konfigurasi ulang jaringan biasanya membutuhkan intervensi manual oleh administrator sistem untuk menetapkan nomor jaringan baru dan untuk memperbarui file konfigurasi. Idealnya, sebuah protokol memungkinkan bahwa manajemen jaringan dapat dilakukan tanpa intervensi manual.

f. Wide-area networking

Kebanyakan proses dalam sistem terdistribusi berkomunikasi dengan layanan yang terletak di dekatnya. Misalnya, untuk membaca file, pengguna biasanya melakukan RPC dengan file server lokal mereka, bukan dengan file server di domain lain.

 

  1. Flip Service Definition

FLIP adalah protokol connectionless yang dirancang untuk mendukung transparansi, RPC yang efisien, komunikasi kelompok, komunikasi yang aman, dan manajemen jaringan yang mudah. Bagian ini menjelaskan layanan yang diberikan FLIP. Komunikasi terjadi antara Layanan Network Access Points (NSAPS). NSAPS adalah lokasi independen, dan dapat berpindah dari satu node ke yang. Node pada sebuah internetwork dapat memiliki lebih dari satu NSAP, biasanya satu atau lebih untuk setiap entitas. FLIP memastikan bahwa ini bersifat transparan kepada penggunanya. Pesan FLIP yang ditransmisikan ini tidak bisa dipercaya antara NSAPS dan mungkin akan hilang, rusak, atau mengatur kembali. Ukuran maksimum pesan FLIP adalah 23Z – 1 byte. Seperti banyak protokol lainnya, jika pesan terlalu besar untuk jaringan tertentu, itu akan terpecah menjadi potongan yang lebih kecil, yang disebut fragmen.

1

 

Setiap mesin fisik terhubung ke internetwork dengan kotak FLIP. Kotak FLIP dapat menjadi lapisan perangkat lunak dalam sistem operasi dari host, atau dapat dijalankan pada prosesor komunikasi yang terpisah. Sebuah kotak FLIP terdiri dari beberapa modul. Contoh dari kotak FLIP ditunjukkan pada Gambar 2. Packet switch merupakan jantung dari kotak FLIP. Packet switch ini mentransfer fragmen FLIP antara host dan jaringan. Modul antarmuka host menyediakan antarmuka antara kotak FLIP dan host.

 

  1. The Host Interface

Pada prinsipnya, antarmuka antara host dan kotak FLIP bisa berjalan mandiri dalam protokol FLIP, tapi untuk efisiensi dan kesederhanaan, telah dirancang sebuah antarmuka yang didasarkan pada protokol FLIP sendiri. Antarmuka terdiri dari tujuh downcalls (untuk lalu lintas keluar) dan dua upcalls (untuk lalu lintas masuk), ditunjukkan dalam Gambar 3. Entitas mengalokasikan entri dalam antarmuka dengan memanggil flip-init. Sebuah antarmuka dialokasikan dan dihapus dengan memanggil Flip _end. Entitas dapat mendaftarkan lebih dari satu alamat dengan antarmuka. Private-Address, bukan alamat yang digunakan oleh entitas lain sebagai tujuan dari pesan FLIP.

2

  1. The Flip Protokol

Pada bagian ini, kita akan menjelaskan mengenai tata letak FLIP pada sebuah fragmen dan memberitahu bagaimana tabel routing dikelola.

  • The FLIP Fragment Format

Mirip dengan fragmen yang ada pada banyak protokol lain, fragmen FLIP terdiri dari dua bagian: header FLIP dan data. Format umum FLIP sebuah header digambarkan pada Gambar 4. Bagian tetap dari header berisi informasi umum tentang fragmen.

6

Flags field berisi informasi administrasi tentang fragmen (Lihat Gambar 5). Bit O, 1, dan 2 ditentukan oleh pengirim. Jika bit O diatur dalam flags, integer fields (jumlah hop, panjang, Pesan Identifier, Offset) dikodekan dalam big endian (byte paling signifikan pertama), jika tidak di little endian. Jika bit 1 diatur dalam Flags, ada bagian tambahan setelah header. Bagian Variabel ini berisi parameter yang dapat digunakan sebagai petunjuk untuk meningkatkan routing, end-to-end flow control, enkripsi, atau lainnya. Bit 2 menunjukkan bahwa fragmen tidak boleh dialihkan melalui jaringan yang tidak dipercaya. Bit 4 dan 5 ditetapkan oleh kotak FLIP. Bit 4 di set jika fragmen tidak dialihkan melalui jaringan yang tidak dipercaya dan akan dikembalikan karena tidak ada jaringan terpercaya yang tersedia untuk transmisi. Bit 5 diatur jika fragmen dirutekan melalui jaringan yang tidak dipercaya. Menggunakan bit 2, 4, dan 5 di Flags fields, FLIP dapat mengirim pesan melalui jaringan yang dipercaya dengan lebih efisien, karena ia tahu bahwa enkripsi pesan tidak diperlukan.

7

  • FLIP Routing Protocol

Dalam sebuah internetwork, tujuan mungkin dicapai melalui salah satu dari beberapa rute. Beberapa rute-rute ini mungkin lebih diinginkan daripada yang lain. Sebagai contoh, beberapa dari mereka mungkin lebih cepat, atau lebih aman, daripada yang lain. Untuk dapat memilih rute, setiap kotak FLIP memiliki informasi tentang jaringan yang terhubung. Dalam implementasinya, informasi routing setiap jaringan yang terhubung ke kotak FLIP akan dikodekan dalam network weight dan secure flags. Low network weight menunjukan bahwa jaringan tersebut diinginkan untuk meneruskan fragmen. Protokol FLIP memungkinkan tabel routing secara otomatis beradaptasi dengan perubahan dalam topologi jaringan. Protokol ini didasarkan pada enam jenis pesan (lihat Gambar 6). Jika host ingin mengirim pesan ke alamat FLIP yang tidak ada dalam tabel routing, maka host akan mencoba untuk menemukan tujuan dengan menyebarkan pesan LOCATE. Pesan LOCATE disebarkan ke semua kotak FLIP sampai Actual Hop Count menjadi lebih besar dari Maximum Hop Count. Jika kotak FLIP memiliki alamat tujuan dalam tabel routing, ia akan mengirimkan kembali pesan HEREIS dalam merespon LOCATE. Data pengguna ditransmisikan dalam UNIDATA atau dalam pesan MULTIDATA. Pesan UNIDATA digunakan untuk komunikasi point-to-point dan diteruskan melalui satu rute ke tujuan. Pesan MULTIDATA digunakan untuk komunikasi multicast dan diteruskan melalui rute ke semua tujuan. Jika jaringan mendukung fasilitas multicast, FLIP akan mengirim satu pesan untuk semua tujuan yang terletak pada jaringan yang sama. Jika tidak, FLIP akan membuat salinan untuk setiap lokasi di tabel routing dan mengirim pesan point-to-point. Jika kotak FLIP menerima pesan Unidata dengan tujuan yang tidak diketahui, kotak FLIP akan mengubah  pesan ke pesan NOTHERE dan mengirimkannya kembali ke sumber.

3

 

 

6.      Using Flip Under Amoeba

FLIP adalah dasar untuk semua komunikasi dalam sistem terdistribusi Amoeba. Perangkat lunak Amoeba terdiri dari dua bagian: sebuah microkernel, yang berjalan pada setiap prosesor, dan koleksi server yang menyediakan sebagian besar fungsi sistem operasi tradisional. Amoeba kernel menyediakan interface untuk dua protokol komunikasi: RPC dan komunikasi kelompok.

5

Gambar 6‑1The FLIP internetwork di Universitas Vrije

Gambar 6-1 adalah Konfigurasi di Universitas Vrije, processor pools, 180.486 router, dan server khusus menjalankan kernel Amoeba. Workstation dan SPARC  router yang menjalankan baik Amoeba atau versi UNIX mengandung driver FLIP, sehingga proses UNIX dan Amoeba dapat berkomunikasi secara transparan. Semua 70 mesin yang terhubung melalui 3 Ethernets, dan prosesor di Processor pools MC68030 juga terhubung dengan VME-bus.

Transparansi

Tujuan utama dari Amoeba adalah untuk membangun sebuah sistem operasi terdistribusi transparan. Perbedaan penting antara Amoeba dan sistem terdistribusi lainnya adalah Amoeba tidak didasarkan pada model workstation komputasi terdistribusi, tetapi pada model prosesor pools. skema penamaan dua tingkat digunakan pada Amoeba yaitu capabilities dan FLIP addresses.

Setiap objek ini dinamai oleh capabilities. Ketika klien ingin melakukan operasi pada objek, ia akan mengirimkan pesan permintaan ke layanan yang mengelola objek. Layanan ini ditangani oleh port yang merupakan bagian dari capabilities. Capabilities adalah kemampuan yang mengidentifikasi objek.

Dalam kernel, port dipetakan ke satu atau lebih FLIP addresses satu untuk setiap server. Ketika klien ingin melakukan operasi pada objek, ia menyediakan kernel dengan kemampuan objek. Menggunakan FLIP addresses, kernel mengirimkan pesan, mengandalkan kotak FLIP untuk menyampaikan pesan ke lokasi yang tepat. Jika tidak ada pemetaan dari port ke FLIP addresses dalam cache, kernel menggunakan flip-broadcas untuk mencari port. FLIP addresses dari responden menemukan permintaan dan disimpan di cache.

At-Most-Once RPC

RPC lapisan dalam kernel Amoeba menyediakan sebuah antarmuka untuk RPC, sehingga ketika RPC mengembalikan Invoker tahu apakah itu dilaksanakan tepat sekali, atau itu tidak dijalankan sama sekali, atau itu tiba di satu server sebelum kontak hilang karena kesalahan komunikasi atau bentrokan.

Masalah paling sering adalah memutuskan apakah permintaan yang masuk baru telah dieksekusi atau tidak. Dengan FLIP, masalah ini mudah diselesaikan. Setiap kali server dimulai, server memilih alamat FLIP baru. Dengan demikian, semua permintaan yang dikirim ke server akan gagal secara otomatis, karena alamat FLIP lama tidak diketahui.

Komunikasi kelompok

komunikasi kelompok di Amoeba menggunakan flip_multicast. Ini memiliki keuntungan bahwa sekelompok proses n dapat diatasi dengan menggunakan satu FLIP addresses, bahkan jika mereka berada di beberapa jaringan. protokol FLIP melakukan semua routing pesan multicast, dan mengidentifikasi ketika sebuah data-link multicast menmungkinkan mengurangi jumlah pesan.

Keamanan

Keamanan di Amoeba diimplementasikan dengan menggunakan FLIP untuk mendukung keamanan. FLIP tidak mengenkripsi pesan itu sendiri, flip menyediakan dua mekanisme untuk mendukung keamanan.

Pertama, pesan dapat ditandai sensitif oleh pengirim dengan menggunakan bit keamanan, sehingga mereka tidak akan dialihkan melalui jaringan tidak dipercaya.

Kedua, pesan melalui FLIP mungkin ditandai tidak aman demgan menggunakan bit yang tidak aman, sehingga penerima dapat mengatakan apakah atau tidak ada rute aman untuk pengirim.

Manajemen jaringan

FLIP bergantung pada administrator sistem untuk menandai antarmuka jaringan sebagai “dipercaya” atau “tidak dipercaya,” karena FLIP sendiri tidak bisa menentukan apakah jaringan dapat dianggap dipercaya.

Wide-Area Communication

FLIP tidak cukup baik digunakan dalam jaringan WAN dalam skala besar. Dalam sistem Amoeba telah menerapkan komunikasi WAN atas lapisan RPC. Jika klien ingin mengakses layanan di domain lain, bukan pada RPC untuk agen server dalam domainnya. Agen server mengirimkan RPC ke server WAN, yang meneruskan RPC untuk layanan WAN di domain server menggunakan protokol yang sesuai untuk link WAN. Layanan WAN di domain server menciptakan agen klien yang mengeksekusi RPC yang sama, dan itu akan menemukan server.

7.      Kinerja Flip

7

Gambar 7‑1 Performan Kinerja untuk Implementasi RPC

Perbandingan antara Amoeba 4.0 dan Amoreba 5.0 menunjukan keterlambatan Amoeba 4.0 lebih rendah dikarenakan Amoeba 4.0. diimplementasikan over ethernet dengan mengharuskan semua mesib di domain yang  berada dalam satu jaringan tidak perlu melakukan routing.

Sebagai perbandingan, penundaan dari RPC O-byte di SunOS adalah 6.7 milidetik, dan bandwidth untuk 8-Kbyte RPC adalah 325 Kbyte / s. Hal ini disebabkan bahwa SunOS menyalin setiap pesan beberapa kali sebelum diberikan ke driver jaringan, karena pelaksanaannya pada UDP / IP, dan karena biaya yang lebih tinggi untuk konteks switching. Dalam Sprite, penundaan adalah 2,0 msec, dan throughput maksimum adalah 820 Kbyte / s. Meskipun Sprite RPC kernel ke kernel tidak melakukan routing, keterlambatan nol RPC hampir sama dengan delay untuk Amoeba 5.0, sedangkan delay Amoeba diukur interface ke pengguna.

Dibandingkan dengan Peregrine RPC, delay Amoeba untuk RPC O-byte tinggi, dan throughput maksimum Amoeba adalah rendah. Peregrine mencapai pada hardware identik penundaan dari 589 μsec dan bandwidth 1139 Kbyte /s.Peregrine untuk null RPC hanya 289 μsec. Peregrine menggunakan protokol RPC dua pesan, sementara Amoeba menggunakan protokol RPC tiga pesan, meskipun pesan ketiga hanya sebagian di jalur kritis. Peregrine mencapai throughput yang tinggi oleh tumpang tindih menyalin data dari paket dengan transmisi paket berikutnya.

8.      Kesimpulan

Protokol FLIP yang mendukung banyak persyaratan sistem terdistribusi secara terpadu. manajemen FLIP alamat internetwork, komunikasi yang efisien dan aman, dan transparansi lokasi dan migrasi. FLIP digunakan dalam Amoeba 5.0 sistem operasi terdistribusi untuk melaksanakan komunikasi RPC dan kelompok lebih koleksi jaringan yang berbeda. Keuntungan lebih Amoeba 4.0 mencakup skala yang lebih baik, manajemen lebih mudah, dan bandwidth yang lebih tinggi.

 

Leave a Reply

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