Parallel Computation 2
D. PENGANTAR THREAD PROGRAMMING
Dalam
pemrograman komputer, sebuah thread adalah informasi terkait dengan
penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna
secara bersamaan. Dari program point-of-view, sebuah thread adalah
informasi yang dibutuhkan untuk melayani satu pengguna individu atau
permintaan layanan tertentu. Jika beberapa pengguna menggunakan program
atau permintaan bersamaan dari program lain yang sedang terjadi, thread
yang dibuat dan dipelihara untuk masing-masing proses. Thread
memungkinkan program untuk mengetahui user sedang masuk didalam program
secara bergantian dan akan kembali masuk atas nama pengguna yang
berbeda. Salah satu informasi thread disimpan dengan cara menyimpannya
di daerah data khusus dan menempatkan alamat dari daerah data dalam
register. Sistem operasi selalu menyimpan isi register saat program
interrupted dan restores ketika memberikan program kontrol lagi.
Sebagian
besar komputer hanya dapat mengeksekusi satu instruksi program pada
satu waktu, tetapi karena mereka beroperasi begitu cepat, mereka muncul
untuk menjalankan berbagai program dan melayani banyak pengguna secara
bersamaan. Sistem operasi komputer memberikan setiap program "giliran"
pada prosesnya, maka itu memerlukan untuk menunggu sementara program
lain mendapat giliran. Masing-masing program dipandang oleh sistem
operasi sebagai suatu tugas dimana sumber daya tertentu diidentifikasi
dan terus berlangsung. Sistem operasi mengelola setiap program aplikasi
dalam sistem PC (spreadsheet, pengolah kata, browser Web) sebagai tugas
terpisah dan memungkinkan melihat dan mengontrol item pada daftar tugas.
Jika program memulai permintaan I / O, seperti membaca file atau
menulis ke printer, itu menciptakan thread. Data disimpan sebagai bagian
dari thread yang memungkinkan program yang akan masuk kembali di tempat
yang tepat pada saat operasi I / O selesai. Sementara itu, penggunaan
bersamaan dari program diselenggarakan pada thread lainnya. Sebagian
besar sistem operasi saat ini menyediakan dukungan untuk kedua
multitasking dan multithreading. Mereka juga memungkinkan multithreading
dalam proses program agar sistem tersebut disimpan dan menciptakan
proses baru untuk setiap thread.
Static Threading
Teknik
ini biasa digunakan untuk komputer dengan chip multiprocessors dan
jenis komputer shared-memory lainnya. Teknik ini memungkinkan thread
berbagi memori yang tersedia, menggunakan program counter dan
mengeksekusi program secara independen. Sistem operasi menempatkan satu
thread pada prosesor dan menukarnya dengan thread lain yang hendak
menggunakan prosesor itu.
Mekanisme
ini terhitung lambat, karenanya disebut dengan static. Selain itu
teknik ini tidak mudah diterapkan dan rentan kesalahan. Alasannya,
pembagian pekerjaan yang dinamis di antara thread-thread menyebabkan
load balancing-nya cukup rumit. Untuk memudahkannya programmer harus
menggunakan protocol komunikasi yang kompleks untuk menerapkan scheduler
load balancing. Kondisi ini mendorong pemunculan concurrency platforms
yang menyediakan layer untuk mengkoordinasi, menjadwalkan, dan mengelola
sumberdaya komputasi paralel.
Sebagian
platform dibangun sebagai runtime libraries atau sebuah bahasa
pemrograman paralel lengkap dengan compiler dan pendukung runtime-nya.
Dynamic Multithreading
Teknik
ini merupakan pengembangan dari teknik sebelumnya yang bertujuan untuk
kemudahan karena dengannya programmer tidak harus pusing dengan protokol
komunikasi, load balancing, dan kerumitan lain yang ada pada static
threading. Concurrency platform ini menyediakan scheduler yang melakukan
load balacing secara otomatis. Walaupun platformnya masih dalam
pengembangan namun secara umum mendukung dua fitur : nested parallelism
dan parallel loops. Nested parallelism memungkinkan sebuah subroutine
di-spawned (ditelurkan dalam jumlah banyak seperti telur katak) sehingga
program utama tetap berjalan sementara subroutine menghitung hasilnya.
Sedangkan parallel loops seperti halnya fungsi for namun memungkinkan
iterasi loop dilakukan secara bersamaan.
E. PENGANTAR MASSAGE PASSING DAN OPENMP
OpenMP (Open Multi-Processing) adalah
sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi
processing shared memory pemrograman di C, C++ dan Fortran pada berbagai
arsitektur, termasuk UNix dan Microsoft Windows platform. OpenMP
Terdiri dari satu set perintah kompiler, perpustakaan rutinitas, dan
variabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun
dengan model hibrida pemrograman paralel dapat dijalankan pada
komputer cluster dengan menggunakan OpenMP dan Message Passing Interface
(MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP
non-shared memory systems.
Sejarah
OpenMP dimulai dari diterbitkannya API pertama untuk Fotran 1.0 pada
Oktober 1997 oleh OpenMP Architecture Review Board (ARB). Oktober tahun
berikutnya OpenMP Architecture Review Board (ARB) merilis standart C /
C++. Pada tahun 2000 mengeluarkan versi 2.0 untuk fotran dan poda tahun
2002 dirilis versi 2.0 untuk C / C++. Pada tahun 2005 dirilis versi 2.5
yang merupakan pengabungan fotran, C, dan C++/ pada mei 2008 versi 3.0
yang terdapat didalmnya konsept tasks dan task construct.
Pemrograman CUDA GPU
GPU ( Graphical Processing Unit ) awalnya adalah sebuah
prosesor yang berfungsi khusus untuk melakukan rendering pada kartu grafik
saja, tetapi seiring dengan semakin meningkatnya kebutuhan rendering, terutama
untuk mendekati waktu proses yang realtime, maka meningkat pula kemampuan
prosesor grafik tersebut. akselerasi peningkatan teknologi GPU ini lebih cepat
daripada peningkatan teknologi prosesor sesungguhnya ( CPU ), dan pada akhirnya
GPU menjadi General Purpose, yang artinya tidak lagi hanya untuk melakukan
rendering saja melainkan bisa untuk proses komputasi secara umum.
Penggunaan Multi GPU dapat mempercepat waktu proses dalam
mengeksekusi program karena arsitekturnya yang natively parallel. Selain itu
Peningkatan performa yang terjadi tidak hanya berdasarkan kecepatan hardware
GPU saja, tetapi faktor yang lebih penting adalah cara membuat kode program
yang benarbenar bisa efektif berjalan pada Multi GPU.
CUDA merupakan teknologi anyar dari produsen kartu grafis
Nvidia, dan mungkin belum banyak digunakan orang secara umum. Kartu grafis
lebih banyak digunakan untuk menjalankan aplikasi game, namun dengan teknologi
CUDA ini kartu grafis dapat digunakan lebih optimal ketika menjalankan sebuah
software aplikasi. Fungsi kartu grafis Nvidia digunakan untuk membantu
Processor (CPU) dalam melakukan kalkulasi dalam proses data.
CUDA merupakan singkatan dari Compute Unified Device
Architecture, didefinisikan sebagai sebuah arsitektur komputer parallel,
dikembangkan oleh Nvidia. Teknologi ini dapat digunakan untuk menjalankan
proses pengolahan gambar, video, rendering 3D, dan lain sebagainya. VGA – VGA dari Nvidia yang sudah
menggunakan teknologi CUDA antara lain : Nvidia GeForce GTX 280, GTX 260,9800
GX2, 9800 GTX+,9800 GTX,9800 GT,9600 GSO, 9600 GT,9500 GT,9400 GT,9400
mGPU,9300 mGPU,8800 Ultra,8800 GTX,8800 GTS,8800 GT,8800 GS,8600 GTS,8600
GT,8500 GT,8400 GS, 8300 mGPU, 8200 mGPU, 8100 mGPU, dan seri sejenis untuk
kelas mobile ( VGA notebook ).
Singkatnya, CUDA dapat memberikan proses dengan pendekatan
bahasa C, sehingga programmer atau pengembang software dapat lebih cepat
menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi
ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi
multimedia. Misalnya meng-edit film dan melakukan filter gambar. Sebagai contoh
dengan aplikasi multimedia, sudah mengunakan teknologi CUDA. Software TMPGenc
4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proces dari GPU
dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.
SUMBER :
http://chachados.blogspot.co.id/2013/07/parallel-computation.html
07.14 | | 0 Comments
Parallel Computation 1
A. Parallelism concept
Paralelisme (parallelism) lahir dari pendekatan yang biasa
dipergunakan oleh para perancang sistem untuk menerapkan konsep pemrosesan
konkuren. Teknik ini meningkatkan kecepatan proses dengan cara memperbanyak
jumlah modul perangkat keras yang dapat beroperasi secara simultan disertai
dengan membentuk beberapa proses yang bekerja secara simultan pada modul-modul
perangkat keras tersebut. Secara formal, pemrosesan paralel adalah sebuah
bentuk efisien pemrosesan informasi yang menekankan pada eksploitasi dari
konkurensi kejadian-kejadian dalam proses komputasi.Pemrosesan paralel dapat
terjadi pada beberapa tingkatan (level) proses. Tingkatan tertinggi pemrosesan
paralel terjadi pada proses di antara banyak job (pekerjaan) atau pada program
yang menggunakan multiprogramming, time sharing, dan multiprocessing.
Multiprogramming kemampuan eksekusi terhadap beberapa proses perangkat lunak
dalam sebuah system secara serentak, jika dibandingkan dengan sebuah proses
dalam satu waktu, dan timesharing berarti menyediakan pembagian selang waktu
yang tetap atau berubah-ubah untuk banyak program. Multiprocessing adalah
dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan
mengalokasikan tugas kepada prosesor-prosesor tersebut. Multiprocessing sering
diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU
sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak.
Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di
antaranya, atau tidak sama sekali. Pemrosesan paralel dapat juga terjadi pada
proses di antara prosedurprosedur atau perintah perintah (segmen program) pada
sebuah program.Untuk meningkatkan kecepatan proses komputasi, dapat ditempuh
dua cara :
Peningkatan kecepatan perangkat
keras.
Komponen utama perangkat keras komputer adalah processor.
Meskipun kecepatan processor dapat ditingkatkan terus, namun karena
keterbatasan materi pembuatnya, tentu ada suatu batas kecepatan yang tak
mungkin lagi dapat dilewati. Karena itu timbul ide pembuatan komputer
multiprocessor. Dengan adanya banyak processor dalam satu komputer, pekerjaan
bisa dibagi-bagi kepada masing-masing processor. Dengan demikian lebih banyak
proses dapat dikerjakan dalam satu saat. Peningkatan kecepatan setiap proses
bisa dicapai melalui peningkatan kecepatan perangkat lunak. Kecepatan perangkat
lunak sangat ditentukan oleh algoritmanya.
Peningkatan kecepatan
perangkat lunak.
Program komputer untuk komputer sekuensial harus menyediakan
sederetan operasi untuk dikerjakan oleh prosesor tunggal. Program komputer
untuk komputer paralel harus menyediakan sederetan operasi untuk beberapa
prosesor untuk dikerjakan secara paralel, termasuk operasi untuk mengatur dan
mengitegrasikan prosesor-prosesor yang terpisah tersebut mengerjakan suatu
komputasi yang koheren. Kebutuhan akan pembuatan dan pengaturan berbagai
aktivitas komputasi paralel menambah dimensi baru proses dari pemrograman
komputer. Algoritma untuk problem yang spesifik harus diformulasikan sedemikian
rupa, agar menghasilkan aliran operasi paralel yang kemudian akan dieksekusi di
prosesor yang berbeda. Karena itu, meskipun arsitektur multiprosesor dan
multikomputer mempunyai pontensi yang tinggi untuk meningkatkan kemampuan
komputasi, potensi ini akan tercapai melalui pengertian yang baik mengenai
bahasa pemrograman paralel dan perancangan algoritma paralel.
Tingkat Paralelisme
Berdasarkan tingkat paralelismenya prosesor paralel dapat
dibagi menjadi beberapa tingkat sebagai berikut :
1. Komputer Array :
a. Prosesor array : beberapa prosesor yang bekerja sama
untuk mengolah set instruksi yang sama dan data yang berbeda – beda atau biasa disebut SIMD (Single
Instruction-stream Multiple Data)
b. Prosesor vektor : beberapa prosesor yang disusun seperti
pipeline.
2. Multiprosesor, yaitu sebuah sistem yang memiliki 2
prosesor atau lebih yang saling berbagi memori.
3. Multikomputer, yaitu sebuah sistem yang memiliki 2
prosesor atau lebih yang masing-masing prosesor memiliki memori sendiri.
Jenis-Jenis Pemrosesan
Paralel
Pemrosesan paralel dapat dibagi ke dalam beberapa
klasifikasi, sebagai berikut :
1. Berdasarkan simetri penjadwalannya, pemrosesan parallel
dapat dibagi dalam beberapa jenis:
a) Asymmetric Multiprocessing (ASMP)
b) Symmetric Multiprocessing (SMP)
c) ClusteringPoliteknik Telkom Sistem Komputer
2. Berdasarkan aliran instruksi dan datanya, pemrosesan
parallel dapat dibagi dalam beberapa jenis:
a) SISD (Single Instruction on Single Data Stream)
b) SIMD (Single Instruction on Multiple Data Stream)
c) MISD (Multiple Instruction on Single Data Stream)
d) MIMD (Multiple Instruction on Multiple Data Stream)
3. Berdasarkan kedekatan antar prosesor, pemrosesan parallel
dapat dibagi dalam beberapa jenis:
a) Multikomputer (Loosely Coupled/ local memory) dengan memori
yang terdistribusi
b) Multiprosesor (Tightly Coupled/ global memory) dengan
memori yang dapat digunakan bersama (shared memory)
B. Distributed Processing
Mengerjakan semua proses pengolahan data secara bersama
antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling
dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki
prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah,
kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika
salah satu prosesor mengalami kegagalan atau masalah yang lain akan mengambil
alih tugasnya.
C. ARCHITECTURAL PARALLEL COMPUTER
SISD
Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
Yang merupakan singkatan dari Single Instruction, Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1.
SIMD
Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
Yang merupakan singkatan dari Single Instruction, Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).
MISD
Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
Yang merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.
MIMD
Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Yang merupakan singkatan dari Multiple Instruction, Multiple Data. MIMD menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini:
Gambar 1 Penyelesaian Sebuah Masalah pada Komputasi Tunggal
Gambar 2 Penyelesaian Sebuah Masalah pada Komputasi Paralel
Dari
perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja
komputasi paralel lebih efektif dan dapat menghemat waktu untuk
pemrosesan data yang banyak daripada komputasi tunggal.
Dari
penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa
dan kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah
karena komputasi paralel jauh lebih menghemat waktu dan sangat efektif
ketika kita harus mengolah data dalam jumlah yang besar. Namun
keefektifan akan hilang ketika kita hanya mengolah data dalam jumlah
yang kecil, karena data dengan jumlah kecil atau sedikit lebih efektif
jika kita menggunakan komputasi tunggal.
SUMBER :
http://komputer.yn.lt/adalah/?arti=Distributed%20Processing
07.10 | | 0 Comments
File Service Terdistribusi, Komponen File Service dan Interface Service
Nama : Robby Fahlevi
NPM : 56412641
Kelas : 4IA12
_______________________
FILE SERVICE TERDISTRIBUSI
I. Pengenalan File Service
File service adalah suatu perincian
atau pelayanan dari file system yang ditawarkan pada komputer client.
Suatu file server adalah implementasi dari file service dan berjalan
pada satu atau lebih mesin. File itu sendiri berisi dari nama, data dan
atribut file seperti kepemilikan file, ukuran, waktu pembuatan file dan
hak akses file.
II. Komponen File service
Komponen-komponen file service adalah terdiri dari :
- File Service
Pengoperasian dari masing-masing file.
- Directory Service
Management atau pengaturan direktori
- Naming Service
– Location Independence :
File dapat dipindahkan tanpa penggantian nama
– Hal yang umum untuk penamaan file dan directori :
Mesin + nama path e.g / machine / path atau machine : path
Mounting File sistem secara remote kedalam hirarki local file.
Single name space yang sama pada semua mesin.
– Dua level penamaan :
Nama simbolik yang dilihat user dan nama binary yang dilihat oleh sistem.
III. Contoh File Service
NFS (Network File System)
Network File System (NFS) merupakan
sebuah protokol yang dikembangkan oleh Sun Microsystem pada tahun 1984
dan NFS didefinisikan dalam RFC 1094, 1813 dan 3530 sebagai DFS yang
mengijikan sebuah komputer untuk mengakses file melalui network serasa
akses file di disk local.
Tujuan dari NFS adalah untuk memungkinkan
terjadinya pertukaran sistem berkas secara transparan antara
mesin-mesin bebas tersebut.
Protokol NFS
NFS umumnya menggunakan protokol Remote Procedure Call (RPC) yang berjalan di atas UDP dan membuka port UDP dengan port number 2049 untuk komunikasi antara client dan server di dalam jaringan. Client NFS selanjutnya akan mengimpor sistem berkas remote dari server NFS, sementara server NFS mengekspor sistem berkas lokal kepada client.
Mesin-mesin yang menjalankan perangkat lunak NFS client dapat saling berhubungan dengan perangkat lunak NFS server untuk melakukan perintah operasi tertentu dengan menggunakan request RPC.
Beberapa manfaat NFS diantaranya ialah
– Lokal workstations menggunakan ruang disk lebih kecil
– Pemakai tidak harus membagi direktori home pada setiap mesin di jaringan
– Direktori home dapat di set up pada NFS server dan tersedia melalui jaringan
– Device penyimpanan seperti floppy disk, CDROM drives, dll dapat digunakan oleh mesin lainnya
Kerugian /Kelemahan NFS
– Desain awal hanya untuk jaringan yang lokal dan tertutup
– Security
– Congestion (Traffic yang tinggi bisa menyebabkan akses lambat)
AFS (Andrew File System)
Ada persamaan dan perbedaan antara AFS dan NFS.
Persamaan:
AFS sama seperti NFS menyediakan akses
menuju shared files secara transaparant. Akses menuju ke file AFS adalah
melalui normal unix file primitives (tanpa modifikasi atau
rekompilasi). AFS kompatibel dengan NFS.
Perbedaan:
Secara desain dan implementasi, AFS
berbeda dengan NFS, perbedaan utama, NFS didesain untuk dapat menangani
active users dengan jumlah yang lebih banyak daripada distributed file
systems yang lain. Kunci AFS untuk menangani jumlah active users yang
besar terletak pada kemampuan caching seluruh files pada client node.
Karakter AFS
AFS mempunyai dua karakter desain yang unik :
• Whole file serving
Seluruh konten dari direktori dan file
dikirim kepada komputer client oleh AFS servers (di AFS3, file yang
ukurannya lebih dari 64kbytes ditransfer dalam 64kbyte chunks).
• Whole file caching
Copy dari sebuah file chunk yang telah ditransfer di komputer client disimpan dalam cache pada local disk.Cache disini mengandung ratusan file yang sering dipakai di dalam sebuah komputer.
SUMBER : https://ku2harlis.wordpress.com/file-service/
KOMPONEN DARI FILE SERVICE
Komponen-komponen file service adalah terdiri dari :
- File Service
- Pengoperasian dari masing-masing file.
- Directory Service
- Management atau pengaturan direktori
- Naming Service
- Location Independence :
- File dapat dipindahkan tanpa penggantian nama
- Hal yang umum untuk penamaan file dan directori :
- Mesin + nama path e.g / machine / path atau machine : path
- Mounting File sistem secara remote kedalam hirarki local file.
- Single name space yang sama pada semua mesin.
- Dua level penamaan :
- Nama simbolik yang dilihat user dan nama binary yang dilihat oleh sistem.
SUMBER :http://mufrizalrizki.blogspot.co.id/2016/04/file-terdistribusi.html
INTERFACE SERVICE
Pengertian Interface Service
Interface service adalah metode standard komunikasi yang dapat dipakai
oleh siapapun tanpa membedakan vendornya. Interface Service merupakan
titik point yang konsumen gunakan untuk mengakses fungsionalitas yang
diarahkan oleh aplikasi. Interface Service biasanya menggunakan alamat
jaringan, yang berarti bahwa ia dapat di akses oleh konsumen lebih dari
beberapa macam komunikasi jarigan. Alamat jaringan dapat terkenal
lokasinya atau ia dapat terkandung dari direktori service seperti UDDI.
Sebuah kunci aspek dari desain service interface untuk memisahkan
implementasi yang dibutuhkan untuk mengkomunikasikan dengan system lain
dari aplikasi logika bisnis. Interface Service menyediakan interface
yang jauh lebih kasar sambil menjaga semantik dan rincian lebih halus
dari logika aplikasi. Hal ini juga memberikan penghalang yang
memungkinkan logika aplikasi dapat berubah tanpa mempengaruhi interface
konsumen.
Interface Service mengimplementasikan kontrak antara konsumen dan
penyedia. Kontrak ini memungkinkan mereka untuk bertukar informasi
bahkan jika mereka berada di sistem yang berbeda. Interface Service
bertanggung jawab untuk semua rincian pelaksanaan yang dibutuhkan untuk
melakukan komunikasi ini. Rincian tersebut termasuk tetapi tidak
terbatas pada:
- Network protocol. Interface Service harus merangkum semua aspek dari network protocol yang digunakan untuk komunikasi antara konsumen dan pelayanan. Sebagai contoh, anggaplah layanan terkena konsumen melalui HTTP melalui jaringan TCP/IP. Anda dapat menerapkan Interface Service sebagai komponen ASP.NET diterbitkan ke URL terkenal. Komponen ASP.NET menerima permintaan HTTP, ekstrak informasi yang dibutuhkan oleh layanan untuk memproses permintaan tersebut, memanggil implementasi layanan, paket respon layanan, dan mengirim respon kembali ke konsumen sebagai respon HTTP. Dari perspektif layanan, satu-satunya komponen yang memahami HTTP adalah antarmuka layanan. Pelaksanaan layanan memiliki kontrak sendiri dengan antarmuka layanan dan seharusnya tidak memiliki ketergantungan pada spesifikasi teknologi yang digunakan konsumen untuk berkomunikasi dengan antarmuka layanan.
- Data formats. Menerjemahkan Interface Service konsumen antara format data dan format data yang mengharapkan layanan. Sebagai contoh, konsumen eksternal untuk perusahaan dapat menyediakan data dan mengharapkan data yg berada dalam format XML yang sesuai dengan skema standar industri XML. Konsumen internal untuk perusahaan mungkin ingin menggunakan format XML dioptimalkan untuk layanan tertentu. Interface Service bertanggung jawab untuk mengubah dan pemetaan kedua format data dalam format yang dapat menggunakan layanan ini. Pelaksanaan pelayanan tidak memiliki pengetahuan tentang format data spesifik Interface Service mungkin gunakan untuk berkomunikasi dengan konsumen.
- Security. Interface Service harus dipertimbangkan batas kepercayaan sendiri. Konsumen yang berbeda mungkin memiliki persyaratan keamanan yang berbeda, jadi terserah untuk Interface Service untuk melaksanakan konsumen spesifik persyaratan. Misalnya, konsumen eksternal untuk perusahaan umumnya akan memiliki persyaratan keamanan yang lebih ketat daripada konsumen internal untuk perusahaan. Konsumen eksternal mungkin memiliki persyaratan otentikasi kuat dan hanya dapat diberi kewenangan untuk melakukan subset yang sangat terbatas dari operasi yang berwenang untuk konsumen internal. Konsumen internal dapat dipercaya secara implisit untuk kebanyakan operasi dan hanya membutuhkan otorisasi untuk operasi yang paling sensitif.
- Service level agreements. Interface Service memiliki peran signifikan dalam memastikan bahwa pelayanan memenuhi komitmen tingkat layanan untuk satu set khusus konsumen. Interface Service dapat mengimplementasikan caching untuk meningkatkan waktu respon dan mengurangi konsumsi bandwidth. Beberapa contoh dari Interface Service dapat digunakan di satu set beban-seimbang node pengolahan untuk mencapai skalabilitas, ketersediaan, dan kesalahan-toleransi persyaratan.
SUMBER : http://mufrizalrizki.blogspot.co.id/2016/04/file-terdistribusi.html
08.47 | | 0 Comments
Pengantar Quantum Computation
NPM : 56412641
Kelas : 4IA12
_____________________
A. Pendahuluan
Quantum Computation sendiri adalah bidang studi yang difokuskan pada
teknologi komputer berkembang berdasarkan prinsip-prinsip teori kuantum ,
yang menjelaskan sifat dan perilaku energi dan materi pada kuantum
(atom dan subatom) tingkat.
Quantum
Computer adalah alat untuk perhitungan yang menggunakan langsung dari
kuantum mekanik fenomena, seperti superposisi dan belitan , untuk
melakukan operasi pada Data. Cara kerja quantum computer sendiri berbeda
dengann komputer bisanya. Dalam komputasi klasik, jumlah data dihitung
dengan bit dalam komputer kuantum hal ini dilakukan dengan qubit
(quantum bit) yang berarti jika di komputer biasa hanya mengenal 0 atau
1, dengan qubit sebuah komputer quantum dapat mengenal keduanya secara
bersamaan dan itu membuat kerja dari komputer quantum itu lebih cepat
dari pada komputer biasa.
Setelah
sedikit memahami apa itu quantum computation dan quantum computer kita
akan memasuki pembahasan dari Entanglement. Entanglement sendiri masih
bagian dari Quantum Computation. Apa itu Entanglement? Entanglement
adalah suatu teori mekanika quantum yang menggambarkan seberapa cepat
dan betapa kuatnya keterhubungan partikel-partikel pada Quantum computer
yang dimana jika suatu partikel diperlakukan "A" maka akan memberikan
dampak "A" juga ke partikel lainnya.
Ada juga
pemahaman lain tentang Entanglement menurut Albert Einsten
"Entanglement Kuantum" di istilahkan "Perbuatan Sihir Jarak Jauh" yang
merupakan sifat dasar mekanika kuantum. Entanglement memungkinkan
informasi kuantum tersebar dalam puluhan ribu kilometer, dan hanya
dibatasi oleh seberapa cepat dan seberapa banyak pasangan entanglement
dapat bekerja dalam ruang. Dari sumber yang saya dapatkan dari internet :
[Quantum entanglement] merupakan fenomena yang menghubungkan dua
partikel sedemikian rupa sehingga perubahan yang terjadi pada satu
partikel seketika itu juga tercermin dalam partikel lainnya, meski
mungkin secara fisik diantara mereka terpisah beberapa tahun cahaya.
C. Pengoperasian Data Qubit
Qubit
merupakan kuantum bit , mitra dalam komputasi kuantum dengan digit
biner atau bit dari komputasi klasik. Sama seperti sedikit adalah unit
dasar informasi dalam komputer klasik, qubit adalah unit dasar informasi
dalam komputer kuantum . Dalam komputer kuantum, sejumlah partikel
elemental seperti elektron atau foton dapat digunakan (dalam praktek,
keberhasilan juga telah dicapai dengan ion), baik dengan biaya mereka
atau polarisasi bertindak sebagai representasi dari 0 dan / atau 1.
Setiap partikel-partikel ini dikenal sebagai qubit, sifat dan perilaku
partikel-partikel ini (seperti yang diungkapkan dalam teori kuantum )
membentuk dasar dari komputasi kuantum. Dua aspek yang paling relevan
fisika kuantum adalah prinsip superposisi dan Entanglement
Bit digambarkan oleh statusnya, 0 atau 1. Begitu pula, qubit
digambarkan oleh status quantumnya. Dua status quantum potensial untuk
qubit ekuivalen dengan 0 dan 1 bit klasik. Namun dalam mekanika quantum,
objek apapun yang memiliki dua status berbeda pasti memiliki rangkaian
status potensial lain, disebut superposisi, yang menjerat kedua status
hingga derajat bermacam-macam.
D. Quantum Gates
Gate sendiri dalam bahasa Indonesia adalah Gerbang.jadi Quantum
Gates adalah sebuah gerbang kuantum yang dimana berfungsi mengoperasikan
bit yang terdiri dari 0 dan 1 menjadi qubits. dengan demikian Quantum
gates mempercepat banyaknya perhitungan bit pada waktu bersamaan.
E. Algoritma Shor
Algoritma Shor, dinamai matematikawan Peter Shor , adalah
algoritma kuantum yaitu merupakan suatu algoritma yang berjalan pada
komputer kuantum yang berguna untuk faktorisasi bilangan bulat.
Algoritma Shor dirumuskan pada tahun 1994. Inti dari algoritma ini
merupakan bagaimana cara menyelesaikan faktorisasi terhaadap bilanga
interger atau bulat yang besar.
Efisiensi algoritma Shor adalah karena efisiensi kuantum
Transformasi Fourier , dan modular eksponensial. Jika sebuah komputer
kuantum dengan jumlah yang memadai qubit dapat beroperasi tanpa mengalah
kebisingan dan fenomena interferensi kuantum lainnya, algoritma Shor
dapat digunakan untuk memecahkan kriptografi kunci publik skema seperti
banyak digunakan skema RSA. Algoritma Shor terdiri dari dua bagian:
- Penurunan yang bisa dilakukan pada komputer klasik, dari masalah anjak untuk masalah ketertiban -temuan.
- Sebuah algoritma kuantum untuk memecahkan masalah order-temuan.
Hambatan runtime dari algoritma Shor adalah kuantum eksponensial
modular yang jauh lebih lambat dibandingkan dengan kuantum Transformasi
Fourier dan pre-/post-processing klasik. Ada beberapa pendekatan untuk
membangun dan mengoptimalkan sirkuit untuk eksponensial modular. Yang
paling sederhana dan saat ini yaitu pendekatan paling praktis adalah
dengan menggunakan meniru sirkuit aritmatika konvensional dengan gerbang
reversibel , dimulai dengan penambah ripple-carry. Sirkuit Reversible
biasanya menggunakan nilai pada urutan n ^ 3, gerbang untuk n qubit.
Teknik alternatif asimtotik meningkatkan jumlah gerbang dengan
menggunakan kuantum transformasi Fourier , tetapi tidak kompetitif
dengan kurang dari 600 qubit karena konstanta tinggi.
Sumber : http://cichaputri.blogspot.com/2015/06/pengantar-quantum-computation.html
03.07 | | 0 Comments
Pengantar Komputasi Cloud
Nama : Robby Fahlevi
NPM : 56412641
Kelas : 4IA12
_____________________
D. Distributed Computation dalam Cloud Computing
Distributed Computing adalah ilmu yang memecahkan masalah besar dengan
memberikan bagian kecil dari masalah untuk banyak komputer untuk
memecahkan dan kemudian menggabungkan solusi untuk bagian-bagian menjadi
solusi untuk masalah tersebut. Distributed computing terkait dengan
system perangkat keras dan perangkat lunak yang memiliki lebih dari satu
elemen pemrosesan atau storage element.
Pada cloud computing, penyimpanan data hanya dilakukan pada server
utama, sehingga pengguna hanya dapat mengaksesnya tanpa harus mengetahui
infrastruktur pembuatan aplikasinya. Hanya perlu interface software
saja untuk mengakses server. Interface ini pada umumnya merupakan web
browser yang tersedia dengan banyak pilihan dan tidak berbayar.
Cloud computing dipecah ke dalam beberapa kategori yang berbeda
berdasarkan jenis layanan yang disediakan. SaaS (Software as a Service)
adalah kategori komputasi awan di mana sumber daya utama yang tersedia
sebagai layanan perangkat lunak aplikasi. PaaS (Platform as a Service)
adalah kategori / penerapan komputasi awan di mana penyedia layanan
memberikan platform komputasi atau solusi tumpukan untuk pelanggan
mereka melalui internet. IaaS (Infrastructure as a Service) adalah
kategori komputasi awan di mana sumber daya utama yang tersedia sebagai
layanan yang infrastruktur perangkat keras. DaaS (Desktop sebagai
Layanan), yang merupakan layanan muncul-Aas berkaitan dengan memberikan
pengalaman seluruh desktop melalui internet. Ini kadang-kadang disebut
sebagai virtualisasi desktop / virtual desktop atau desktop host.
Bidang ilmu komputer yang berkaitan dengan sistem terdistribusi disebut
komputasi terdistribusi. Sebuah sistem terdistribusi terdiri dari lebih
dari satu komputer self-directed berkomunikasi melalui jaringan.
Komputer-komputer ini menggunakan memori lokal mereka sendiri. Semua
komputer dalam sistem terdistribusi berbicara satu sama lain untuk
mencapai tujuan bersama tertentu. Atau, pengguna yang berbeda pada
setiap komputer mungkin memiliki kebutuhan individu yang berbeda dan
sistem terdistribusi akan melakukan koordinasi sumber daya bersama (atau
bantuan berkomunikasi dengan node lain) untuk mencapai tugas-tugas
masing-masing. Node berkomunikasi menggunakan message passing. Komputasi
terdistribusi juga dapat diidentifikasi sebagai menggunakan sistem
terdistribusi untuk memecahkan masalah besar tunggal dengan melanggar
itu dengan tugas, masing-masing yang dihitung masing-masing komputer
dari sistem terdistribusi. Biasanya, mekanisme toleransi berada di
tempat untuk mengatasi kegagalan komputer individu. Struktur (topologi,
delay dan kardinalitas) dari sistem ini tidak dikenal di muka dan itu
bersifat dinamis. Komputer individu tidak harus tahu segala sesuatu
tentang seluruh sistem atau masukan lengkap (untuk masalah yang akan
dipecahkan).
E. Map Reduce dan NoSQL (Not Only SQL)
Map-Reduce adalah salah satu konsep teknis yang sangat penting di dalam teknologi cloud terutama karena dapat diterapkannya dalam lingkungan distributed computing. Dengan demikian akan menjamin skalabilitas aplikasi kita.
Salah satu contoh penerapan nyata map-reduce ini dalam suatu produk adalah yang dilakukan Google. Dengan inspirasi dari functional programming map dan reduce Google bisa menghasilkan filesystem distributed yang sangat scalable, Google Big Table.
Dan juga terinspirasi dari Google, pada ranah open source terlihat percepatan pengembangan framework lainnya yang juga bersifat terdistribusi dan menggunakan konsep yang sama, project open source tersebut bernama Apache Hadoop.
NoSQL adalah istilah untuk menyatakan berbagai hal yang didalamnya termasuk database sederhana yang berisikan key dan value seperti Memcache, ataupun yang lebih canggih yaitu non-database relational seperti MongoDB, Cassandra, CouchDB, dan yang lainnya.
Wikipedia menyatakan NoSQL adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema table dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional.
SUMBER : http://nubijustshare.blogspot.co.id/2016/04/pengantar-komputasi-cloud_8.html
03.05 | | 0 Comments
Pengantar Komputasi Cloud
Nama : Robby Fahlevi
NPM : 56412641
Kelas : 4IA12
_____________________
A.Pendahuluan
NPM : 56412641
Kelas : 4IA12
_____________________
A.Pendahuluan
Perkembangan
teknologi di era ini menggunakan konsep – konsep seperti social networking,
open, share, colaborations, mobile, easy maintenance, one click, terdistribusi,
scalability, concurency, dan transparan. Sampai saat ini trend teknologi Cloud
Computing (Komputasi Awan) masih terus diteliti dalam penelitian – penelitian
para pakar IT dunia. Dengan berbagai kelebihan dan kekurangan, Cloud Computing
hair dengan memudahkan akses data dari mana saja dan kapan saja, karena dengan
memanfaatkan internet dan menggunakan perangkat fixed atau mobile device
menggunakan internet cloud sebagai tempat penyimpanan data, aplikasi dan
lainya. Teknologi ini akan memberikan banyak keuntungan baik dari sisi pemberi
layanan (provider) atau dari sisi user. Penerapan teknologi ini memberikan
dampak yang sangat signifikan bagi pengembangan teknologi itu sendiri, baik
dari sisi pengguna maupun dari sisi industri. Pengguna diuntungkan dengan
semakin mudahnya memperoleh atau mengunduh data secara cepat dan mudah karena
banyak layanan yang dibuka oleh pihak industri. Keuntungan bagi pihak industri
pun tidak kalah besar dengan kemudahan yang didapat oleh pengguna, karena
dengan semakin majunya teknologi cloud computing akan semakin memudahkan
industri untuk memasarkan produk dan menyebarkan informasi secara meluas
keseluruh penjuru dunia. Cloud computing adalah gabungan pemanfaatan teknologi
komputer dan pengembangan berbasis internet.
Kelebihan
Cloud Computing:
Kelebihan
paling menonjol dari cloud computing adalah kemudahan akses. Untuk mengerjakan
suatu pekerjaan tidak mesti berada dihadapan satu komputer yang sama. Misal
anda diberi tugas oleh oleh atasan anda untuk membuat sebuah bahan presentasi
dengan format aplikasi power point, karena pada komputer anda tidak ada
aplikasi power pointnya maka anda bisa membuatnya di Google Docs (Google Drive)
ataupun skydrive nya windows. Cukup koneksi ke internet, login ke akun google
atau hotmail. Outlook mail, maka anda pun sudah bisa membuat bahan presentasi
secara online. Fleksibilitas, seperti contoh diatas, bahan presentasi yang kita
buat tidak perlu di simpan di hardisk yang akan memakan ruang space. Dimanapun
anda berada ataupun kemanapun anda berpergian file – file tersebut bisa dibuka
dimana saja asalkan ada koneksi internet. Andaikata anda akan pergi ke
perusahaan cabang anda, anda tidak perlu lagi repot – repot membawa laptop ke
cabang perusahaan anda, karena semua file – file tersimpan diawan. Penghematan
adalah kelebihan lain dari cloud computing.
Kekurangan
Cloud Computing:
Hal
yang paling wajib dalam cloud computing adalah koneksi internet, internet bisa
dibilang jalan satu – satunya untuk menuju ke cloud computing, ketika tidak ada
koneksi internet ditempat kita berada, maka jangan harap bisa menggunakan
sistem cloud computing. Hal ini masih menjadi hambatan khususnya bagi
Indonesia, karena belum semua wilayah di tanah air terjangkau oleh akses
internet, ditambah lagi sekalipun ada koneksi internet, koneksinya belum stabil
dan kurang memadai. Kerahasiaan dan keamanan adalah salah satu hal yang paling
diragukan pada komputasi awan. Karena dengan menggunakan sistem cloud computing
ini berarti kita mempercayakan sepenuhnya atas keamanan dan kerahasiaan data –
data kepada perusahaan penyedia server komputasi awan (cloud computing). Contoh
yang paling sederhana adalah ketika anda menyimpan foto – foto anda di facebook
dengan beberapa konfigurasi privasi yang diberikan kepada kita, maka selebihya
kita mempercayakan keamanan file – file tersebut kepada facebook. Andaikata
foto – foto tersebut hilang kita tidak bisa menuntut karena kita memanfaatkan
jasa tersebut secara cuma – cuma alias gratis.
B. Pengantar Komputasi Grid
Komputasi
Grid sebenarnya merupakan sebuah aplikasi pengembangan dari jaringan komputer
(network). Hanya saja, tidak seperti jaringan komputer konvensional yang
berfokus pada komunikasi antar piranti (device), aplikasi pada grid computing
dirancang untuk memanfaatkan sumber daya pada terminal dalam jaringannya. Grid
Computing biasanya diterapkan untuk menjalankan sebuah fungsi yang terlalu
kompleks atau terlalu intensif untuk dikerjakan oleh satu sistem tunggal.
Seperti halnya pengguna internet yang mengakses berbagai situs web dan
menggunakan berbagai protokol seakan – akan dalam sebuah sistem yang berdiri
sendiri, maka pengguna aplikasi Grid Computing seolah – olah akan menggunakan
sebuah virtual komputer dengan kapasitas pemrosesan data yang sangat besar.
Menurut
definisi Grid Computing atau Komputasi Grid merupakan salah satu dari tipe data
komputasi paralel. Karena penggunaan sumber daya nya melibatkan banyak komputer
terpisah secara geografis namun tersambung via jalur komunikasi (termasuk
internet) untuk memecahkan persoalan komputasi skala besar. Semakin cepat jalur
komunikasi terbuka, maka peluang untuk menggabungkan kinerja komputasi dari
sumber – sumber komputer yang terpisah menjadi semakin meningkat. Dengan
demikian, skala komputasi terdistribusi dapat ditingkatkan secara geografis
lebih jauh lagi, melintasi batas – batas domain administrasi yang ada.
Beberapa
konsep dasar dari komputasi grid:
·
Sumber daya dikelola dan dikendalikan secara
lokal
·
Sumber daya berbeda dapat mempunyai kebijakan
dan mekanisme berbeda
Secara
generik, keuntungan dasar dari penerapan komputasi grid, yaitu:
·
Perkalian dari sumber daya: Resource pool
dari CPU dan storage tersedia ketika idle
·
Lebih cepat dan lebih besar: Komputasi
simulasi dan penyelesaian masalah dapat berjalan lebih cepat dan mencakup
domain yang lebih luas
·
Software dan aplikasi: Pool dari aplikasi dan
pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi
penelitian yang lebih baik.
· Data: Akses terhadap sumber data global, dan
hasil penelitian lebih baik.
C.VIRTUALISASI
Ada dua istilah
yang sedang popouler saat ini dalam hal teknologi komputasi, yaitu Virtualisasi
dan Cloud computing, namun saat ini sepertinya banyak yang menganggap
bahwa virtualisasi dan cloud computing adalah hal yang sama, padahal sebenarnya
cloud computing itu lebih dari sekedar virtualisasi.
Virtualisasi
adalah sebuah teknologi, yang memungkinkan anda untuk membuat versi virtual
dari sesuatu yang bersifat fisik, misalnya sistem operasi, storage data atau
sumber daya jaringan. Proses tersebut dilakukan oleh sebuah software atau
firmware bernama Hypervisor. Hypervisor inilah yang menjadi nyawanya virtualisasi,
karena dialah layer yang "berpura - pura" menjadi sebuah
infrastruktur untuk menjalankan beberapa virtual machine. Dalam prakteknya,
dengan membeli dan memiliki satu buah mesin, anda seolah - olah memiliki banyak
server, sehingga anda bisa mengurangi pengeluaran IT untuk pembelian server
baru, komponen, storage, dan software pendukung lainnya.
Contoh
Aplikasi Virtualisasi
·
Pear PC
Gambar 1.8 Pear PC
Software ini dapat berjalan independen terhadap arsitektur. Program yang dibangun oleh sebastian Bialas dan dilisensikan GPL ini termasuk sangat menarik. Dari sisi host, software ini dapat berjalan pada POSIX X-11, termasuk Linux. Selain itu juga dapat berjalan pada host Win32.
SUMBER : http://karynakhaerani.blogspot.co.id/2016/04/pengantar-komputasi-cloud.html
03.04 | | 0 Comments
Protokol Pada Sistem Terdistribusi
Nama : Robby Fahlevi
NPM : 56412641
Kelas : 4IA12
__________________
Komponen Protokol
1. Aturan atau prosedur, mengatur pembentukan/pemutusan hubungan
2. Format atau bentuk, mengatur proses transfer data representasi pesan
3. Kosakata (vocabulary), jenis pesan dan makna masing-masing pesan
Fungsi Protokol
Secara umum fungsi dari protokol adalah untuk menghubungkan sisi pengirim dan sisi penerima dalam berkomunikasi serta dalam bertukar informasi agar dapat berjalan dengan baik dan benar. Sedangkan fungsi protokol secara detail dapat dijelaskan berikut:
• Fragmentasi dan reassembly
Fungsi dari fragmentasi dan reassembly adalah membagi informasi yang dikirim menjadi beberapa paket data pada saat sisi pengirim mengirimkan informasi dan setelah diterima maka sisi penerima akan menggabungkan lagi menjadi paket informasi yang lengkap.
• Encapsulation
Fungsi dari encapsulation adalah melengkapi informasi yang dikirimkan dengan address, kode-kode koreksi dan lain-lain.
• Connection control
Fungsi dari connection control adalah membangun hubungan (connection) komunikasi dari sisi pengirim dan sisi penerima, dimana dalam membangun hubungan ini juga termasuk dalam hal pengiriman data dan mengakhiri hubungan.
• Flow control
Berfungsi sebagai pengatur perjalanan datadari sisi pengirim ke sisi penerima.
• Error control
Dalam pengiriman data tak lepas dari kesalahan, baik itu dalam proses pengiriman maupun pada waktu data itu diterima. Fungsi dari error control adalah mengontrol terjadinya kesalahan yang terjadi pada waktu data dikirimkan.
• Transmission service
Fungsi dari transmission service adalah memberi pelayanan komunikasi data khususnya yang berkaitan dengan prioritas dan keamanan serta perlindungan data.
Jenis
- Jenis Protocol :
Beberapa jenis protokol yang umum digunakan dalam sebuah komputer adalah sebagai berikut :
a. NetBeui Frame Protocol
b. NetBIOS
c. NWLink
d. IPX/SPX
e. TCP/IP
f. Subnet mask
Beberapa jenis protokol yang umum digunakan dalam sebuah komputer adalah sebagai berikut :
a. NetBeui Frame Protocol
b. NetBIOS
c. NWLink
d. IPX/SPX
e. TCP/IP
f. Subnet mask
Dari keenam jenis protokol tersebut, yang akan dibahas adalah protokol TCP/IP.
Lapisan
Protokol TCP/IP
1. Lapisan application bertugas mengatur interaksi antara pengguna komputer dengan program aplikasi yang dipakai.
2. Lapisan transport berfungsi untuk memecah data dari lapisan application menjadi segmen segmen dan membangun hubungan dari satu titik ke titik lainnya.
3. Lapisan internet bertugas untuk mengirim packet atau datagram(sekelompok data) dari satu lokasi kelokasi lainnya.
4. Lapisan network accsess bertanggung jawab untuk memindahkan data dari satu lokasi ke lokasi lainnya.
1. Lapisan application bertugas mengatur interaksi antara pengguna komputer dengan program aplikasi yang dipakai.
2. Lapisan transport berfungsi untuk memecah data dari lapisan application menjadi segmen segmen dan membangun hubungan dari satu titik ke titik lainnya.
3. Lapisan internet bertugas untuk mengirim packet atau datagram(sekelompok data) dari satu lokasi kelokasi lainnya.
4. Lapisan network accsess bertanggung jawab untuk memindahkan data dari satu lokasi ke lokasi lainnya.
Network Protocol
Middleware dan aplikasi terdistribusi
di implementasikan diatas protokol network. Protocol diimplementasikan dalam
beberapa lapisan (layer).
TCP dan UDP
TCP
TCP ( Transport Control Protocol) dan UDP (User Datagram Protocol) adalah protokol transport yang berada di atas lapisan Internet Protocol (IP). TCP adalah protocol yang handal, TCP dapat memastikan data yang dikirimkan sampai ke tujuan begitu juga sebaliknya. TCP menambahkan beberapa prosedur diatas layer internet protocol untuk memastikan reliabilitas transport data :
·
Sequencing Pada setiap transmisi data (paket) diberi nomor urut.
Sehingga pada titik tujuan tidak ada segmen yang diterima sampai semua segmen
pada urutan bawah belum di terima.
·
Flow Control Pengirim tidak akanmembanjiri penerima.Karena pengiriman
didasarkan pada periode acknowledgment yang di terima oleh pengirim yang
berasal dari penerima.
·
Retrasnmission dan duplicate handling Apabila segmen tidak mendapatkan
acknowledge dari penerima sampai waktu timeout yang ditentukan terlampaui maka
pengirim akan mengirim ulang. Berdasarkan nomor urut penerima data dapat
mendeteksi dan menolak kalau terjadi duplikasi.
·
Bufering digunakan untuk menyeimbangkan antara pengirim dan penerima.
Kalau bu¤er pada penerima penuh, maka segmen yang datang akan putus, sehingga
menyebabkan tidak ada acknowledge ke pengirim dan pengirim akan melakukan
transmot ulang.
·
Checksum Setiap segment membawa checksum. Apabila checksum segmen yang di
terima tidak sesuai maka paket data tersebut akan di drop (dan kemudian akan di
transmit ulang)
UDP
UDP tidak memberikan garansi seperti halnya yang di berikan oleh TCP.
·
UDP tidak memberikan garansi terhadap pengiriman data Pada Internet
Protocol paket data dapat drop karena suatu hal contohnya jaringan yang rusak,
UDP tidak mempunyai mekanisme untuk menanggulangi hal tersebut.
·
Kalau ingin menggunakan UDP sebagai protocol pengiriman yang handal,
makamekanisme kehandalan yang diinginkan di lakukan pada layer aplikasi.
Komunikasi
Request - Reply
Komunikasi antara proses dan objek pada sistem terdistribusi dilakukan melalui message passing.
Komunikasi antara proses dan objek pada sistem terdistribusi dilakukan melalui message passing.
Client melakukan :
1. Mengirim (request) pesan ke server
2. Menerima hasil (reply dari server)
Server melakukan :
1. Penerimaan pesan (request) dari client
2. Mengeksekusi permintaan dari client
3. Mengirim hasil (reply) ke client.
Sumber :
https://www.google.co.id/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0ahUKEwi9_c7c8NHLAhUMSI4KHb6eDKMQFggvMAM&url=http%3A%2F%2Fnaeli.staff.gunadarma.ac.id%2FDownloads%2Ffiles%2F8465%2FKomunikasi_revisi.pdf&usg=AFQjCNH2NGKGUWU_EWdgDaKW0bVW9RJ2sg
http://sergeantfai.blogspot.co.id/2013/03/protokol-sistem-terdistribusi_2431.html
06.50 | | 0 Comments
Langganan:
Postingan (Atom)
Mengenai Saya
Diberdayakan oleh Blogger.