Sabtu, 30 Juni 2018

Komputasi Paralel


Komputasi Paralel

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll) ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika (fisika komputasi), kimia (kimia komputasi) dll.

Konsep Paralel

Konsep paralel adalah bentuk dari komputasi yanng dapat melakukan tugas secara paralel. paralel sendiri diartikan secara banyak dan serentak (waktu yang bersamaan). Biasanya konsep paralelisme ini digunakan untuk memecahkan masalah besar dengan dengan mudah


Parallel computing dalam konsep penggunaan komputer masa kini adalah penggunakan lebih dari satu CPU untukmenjalankan sebuah program secara simultan. Parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan semakin ringan pemecahan masalah masing-masing CPU. Seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan satu sama lainnya, artinya program dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk membuat program yang lebih baik dan dapat diproses dengan cepat. Kesimpulannya, bahwa pada parallel processing berbeda dengan istilah multitasking, yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus, parallel processing dapat disebut juga dengan istilah parallel computing.

Distributed Processing

Distributed Processing adalah kemampuan menjalankan semua proses pengolahan data secara bersama antara komputer yang berfungsi sebagai 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 maka prosesor yang lain akan mengambil alih tugasnya. Dalam proses distribusi sudah mutlak diperlukan perpaduan yang mendalam antara teknologi komputer dan telekomunikasi, karena selain proses yang harus didistribusikan, semua host komputer wajib melayani terminal-terminalnya dalam satu perintah dari komputer pusat.

Arsitektur Komputer Paralel

Berdasarkan jumlah dan prinsip kerja prosesor pada komputer paralel, A.J. Van der Steen dan J. Donggara menyebutkan terdapat empat arsitektur utama komputer paralel menurut Flynn (1972) yaitu : 

1) Komputer SISD (Single Instruction stream-Single Data stream)
Pada komputer jenis ini semua instruksi dikerjakan terurut satu demi satu, tetapi juga dimungkinkan adanya overlapping dalam eksekusi setiap bagian instruksi (pipelining). Pada umumnya komputer SISD berupa komputer yang terdiri atas satu buah pemroses (single processor). Namun komputer SISD juga mungkin memiliki lebih dari satu unit fungsional (modul memori, unit pemroses, dan lain-lain), selama seluruh unit fungsional tersebut berada dalam kendali sebuah unit pengendali. Skema arsitektur global komputer SISD.


2) Komputer SIMD (Single Instruction stream-Multiple Data stream)
Pada komputer SIMD terdapat lebih dari satu elemen pemrosesan yang dikendalikan oleh sebuah unit pengendali yang sama. Seluruh elemen pemrosesan menerima dan menjalankan instruksi yang sama yang dikirimkan unit pengendali, namun melakukan operasi terhadap himpunan data yang berbeda yang berasal dari aliran data yang berbeda pula.


3) Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer jenis ini memiliki n unit pemroses yang masingmasing menerima dan mengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit pemroses memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi masukan bagi pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam bentuk prototipe untuk penelitian.


4) Komputer MIMD (Multiple Instruction stream-Multiple Data stream)
Pada sistem komputer MIMD murni terdapat interaksi di antara pemroses. Hal ini disebabkan seluruh aliran dari dan ke memori berasal dari space data yang sama bagi semua pemroses. Komputer MIMD bersifat tightly coupled jika tingkat interaksi antara pemroses tinggi dan disebut loosely coupled jika tingkat interaksi antara pemroses rendah.

Pengantar Thread Programing

Threading / Thread adalah sebuah alur kontrol dari sebuah proses. Konsep threading adalah menjalankan 2 proses ( proses yang sama atau proses yang berbeda ) dalam satu waktu. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network. Threading dibagi menjadi 2 :
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.
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.

Pengantar Massage Passing dan OpenMP

MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing-masing compute node yang kemudian masing-masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node.Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan-pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.
MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada mekanismesuatu proses yang bisa mengakses secara langsung memori yang lain. Pembagian data antar  proses dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar  proses. MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan. Kegunaan MPI yang lain :
1.      menulis kode paralel secara portable
2.      mendapatkan performa yang tinggi dalam pemrograman paralel
3.      menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak  begitu cocok dengan model data paralel.
OpenMP
OpenMP merupakan API yang mendukung multi-platform berbagi memori multiprocessing pemrograman C , C + + , dan Fortran , pada kebanyakan arsitektur prosesor dan system operasi , termasuk Solaris , AIX , HP-UX , GNU / Linux , Mac OS X , dan Windows platform. Ini terdiri dari satu set perintah kompiler, rutinitas library, dan variable lingkungan yang mempengaruhi perilaku run-time. OpenMP dikelola oleh nirlaba teknologi konsorsium OpenMP Arsitektur Review Board (ARB atau OpenMP), bersama-sama didefinisikan oleh sekelompok perangkat keras komputer utama dan vendor perangkat lunak, termasuk AMD , IBM , Intel , Cray , HP , Fujitsu , Nvidia , NEC , Microsoft , Texas Instruments , Oracle Corporation , dan banyak lagi.

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

Referensi :
http://wildanwilly.blogspot.com/2017/04/paralel-computer-architecture.html
http://arifbudimanhsb.blogspot.com/2016/06/distributed-processing-adalah.html
http://naturaladli.blogspot.com/2016/06/konsep-komputasi-paralel.html

Share:

Sabtu, 21 April 2018

Quantum Qomputing dan Hubungannya


Quantum Computation

Quantum atau komputer kuantum, merupakan komputer yang memanfaatkan fenomena-fenomena dari mekanika quantum, seperti quantum superposition dan quantum entanglement, yang digunakan untuk pengoperasian data.
Quantum Computer atau komputer kuantum memanfaatkan fenomena ‘aneh’ yang disebut sebagai superposisi. Dalam mekanika kuantum, suatu partikel bisa berada dalam dua keadaan sekaligus. Inilah yang disebut keadaan superposisi. Dalam komputer kuantum, selain 0 dan 1, dikenal pula superposisi dari keduanya. Ini berarti keadaannya bisa berupa 0 dan 1, bukan hanya 0  atau 1 seperti di komputer digital biasa. Komputer kuantum tidak menggunakan Bits tetapi QUBITS (Quantum Bits).

Perhitungan jumlah data pada komputasi klasik dihitung dengan bit, sedangkan perhitungan jumlah data pada komputer kuantum dilakukan dengan qubit. 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.

Quantum Entanglement

Quantum entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski Anda berusaha memindahkan mereka. Entanglement juga merupakan esensi komputasi kuantum karena ini adalah jalinan kualitas yang berhubungan dengan lebih banyak informasi dalam bit kuantum dibanding dengan bit komputing klasik. Quantum entanglement dapat sulit diperhitungkan dengan biasa.

Quantum entanglement terjadi ketika partikel seperti foton, elektron, molekul besar seperti buckyballs, dan bahkan berlian kecil berinteraksi secara fisik dan kemudian terpisahkan; jenis interaksi adalah sedemikian rupa sehingga setiap anggota yang dihasilkan dari pasangan benar dijelaskan oleh kuantum mekanik deskripsi yang sama (keadaan yang sama), yang terbatas dalam hal faktor penting seperti posisi, momentum, perputaran, polarisasi
Quantum entanglement adalah bagian dari fenomena quantum mechanical yang menyatakan bahwa dua atau lebih objek dapat digambarkan mempunyai hubungan dengan objek lainnya walaupun objek tersebut berdiri sendiri dan terpisah dengan objek lainnya. Quantum entanglement merupakan salah satu konsep yang membuat Einstein mengkritisi teori Quantum mechanical. Einstein menunjukkan kelemahan teori Quantum Mechanical yang menggunakan entanglement merupakan sesuatu yang “spooky action at a distance” karena Einstein tidak mempercayai bahwa Quantum particles dapat mempengaruhi partikel lainnya melebihi kecepatan cahaya. Namun, beberapa tahun kemudian, ilmuwan John Bell membuktikan bahwa “spooky action at a distance” dapat dibuktikan bahwa entanglement dapat terjadi pada partikel-partikel yang sangat - sangat kecil. Partikel ini dapat dinyatakan dengan partikel yang sama.

Pengoperasian Data Qubit

