Paralel Computation lanjutan

0
  1. 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.

 

          2. Pengantar Massage Parsing, Open MP

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.

OpenMP mengimplementasi multithreading. Bagian kode yang akan dijalankan secara parallel ditandai sesuai dengan Preprocessor directif sehingga akan membuat thread-thread sebelum dijalnkan. Setiap thread memiliki id yang di buat menggunakan fungsi (omp_get_thread_num() pada C/C++ dan OMP_GET_THREAD_NUM() pada Fortran). Secara default, setiap thread mengeksekusi kode secara parallel dan independent. “Work-sharing constructs” dapat dapat digunakan untuk membagi tugas antar thread sehingga setiap thread menjalankan sesuai bagian alokasi kodenya. Fungsi OpenMP berada pada file header yang berlabel “omp.h” di C / C++.

 

          3. Pengantar Pemrograman CUDA CPU

Sebuah GPU (Graphical Processing Unit) pada 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 /sebagaimana kenyataan sesungguhnya, 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.

Keuntungan dengan CUDA sebenarnya tidak luput dari teknologi aplikasi yang ada. CUDA akan mempercepat proses aplikasi tertentu, tetapi tidak semua aplikasi yang ada akan lebih cepat walaupun sudah mengunakan fitur CUDA. Hal ini tergantung seberapa cepat procesor yang digunakan, dan seberapa kuat sebuah GPU yang dipakai. Dan bagian terpenting adalah aplikasi apa yang memang memanfaatkan penuh kemampuan GPU dengan teknologi CUDA. Kedepan seperti pengembang software Adobe akan ikut memanfaatkan fitur CUDA pada aplikasi mereka. Jawaban akhir adalah, untuk memanfaatkan CUDA kembali melihat aplikasi software yang ada. Apakah software yang ada memang mampu memanfaatkan CUDA dengan proses melalui GPU secara penuh. Hal tersebut akan berguna untuk mempercepat selesainya proses pada sebuah aplikasi. Dengan kecepatan proses GPU, aplikasi akan jauh lebih cepat. Khususnya teknologi ilmu pengetahuan dengan ramalan cuaca, simulator pertambangan atau perhitungan yang rumit dibidang keuangan. Sedangkan aplikasi umum sepertinya masih harus menunggu.

 

 

sumber : http://chachados.blogspot.co.id/2013/07/parallel-computation.html

Advertisements

Paralel Computation

0
  1. Parallelism Concept

Komputasi paralel merupakan salah satu teknik komputasi, dimana proses komputasinya dilakukan oleh beberapa resources ( komputer ) yang independen, secara bersamaan. Komputasi paralel biasanya diperlukan pada saat terjadinya pengolahan data dalam jumlah besar ( di industri keuangan, bioinformatika, dll ) atau dalam memenuhi proses komputasi yang sangat banyak. Selanjutnya, komputasi paralel ini juga dapat ditemui dalam kasus kalkulasi numerik dalam penyelesaian persamaan matematis di bidang fisika ( fisika komputasi ), kimia ( kimia komputasi ), dll. Dalam menyelesaikan suatu masalah, komputasi paralel memerlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel.

Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara paralel. Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah / operasi secara bersamaan ( komputasi paralel ), baik dalam komputer dengan satu ( prosesor tunggal ) ataupun banyak ( prosesor ganda dengan mesin paralel ) CPU. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan komputer lebih sering istilah yang digunakan adalah sistem terdistribusi ( distributed computing ). Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan ( dalam waktu yang sama ), semakin banyak pekerjaan yang bisa diselesaikan.

Analogi yang paling gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan bila anda mengerjakan hal tersebut secara berurutan ( serial ). Atau waktu yang anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua. Performa dalam pemrograman paralel diukur dari berapa banyak peningkatan kecepatan ( speed up ) yang diperoleh dalam menggunakan tehnik paralel. Secara informal, bila anda memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak 2 kali.

 

          2. Distributed Processing

Pemrosesan paralel adalah pendekatan komputasi untuk meningkatkan tingkat di mana satu set data diolah dengan pengolahan bagian yang berbeda dari data pada waktu yang sama secara simultan atau bersamaan pada sebuah komputer dan berfungsi memecah beban besar menjadi beberapa beban kecil untuk mempercepat proses penyelesaian masalah.

