PENGOLAHAN DATATERDISTRIBUSI TERDISTRIBUSI PENGANTAR DATA Materi: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Pengenalan Sistem Terdistribusi Komunikasi Proses Sistem Operasi Terdistribusi File dan Name Service Time & Coordination Share Data & Transaction Distributed Database Management Parallel Processing Security dalam Pengolahan Data Terdistribusi 1. "A system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing.“ [Coulouris] 2. "A system that consists of a collection of two or more independent computers which coordinate their processing through the exchange of synchronous or asynchronous message passing." 3. "A distributed system is a collection of independent computers that appear to the users of the system as a single computer." [Tanenbaum] 4. "A distributed system is a collection of autonomous computers linked by a network with software designed to produce an integrated computing facility." Data Terdistribusi PPengolahan DT Definisi • Sebuah sistem terdistribusi (DS) terdiri dari sekumpulan komputer yang mandiri yang terhubung dalam jaringan komputer dan dilengkapi dengan software sistem terdistribusi (Colouris 1994) • Software Sistem Terdistribusi dapat mengkoordinir aktifitas masing-masing komputer dan melakukan pertukaran sumber daya sistem HW, SW dan data • Pengguna sistem terdistribusi dapat merasakan sebuah fasilitas komputer yang terpadu meskipun sebenarnya terdiri dari banyak komputer yang berada di lokasi yang berbeda secara geografis Data Terdistribusi PPengolahan DT Sistem Terdistribusi vs Sistem Paralel • Kelebihan sistem terdistribusi • • • • • • • Pertukaran sumber daya (prosesor) Pertukaran data Struktur geografis Penyederhanaan logik Modular Reliabel Biaya rendah • Kelemahan sistem terdistribusi • Biaya komunikasi membengkak • Pemaduan yang sulit • Pembuatan program yang lebih sulit Data Terdistribusi PPengolahan DT Alasan perlunya sistem terdistribusi • Distribusi fungsi : komputer memiliki kemampuan fungsi yang berbeda-beda • client/server • Host/terminal • Data gathering / data processing • Distribusi beban/keseimbangan : pemberian tugas ke prosesor secukupnya sehingga unjuk kerja seluruh sistem teroptimasi. • Sifat terdistribusi mencegah terjadinya application domain, e.g. • cash register dan sistem persediaan untuk supermarket, • Komputer pendukung collaborative work Data Terdistribusi PPengolahan DT Lanjutan… • Replikasi kekuatan pemrosesan : independent processors bekerja untuk pekerjaan yang sama • Sistem terdistribusi terdiri dari kumpulan mikrokomputer yang memiliki kekuatan pemrosesan yang tidak dapat dicapai oleh superkomputer • 10000 CPU, masing-masing berjalan pada 50 MIPS, mencapai 500000 MIPS, • Maka satu perintah dijalankan dalam waktu 0.002 nsec • Pemisahan fisik : sistem yang menggantungkan pada fakta bahwa komputer secara fisik terpisah (e.g., untuk mencapai kehandalan). • Ekonomis : kumpulan mikroprosesor menawarkan harga/unjuk kerja yang lebih baik dari pada mainframe Data Terdistribusi PPengolahan DT Mengapa Sistem Terdistribusi ? • Butuh berbagi data dan resource di antara pemakai • Mendukung komunikasi person-to-person • Fleksibilitas : komputer yang berbeda dengan kemampuan yang berbeda dapat di share antar user Data Terdistribusi PPengolahan DT Masalah dengan sistem terdistribusi • Software - bagaimana merancang dan mengatur software dalam DS • Ketergantungan pada infrastruktur jaringan (world wide wait....) • Kemudahan akses ke data yang di share, memunculkan masalah keamanan Data Terdistribusi PPengolahan DT Konsekuensi... (Karakteristik Sistem Terdistribusi) • Sistem terdistribusi adalah sistem concurrent (serentak) • Setiap komponen hardware/software bersifat otonom (kita akan menyebut komponen otonom adalah "proses") • Komponen menjalankan tugas bersamaan • Contoh : A dan B adalah concurrent jika A dapat terjadi sebelum B, dan B dapat terjadi sebelum A • Sinkronisasi dan koordinasi dengan message passing • Sharing resources • Masalah umum dalam sistem concurrent • Deadlock • Lifeclock • Komunikasi yang tidak handal Data Terdistribusi PPengolahan DT • Keterbatasan dalam 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) • Independent failure • Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui • Proses tunggal mungkin tidak peduli pada kegalalan sistem keseluruhan Data Terdistribusi PPengolahan DT Tantangan dalam perancangan dan penerapan • Karaketristik sistem terdistribusi • Heterogenitas • Pertukaran sumberdaya • Keterbukaan • Konkurensi / Multi proses • Berubah ukuran • Mampu mengatasi kesalahan • Transparan • Keamanan • Software Sistem dan aplikasinya harus dirancang dengan baik Data Terdistribusi PPengolahan DT Heterogenitas • Bermacam-macam dan unik • Sebuah DS memungkinkan para pengguna untuk mengakses dan menjalankan beberapa aplikasi dengan bermacam-macam komputer dan jaringan • Keragaman ini meliputi : • Jaringan • Komputer (PC-IBM-Aple-Mac ...) • Sistem operasi – Windows2000, Unix/Linux, OS2 • Bahasa pemrograman dan DBMS – Java, C++, Oracle, SQL server • Diterapkan oleh berbagai pengembang sistem • Jaringan • Internet terdiri dari berbagai tipe jaringan yang berbeda, namun perbedaan tersebut tertutup dengan kenyataan bahwa semua komputer dapat berkomunikasi menggunakan protokol TCP/IP Data Terdistribusi PPengolahan DT • Hardware • Tipe data mis. integer digambarkan berbeda tergantung dari perangkatnya : • Berdasarkan byte 0 Big endian, Little endian • Ukuran – 16 bit, 23, 64 bit • Perbedaan tersebut harus diselesaikan jika pesan diubah selama program jalan di hardware • Sistem operasi • Unix/Linux/Window 2000 memiliki kode API yang berbeda, untuk saling berhubungan melalui protokol TCP/IP • Bahasa pemrograman dan DBMS • Menggunakan gambaran yang berbeda untuk karakter dan struktur data - array dan record • Perbedaan ini harus di samakan • Diterapkan oleh pengembang yang berlainan • Program ditulis oleh pengembang berbeda yang tidak dapat dikomunikasikan satu dengan yang lain sampai ada standar untuk menyamakan • Standar butuh persetujuan dan diterima Data Terdistribusi PPengolahan DT Pertukaran sumber daya • Berbagai alat dengan karakter yang berbeda dapat di”share” secara penuh dalam DS : • HW : printer, cd-rom, hd • SW : file, database, compiler, aplikasi • Sharing, mengurangi biaya • Sangat penting untuk mendukung kerjasama grup • Setiap perlatan yang terhubung dengan sebuah komputer (mis. Printer) dalam DS harus dikelola dengan sebuah program sehingga dapat di : • Akses • Untuk mencetak, mengubah kwalitas cetak • Diberi alamat sendiri (IP) • Manipulasi dan update • Sikronisasi pada saat akses bersamaan untuk menjaga konsistensi, mis: database Data Terdistribusi PPengolahan DT Keterbukaan • Artinya sistem dapat di ubah dan diterapkan dengan berbagai cara seperti : • Tingkat HW, posisi komputer dalam jaringan • Tingkat SW, pengenalan layanan baru mengganti yang lama • Kunci dari file tersebut telah dipublikasikan sehingga memungkinkan untuk dikembangkan siapapun • Dasar DS yang terbuka adalah adanya mekanisme komunikasi yang seragam(mis. RPC, CORBA) dan antar muka umum untuk akses pertukaran sumber daya • DS yang terbuka dapat dibangun dari berbagai HW dan SW dari vendor yang berbeda. Meskipun demikian berbagai komponen tersebut harus sudah diuji kesesuaiannya sehingga sistem berjalan dengan benar. Data Terdistribusi PPengolahan DT Concurrency • Concurrency dan eksekusi paralel dalam DS untuk : • Memisahkan kegiatan masing-masing user • Kemandirian sumberdaya • Lokasi proses di komputer yang terpisah • Jika ada M komputer (dg CPU) terhubung dalam DS, maka M proses dapat berjalan secara bersamaan • Jika beberapa proses menggunakan sumber daya yang sama, maka perlu sinkronisasi supaya tidak konflik Data Terdistribusi PPengolahan DT Berubah ukuran • DS harus beroperasi secara efektif dan efisien pada berbagai keadaan: • Dua workstation dengan file server • LAN dengan ratusan ws dan banyak file server • Beberapa LAN terhubung membentuk WAN • SW sistem dan aplikasi harus tidak memerlukan perubahan meskipun ukuran sistemnya berubah • Waktu proses yang diperlukan sebuah sumber daya tidak berubah meskipun luas jaringan bertambah • Tidak ada sumber daya tunggal (hw/sw) yang harus selalu ada untuk pengembangan sumber daya lain Data Terdistribusi PPengolahan DT Toleransi kesalahan • Terkadang sistem rusak • Ketika ada hw atau sw yang salah, program akan : • Membetulkan hasil • Berhenti sebelum proses penghitungan selesai • Mendeteksi kesalahan • Beberapa kesalahan dapat dideteksi (sebelumnya) • Mis. cheksum yang dapat digunakan untuk mendeteksi pencurian data dalam sebuah pesan atau file • Menutupi kerusakan • Beberpa kerusakan yang terdeteksi dapat di hidden atau diminimalkan • Pesan dapat dikirim ulang • File dapat ditulis di disk berbeda jika kapasitas tidak mencukupi • Toleransi kesalahan • Kebanyakan layanan di internet melakukan kesalahan yang wajar terjadi pada sistem yang berjalan bersamaan • Klien dapat dirancangkan pemberitahuan kesalahan, ketika sebuah browser tidak menemukan webserver, sehingga user tidak dibiarkan terus menunggu Pengolahan Data Terdistribusi PDT Toleransi kesalahan • Perbaikan dari kesalahan • Ada fasilitas perbaikan atau proses ulang saat sebuah server mengalami kerusakan • Kerangkapan • Fasilitas untuk mentoleransi kerusakan dapat mengakibatkan kerangkapan komponen : • Mungkin karena menggunakan dua saluran yang berbeda diinternet • Dalam DNS, setiap tabel nama selalu ada di dua server berbeda • Sebuah database mungkin duplikasi di server berbeda untuk meyakinkan data yang sebenarnya setelah terjadi kerusakan di suatu server • Ketersediaan • Ketika sebuah komponen rusak dalam DS, hanya pekerjaan yang sedang diproses komponen yang mungkin rusak • Seorang user mungkin berganti komputer setelah mengalami kerusakan • Sebuah proses dapat dijalankan dari komputer berbeda Data Terdistribusi PPengolahan DT Transparansi • Dapat berarti penyembunyian pengguna dan programer aplikasi dari bagian komponen DS, sehingga sistem terlihat sperti lubang kosong dari pada sekumpulan komponen yang berdiri sendiri • Beberapa contoh transparansi : • Akses : dapat mengakses informasi lokal atau jarak jauh menggunakan operasi identifikasi • Lokasi : informasi dapat diakses tanpa mengetahui lokasinya • Cocurrency : beberapa proses dapat berjalan bersamaan dengan satu sumber daya tanpa terjadi interferensi • Replikasi : dapat meningkatkan isi suatu sumber daya tanpa ijin pemilik atau programernya • Kerusakan : Dapat menyembunyikan kerusakan seijin user dan programer aplikasi untuk melengkapi pekerjaannya akibat kerusakan hw/sw • Mobilitas : memungkinkan memindahkan sumber daya dan pengguna dalam sistem tanpa mempengaruhi operasi user atau programer • Scalling : ukuran sistem dapat diperluas (jaringannya) tanpa mengubah struktur sistem dan pemrograman • Transparansi Akses dan Lokasi sesuai bersama sebagai bagian jaringan transparan. Kberadaannya maupun ketiadaannya sangat mempengaruhi sistem Data Terdistribusi PPengolahan DT • Gambaran transparansi jaringan • Memprtimbangkan perintah login Linux • Hanya bisa seorang nama user yang dapat logon di host • Sehubungan dengan alamat e-mail • Alamat [email protected] hanya berisi nama pribadi dan nama domainnya. • Domain didefinisikan dan dialokasikan sesuai nama organisasi • Mengirim pesan ke user lain tidak perlu tahu lokasi fisik dari domainnya • Apakah prosedur pengiriman surat tergantung pada lokasi penerima? Data Terdistribusi PPengolahan DT • Scalability • Apakah sistem masih efektif dan handal dalam perkiraan pertumbuhannya? Date 1979, Dec. 1989, July 1999, July Date 1993, July 1995, July 1997, July 1999, July Computers 188 0 130,000 0 56,218,000 Computers 1,776,000 6,642,000 19,540,000 56,218,000 Data Terdistribusi PPengolahan DT Web servers 5,560,866 Web servers Percentage 130 0.008 23,500 0.4 1,203,096 6 6,598,697 12 Rancangan • Hal yang penting dalam membangun DS : • Naming • Komunikasi • Struktur sw • Alokasi beban kerja • Perawatan yang konsisten • Seorang perancang harus memahami sistem terdistribusi, rancangan interface, rekayasa sw dll. Data Terdistribusi PPengolahan DT Naming • Dasar DS adalah pada pertukaran sumber daya dan pada transparansi penyebaran sumber daya • Nama yang menunjukkan sumber daya harus : • Mempunyai arti global yang menunjukkan lokasi • Didukung dengan nama sistem yang dapat diterjemahkan program untukmengakses sumber daya • Proses yang membutuhkan akses sumber daya yang mana tidak dikelola harus menyertakan nama atau identitasnya. • Nama, menunjuk nama yang dapat diinterprestasikan user atau program • Identitas, menunjuk nama yang diinterprestasikan atau digunakn hanya oleh program • Struktur nama • Harus menunjukkan setiap tipe sumber daya • Hirarki, mis. /etc/passwd memungkinkan untuk berkembang • Flat / datar selalu memperhatikan ukuran panjang maksimal yang ditentukan Data Terdistribusi PPengolahan DT Komunikasi • Komponen DS meliputi bagian logika dan fisik yang terpisah; mereka harus di komunikasikan secara urut supaya dapat berinteraksi • Komunikasi antara sepasang proses meliputi : • Transfer data dari lingkungan yang mengirim proses ke linglungan yang menerima proses • Beberapa komunikasi memrlukan sinkronisasi antara pengirim dg penerima, sehingga pengirm dan penerima berhenti s.d proses yang lain membebaskannya • Mekanisme : • Syncron (blocking) – pengirim menunggu sesudah pengiriman pesan s.d penerima melakukan operasi penerimaan • Asyncron (non-blocking) – pesan di tempatkan dalam antrian menunggu penerima menerima dan pengirim melakukan pengirimanlagi Data Terdistribusi PPengolahan DT Bentuk komunikasi • Client-server • Cenderung melakukan layanan searah • Pertukaranmeliputi : • Transmisi dari client ke server • Eksekusi pesan oleh server • Transmisikan kembali ke client • Server harus selalu siap pada adanya permintaan dan client harus menunggu sampai dengan balasan diterima • Tidak ada client yang diprioritaskan • Setiap permintaan berisi CID yang digunakan untuk mengirmkankembali ke client • Dalam open system client tidak dapat dikenali untuk menunda CID semua server yang ingin diakses Data Terdistribusi PPengolahan DT Bentuk komunikasi • Group multicast • Sasaran pesan adalah kelompok proses • Alasan : • Multiple update • Pesan dari client berisi nama dari direktori file server. Setiap saat hanya satu permintaan client yang bisa dilayani oleh file server Data Terdistribusi PPengolahan DT Struktur SW • Setiap kategori sw berhubungan dengan tingkat yang berbeda dalam abstraksi DS : • User yang bekerja dg spreadsheet mempunyai bagian tersendiri dalam DS • Seorang programer mungkin menulis dalam bahasa pemrograman terdistribusi dan menggunakan lapisan servis Data Terdistribusi PPengolahan DT • Kategori sw dalam DS : • Aplikasi • Sistem operasi • Menyediakan pengelolaan sumber daya dasar • Alokasi memori dan perlindungan • Penciptaan proses dan penjadwalan • Komunikasi antar proses • Penanganan peralatan • Memberikan kumpulan abstraksi pemorgraman berorientasi masalah yang umum, seperti proses aplikasi, melindungi dari lapisan prosesor dan peralatan lain • Harus menmperkuat perlindungan kode dan data terhadap perubahan waktu proses • Open service (layanan terbuka) • Membawa fasilitas pemrograman dalam DS sesuai tingkat yang diperlukan • Layanan baru dapat dibangun dan diinstal sesuai kebutuhan • Layanan mulai dari file layanan dasar s.d layanan e-mail • Mendukung pemrograman terdistribusi Data Terdistribusi PPengolahan DT Contoh DS : Internet • Jaringan komputer dan aplikasi yang heterogen • Mengimplementasikan protokol Internet Data Terdistribusi PPengolahan DT Contoh DS : Sistem Multimedia Terdistribusi Biasanya digunakan pada infrastruktur internet • Karakteristik • Sumber data yang heterogen dan memerlukan sinkronisasi secara real time • Video, audio, text • Multicast • Contoh: • Teleteaching tools (mbone-based, etc.) • Video-conferencing • Video and audio on demand Data Terdistribusi PPengolahan DT Contoh DS: Intranet Jaringan yang teradministrasi secara lokal • Biasanya proprietary • Terhubung ke internet (melalui firewall) • Menyediakan layanan internal dan eksternal Data Terdistribusi PPengolahan DT Contoh DS : Mobile dan Sistem Komputasi Ubiquitous • Sistem telepon Cellular (e.g., GSM) • Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi, bergerak • Komputer laptop, ubiquitous computing • Handheld devices, PDA, etc Data Terdistribusi PPengolahan DT Contoh DS lainnya • Sistem telepon • ISDN, PSTN • Manajemen jaringan • Administrasi sesumber jaringan • Network File System (NFS) • Arsitektur untuk mengakses sistem file melalui jaringan • WWW • Arsitektur client/server tebuka yang diterapkan di atas infrastruktur internet • Shared resources (melalui URL) Data Terdistribusi PPengolahan DT World Wide Web Data Terdistribusi PPengolahan DT Tugas Buat kelompok dengan anggota 2-3 orang dan buatlah artikel tentang sistem tersebar untuk dipresentasikan. Data Terdistribusi PPengolahan DT