Qubit merupakan kuantum bit , mitra dalam komputasi kuantum dengan digit biner atau bit dari komputasi klasik. Sebuah qubit adalah unit dasar informasi dalam sebuah komputer kuantum. Sementara sedikit dapat mewakili hanya satu dari dua kemungkinan seperti 0 / 1, ya / tidak, qubit dapat mewakili lebih: 0 / 1, 1 dan 0, probabilitas terjadinya setiap saat dikombinasikan dengan qubit lebih, dan semua yang secara bersamaan. Secara umum komputer kuantum dengan qubit n bisa dalam superposisi sewenang-wenang hingga 2 n negara bagian yang berbeda secara bersamaan.

Untuk memanipulasi sebuah qubit, maka menggunakan Quantum Gates (Gerbang Kuantum). Cara kerjanya yaitu sebuah gerbang kuantum bekerja mirip dengan gerbang logika klasik. Gerbang logika klasik mengambil bit sebagai input, mengevaluasi dan memproses input dan menghasilkan bit baru sebagai output.
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.
Superposisi, pikirkan qubit sebagai elektron dalam medan magnet. Spin elektron mungkin baik sejalan dengan bidang, yang dikenal sebagai spin-up, atau sebaliknya ke lapangan, yang dikenal sebagai keadaan spin-down. Mengubah spin elektron dari satu keadaan ke keadaan lain dicapai dengan menggunakan pulsa energi, seperti dari Laser - katakanlah kita menggunakan 1 unit energi laser. Tapi bagaimana kalau kita hanya menggunakan setengah unit energi laser dan benar-benar mengisolasi partikel dari segala pengaruh eksternal? Menurut hukum kuantum, partikel kemudian memasuki superposisi negara, di mana ia berperilaku seolah-olah itu di kedua negara secara bersamaan. Setiap qubit dimanfaatkan bisa mengambil superposisi dari kedua 0 dan 1. Dengan demikian, jumlah perhitungan bahwa komputer kuantum dapat melakukan adalah 2 ^ n, dimana n adalah jumlah qubit yang digunakan. Sebuah komputer kuantum terdiri dari 500 qubit akan memiliki potensi untuk melakukan 2 ^ 500 perhitungan dalam satu langkah. Ini adalah jumlah yang mengagumkan - 2 ^ 500 adalah atom jauh lebih dari yang ada di alam semesta (ini pemrosesan paralel benar - komputer klasik saat ini, bahkan disebut prosesor paralel, masih hanya benar-benar melakukan satu hal pada suatu waktu: hanya ada dua atau lebih dari mereka melakukannya). Tapi bagaimana partikel-partikel ini akan berinteraksi satu sama lain? Mereka akan melakukannya melalui belitan kuantum.

Quantum Gates

Quantum Gates / Gerbang Quantum merupakan sebuah aturan logika / gerbang logika yang berlaku pada quantum computing. Prinsip kerja dari quantum gates hampir sama dengan gerbang logika pada komputer digital. Jika pada komputer digital terdapat beberapa operasi logika seperti AND, OR, NOT, pada quantum computing gerbang quantum terdiri dari beberapa bilangan qubits, sehingga quantum gates lebih susah untuk dihitung daripada gerang logika pada komputer digital.
Setiap gerbang logika mengubah bit masukan ke dalam satu atau lebih bit keluaran dalam beberapa mode deterministik menurut definisi dari gerbang. dengan menyusun gerbang dalam grafik sedemikian rupa sehingga output dari gerbang awal akan menjadi input gerbang kemudian, ilmuwan komputer dapat membuktikan bahwa setiap perhitungan layak dapat dilakukan.


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.

Algoritma Shor bergantung pada hasil dari teori bilangan. Hasil ini adalah: fungsi periodik. Dalam konteks algoritma Shor, n akan menjadi bilangan yang akan difaktorkan. Jika dua bilangan tersebut adalah coprime itu berarti bahwa pembagi umumnya adalah 1. Perhitungan fungsi ini untuk jumlah eksponensial, dari itu akan mengambil waktu eksponensial pada komputer klasik. Algoritma Shor memanfaatkan paralelisme kuantum untuk melakukan jumlah eksponensial operasi dalam satu langkah.
Algoritma Shor terdiri dari dua bagian:
1.         Penurunan yang bisa dilakukan pada komputer klasik, dari masalah anjak untuk masalah ketertiban -temuan.
2.         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.

Referensi
https://mamz.weebly.com/quantum-computation.html


Share:

Sabtu, 31 Maret 2018

Tentang Komputasi Modern


Cloud Computing

