Makalah Grid Computing

download Makalah Grid Computing

of 6

Transcript of Makalah Grid Computing

  • 7/26/2019 Makalah Grid Computing

    1/12

    MAKALAH

    SISTEM KOMPUTASI GRID

    Disusun Oleh:

    Agus Khumaidi

    2215205204

    JARINGAN CERDAS MULTIMEDIA

    FAKULTAS TEKNIK ELEKTRO

    INSTITUT TEKNOLOGI SEPULUH NOPEMBER

  • 7/26/2019 Makalah Grid Computing

    2/12

    2016

    1. Topik Pembahasan:

    Tugas:

    Buatlah makalah pendek tentang sejenis layanan GRID yang bersifat komersial dengan

    struktur layanan yang cukup rumit seperti contoh Microsoft Azure untuk Machine

    Learning platform

    Topik yang akan dibahas pada makalah ini adalah:

    Layanan Basis Data Real-Time NoSQL (Firebase dan CouchDB) untuk Kolaborasi

    Web Audio Editor.

    2. Tinjauan Pustaka

    A. Komputasi Grid

    Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak

    komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan

    komputasi dalam skala besar[1]. Komputasi grid memungkinkan organisasi virtual

    (virtual organization) untuk menggunakan secara bersama sumber daya yang tersebar

    secara geografis dengan berasumsi ketidakhadiran dari lokasi terpusat, kontrol terpusat,pengetahuan menyeluruh terhadap sumber daya dan hubungan kepercayaan. Organisasi

    virtual dapat meliputi suatu departemen dari suatu perusahaan yang berada pada satu

    lokasi yang sama sampai dengan kumpulan besar orang-orang dari berbagai organisasi

    yang tersebar diberbagai belahan bumi. Komputasi grid memiliki tiga karakteristik

    penting yaitu [2]:

    1. Pemakaian bersama sumber daya yang terkoordinasi (setara) yang tidak berada di

    bawah suatu kendali terpusat.

  • 7/26/2019 Makalah Grid Computing

    3/12

    2. Menggunakan protokol-protokol dan interface yang standar, terbuka dan serbaguna.

    3. Dapat memberikan kualitas layanan (QoS) yang tinggi.

    Pokok pertama berasal dari sifat alami grid dimana pemakai dan sumber daya

    berada pada daerah administrasi yang berbeda. Pokok kedua adalah penting untuk

    membangun secara dinamis susunan/struktur pemakaian bersama sumber daya dengan

    orang/kelompok apa saja yang saling berkepentingan dan memungkinkan penyediaan

    pelayanan dan fungsi serba-guna. Pokok ketiga berhubungan dengan penyediaan

    jumlah kemampuan komputasi sehingga besarnya utilitas dari sistem perpaduan adalah

    cukup berarti dibandingkan dengan utilitas dari komponen penyusunnya. Pemakaian

    bersama sumber daya yang tersebar diberbagai tempat terpisah yang diatur di bawah

    administrasi yang berbeda adalah bukan masalah yang mudah. Permasalahan-

    permasalahan yang harus dijawab dalam melaksanakan pemakaian bersama tersebut

    misalnya, bagaimana cara memilih sumber daya komputasi yang diinginkan? untuk

    berapa lama sumber daya tersebut dapat digunakan? siapa yang dapat menggunakan

    sumber daya tersebut? bagaimana cara komunikasi antar sumber daya? dan lain

    sebagainya. Komputasi grid memungkinkan kita untuk mengakses berbagai jenis

    sumber daya dari berbagai jenis organisasi dengan cara menyediakan protokol,

    teknologi dan metodologi yang dapat menjawab semua pertanyaanpertanyaan diatas.

    B. FireBase

    Firebase adalah penyedia layanan cloud dengan backend sebagai servis yang

    berbasis di San Fransisco, California. Perusahaan ini membuat sejumlah produk untuk

    pengembangan aplikasi mobile ataupun web. Firebase di dirikan oleh Andrew Lee dan

    James Tamplin pada tahun 2011 dan diluncurkan dengan cloud database secara realtime

    di tahun 2012. Produk utama dari Firebase yakni suatu database yang menyediakan API

    untuk memungkinkan pengembang menyimpan dan mensinkronisasi data lewat

    multiple client. Perusahaan ini diakusisi oleh Google pada Oktober 2014.

    Firebase adalah layanan yang memungkinkan pengembang membuat API untuk

    disinkronisasikan untuk client yang berbeda beda dan disimpan pada cloudnya

    Firebase. Firebase memiliki banyak library yang memungkinkan untukmengintegrasikan layanan ini dengan Android, iOS, Javascript, Java, Objective-C dan

  • 7/26/2019 Makalah Grid Computing

    4/12

    Node.JS. Database Firebase juga bersifat bisa diakses lewat REST API dan data binding

    untuk beberapa framework Javascript seperti halnya AngularJS, ReactJS, Ember.JS,

    dan Backbone.JS. REST API tersebut menggunakan protokol Server-Sent Event

    dengan membuat koneksi HTTP untuk menerima push notification dari server.

    Pengembang juga bisa menggunakan database ini untuk mengamankan data mereka

    menggunakan server Firebase dengan rules yang ada. Saat ini Firebase menyediakan

    beberapa jasa. Berikut jasajasa yang disediakan oleh Firebase[3] :

    1. Firebase Analytics

    Aplikasi solusi pengukur yang menyediakan insightpengunaan applikasi dan user

    engangement.

    2. Firebase Cloud Messaging

    Sebelumnya dikenal sebagai GCM (Google Cloud Messaging), FCM (Firebase Cloud

    Messaging) adalah solusi untuk membuat developer mengirimkan dan menerima pesan

    dan notifikasi tanpa cost secara cross platform dan dapat diandalkan.

    3. Firebase Auth

    Jasa yang dapat mengautentikasi pengguna. Fitur ini didukung dengan login beberapa

    sosial media terkenal seperti Facebook, Github, Twitter, dan Google. Sebagai tambahan

    juga terdapat sistem manajemen user dimana pengguna dapat mengaktifkan

    autentifikasi dengan email dan password yang tersimpan di Firebase.

    4. Realtime Database

    Firebase menyediakan database realtime dan backendnya sebagai fitur. Fiturnya

    meliputi API yang memperbolehkan data aplikasi dapat di sinkronisasikan antar klien

    dan tersimpan dalam Firebase cloud. Firebase menyediakan library yang

    memperbolehkan integrasi dengan aplikasi Android, iOS, JavaScript, Java, Objective-

    C and Node.js. Database juga dapat diakses melalui REST API dan binding untuk

    beberapa framework JavaScript seperti AngularJS, React, Ember.js and Backbone.js.

    REST API menggunakan Server-Sent Events protocol, yang dimana merupakan API

    untuk membuat koneksi HTTP untuk menerimapush notificationdari server.

    5. Firebase Storage

  • 7/26/2019 Makalah Grid Computing

    5/12

    Firebase Storage menyediakan keamanan upload file dan download, terlepas dari

    kuliatas jaringannya. Developer dapat menggunakan ini untuk menyimpan gambar,

    suara, video, atau konten pengguna lainnya. Firebase Storage di bantu oleh Google

    Cloud Storage, suatu jasa penyimpanan yang kuat, simpel , dan efektif biaya.

    3. Pembahasan.

    Sistem kerja Web Audio Editor

    Kebutuhan informasi yang cepat, skala besar dan selalu tersedia membuat kemunculan

    jenis basis data yang lebih mengutamakan skalabilitas dan ketersediaan seperti NoSQL.

    Saat ini, salah satu basis data NoSQL yang sering digunakan adalah document-orientedNoSQL. Salah satu aplikasi yang perlu memanfaatkan data secara real-time adalah Web

    Audio Editor (WAE). Diperlukan API untuk dapat mengakses basis data secara real-

    time untuk mendukung kolaborasi online. Beberapa masalah pada aplikasi WAE antara

    lain perbandingan algoritma sinkronisasi terhadap kinerja aplikasi, penanganan konflik

    antar pengguna, dan penyimpanan state data saat pengguna offline. Firebase adalah

    salah satu layanan NoSQL cloud database yang dapat menyediakan data yang

    tersinkronisasi dengan semua klien secara real-time. Gambar 1 menunjukkan

    bagaimana firebase bekerja.

    Gambar 1. Sistem database untuk Web Audio Editor.

  • 7/26/2019 Makalah Grid Computing

    6/12

    CippyDB merupakan layanan basis data real-time berbentuk API yang dapat

    digunakan pengembang aplikasi untuk mengakses data pada CouchDB. Makalah ini

    juga mencakup perbandingan kinerja, dan pengujian API untuk aplikasi WAE.

    Basis data NoSQL sangat cocok untuk lingkungan yang terdistribusi. Database

    Management System (DBMS) yang berbasis NoSQL pun mulai bermunculan. NoSQL

    juga dikembangkan untuk menjadi solusi terhadap basis data yang menjamin

    konsistensi, availability, atau partition tolerance. NoSQL sendiri terdiri dari beberapa

    jenis seperti keyvalue, document-oriented, dan column-oriented. Setiap jenis memiliki

    kelebihan dan kekurangannya masing-masing. Jenis NoSQL yang sering digunakan

    adalah document-oriented. Terdapat beberapa DBMS yang populer di lingkungan open

    source seperti CouchDB dan MongoDB. DBMS CouchDB sudah menyediakan

    Application Programming Interface (API) yang menyediakan akses ke basis data untuk

    menulis, membaca, dan menghapus data.

    Kelebihan dari basis data CouchDB dapat melakukan pencarian data dengan

    metode Map Reduce sehingga waktu pencarian lebih singkat dan efektif. Layanan API

    mulai berkembang dari operasi sederhana tersebut menjadi layanan real-time yang

    dapat menangani sinkronisasi data antar klien. Firebase adalah salah satu layanan

    NoSQL cloud database yang dapat menyediakan data yang tersinkronisasi dengan

    semua klien secara real-time. Namun, sayangnya Firebase tidak open source sehingga

    pengembang aplikasi harus bergantung pada server Firebase. Dengan adanya layanan

    seperti ini, banyak aplikasi kolaboratif berbasis web yang muncul salah satunya adalah

    Web Audio Editor (WAE). Salah satu aplikasi sound editor web online adalah

    soundation.com, Gambar 2 menunjukkan tampilan editor dari halaman web.

    Gambar 2. Sound editor pada soundation.com

  • 7/26/2019 Makalah Grid Computing

    7/12

    WAE adalah salah satu audio editor berbasis web yang dapat membuat musik atau lagu dari

    browser dengan berkolaborasi bersama anggota lain atau teman [4]. WAE bersifat open

    source. WAE saat ini menggunakan basis data Firebase, CouchDB, ExpressJS di atas NodeJS

    pada sisi server, dan AngularJS pada sisi klien. Terdapat tiga komponen utama WAE yaitu

    Arrangement, Masalah yang masih terdapat pada aplikasi WAE antara lain kinerja

    sinkronisasi data, penanganan konflik dan penyimpanan data pada saat pengguna offline.

    Algoritma Sinkronisasi

    Dalam proses kolaborasi dokumen diperlukan algoritma sinkronisasi agar semua klien

    mendapatkan state yang sama pada setiap operasi. Dalam menyelesaikan masalah

    sinkronisasi ada beberapa algoritma yang dapat digunakan antara lain operational

    transformation, differential synchronization, dan continuous replication.

    a. Algoritma Operational Transformation (OT).

    Algoritma ini adalah algoritma yang paling populer untuk membuat sebuah

    sistem kolaborasi pada dokumen. Pengguna dapat mengakses dan mengubah

    sebuah dokumen secara kolaboratif dengan pengguna lainnya pada waktu

    bersamaan [5]. Dengan algoritma OT, klien dan server dapat mencapai

    dokumen yang sama pada akhirnya dengan menyelesaikan operasi yang

    konflik sehingga konvergensinya terjamin. Meskipun demikian, algoritma

    lebih efektif untuk menangani dokumen berbentuk teks karena sifat

    transformasinya.

    b. Algoritma Differential Synchronization (DS)

    Differential Syncrhonization (DS) adalah algoritma yang stabil dan cocok

    untuk aplikasi interaktif. Pada algortima ini, server dan klien mulai dengan

    versi yang sama dari dokumen. Keduanya lalu membuat salinan dari dokumen

    yang akan bertindak sebagai shadow document di klien maupun server [6].

    c. Algoritma Continuous Replication

    Continuous replication adalah salah satu fitur yang disediakan oleh CouchDB.

    Replikasi artinya melakukan sinkronisasi dua salinan dari basis data yangsama sehingga pengguna dapat mempunyai akses dengan latensi rendah

  • 7/26/2019 Makalah Grid Computing

    8/12

    terhadap data di mana mereka berada [7]. Basis data ini dapat berada pada

    server yang sama maupun server yang berbeda. Jika pengguna melakukan

    perubahan terhadap suatu salinan dari basis data, replikasi akan mengirim

    perubahan ini juga ke salinan yang lain.

    Mekanisme Komunikasi Real-Time.

    Beberapa jenis metode komunikasi yang populer untuk mendukung

    komunikasi secara real-time adalah sebagai berikut.

    a. Mekanisme Websocket

    Komunikasi ini bersifat full-duplex atau dua arah, jadi dua pihak dapat

    mengirim pesan secara bersamaan.

    b. Mekanisme Long Polling

    Long polling adalah metode komunikasi yang mempunyai skenario klien

    melakukan permintaan informasi dari server dan membuaka koneksi selama

    selang waktu tertentu. Mekanisme ini tergolong sebagai mekanisme yang

    tradisional sehingga memakan banyak resource dan waktu sehingga tidak

    efektif.

    Desain Sistem dan infrastruktur

    Aplikasi WAE menggunakan basis data CouchDB yang terhubung dengan server

    yang menggunakan framework ExpressJS dan berjalan di atas platform NodeJS.

    Pada saat klien membuka web, aplikasi akan mencoba melakukan koneksi web

    socket ke server NodeJS untuk mendapatkan data terbaru dari basis data.

    Representasi data yang digunakan dalam aplikasi hanya berupa key dari file

    tersebut dan offset posisi dari piece tersebut dalam format JSON. Sinkronisasi

    data dilakukan baik dalam sisi klien maupun server. Skema arsitektur WAE

    Skema arsitektur aplikasi Web Audio Editordapat dilihat pada gambar 3 berikut.

  • 7/26/2019 Makalah Grid Computing

    9/12

    Berdasarkan skema arsitektur tersebut dan layanan API real-time lain seperti Firebase,

    dibuatlah rancangan API yang dapat mendukung akses data secara real-time. Rancangan API

    secara garis besar dapat dilihat pada gambar dibawah ini.

    Gambar 4. Rancangan API real-time

    Untuk menangani offline state, digunakan library PouchDB. PouchDB adalah library basis data dalam

    browser yang open-source untuk melakukan sinkronisasi dari klien dengan basis data CouchDB

    sehingga pengguna dapat menggunakan aplikasi meskipun dalam keadaan offline [7]. PouchDB

    menggunakan IndexedDB untuk menyimpan data pada klien secara lokal sehingga setiap perubahan

    pada data akan tetap tersimpan secara lokal pada klien.

    Dari ketiga algoritma sinkronisasi, hanya dipilih DS dan CR untuk percobaan ini karena OT lebih cocok

    untuk dokumen yang berbasiskan teks. Algoritma DS dan CR pada dasarnya berbeda karena CR

    membuat salinan secara menyeleluruh sedangkan DS hanya membuat salinan ke shadow saja

    Gambar 3. Skema arsitektur aplikasi Web Audio Editor

  • 7/26/2019 Makalah Grid Computing

    10/12

    sehingga tidak dapat dikombinasikan. CR dapat dioptimasi agar kinerjanya lebih baik. Berdasarkan

    rancangan API dan arsitektur yang sudah ada, dibuatlah arsitktur solusi yang akan menunjukkan

    hubungan antara API dan arsitektur WAE yang sudah ada. API ini diberi nama CippyDB dan sudah

    dibungkus agar dapat digunakan untuk aplikasi real-time lainnya. Arsitektur umum sistem solusi dapat

    dilihat pada gambar berikut ini.

    Gambar 5. Rancangan arsitektur umum solusi.

    Berdasarkan gambar di atas, API CippyDB menggabungkan AngularJS dan PouchDB pada suatu node

    klien. Sehingga API ini tidak lagi membutuhkan server untuk sinkronisasi jika dibandingkan dengan

    arsitektur sebelumnya. Klien dapat langsung mengakses API ke basis data remote CouchDB secara

    langsung.

    Untuk menangani masalah konflik, dilakukan percabangan dokumen sehingga pengguna dapat

    memilih versi dokumen yang akan dilanjutkan jika terjadi konflik. Alur penanganan konflik secara

    umum dapat dilihat pada gambar berikut.

    Gambar 5. Alur penanganan konflik Web Audio Editor

  • 7/26/2019 Makalah Grid Computing

    11/12

    4. Kesimpulan

    Layanan basis data real-time NoSQL dapat diimplementasikan dalam bentuk

    API untuk frontend sehingga dapat mengakses data yang tersinkronisasi antar

    semua klien. Dengan layanan ini, pengembang aplikasi dapat menggunakan

    backend yang generik sehingga dapat fokus mengembangkan fitur dan layanan

    ke end-user.

    Layanan basis data dengan metode continuous replication yang dioptimalisasi

    dengan replication stream ini dapat meningkatkan kinerja sinkronisasi data antar

    klien sampai tiga kali lipat lebih cepat dibandingkan websocket dengan

    differential synchronization. Layanan ini memiliki kebutuhan resource yang

    lebih kecil untuk klien dan server. Layanan ini juga menangani konflik dengan

    melakukan percabangan dokumen. Aplikasi dengan layanan basis data ini dapat

    menyimpan state pengguna pada klien secara lokal sehingga ketika pengguna

    offline. Data pengeditan yang dilakukan saat offline tidak akan hilang dan akan

    disinkronisasikan saat kembali online.

    Daftar Pustaka.

    [1] Komputasi Grid, Wikipedia Bahasa Indonesia, ensiklopedia bebas. From

    http://id.wikipedia.org/wiki/Komputasi_grid

    [2] FOSTER, I., What is the Grid? A Three Point Checklist, GRIDtoday, Vol. 1, No. 6., 22

    July 2002.

    [3] http://cyberits.co.id/index.php/fe/article/getArticleDetail/127

    [4] Monschke, J. (2014). Building a Collaborative Music Production Environment Using

    Emerging Web Standards. Berlin: International Media and Computing

    [5] Ellis, C. A., & Gibbs, S. J. (1989). Concurrency Control in Groupware System. ACM.

    [6] Fraser, N. (2009). Differential Synchronization. New York: ACM.

    http://id.wikipedia.org/wiki/Komputasi_gridhttp://id.wikipedia.org/wiki/Komputasi_grid
  • 7/26/2019 Makalah Grid Computing

    12/12

    [7] PouchDB. (2014, April). Replication. Diambil kembali dari PouchDB:

    http://pouchdb.com/guides/replication.html