Apa Itu Sistem Terdistribusi

Pada tulisan ini bertujuan untuk pengenalan awal sistem terdistribusi yang akan membahas materi lainnya setelah mengenal dasar dari sistem terdistribusi. Sistem distribusi adalah sebuah sistem yang komponennya berada pada jaringan komputer. Komponen tersebut saling berkomunikasi dan melakukan koordinasi hanya dengan pengiriman pesan (message passing). 
Sistem terdistribusi merupakan kebalikan dari Sistem Operasi Prosesor Jamak. Pada sistem tersebut, setiap prosesor memiliki memori lokal tersendiri. Kumpulan prosesornya saling berinteraksi melalui saluran komunikasi seperti LAN dan WAN menggunakan protokol standar seperti TCP/IP. Karena saling berkomunikasi, kumpulan prosesor tersebut mampu saling berbagi beban kerja, data, serta sumber daya lainnya. Sistem terdistribusi dapat dikatakan sebagai suatu keberadaan beberapa komputer yang bersifat transparan dan secara normal, setiap sistem terdistribusi mengandalkan layanan yang disediakan oleh jaringan komputer. 
Dalam penggunaanya sistem terdistribusi sangat diperlukan karena : 
  1. Performance. Sekumpulan prosesor dapat menyediakan kinerja yang lebih tinggi daripada komputer yang terpusat.
  2. DistributionBanyak aplikasi yang terlibat, sehingga lebih baik jika dipisah dalam mesin yang berbeda (contoh: aplikasi perbankan, komersial).
  3. ReliabilityJika terjadi kerusakan pada salah satu mesin, tidak akan mempengaruhi kinerja sistem secara keseluruhan.
  4. Incremental Growth. Mesin baru dapat ditambahkan jika kebutuhan proses meningkat.
  5. Sharing Data/Resource. Resource adalah segala hal yang dapat digunakan bersama dalam jaringan komputer. Meliputi hardware (e.g. disk, printer, scanner), juga software (berkas, basis data, obyek data).
  6. Communication. Menyediakan fasilitas komunikasi antar manusia.
Beberapa contoh dari sistem terdistribusi yaitu :
  1. Internet, merupakan suatu bentuk jaringan global yang menghubungkan komputer dengan satu sama lainnya, yang dapat berkomunikasi dengan media IP sebagai protokol. 
  2. Intranet. Jaringan yang teradministrasi secara lokal dan biasanya proprietary serta terhubung ke internet (melalui firewall). Layanan yang disediakan adalah layanan internal dan eksternal.

  3. Sistem terdistribusi multimedia. Biasanya digunakan pada infrastruktur internet dengan karakteristik sumber data yang heterogen dan memerlukan sinkronisasi secara real time. Media yang dipakai pada sistem ini seperti Video, audio, text Multicast. Contoh: Teleteaching tools (mbone-based, etc.), Video-conferencing dan Video and audio on demand.
  4. Mobile dan sistem komputasi ubiquitous seperti Sistem telepon Cellular (e.g., GSM), Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi bergerak, Komputer laptop, ubiquitous computing, Handheld devices, PDA, etc.
  5. World wide web. Arsitektur client/server terbuka yang diterapkan di atas infrastruktur internet seperti Shared resources (melalui URL). 
  6. Sistem telepon seperti ISDN, PSTN 
  7. Manajemen jaringan seperti Administrasi sesumber jaringan
  8. Network File System (NFS) seperti Arsitektur untuk mengakses sistem file melalui jaringan.
Dalam sistem terdistribusi terdapat beberapa karakteristik yaitu : 
  1. No global clock. Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena asynchronous message passing. Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui global state sistem saat ini (disebabkan oleh concurrency dan message passing).
  2. Independent failure. Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui dimana proses tunggal mungkin tidak peduli pada kegagalan sistem keseluruhan. 
  3. Concurrency of components. Contoh beberapa pemakai browser mengakses suatu halaman web secara bersamaan dan pada saat itu ada operasi update?
