Paralel Computing (Last Homework)


1.      Paralel Computing
Paralel Processing adalah kemampuan menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara Bersama atau secara simultan pada sebuah computer. Secara umum. Ini adalah sebuah Teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses penyelesaian masalah.
Terdapat dua hokum yang berlaku dalam sebuah parallel processing, yaitu :
1.      Hukum Amdhal
Amhdal berpedapat “Peningkatan kecepatan secara parallel akan menjadi linear, melipat gadndakan kemampuan proses sebuah computer dan mengurangi separuh dari waktu proses yang diperlukan untuk menyelesaikan sebuah masalah.
2.      Hukum Gustafson
Pendapat yang dikemukakan Gustafson hampir sama dengan Amdhal, tetapi pemikiranya Gustafson sebuah computer parallel berjalan dengan menggunakan dua atau lebih mesin untuk mempercepat penyelesaian masalah dengan memperhatikan faktor eksternal, seperti kemampuan mesin dan kecepatan proses tiap-tiap mesin yang digunakan.
Contoh dalam penggunaan parallel computing adalah cloud computing, sebagai data storage online, dengan cara kerja client-server.
2 .  Paralelism 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.
Contoh penggunaan Adapun proses kerja , pemrosesan paralel membagi beban kerja dan mendistribusikannya pada komputer-komputer lain yang terdapat dalam sistem untuk menyelesaikan suatu masalah. Sistem yang akan dibangun akan tidak akan menggunakan komputer yang didesikasikan secara khusus untuk keperluan pemrosesan paralel melainkan menggunakan komputer yang telah ada. Artinya, sistem ini nantinya akan terdiri dari sejumlah komputer dengan spesifikasi berbeda yang akan bekerjasama untuk menyelesaikan suatu masalah.
3.      Distributed Data Processing
Distributed data processing (DDP) system merupakan bentuk yang sering digunakan
sekarang sebagai perkembangan dari time sharing system. Bila beberapa sistem komputer yang bebas tersebar yang masing-masing dapat memproses data sendiri dan dihubungkan dengan jaringan telekomunikasi, maka istilah time sharing sudah tidak tepat lagi. DDP system dapat didefinisikan sebagai suatu sistem komputer interaktif yang terpencar secara geografis dan dihubungkan dengan jalur telekomunikasi dan seitap komputer mampu memproses data secara mandiri dan mempunyai kemampuan berhubungan dengan komputer lain dalam suatu sistem.
Contoh dari Distributed Data Processing System adalah: ATM, komputer yang dirancang untuk tugas-tugas melaksanakan proyek, analisis finansial, penjadwalan waktu dan akuntansi. Contoh lainnya, pengolahan data pada server yahoo yang tersebar hampir di seluruh dunia secara distribusi, setiap wilayah mempunyai server masing-masing. Seperti di indonesia mempunyai server tersendiri sehingga pengolahan data tidak di pusat melainkan di wilayah masing-masing, dll.


4.      Architectural Paralel Computer
·         SIMD
Peningkatan kecepatan SIMD proporsional dengan jumlah processing unit yang ada.
·         MISD
MISD berdasarkan prinsip pipelining
Proses dibagi menjadi beberapa tahap & beberapa proses (secara simultan)
Prinsip pipelining dapat digunakan pada dua level yang berbeda:
Pipeline unit aritmatika
Pipeline unit control
Operasi pipeline dapat dilaksanakan secara siklus yaitu cyclic pipeline, dimana dapat dibagi dalam 5 tahap:
Operasi baca (dari shared memories)
Operasi transfer (memori ke elemen pemroses)
Operasi eksekusi (di elemen pemroses)
Operasi transfer (elemen pemroses ke memori)
Operasi simpan (di shared memories)
·         MIMD
Sistem MIMD merupakan sistem multiprocessing atau multicomputer
Komputer MIMD terdiri dari:
sistem tightly coupled (global memory)
loosely coupled (local memory).