Didistribusikan pengolahan paralel menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses beberapa data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.

          Tipe lain dari komputasi paralel yang kadang-kadang disebut “didistribusikan” adalah gagasan dari sebuah komputer paralel cluster. Sebuah cluster akan banyak CPU terhubung melalui kecepatan tinggi koneksi ethernet ke hub sentral (Server) yang memberi masing-masing beberapa pekerjaan yang harus dilakukan. Metode cluster mirip dengan metode yang dijelaskan dalam paragraf di atas, kecuali bahwa semua CPU secara langsung terhubung ke server, dan satu-satunya tujuan mereka adalah untuk melakukan perhitungan yang diberikan kepada mereka.

Parallel distributed computing dapat dibentuk dari :

a. Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.

b. PVM (Parallel Virtual Machine) untuk mendukung workstation clusters

c. MPI (Message-Passing Interface) programming GUI untuk parallel computers.

 

      3. Architectual 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.

  • 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).

  • 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.

sumber : http://chachados.blogspot.co.id/2013/07/parallel-computation.html

File Service Terdistribusi

0

 File Sistem Terdistribusi ( Distributed File System , disingkat) adalah file sistem yang mendukung sharing files dan resources dalam bentuk penyimpanan persistent di sebuah network. File server pertama kali didevelop pada tahun 1970 dan Sun NFS (Network File System) menjadi DFS pertama yang banyak digunakan setelah awal pemunculannya di tahun 1985. DFS yang terkenal selain NFS adalah AFS (Andrew File System) dan CIFS (Common Internet File System).

 Sebuah file server menyediakan file service ke client. Dari sisi client terdapat interface untuk file service dalam hal operasi primitif file, seperti membuat file (create), menghapus (delete) dan read / write file. Komponen perangkat keras utama yang mana file server mengontrolnya adalah sebuah local storage (umumnya disk drive / HDD). Ditempat itulah file-file tersimpan dan dari tempat tersebut request client meretrive file. Pada DFS client, server dan juga perangkat penyimpanan merupakan mesin terpisah dalam sebuah lingkungan terdistribusi (Intranet).

 Tujuan utama dari sistem file terdistribusi yaitu mencontoh fungsi dari sistem file non‐terdistribusi pada program klien yang berjalan di komputer‐komputer dalam suatu jaringan. Dimulai dengan pembahasan mengenai sistem storage terdistribusi dan non‐terdistribusi. Sistem file awalnya dikembangkan untuk sistem komputer terpusat dan komputer desktop sebagai fasilitas sistem operasi yang menyediakan antarmuka pemrograman yang bagus dalam storage disk. Setelah itu, mereka menambahkan fasilitas seperti kontrol akses dan mekanisme file‐locking yang membuatnya menjadi lebih berguna dalam pengiriman data dan program. Sistem file terdistribusi mendukung pengiriman informasi dalam bentuk file dan sesumber hardware dalam bentuk storage lewat intranet. File service yang telah dirancang dengan baik menyediakan akses ke file yang disimpan pada server dengan performance yang sama atau bahkan lebih baik dari file yang disimpan pada local disk. Desainnya disesuaikan dengan performance dari jaringan lokal dan oleh karena itulah menjadi yang paling efektif dalam menyediakan pengiriman storage untuk digunakan di intranet.

Layanan File Terdistribusi

  1. Layanan Dasar

– Tempat penyimpanan tetap untuk data dan program

– Operasi terhadap file (create, open, read,…)

– Multiple remote clients (dalam intranet)

– File sharing

– Menggunakan semantic one-copy update umum, melalui RPC

  1. Perkembangan baru

– Persistent object stores (storage of objects)

  1. Persistent Java, Corba, …

– Replikasi, caching keseluruhan file

–Multimedia terdistribusi (contoh: file server Tiger video)

 