Cloud computing mungkin masih samar terdengar bagi orang awam. Tetapi keberadaan cloud computing di era digital kini sebenarnya telah terasa di tengah masyarakat dalam kehidupan sehari hari seperti penggunaan email dan juga media sosial.
Cloud computing (komputasi awan) merupakan gabungan pemanfaatan teknologi komputer (komputasi) dalam suatu jaringan dengan pengembangan berbasis internet (awan) yang mempunyai fungsi untuk menjalankan program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama, tetapi tak semua yang terkonekasi melalui internet menggunakan cloud computing.
Teknologi komputer berbasis sistem Cloud ini merupakan sebuah teknologi yang menjadikan internet sebagai pusat server untuk mengelola data dan juga aplikasi pengguna. Teknologi ini mengizinkan para pengguna untuk menjalankan program tanpa instalasi dan mengizinkan pengguna untuk mengakses data pribadi mereka melalui komputer dengan akses internet.

Manfaat Cloud Computing
-          Semua Data Tersimpan di Server Secara Terpusat
-          Keamanan Data
-          Fleksibilitas dan Skalabilitas yang Tinggi
-          Investasi Jangka Panjang

Komputasi Grid
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 atau grid computing adalah penggunaan sumber daya komputer secara bersama-sama dimana komputer tersebut terpisah secara geografis. Komputasi grid ini biasanya digunakan untuk memecahkan suatu permasalahan berskala besar.
Berdasarkan tulisan dari Ian Foster (Bapak Grid Computing), terdapat 3 hal yang mengidentifikasi bahwa suatu sistem termasuk di dalam komputasi grid, yaitu:
1.      Sistem tersebut berkoordinasi terhadap sumberdaya komputasi yang tidak berada dalam satu kendali terpusat. Misalnya komputer di Jakarta terhubung dengan komputer di Jayapura, Manado, dan Semarang.
2.      Sistem tersebut menggunakan protokol yang standar dan terbuka, tidak terpaut dengan suatu perusahaan atau produk tertentu. Standar tersebut dibutuhkan dibagian autentikasi, otorisasi, pencarian sumberdaya yang tersedia, dan pengaksesan sumberdaya.
3.      Sistem tersebut bersifat non-trivial (tidak biasa-biasa saja) untuk mencapai kualitas layanan yang canggih.

Karakteristik komputasi  grid :

1.      Tidak adanya kontrol terpusat.
2.      Adanya heterogenitas. Artinya multiplatform yaitu dapat berjalan diplatform / sistem operasi apa saja.
3.      Memiliki scalability.
4.      Dinamis dan dapat beradaptasi dalam berbagai situasi.
5.      Menggunakan protokol-protokol dan interface yang standar, terbuka dan serbaguna.
6.      Dapat memberikan kualitas layanan (QoS) yang tinggi. Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.
7.      Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup Sumber daya komputasi dikelola oleh sistem batch berbeda, Sistem storage berbeda pada node berbeda, Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid.

Virtualisasi

Virtualisasi (virtualization) memiliki banyak pengertian. Jika merujuk pada kamus Oxford, istilah virtualization merupakan turunan dari kata virtualize yang memiliki makna “Convert (something) to a computer-generated simulation of reality”. Dalam terjemahan bebas, virtualisasi berarti Mengubah sesuatu (mengkonversi) ke bentuk simulasi dari bentuk nyata yang ada.
Sumber: Gufron Rajo Kaciak: Pengertian Virtualisasi: http://dosen.gufron.com/artikel/pengertian-virtualisasi/8/
Virtualisasi 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.
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.
Virtualisasi bisa diartikan sebagai pembuatan suatu bentuk atau versi virtual dari sesuatu yang bersifat fisik, misalnya sistem operasi, perangkat storage/penyimpanan data atau sumber daya jaringan.
  1. Network Virtualization : VLAN, Virtual IP (untclustering), Multilink
  2. Memory Virtualization : pooling memory dari node-node di cluster
  3. Grid Computing : banyak komputer = satu
  4. Application Virtualization : Dosemu, Wine
  5. Storage Virtualization : RAID, LVM
  6. Platform Virtualization : virtual computer