5.      Pengantar Thread Programming
Pengertian Thread  Programming :
Thread adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara independen dengan sebagian program lainnya. Dalam threading anda dapat menjalankan beberapa pointer (alamat dalam komputer) sekaligus. Artinya dua atau lebih bagian dari kode dapat dijalankan secara simultan.
Ms. Dos merupakan salah contoh OS yang hanya mampu menjalankan satu proses dengan hanya 1 thread. Sebaliknya Unix Family 1980 mendukung banyak proses tapi dengan setiap proses hanya memiliki satu thread. Contoh OS yang mampu menjalankan banyak thread dalam suatu proses yaitu, Mac, Windows dan Linux, selain itu bahasa yang memiliki OS mini seperti java yang memiliki Java Virtual Machine juga satu proses yang mampu menjalankan banyak thread.
Keuntungan Penggunaan Thread :
·      Komunikasi thread lebih efisien
·      Waktu pembuatan lebih cepat
·      Waktu pemberhentian lebih cepat
·      Waktu penggantian antar thread lebih cepat
Kerugian penggunaan Thread :
·         Keamanan yang kurang karena penggunaan shared data

6.      Pengantar Message Passing, OpenMP
Merupakan sebuah bentuk dari komunikasi yang digunakan di komputasi paralel, OOT (Object Oriented Programming) atau Pemrograman Berbasis Objek dan komunikasi interproses. MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuatsebuah 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 - pertimbangandiantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor .
Ø  Terdapat beberapa metode dalam pengiriman pesan yaitu
-          Synshronous Message Parsing
Pengirim menunggu untuk mengirim pesan sampai penerima siap untuk menerima pesan. Oleh karena itu tidak ada buffering. Selain itu Pengirim tidak bisa mengirim pesan untuk dirinya sendiri.
-          Ansynchronous Message Passing
Pengirim akan mengirim pesan kapanpun dia mau. Pengirim tidak peduli ketika penerima belum siap untuk menerima pesan. Oleh karena itu diperlukan buffering untuk menampung pesan sementara sampai penerima siap menerima pesan. Selain itu pengirim dapat pesan untuk dirinya sendiri.
 