Keperluan sistem file terdistribusi

  1. Transpansi

    File service biasanya merupakan service yang harus di‐load paling berat dalam sebuah intranet, sehingga fungsionalitas dan performance‐nya sangat penting.

    o Transparansi akses

    o Transparansi lokasi

    o Transparansi mobilitas

    o Transparansi performanceo Transparansi pengukuran

  2. Update file konkuren

    Perubahan pada sebuah file oleh seorang klien seharusnya tidak menganggu operasi dari klien lain yang pada saat bersamaan mengakses atau mengubah file yang sama.

  3. Replikasi file

    Beberapa file service mendukung penuh replikasi, tetapi kebanyakan mendukung caching file atau portion file secara lokal, bentuk replikasi yang terbatas.

  4. Keheterogenan sistem operasi dan hardware

    Antarmuka service sebaiknya didefinisikan sehingga software klien dan server dapat diimplementasikan untuk sistem operasi dan komputer yang berbeda.

  5. Toleransi kesalahan

    Server bisa menjadi stateless, sehingga dapat di‐restart dan service di‐restore kembali setelah mengalami failure tanpa perlu me‐recover state sebelumnya.

  6. Konsistensi

    Ketika file‐file direplikasi atau di‐cache pada site yang berbeda, ada delay yang tak bisa dihindari pada propagasi modifikasi dari satu site ke set lain yang membawa copy, dan ini bisa menghasilkan beberapa deviasi dari one‐copy semantic

  7. Keamanan

    Secara virtual, semua sistem file menyediakan mekanisme kontrol akses berdasarkan kegunaan dari daftar kontrol akses.

  8. Efisiensi

    File service terdistribusi sebaiknya menawarkan fasilitas yang paling tidak, sama bagusnya dengan yang ditemukan pada sistem file konvensional, dan sebaiknya mendapat level performance yang dapat diperhitungkan.

 

 

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

 

a.  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.

 

Contoh File Service

  1. 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.

      2. 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.

Kebutuhan file sistem terdistribusi

  1. Transpansi

Keseimbangan antara flesibilitas dan skalabilitas terhadap kompleksitas dan performansi dalam desainnya.

  1. Update file konkuren

Perubahan pada sebuah file oleh seorang klien seharusnya tidak menganggu operasi dari klien lain yang pada saat bersamaan mengakses atau mengubah file yang sama.

  1. Replikasi file

Beberapa file service mendukung penuh replikasi, tetapi kebanyakan mendukung caching file atau portion file secara lokal, bentuk replikasi yang terbatas.

  1. Ke‐heterogen‐an sistem operasi dan hardware

Antarmuka service sebaiknya didefinisikan sehingga software klien dan server dapat diimplementasikan untuk sistem operasi dan komputer yang berbeda.

  1. Toleransi kesalahan

Server bisa menjadi stateless, sehingga dapat di‐restart dan service di‐restore kembali setelah mengalami failure tanpa perlu me‐recover state sebelumnya.

  1. Konsistensi

Ketika file‐file direplikasi atau di‐cache pada site yang berbeda, ada delay yang tak bisa dihindari pada propagasi modifikasi dari satu site ke set lain yang membawa copy, dan ini bisa menghasilkan beberapa deviasi dari one‐copy semantic.

  1. Keamanan

Secara virtual, semua sistem file menyediakan mekanisme kontrol akses berdasarkan kegunaan dari daftar kontrol akses.

  1. Efisiensi

File service terdistribusi sebaiknya menawarkan fasilitas yang paling tidak, sama bagusnya dengan yang ditemukan pada sistem file konvensional, dan sebaiknya mendapat level performance yang dapat diperhitungkan.

 

Sumber :

http://www.academia.edu/10638873/RANGKUMAN_MATERI_SISTEM_TERDISTRIBUSI

 

Pengantar Quantum computational

0
  1. Pendahuluan

Quantum Computer atau yang dikenal sebagai Quantum Supercomputer adalah sistem komputasi yang menggunakan sebuah fenomena mekanika kuantum untuk melakukan operasi data. Dalam komputasi klasik, jumlah data dihitung dengan bit, dalam komputer kuantum, hal ini dilakukan dengan qubit atau quantum bit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.

  1. Entanglement

 Quantum entanglement adalah salah satu fenomena paling unik di dunia Quantum Fisika. Fenomena ini memungkinkan dua atom untuk mempunyai properti yang sama atau berlawanan satu sama lain, tanpa adanya interaksi diantara keduanya. Jadi meskipun jarak memisahkan dua atom itu, keduanya akan tetap terhubung seketika seolah ada sinyal yang mampu mempengaruhi keadaan mereka yang bergerak lebih cepat dari kecepatan cahaya.

  1. Pengoprasian data bit