Dalam pelaksanaannya sistem terdistribusi memiliki berbagai bentuk (model), yaitu :  
  1. Sistem client - server. Merupakan bagian dari model sistem terdistribusi yang membagi jaringan berdasarkan pemberi dan penerima jasa layanan. Pada sebuah jaringan akan didapatkan : file server, time server, directory server, printer server, dan seterusnya.
  2. Sistem point to point. Merupakan bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi sebagai client maupun server.  
  3. Sistem terkluster. Adalah gabungan dari beberapa sistem individual (komputer) yang dikumpulkan pada suatu lokasi, saling berbagi tempat penyimpanan data (storage), dan saling terhubung dalam jaringan lokal (Local Area Network). Sistem kluster memiliki persamaan dengan sistem paralel dalam hal menggabungkan beberapa CPU untuk meningkatkan kinerja komputasi. Jika salah satu mesin mengalami masalah dalam menjalankan tugas maka mesin lain dapat mengambil alih pelaksanaan tugas itu. Dengan demikian, sistem akan lebih handal dan fault tolerant dalam melakukan komputasi. Dalam hal jaringan, sistem kluster mirip dengan sistem terdistribusi (distributed system). Bedanya, jika jaringan pada sistem terdistribusi melingkupi komputer-komputer yang lokasinya tersebar maka jaringan pada sistem kluster menghubungkan banyak komputer yang dikumpulkan dalam satu tempat.
Masalah dengan sistem terdistribusi yang dapat dimunculkan antara lain berkaitan dengan :
  • Software - bagaimana merancang dan mengatur  software dalam Distribusi Sistem
  • Ketergantungan pada infrastruktur jaringan 
  • Kemudahan akses ke data yang di share, memunculkan masalah keamanan 
Dalam setiap penggunaan suatu sistem, banyak sekali ditemui permasalahan – permasalahan yang muncul, begitu juga dengan sistem terdistribusi.  Selain  permasalahan – permasalahan yang akan dihadapi terdapat tantangan – tantangan dalam sistem terdistribusi. 
Tantangan yang ada  dalam Sistem Terdistribusi yaitu : 
  1. Keheterogenan. Suatu sistem terdistribusi dapat dibangun dari berbagai network, operation system, hardware dan programming language  yang berbeda. IP dapat digunakan untuk mengatasi perbedaan jaringan salah satunya adalah Middleware. 
  2. Keterbukaan. Mendukung extensibility dimana setiap komponen memiliki antarmuka (interface), yang dipublish ke komponen lain. Hal ini perlu integrasi berbagai komponen yang dibuat oleh programmer atau vendor yang berbeda. 
  3. Keamanan. Shared resources dan transmisi informasi rahasia perlu dilengkapi dengan enkripsi. Hal ini bertujuan cegah denial of service
  4. Scalability. Penambahan pemakai membutuhkan penambahan resource yang konstan. Hal ini bertujuan cegah bottleneck dan jika perlu gunakan replikasi.
  5. Penanganan Kegagalan. Setiap proses (komputer atau jaringan) dapat mengalami kegagalan secara independen. Oleh karena itu komponen lain harus tetap berjalan dengan baik. Contoh : failed branch in a distributed banking system.
  6. Concurrency. Beberapa pengguna dengan permintaan bersamaan ke sumber daya bersama. Setiap resource harus aman di lingkungan tersebut di atas.
  7. Transparansi. Transparan: bagi pemakai, keberadaan beberapa komponen tampak sebagai satu sistem saja. 
  • Access transparency : Local and remote resources dapat diakses dengan operasi yang sama.
  • Location transparency : Resource dapat diakses tanpa tahu di mana lokasinya. Bagaimana pendapat Anda mengenai hyperlink & URL?
  • Concurrency transparency : Beberapa proses dapat sama-sama menggunakan suatu resource tanpa saling interferensi. Bagaimana jika beberapa pemakai secara bersamaan akan mengubah suatu berkas?
  • Replication transparency : Pemakai maupun pemrogram aplikasi tidak perlu mengetahui adanya replikasi resource, yang dapat meningkatkan kehandalan dan unjuk kerja.
  • Failure transparency : Pemakai dan pemrogram aplikasi dapat menyelesaikan tugasnya walaupun ada kegagalan hardware atau software.
  • Mobility transparency : Resource dan klien dapat berpindah tanpa mempengaruhi operasi pemakai atau program.
  • Performance transparency : Sistem dapat dikonfigurasi ulang untuk meningkatkan unjuk kerja, sejalan dengan perubahan beban sistem.
  • Scaling transparency : Sistem dan aplikasi mudah bertambah luas tanpa perubahan struktur sistem dan algoritma aplikasi.

0 Comments