Ø  OPENMP
OpenMP merupakan antarmuka pemrograman aplikasi(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.






Quantum Komputer


Komputer Quantum
Mesin Turing, yang dikembangkan oleh Alan Turing pada tahun 1930an, adalah perangkat teoretis yang terdiri dari pita rekaman dengan panjang tak terbatas yang terbagi menjadi kotak-kotak kecil. Setiap persegi bisa memiliki sebuah simbol (1 atau 0) atau dibiarkan kosong. Perangkat baca-tulis yang ada saat itu akan membaca simbol-simbol dan kekosongan ini, yang memberi mesin instruksi untuk melakukan program tertentu.
Nah, dalam mesin Turing kuantum, perbedaannya adalah pita rekaman itu ada dalam keadaan kuantum, seperti halnya kepala perangkat baca-tulis. Ini berarti bahwa simbol pada pita itu bisa berupa 0 atau 1, atau superposisi 0 dan 1; dengan kata lain simbol-simbolnya adalah 0 dan 1 (dan semua titik di antaranya) pada saat bersamaan. Sementara mesin Turing biasa hanya bisa melakukan satu perhitungan sekaligus, mesin Turing kuantum bisa melakukan banyak perhitungan sekaligus.
Komputer modern yang ada saat ini, seperti mesin Turing, bekerja dengan memanipulasi bit yang ada di salah satu dari dua keadaan ini: 0 atau 1. Komputer kuantum tidak terbatas pada dua keadaan. Komputer kuantum mengkodekan informasi sebagai quantum bits, atau qubit, yang biasa ditemukan dalam superposisi. Qubit mewakili atom, ion, foton atau elektron dan perangkat kontrol yang bekerja bersama sebagai memori komputer dan prosesor. Karena komputer kuantum dapat menampung banyak keadaan dan perhitungan ini secara bersamaan, komputer kuantum memiliki berpotensi untuk jadi jutaan kali lebih kuat daripada superkomputer paling kuat yang ada saat ini.
Suatu hari, para ahli percaya bahwa komputer kuantum akan menggantikan chip silikon, sama seperti transistor yang telah menggantikan tabung hampa udara. Tapi untuk saat ini, teknologi yang dibutuhkan untuk mengembangkan komputer kuantum semacam itu berada di luar jangkauan kita. Sebagian besar penelitian dalam komputasi kuantum masih sangat teoritis.
Saat ini, komputer kuantum paling maju kemampuannya tidak melampaui memanipulasi lebih dari 16 qubit. Artinya, kemampuannya jauh berbeda dengan aplikasi praktis. Namun, potensi komputer kuantum suatu hari bisa bekerja lebih cepat dan mudah untuk melakukan perhitungan yang sangat menyita waktu pada komputer konvensional tetap ada. Beberapa kemajuan penting telah dilakukan dalam komputasi kuantum dalam beberapa tahun terakhir. 

Quantum Entanglement
Entanglement adalah efek mekanik kuantum yang mengaburkan jarak antara partikel individual sehingga sulit menggambarkan partikel tersebut terpisah meski anda berusaha memindahakna mereka. Contoh dari kuantum entanglement kaitan antara penentuan jam sholat dan quantum entanglement. Mengapai jam sholat dibuat seragam ? karena dengan demikian secara massal banyak manusia di beberapa wilayah secara serentak masuk ke ona entanglement bersamaan.
Pengertian lain
Quantum entanglement adalah bagian dari fenmena quantum mechanical yang menyatakan bahwa dua atau lebih objek dapat digambarkan mempunyai hubungan dengan objek lainnya walaupun objek tersebut berdidi sendiri dan terpisah dengan objek lainya. Quantum entanglement meperukana salah satu konsep yang membuat einsten mengkritisi teori quantum mechanical. Einsten menunjukan kelamahan teori quantum  mechanical yang menggunakan entanglement merupakan suatau yang “spooky action at a distance” karena einsten tidak mempercayai quantum partikel lainya melebihi kecepetan cahaya. Namun beberapa tahun kemudian, ilmuan john bell membuktikan bahwa dapat dibuktikan dengan etnanglemetn dapat terjadi pada partikel yang sangat kecil.
Penggunan quantung entanlemet saat ini dimplementasikan dalam berbagai bidang salah satunya adalah pengiriman pesan pensan rahasia yang sulit untuk di enskripsi dan pembutan computer yang mempunyai performa yang sangat cepat.

Data Qubit
Qubit merpukan kuantum bit, mitra dalam komputasi kuantum dengan digit biner atu bit dari komputasi klasik. Sama seperti sedikit adalah untuk dasar informasi dalam computer klasik. Qubit adalah unit dasar informasi dalam computer kuantum. Dalam computer kuantum sejumlah partikel elemental seperti elektro atau foto dapat digunakan dalam praktek keberasilan juga telah tercapai dengan ion.baik dengna biaya mereka atau polirassi bertindak sebagai reprentasi 0 dan 1. Setiap partikel partikel ini dikenal sebagai qubit. Sidat dan perilaku pertikel partikel ini seperti diungkapkan dalam teori kuantum. Membentuk dasar dari komputasi kuantum. Dua aspek yang saling relavan 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
Pada saat ini, model sirkuit komputer adalah abstraksi paling berguna dari proses komputasi dan secara luas digunakan dalam industri komputer desain dan konstruksi hardware komputasi praktis. Dalam model sirkuit, ilmuwan komputer menganggap perhitungan apapun setara dengan aksi dari sirkuit yang dibangun dari beberapa jenis gerbang logika Boolean bekerja  pada beberapa biner (yaitu, bit string) masukan. 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. Quantum Logic Gates, Prosedur berikut menunjukkan bagaimana cara untuk membuat sirkuit reversibel yang mensimulasikan dan sirkuit ireversibel sementara untuk membuat  penghematan yang besar dalam jumlah ancillae yang digunakan.
  •  Pertama mensimulasikan gerbang di babak pertama tingkat.
  • Jauhkan hasil gerbang di tingkat d / 2 secara terpisah.
  • Bersihkan bit ancillae.
  •  Gunakan mereka untuk mensimulasikan gerbang di babak kedua tingkat.
  • Setelah menghitung output, membersihkan bit ancillae. Bersihkan hasil tingkat d / 2. 
Sekarang gerbang reversibel ireversibel klasik dan klasik, memiliki konteks yang lebih  baik untuk menghargai fungsi dari gerbang kuantum. Sama seperti setiap perhitungan klasik dapat dipecah menjadi urutan klasik gerbang logika yang bertindak hanya pada bit klasik pada satu.

Algoritma Shor
Sebuah komputer kuantum tidaklah sama dengan komputer klasik. Hal ini tidak dalam hal kecepatan saja, namun juga dalam hal pemrosesan informasi. Sebuah komputer kuantum dapat mensimulasikan sebuah proses yang tidak dapat dilakukan oleh komputer klasik. Hal ini membuat para ilmuwan harus memiliki paradigma baru dalam hal permrosesan informasi.
Selama ini, sebuah komputer bekerja didasarkan hukum-hukum fisika klasik. Informasi didefinisikan secara positif, direpresentasikan secara material dan diproses berdasarkan hukum-hukum fisika klasik. Ketika para fisikawan masuk ke dalam teori kuantum dalam pemrosesan informasi, mereka diharuskan untuk mengubah pandangan mereka mengenai pemrosesan informasi. Lebih jauh lagi, mereka harus mengembangkan sebuah sistem logika baru yang mengikuti hukum-hukum fisika kuantum. Sistem logika baru ini disebut dengan logika kuantum. Sistem logika kuantum berbeda sama sekali dengan sistem logika yang selama ini dipakai, yaitu sistem logika yang dikembangkan oleh Aristoteles.
Dengan sistem logika yang baru, para ilmuwan harus memikirkan sebuah algoritma yang berbeda untuk memproses informasi. Inilah yang sebenarnya merupakan inti dari komputer kuantum. Beberapa algoritma telah dikembangkan dan yang di antaranya telah berhasil ditemukan adalah algoritma Shor yang ditemukan oleh Peter Shor pada tahun 1995. Lewat algoritma Shor ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode ini disebut kode RSA. 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.
Sebagai contoh, seorang pemecah kode akan membutuhkan waktu 8 bulan dan 1.600 pengguna internet jika ia akan memecahkan kode RSA yang disandikan dalam 129 digit. Jika hal ini mungkin, pengirim data hanya perlu menambahkan digit pada kode RSA-nya agar para pemecah kode membutuhkan waktu yang lebih lama lagi untuk memecahkan kuncinya. Sebagai gambaran, pemecahan kode RSA 140 (140 digit) akan membutuhkan waktu yang lebih lama dari umur alam semesta (15 miliar tahun). Namun, jika pemecah kode menggunakan komputer kuantum, mereka dapat memecahkan kode RSA 140 hanya dalam waktu beberapa detik. Hal inilah yang membuat waswas para pengguna channel komunikasi rahasia saat ini untuk melakukan pengiriman data secara aman.

Modern Computation



1. Cloud Computing

Komputasi awan (bahasa Inggris: cloud computing) adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya  Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan")  tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain.
Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server. Komputasi awan saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud.
Secara umum, definisi 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 Serta Penerapan Dalam Kehidupan Sehari – hari
1.    Semua Data Tersimpan di Server Secara Terpusat                                       
2.    Keamanan Data
3.    Fleksibilitas dan Skalabilitas yang Tinggi

2. Grid Computing
Grid Computing atau 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. Semakin cepat jalur komunikasi terbuka, maka peluang untuk menggabungkan kinerja komputasi dari sumber-sumber komputasi yang terpisah menjadi semakin meningkat. Dengan demikian, skala komputasi terdistribusi dapat ditingkatkan secara geografis lebih jauh lagi, melintasi batas-batas domain administrasi yang ada.
Grid computing merupakan salah satu jenis dari komputasi modern. Grid computing adalah arsitektur TI baru yang menghasilkan sistem informasi perusahaan yang berbiaya rendah dan lebih adaptif terhadap dinamika bisnis. Dengan grid computing, sejumlah komponen hardware dan software yang modular dan independen akan dapat dikoneksikan dan disatukan untuk memenuhi tuntutan kebutuhan bisnis. Lebih jauh, dari sisi ekonomi, implementasi grid computing berarti membangun pusat komputasi data yang tangguh dengan struktur biaya variatif yang bias disesuaikan dengan kebutuhan.
Keuntungan Grid Computing :
Secara generik, keuntungan dasar dari penerapan komputasi Grid, yaitu:
1.      Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle
2.      Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah apat berjalan lebih cepat dan mencakup domain yang lebih luas
3.      Software dan aplikasi: Pool dari aplikasi dan pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi penelitian yang lebih baik
4.      Data: Akses terhadap sumber data global, dan Hasil penelitian lebih baik

3. Virtualisasi
        Virtualisasi (virtualization) adalah mengubah sesuatu (mengkonversi) ke bentuk simulasi dari bentuk nyata yang ada. Virtualisasi membuat sebuah simulasi dari perangkat keras, sistem operasi, jaringan maupun yang lainnya. Virtualisasi digunakan sebagai sarana untuk improvisasi skalabilitas dari perangkat keras yang ada (Kaciak, 2013). Banyak perusahaan melihat TI sebagai beban. Padahal virtualisasi menawarkan ekspansi IT yang lebih tinggi, tanpa harus dipusingkan oleh pelipatan nilai investasi.
        Keuntungan virtualisasi: (1) pengurangan biaya investasi, khususnya pembelian hardware, (2) kemudahan backup dan recovery – tidak perlu melakukan instalasi dan konfigurasi ulang (cukup mengambil salinan dan melakukan restore hasil backup terakhir), (3) kemudahan dalam deployment –  dapat dikloning sebanyak mungkin dan dapat dijalankan pada mesin lain dengan mengubah sedikit konfigurasi, (4) mengurangi panas pada data center, (5) mengurangi biaya sewa ruangan, (6) kemudahan dalam pengelolaan dan perawatan, (7) standarisasi, dan (8) kemudahan replacement/upgrade. Kelemahan utama virtualisasi: pusat masalah ada pada satu tempat.
          Virtualisasi sistem operasi adalah penggunaan piranti lunak yang memungkinkan untuk dapat menjalankan beberapa sistem operasi secara bersamaan (Syarif, 2009). 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 depan, virtualisasi akan banyak digunakan, sebagai sarana untuk memajukan usahanya (Kaciak, 2013).
Selain itu, virtualisasi dapat diimplementasikan dalam berbagai bentuk, antara lain (Harry Sufehmi, Pengenalan Virtualisasi, 2009-06-07):
  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
Karena dalam hal ini virtualisasi mengacu pada proses penciptaan kerja mesin secara virtual layaknya perangkat sebenarnya, maka terdapat beberapa jenis virtualisasi, diantaranya:
  • Para-virtualisasi: Menjalankan sebuah perangkat lunak dalam sebuah host dengan menyesuaikan domain sendiri seolah berada dalam sistem yang berbeda.
  • Virtualisasi sebagian: Membuat sebuah lingkungan virtual  hanya untuk menjalankan program atau perangkat lunak tertentu , kondisi yang dialami adalah lingkungan dimana tidak semua aspek disimulasikan.
  • Virtualisasi penuh: Mirip dengan para-virtualisasi dimana hampir menyerupai perangkat asli dan mampu menjalankan perangkat lunak secara keseluruhan. Yang membedakan adalah tidak ditempatkan pada domain sendiri.

4. Distrubuted Computing
komputasi terdistribusi adalah bagian dari bidang ilmu komputer, yang menjelaskan tentang studi didistribusikan sistem. Sebuah sistem terdistribusi adalah sebuah sistem perangkat lunak, yang terletak pada komputer jaringan komunikasi dan mengkoordinasi dengan menggunakan pesan. Komponen dalam interaksi satu dengan lainnya bertujuan untuk mencapai tujuan yang sama.
Tujuan dan Keuntungan
Tujuan utama dari sistem komputasi terdistribusi adalah untuk menghubungkan setiap pengguna dengan sumber daya yang terpisah secara fisik ke dalam suatu sistem dengan menggunakan cara yang terkoordinasi. Dan dengan memerlukan kapasitas yang lebih besar dari kapasitas individual komponennya.
Openness merupakan properti dari sistem terdistribusi dimana setiap sub-sistem secara terus-menerus terbuka untuk berinteraksi dengan sistem yang lain. Salah satu masalah yang dihadapi dalam usaha menyatukan sumber daya yang terpisah ini antara lain adalah skalabilitas, dapat atau tidaknya sistem tersebut dikembangkan lebih jauh untuk mencakup sumber daya komputasi yang lebih banyak.

Konsekuensinya, sistem terdistribusi terbuka memberikan beberapa tantangan berikut:
·    Monotonicity.
Sesuatu yang telah dipublikasikan dalam sistem terbuka (open system) maka tidak dapat diambil kembali.
·     Pluralism.
Sub-sistem-subsistem berbeda dalam sistem open distributed dapat mempunyai informasi yang berbeda, dan mungkin menyebabkan konflik. Tidak ada pengatur kebenaran sentral dalam sistem open distributed.
·     Unbounded nondeterminism.
Subsistem-subsistem dapat naik dan turun, dan link komunikasi dapat masuk dan keluar antar sub-sistem dalam sistem open distributed. Karena itu, waktu yang diperlukan untuk menyelesaikan suatu operasi tidak dapat dibatasi dan dipastikan.
Arsitektur umun yang digunakan oleh Distributed Computing atau Komputasi Terdistribusi yaitu sebagai berikut :
1.  Client-server : klien menghubungi server untuk pengambilan data, kemudian server memformatnya dan menampilkannya ke pengguna.
2.   3-tier architecture : Kebanyakan aplikasi web adalah 3-Tier.
3.  N-tier architecture : N-Tier biasanya menunjuk ke aplikasi web yang menyalurkan lagi permintaan kepada pelayanan enterprise. Aplikasi jenis ini paling berjasa bagi kesuksesanserver aplikasi.
4.  Tightly coupled (clustered) : biasanya menunjuk kepada satu set mesin yang sangat bersatu yang menjalankan proses yang sama secara paralel, membagi tugas dalam bagian-bagian, dan kemudian mengumpulkan kembali dan menyatukannya sebagai hasil akhir.
5.  Peer-to-peer : sebuah arsitektur di mana tidak terdapat mesin khusus yang melayani suatu pelayanan tertentu atau mengatur sumber daya dalam jaringan. Dan semua kewajiban dibagi rata ke seluruh mesin, yang dikenal sebagai peer.
6.     Space based : Mengacu ke suatu infrastruktur yang membuat ilusi atau virtualisasi dari satu ruang-alamat (address-space) tunggal. Data secara transparan direplikasi sesuai dengan kebutuhan aplikasi.
7.  Mobile code : berdasarkan prinsip arsitektur mendekatkan pemrosesan ke sumber data
8. Replicated repository : Di mana repository dibuat replikanya dan disebarkan ke dalam sistem untuk membantu pemrosesan online/offline dengan syarat keterlambatan pembaharuan data dapat diterima.

5. Map Reduce


Map Reduce danNoSQL (Not Only SQL) adalah sebuah pemogramaan framework guna untuk membantu user mengembangankan sebuah data yang ukuran besar dapat terdistribusi satu sama lain. 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.
MapReduce adalah model pemrogramana rilisan Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan parallel dalam cluster yang terdiri atas ribuan komputer. Dalam memproses data, MapReduce dibagi menjadi 2 proses utama, yaitu Map dan Reduce. Proses Map bertugas untuk mengumpulkan informasi dari potongan-potongan data yang terditribusi dalam tiap komputer dalam cluster (kelompok komputer yang saling terhubung). Hasilnya deserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.

6. NoSQL
NOSQL menurut Wikipedia adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NOSQL mungkin tidak membutuhkan skema tabel 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. NOSQL adalah database generasi terbaru yang mengarahkan kepada database yang tidak berelasi (non-relational), dapat disebarkan kepada siapapun (open-source) dan berskala horisontal (horizontal scale).
Johan Oskarsson dari Last.fm memperkenalkan kembali istilah NOSQL pada awal 2009 ketika ia menyelenggarakan sebuah acara untuk membahas “Distributed Open Source dan Non-relational Database”. Nama berusaha untuk label munculnya peningkatan jumlah non-relasional, didistribusikan menyimpan data, termasuk kloning open source dari Google Bigtable/MapReduce dan Amazon Dynamo.
Berbeda dengan basis data SQL dimana meskipun berbeda-beda pembuat namun cara kerja NOSQL maupun cara penggunaannya relatif sama. Contohnya sama-sama menggunakan tabel yang dihubungkan oleh relasi-relasi, manipulasi data dengan bahasa SQL dan sb. Basis data NOSQL bisa sangat berbeda satu sama lain.
Sebagian besar sistem NOSQL pada masa awal tidak berusaha untuk memberikan atomicity, konsistensi, isolasi dan daya tahan jaminan, bertentangan dengan praktik yang berlaku di antara sistem database relasional. Namun di kemudian hari, beberapa database NOSQL dengan pembaruan terkini sudah mampu mengintegrasikan database yang non-relasional ke dalam bentuk database relasional sehingga dapat mempermudah pengguna yang masih belum akrab dengan bahasa standar yang diterapkan NOSQL.
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.
 




 


 

Newer Posts Older Posts
Powered By Blogger
Diberdayakan oleh Blogger.

Pages

Contact Us

Video

© Copyright Alfhan's Published.. Blogger Templates
Back To Top