Bit atau binary digit, merupakan ukuran terkecil data dalam sebuah komputer, yang hanya terdiri dari 1 atau 0, nyala atau mati, benar atau salah, tidak ada selain dari dua kemungkinan itu. Tapi qubit, atau quantum bit, bisa memiliki tiga kemungkinan, 1, 0, atau superposisi dari 1 dan 0. Iya, tidak, dan “mungkin”. Qubit menggunakan mekanika kuantum ( hukum fisika yang berlaku hanya untuk partikel yang sangat kecil seperti atom ) untuk mengkodekan informasi baik sebagai 1 dan 0 pada saat yang sama.

  1. Quantum gates

Dalam komputasi kuantum, khususnya model sirkuit kuantum perhitungan, Quantum Gate (atau gerbang logika kuantum) adalah rangkaian dasar kuantum yang beroperasi di sejumlah kecil qubits. Mereka adalah susunan blok sirkuit kuantum, seperti gerbang logika klasik atau untuk sirkuit digital konvensional.

Tidak seperti banyak gerbang logika klasik, gerbang logika kuantum yang reversibel. Namun, untuk melakukan komputasi klasik menggunakan gerbang hanya reversibel. Misalnya, pintu gerbang Toffoli reversibel dapat melaksanakan semua fungsi Boolean. Gerbang ini setara kuantum langsung yang menunjukkan bahwa sirkuit kuantum dapat melakukan semua operasi yang dilakukan oleh sirkuit klasik.

Gerbang logika kuantum diwakili oleh matriks kesatuan. Gerbang kuantum yang paling umum beroperasi pada ruang satu atau dua qubit, seperti biasa gerbang logika klasik beroperasi pada satu atau dua bit. Ini berarti bahwa sebagai matriks, gerbang kuantum dapat dijelaskan oleh 2 × 2 atau 4 × 4 matriks unitary.

  1. Algoritma Shor

Algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode RSA ini, jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.

sumber :

  1. https://docs.google.com/presentation/d/1o4aLKJ6sBJ33ioQvAGnKel4HzQLy1BXHj-MxOKqZNUw/htmlpresent
  2. http://aninditasaktiaji.com/5-fungsi-quantum-entanglement/
  3. http://maya-ardiati-fst12.web.unair.ac.id/artikel_detail-117049-Prokom-Artikel%20Quantum%20Computing%20Dan%20Quantum%20Crypto.html
  4. https://en.wikipedia.org/wiki/Quantum_gate

Pengantar Komputasi Cloud Lanjut

0

    4. Distribusi computation dalam cloud computing

         Komputasi Terdistribusi adalah konsep menggunakan sistem terdistribusi terdiri dari banyak node diatur sendiri untuk memecahkan masalah yang sangat besar (yang biasanya sulit untuk diselesaikan dengan satu komputer) dan Cloud computing. Pada dasarnya komputasi terdistribusi berfungsi sebagai penjualan dan model distribusi untuk berbagai jenis sumber daya melalui internet, Komputasi dengan memecah masalah ke tugas sederhana, dan menugaskan tugas-tugas ke node individu. Oleh sebab itu implementasi 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.

    5. Map reduce dan no sql ( not only sql ) beserta contoh

Map reduce merupakan sebuah framework pemrograman yang akan memproses sebuah data yang berukuran besar, yang biasanya data tersebut digunakan untuk komputasi terdistribusi pada kumpulan komputer.

Sedangkan NoSQL (singkatan dari Not Only SQL) adalah tipe database yang berbeda dengan konsep RDBMS ataupun ODBMS. Pada konsep NoSQL ini bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi lebih fleksibel bila ada perubahan di masa mendatang.

NoSQL database adalah sebuah class dari data storage system yang tidak berelasi. NoSQL tidak memerlukan skema table, sehingga tidak menggunakan konsep relasi. NoSQL database secara native tidak menggunakan SQL seperti yang biasa terdapat pada relational database. Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak, Dynamo dan lainnya.

sumber :

http://kiezie-shaden.blogspot.co.id/2015/06/cloud-computing.html

 

Pengantar Komputasi Cloud