Sistem operasi yang terinstall di komputer secara fisik dalam hal ini Linux Mint disebut sebagai host machinesedangkan sistem operasi yang diinstall diatasnya dinamakan guest machine. Istilah host dan guest dikenalkan untuk memudahkan dalam membedakan antara sistem operasi fisik yang terinstall di komputer dengan sistem operasi yang diinstall diatasnya atau virtualnya.
Perangkat lunak yang digunakan untuk menciptakan virtual machine pada host machine biasa disebut sebagai hypervisor atau Virtual Machine Monitor (VMM).

Distributed computing

Kumpulan beberapa computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data serta melakukan interaksi lain antar computer yang dimana membutuhkan sebuah jaringan agar computer satu dan lainnya bisa saling berhubung dan melakukan interaksi. Hal ini semua dilakukan dengan cloud computing yang seperti kita ketahui memberikan layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary.
Komputasi Terdistribusi merupakan salah satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber daya secara parallel, para pengguna juga bisa memanfaatkannya secara bersamaan (tidak harus menunggu dalam antrian untuk mendapatkan pelayanan), terdiri dari banyak sistem sehingga jika salah satu sistem crash, sistem lain tidak akan terpengaruh, dapat menghemat biaya operasional karena tidak membutuhkan sumber daya (resourches). 
Distribusi komputasi ini memiliki definisi mempelajari penggunaan terkoordinasi dari computer secara fisik terpisah atau terdistribusi. Pada distributed computing ini, program dipisah menjadi beberapa bagian yang dijalankan secara bersamaan pada banyak computer yang terhubung melalui jaringan internet.
Salah satu defenisi sederhana dari komputasi terdistribusi adalah proses berjalannya sebuah aktifitas komputasi yang dilakukan oleh lebih dari satu komputer yang berbeda. Selain itu Komputerisasi yang terdistribusi sangat menarik sebab operasi yang interaktif yang membiarkan lebih banyak komputer dalam kondisi idle yang lebih banyak. Proses ini dimana menjalankan aspek yang terdistribusi (misalnya pada saat menjalankan mesin juga melaksanakan pekerjaan lain) ini biasanya didesain untuk memprioritaskan pekerjaan ringan, penggunaan juga memperhitungkan tenaga yang terbuang percuma. Komputerisasi yang terdistribusi juga merupakan cakupan penelitian yang aktif dan kaya akan literatur. Konferensi tentang komputersisasi terdistribusi yang terkenal adalah The Internasional Conference on Dependable Systems and Networks (Konferensi internasional pada sistem dan jaringan handal) dan the ACM Symposium on principles of distributed computing ( ACM – Symposium pada prinsip-prinsip komputerisasi terdistribusi). Jurnal-jurnal termasuk the journal of parallel and distributed computing (jurnal tentang komputerisasi yang paralel dan terdistribusi) IEEE transactions on parallel and distributed systems ( IEEE- transaksi pada sistem yang paralel dan terdistribusi) dan lain-lain.

Map Reduce dan noSQL

Map Reduce

MapReduce adalah model pemrograman rilisan Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan paralel dalam cluster yang terdiri atas ribuan komputer. Dalam memproses data, secara garis besar MapReduce dapat dibagi dalam dua proses yaitu proses Map dan proses Reduce. Kedua jenis proses ini didistribusikan atau dibagi-bagikan ke setiap komputer dalam suatu cluster (kelompok komputer yang salih terhubung) dan berjalan secara paralel tanpa saling bergantung satu dengan yang lainnya. Proses Map bertugas untuk mengumpulkan informasi dari potongan-potongan data yang terdistribusi dalam tiap komputer dalam cluster. Hasilnya diserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.
MapReduce mungkin terkesan sangat ribet. Untuk memproses sebuah data raksasa, data itu harus dipotong-potong kemudian dibagi-bagikan ke tiap komputer dalam suatu cluster. Lalu proses Map dan proses Reduce pun harus dibagi-bagikan ke tiap komputer dan dijalankan secara paralel. Terus hasil akhirnya juga disimpan secara terdistribusi. Benar-benar terkesan merepotkan.
Beruntunglah, MapReduce telah didesain sangat sederhana alias simple. Untuk menggunakan MapReduce, seorang programer cukup membuat dua program yaitu program yang memuat kalkulasi atau prosedur yang akan dilakukan oleh proses Map dan Reduce. Jadi tidak perlu pusing memikirkan bagaimana memotong-motong data untuk dibagi-bagikan kepada tiap komputer, dan memprosesnya secara paralel kemudian mengumpulkannya kembali. Semua proses ini akan dikerjakan secara otomatis oleh MapReduce yang dijalankan diatas Google File System (Gambar 1).