0
  1. Pendahuluan

        Komputasi Cloud gabungan pemanfaatan teknologi komputer termasuk segala elemen yang berada didalamnya dalam suatu jaringan dengan pengembangan berbasis internet (inilah yang disebut awan) yang berfungsi untuk menjalankan program atau aplikasi melalui komputer- komputer yang terkoneksi pada waktu yang sama. Sistem cloud computing dikenal dengan sistem yang mendunia yang dapat membantu perusahaan atau sebuah organisasi dalam efisiensi penyimpanan data. kualitas vendor akan layanan cloud computing, ketersediaan internet yang dibutuhkan, dan masalah keamanan dan privasi seperti rentannya peretas atau hacker menjadi faktor- faktor yang perlu diperhatikan dalam memilih jasa layanan cloud computing.

 

  1. Pengantar Komputer Grid

         Grid computing adalah sebuah asosiasi sumber daya komputer dari beberapa domain administrasi untuk mencapai tujuan bersama dengan berbagai layanan kepada  pengguna. Dalam komputasi grid pengguna dapat mengakses sumber daya seperti, proses,  penyimpanan, data dan aplikasi dengan sedikit atau tanpa pengetahuan tentang lokasi fisik sumber daya dan teknologi yang mendasari digunakan.

Grid computing sebenarnya merupakan sebuah aplikasi pengembangan dari  jaringan komputer (network). Hanya saja, tidak seperti jaringan komputer konvensional yang berfokus pada komunikasi antar pirati (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. Grid Computing (Komputasi Grid) merupakan salah satu dari tipe Komputasi Paralel, adalah penggunaan sumber daya yang melibatkan banyak komputer terpisah secara geografis namun tersambung via jalur komunikasi (termasuk Internet) untuk memecahkan persoalan komputasi skala besar.

Komponen-komponen Grid Computing antara lain :

  1. Gram (Grid Resources Allocation & Management)
  2. RFT/GridFTP (Reliable File Transfer/Grid File Transfer Protocol)
  3. MDS (Monitoring and Discovery Services)
  4. GSI (Grid Security Infrastructure)

Karakteristik Grid Computing :

  • Bersekala Besar ( Large Scale)
  • Distribusi Geografis
  • Heterogenitas
  • Resource Sharing
  • Multiple Administrations
  • Resource Coordination
  • Transparent Access
  • Dependable Access
  • Conssitent Access
  • Pervasive Access

 

  1. Virtualisasi beserta contoh

Virtualisasi adalah membuat sebuah simulasi dari perangkat keras, sistem operasi, jaringan maupun yang lainnya. Di bidang teknologi informasi, virtualisasi digunakan sebagai sarana untuk improvisasi skalabilitas dari perangkat keras yang ada.

Dengan virtualisasi, beberapa sistem operasi dapat berjalan secara bersamaan pada satu buah komputer. Hal ini tentunya dapat mengurangi biaya yang harus dikeluarkan oleh sebuah perusahaan. Di masa akan datang, teknologi virtualisasi akan banyak digunakan baik oleh perusahaan yang bergerak dibidang teknologi informasi maupun yang tidak murni bergerak di bidang teknologi informasi namun menggunakan teknologi informasi sebagai sarana untuk memajukan usahanya.

Contoh Virtualisasi antara lain :

  • VLAN -> Virtualisasi Network
  • RAID, LVM -> Virtualiasasi Storage
  • VirtualBox, VMware -> Virtualisasi OS

sumber :

  1. http://blog.lintasarta.net/article/5-kelebihan-dan-pertimbangan-menggunakan-sistem-cloud-computing-komputasi-awan/
  2. http://slideplayer.info/slide/2593332/
  3. http://dosen.gufron.com/artikel/pengertian-virtualisasi/8/
  4. http://www.academia.edu/5111326/GRID_COMPUTING_PAPER

 

Contoh Protocol sesuai OSI

1
  1. Application Layer

  • HTTP (Hyper Text Transfer Protocol )

     Protokol yang dipergunakan untuk mentransfer dokumen dan web dalam sebuah web browser, melalui www. HTTP juga merupakan protokol yang meminta dan menjawab antar klien dan server.

  • FTP (File Transfer Protokol)

     Protokol internet yang berjalam dalam layer aplikasi yang merupakan standar untuk mentransfer file komputer antar mesin-mesin dalam sebuat jaringan internet.

  • NFS (Network File system)

    Jaringan protokol yang memungkinkan pengguna di klien komputer untuk menngakses file melalui jaringan dengan cara yang sama dengan bagaiman penyimpanan lokal yang diaksesnya.

  • DNS (Domain Name System)

     Protokol yang digunakkan untuk memberikan suatu nama domain pada sebuah alamat IP agar lebih mudah diingat.

  • POP3 (Post Office Protocol)

    Protokol yang digunakan untuk mengambil mail dari suatu mail transfer agent yang akhirnya mail tersebut akan di download kedalam jaringan local.

  • MIME (Multipurpose Internet Mail Exension)

     Protokol yang digunakan untuk mengirim file binary dalam bentuk teks.

  • SMB (Server Messange Block)

    Protokol yang digunakan untuk mentransfer server-server file ke DOS dan Windows.

  • NNTP (Network News Transfer Protocol)

    Protokol yang digunakan untuk menerima dan mengirim newsgroup.

  • DHCP (Dynamic Configuration Protocol)

    Layanan yang memberikan no IP kepada komputer yang meminta nya secara otomatis.

2. Presentasi Layer

  • TELNET

    Protokol yang digunakan untuk akses remote masuk ke suatu host, data berjalan secara lain teks.

  • SMTP (Simple Mail Transfer Protocol)

    Salah satu protokol yang biasa digunakan dalam pengiriman e-mail di internet atau untuk mengirimkan data dari komputer pengirim e-mail ke server e-mail penerima.

  • SNMP (Simple Network Management Protocol)

    Protokol yang digunakan dalam suatu manajemen jaringan.

3. Session Layer

  • NETBIOS

    Berfungsi sebagai penyiaran pesan maksud nya memungkinkan user mengirim pesan tunggal secara serempak ke komputer lain yang terkoneksi.

  • NETBEUI (NETBIOS Extended User Interface)

    Berfungsi sama dengat NETBIOS hanya sedikit di kembangkan lagi dengan menambahkan fungsi yang memungkinkan bekerja dengan beragam perangkat keras dan perangkat lunak.

  • ADSP (AppleTalk Data Stream Protocol)

    Berfungsi protokol ini memantau aliran datadiantara dua komputer dan untuk memeriksa aliran data tersebut tidak terputus.

  • PAP (Printer Access Protocol)

    Berfungsi printer Postscript untuk akses pada jaringan AppleTalk dan untuk mengendalikan bagaimana pola komunikasi antar node.

  • SPDU (Session Protokol Data unit)

    Berfungsi mendukung hubungan antara dua session service user.

 

4. Transport Layer

  • TCP (Trasmission Control Protocol)

     Protokol yang menyediakan layanan penuh lapisan transport untuk aplikasi.

  • UDP (User Datagram Protocol)

    Protokol connectionless dan proses-to-procces yang hanya menambahkan alamat port, cheksum error control dan panjang informasi data pada layer di atasnya.

  1. Network Layer

  • IP (Internetworking Protocol)

    Mekanisme transmisi yang digunakan untuk menstransportasikan data dalam-dalam paket yang disebut datagram.

  • ARP (Address Resulotion Protocol)

    Protokol yang digunakan untuk mengetahui alamat IP berdasarkan alamat fisik dari sebuah komputer.

  • RARP (Reverse Address Resulotion Protocol)

    Protokol yang digunakan untuk mengetahui alamat fisik melalui IP komputer.

  • ICMP (Internet Control Message Protocol)

    Mekanisme yang digunakan oleh sejumlah host untuk mengirim notifikasi datagram yang mengalami masalah pada hostnya.

  • IGMP (Internet Group Message Protocol)

    Protokol yang digunakan untuk memberi fasilitas message yang simultan kepada group penerima.

  1. Data Link Layer

  • PPP (Point to Point Protocol)

    Protokol yang digunakan untuk point to point pada suatu jaringan.

  • SLIP (Serial Line Internet Protocol)

    Protokol yang digunakan untuk menyambung serial.

  1. Physical Layer

    Tidak mempunyai protokol yan spesifik di layer ini, karena pada layer ini hanya mengirimkan bit bit data.

sumber  : https://www.academia.edu/8419845/PENGERTIAN_FUNGSI_DAN_PROTOCOL_PADA_OSILAYER