noSQL

Database noSQL dibagi menurut format penyimpanan dokmentnya. Berikut ini adalah pengelompokan database noSQL berdasarkan model (penyimpanan) datanya
 1.  Document Database contohnya MongoDB, seiap satu object data disimpan dalam satu dokumen. Dokumen sendiri bisa terdiri dari key-value, dan value sendiri bisa berupa array atau key-value bertingkat.
 2.   Graph , Format penyimpanan data dalam struktur graph. Format ini sering dipakai untuk data yang saling berhubungan seperti jejaring social. Contoh database noSQL dengan format ini adalah Neo4J dan FlockDB. FlockDB dipakai oleh twitter.
 3.    Key – Value,  contoh database jenis ini adalah Apache Cassandra.
 4.   Object Database. Format database yang disimpan dalam object object, Object disini sama dengan pengertian object di Pemrograman beroreintasi object , Contoh databasenya adalah Db4o.
 5.   Tipe lainnya adalah tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.

Kelebihan NoSQL di banding Relasional Database

 1.    NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
 2.    Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
 3.  NoSQL tidak mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL sangat cocok untuk data yang tidak terstruktur, istilah singkat untuk fitur ini adalah Dynamic Schema.
 4. Autosharding, istilah sederhananya, jika database noSQL di jalankandi cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server.

Kekurangan dari database NoSQL
-          Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL.
-          Belum mendukung database MongoDB atau database noSQL lainnya.
Database no SQL
-          Mendukung Bahasa query yang sangat sederhana
-          Tidak ada skema tetap
-          Hanya akhirya konsisten
-          Tidak mendukung transaksi
REFERENSI
http://www.cloudindonesia.or.id/apa-itu-cloud-computing.html
https://risanputtra.wordpress.com/2016/03/29/pengantar-komputasi-grid/
http://dosen.gufron.com/artikel/pengertian-virtualisasi/8/
http://andikarag.blogspot.co.id/2016/03/distribusi-komputasi-dalam-cloud.html
http://www.teknologi-bigdata.com/2013/02/mapreduce-besar-dan-powerful-tapi-tidak.html
https://www.candra.web.id/pengantar-database-nosql-dan-mongodb/

Share:
small rss seocips Music MP3

Motion

Search

Portfolio

Pages

Contact

Nama

Email *

Pesan *

Popular Posts

  • Individu, Keluarga, dan Masyarakat

    "Individu, Keluarga, dan Masyarakat" Pertumbuhan Individu       Pertumbuhan sendiri berarti tahapan peningkatan sesua...
  • Definisi, Manfaat, Komponen, dan Aplikasi New Media

    " Definisi, Manfaat, Komponen, dan Aplikasi New Media " Definisi New Media       New Media dis...
  • Quantum Qomputing dan Hubungannya

    Quantum Computation Quantum atau komputer kuantum, merupakan komputer yang memanfaatkan fenomena-fenomena dari mekanika quantum, seper...
  • Studi Kasus Internet dan Web Design

    "Studi Kasus Internet dan Web Design" Dalam memasuki era globalisasi ini dan dalam masa masa perkembangan teknologi yang sa...
  • Penduduk, Masyarakat, dan Kebudayaan

    "Penduduk, Masyarakat, dan Kebudayaan" Pertumbuhan Penduduk     Pertumbuhan penduduk adalah perubahan pop...
  • Privacy Police

    Privacy Policy for rendyferryka If you require any more information or have any questions about our privacy policy, please feel free to con...
  • Menganalisa Aplikasi New Media

    "Menganalisa Aplikasi New Media"            New Media adalah istilah yang dimaksudkan  untuk mencakup kemunculan digital, kom...
  • Komputasi Paralel

    Komputasi Paralel Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa kompute...
  • Tentang Komputasi Modern

    Cloud Computing Cloud computing mungkin masih samar terdengar bagi orang awam. Tetapi keberadaan  cloud computing  di era digital kini...
  • RINGKASAN PENULISAN ILMIAH

    RINGKASAN PENULISAN ILMIAH Nama          : Rendy Ferryka Hendra Pembimbing : Moch. Wisuda Sardjono, SKom, MMSi. “Pembuatan Aplik...