Pages

Pages - Menu

Pages - Menu

Jumat, 27 Juni 2014

komputasi paralel

Parallel Computation:
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtyf3enesWsCxJ9go4gWi1DEEkrX_svghskmkmvFqtNWlQga5ZtjL3EQoWXyuEmBnJLq1BeN2lX3y6NlwjLRyzf-86w2uVRXmh5QaQpseAijkK4ZG45-xoGAB8dW3aUJGOfdarAOJN0rM/s400/aaaaaaaaaaaaa.gif
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. 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.
Komputer dikatakan sebagai mesin komputasi paralel jika memenuhi beberapa syarat berikut ini:
-Data yang diproses dipecah menjadi bagian-bagian terpisah yang bekerja secara independen dan terus-menerus.
- Proses pengeksekusian instruksi ganda. Sehingga dalam sekali waktu, bisa dihasilkan 2 atau lebih suatu output data. Untuk lebih detilnya bisa dibaca pada sub bab taksonomi Flynn. Yang dalam hal ini sangat berbeda dengan paradigma perkembangan pengolahan data yang berkisar pelebaran jalur data, bukan penjamakan instruksi
- Dapat menyelesaikan tugas lebih cepat daripada dengan perangkat serial.
Distributed computing
Merupakan sebuah sistem komputer dengan memori terdistribusi, dimana masing-masing elemen pemrosesan dihubungkan oleh jaringan.
Architectural parallel computer
Michael J. Flynn menciptakan satu diantara sistem klasifikasi untuk komputer dan program paralel, yang dikenal dengan sebutan Taksonomi Flynn. Flynn mengelompokkan komputer dan program berdasarkan banyaknya set instruksi yang dieksekusi dan banyaknya set data yang digunakan oleh instruksi tersebut.
     1. SISD (Single Instruction stream, Single Data stream) 
      Komputer tunggal yang mempunyai satu unit kontrol, satu unit prosesor dan satu unit     memori Instruksi dilaksanakan secara berurut tetapi boleh juga overlap dalam tahapan eksekusi (overlap) Satu alur instruksi didecode untuk alur data tunggal.
2. SIMD (Single Instruction stream, Multiple Data stream)
Komputer yang mempunyai beberapa unit prosesor di bawah satu supervisi satu unit common control. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda.
     3. MISD (Multiple Instruction stream, Single Data stream)
      Sampai saat ini struktur ini masih merupakan struktur teoritis dan belum ada komputer dengan model ini.
4. MIMD (Multiple Instruction stream, Multiple Data stream)
Organisasi komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam  kategori ini.
      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 mengunakan 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++

Multicore gpu cuda
        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.
sumber :

http://ahmadqusyairi.blogspot.com/2010/03/openmp-open-multi-processing.html

1.            MULTIPROGRAMMING
Multiprogramming memiliki pengertian yaitu Sistem Operasi dapat melayani banyak program yang tidak ada hubungannya antar program satu dengan yang lain, dan program-program tersebut dapat dijalankan
sekaligus dalam satu komputer yang sama. Pelaksanaan instruksi yang terjadi oleh Sistem Operasi adalah pada mulanya program dimuat ke dalam memori terlebih dahulu, kemudian program dijalankan hingga mengakses perangkat input dan output, kemudian software akan berpindah ke pekerjaan yang lainnya begitu
pula jika ada program yang akan di jalankan lagi, dengan program yang sebelumnya telah dijalankan masih terus berjalan.

2.            MULTIPROCESSING
Isilah Multiprocessing mangacu kepada abilitas pemrosesan komputer yang dilakukan secara serentak. Hal ini memungkinkan dengan adanya penggunaan dua prosesor lebih dalam sebuah komputer lalu mengalokasikan perintah kepada prosesor-prosesor tersebut.Multiprocessing juga kadang mengacu pada kemampuan eksekusi
terhadap beberapa proses perangkat lunak dalam sebuah sistem secara serentak, jika dibandingkan dengan sebuah proses dalam satu waktu, meski istilah multiprogramming lebih sesuai untuk konsep ini. Multiprocessing sering diibaratkan dalam perangkat keras atau hardware (dengan menggunakan beberapa CPU
sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak(software). Suatu sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu diantaranya, atau tidak sama sekali. Multiprocessing dapat dibagi ke dalam beberapa kelas, yaitu:

1. Berdasarkan simetrinya
- Assymmetric Multiprocessing (ASMP)
- Symmetric Multiprocessing (SMP)
- Non-uniform Memory Access (NUMA) Multiprocessing
- Clustering
2.Berdasarkan jumlah instruksi dan datanya
- Single Instruction on Single Data Stream
- Single Instruction on Multiple Data Stream
- Multiple Instruction on Single Data Stream
- Multiple Instruction on Multiple Data Stream
3. Berdasarkan kedekatan antar prosesor
- Loosely coupled
- Thightly coupled
3.            DISTRIBUTED PROCESSING
Mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi. Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan atau masalah yang lain akan mengambil alih tugasnya.
http://deskripsi.com/komputer/distributed-processing





a.      Penjelasan lengkap tentang Architectural Parallel Computer
http://seto.citravision.com/foto_berita/89Arsitektur%20paralel%20.jpg
Arsitektur paralel komputer menurut Klasifikasi Flynn’s:
§  SISD
Single Instruction – Single Data. Komputer ini memiliki hanya satu prosesor dan satu instruksi yang dieksekusi secara serial. Komputer ini adalah tipe komputer konvensional. Menurut mereka tipe komputer ini tidak ada dalam praktik komputer paralel karena bahkan mainframe pun tidak lagi menggunakan satu prosesor. Klasifikasi ini sekedar untuk melengkapi definisi komputer paralel. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1, IBM 360, CDC 7600, Cray 1 dan PDP 1

§  SIMD
Single Instruction – Multiple Data. Komputer ini memiliki lebih dari satu prosesor, tetapi hanya mengeksekusi satu instruksi secara paralel pada data yang berbeda pada level lock-step. Komputer vektor adalah salah satu komputer paralel yang menggunakan arsitektur ini. 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
Multiple Instructions – Single Data. Teorinya komputer ini memiliki satu prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur ini karena sistemnya tidak mudah dipahami. Sampai saat ini belum ada komputer yang menggunakan model MISD.
§  MIMD
Multiple Instructions – Multiple Data. Komputer ini memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk membangun komputer paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
Sistem komputer paralel dibedakan dari cara kerja memorinya menjadi shared memory dan distributed memory. Shared memory berarti memori tunggal diakses oleh satu atau lebih prosesor untuk menjalankan instruksi sedangkan distributed memory berarti setiap prosesor memiliki memori sendiri untuk menjalankan instruksi. Adapun komponen-komponen utama dari arsitektur komputer paralel cluster PC antara lain:
  • §  Prosesor (CPU). Bagian paling penting dalam sistem, untuk multicore terdapat lebih dari satu core yang mengakses sebuah memori (shared memory).
  • §  Memori. Bagian ini dapat diperinci lagi menjadi beberapa bagian penyusunnya seperti RAM, cache memory dan memori eksternal.
  • §  Sistem Operasi. Software dasar untuk menjalankan sistem komputer.
  • §  Cluster Middleware. Antarmuka antara hardware dan software.
  • §  Programming Environment dan Software Tools. Software yang digunakan untuk pemrograman paralel termasuk software pendukungnya.
  • §  User Interface. Software yang menjadi perantara hardware dengan user.
  • §  Aplikasi. Software berisi program permasalahan yang akan diselesaikan.
  • §  Jaringan. Penghubung satu PC (prosesor) dengan PC yang lain sehingga memungkinkan pemanfaatan sumberdaya secara simultan

Sumber :
http://seto.citravision.com/berita-48-parallel-computation--architectural-parallel-computer.html


Kamis, 26 Juni 2014

SOFT SKILL :
Pengantar Komputasi Cloud

Pengantar Komputasi Cloud
A.Pendahuluan
Perkembangan teknologi di era ini menggunakan konsep - konsep seperti social networking, open, share, colaborations, mobile, easy maintenance, one click, terdistribusi, scalability, concurency, dan transparan. Sampai saat ini trend teknologi Cloud Computing (Komputasi Awan) masih terus diteliti dalam penelitian - penelitian para pakar IT dunia. Dengan berbagai kelebihan dan kekurangan, Cloud Computing hadir dengan memudahkan akses data dari mana saja dan kapan saja, karena dengan memanfaatkan internet dan menggunakan perangkat fixed atau mobile device menggunakan internet cloud sebagai tempat penyimpanan data, aplikasi dan lainya. Teknologi ini akan memberikan banyak keuntungan  baik dari sisi pemberi layanan (provider) atau dari sisi user. Penerapan teknologi ini memberikan dampak yang sangat signifikan bagi pengembangan teknologi itu sendiri, baik dari sisi pengguna maupun dari sisi industri. Pengguna diuntungkan dengan semakin mudahnya memperoleh atau mengunduh data secara cepat dan mudah karena banyak layanan yang dibuka oleh pihak industri. Keuntungan bagi pihak industri pun tidak kalah besar dengan kemudahan yang didapat oleh pengguna, karena dengan semakin majunya teknologi cloud computing akan semakin memudahkan industri untuk memasarkan produk dan menyebarkan informasi secara meluas keseluruh penjuru dunia. Cloud computing adalah gabungan pemanfaatan teknologi komputer dan pengembangan berbasis internet.
Kelebihan Cloud Computing:
Kelebihan paling menonjol dari cloud computing adalah kemudahan akses. Untuk mengerjakan suatu pekerjaan tidak mesti berada dihadapan satu komputer yang sama. Misal anda diberi tugas oleh oleh atasan anda untuk membuat sebuah bahan presentasi dengan format aplikasi power point, karena pada komputer anda tidak ada aplikasi power pointnya maka anda bisa membuatnya di Google Docs (Google Drive) ataupun skydrive nya windows. Cukup koneksi ke internet, login ke akun google atau hotmail. Outlook mail, maka anda pun sudah bisa membuat bahan presentasi secara online. Fleksibilitas, seperti contoh diatas, bahan presentasi yang kita buat tidak perlu di simpan di hardisk yang akan memakan ruang space. Dimanapun anda berada ataupun kemanapun anda berpergian file - file tersebut bisa dibuka dimana saja asalkan ada koneksi internet. Andaikata anda akan pergi ke perusahaan cabang anda, anda tidak perlu lagi repot - repot membawa laptop ke cabang perusahaan anda, karena semua file - file tersimpan diawan. Penghematan adalah kelebihan lain dari cloud computing.
Kekurangan Cloud Computing:
Hal yang paling wajib dalam cloud computing adalah koneksi internet, internet bisa dibilang jalan satu - satunya untuk menuju ke cloud computing, ketika tidak ada koneksi internet ditempat kita berada, maka jangan harap bisa menggunakan sistem cloud computing. Hal ini masih menjadi hambatan khususnya bagi Indonesia, karena belum semua wilayah di tanah air terjangkau oleh akses internet, ditambah lagi sekalipun ada koneksi internet, koneksinya belum stabil dan kurang memadai. Kerahasiaan dan keamanan adalah salah satu hal yang paling diragukan pada komputasi awan. Karena dengan menggunakan sistem cloud computing ini berarti kita mempercayakan sepenuhnya atas keamanan dan kerahasiaan data - data kepada perusahaan penyedia server komputasi awan (cloud computing). Contoh yang paling sederhana adalah ketika anda menyimpan foto - foto anda di facebook dengan beberapa konfigurasi privasi yang diberikan kepada kita, maka selebihya kita mempercayakan keamanan file - file tersebut kepada facebook. Andaikata foto - foto tersebut hilang kita tidak bisa menuntut karena kita memanfaatkan jasa tersebut secara cuma - cuma alias gratis.
Berbeda dengan cloud computing, Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar. Dalam hal bisa disebut sebagai parallel computing baik itu secara riil maupun virtual. Ada beberapa daftar yang dapat dugunakan untuk mengenali sistem komputasi grid, adalah :
- Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.
- Sistem menggunakan standard dan protocol yang terbuka.
- Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.
Ide awal komputasi grid dimulai dengan adanya distributed computing, yaitu mempelajari penggunaan komputer terkoordinasi yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan aplikasi yang berbeda dengan sistem terpusat. Kemudian berkembang lagi menjadi parallel computing yang merupakan teknik komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Setidaknya ada dua sisi yang mendorong semakin berkembangnya grid computing saat ini. Kebutuhan akan sumber daya komputasi yang besar di berbagai bidang serta adanya sumber daya komputasi yang tersebar. Grid computing menawarkan solusi komputasi yang murah, yaitu dengan memanfaatkan sumber daya yang tersebar dan heterogen serta pengaksesan yang mudah dari mana saja. Globus Toolkit adalah sekumpulan perangkat lunak dan pustaka pembuatan lingkungan komputasi grid yang bersifat open-source. Dengan adanya lingkungan komputasi grid ini diharapkan mempermudah dan mengoptimalkan eksekusi program-program yang menggunakan pustaka paralel.
Dalam tulisan What is the Grid? A Three Point Checklist oleh Ian Foster (bapak dari Komputasi Grid) ada check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu : “Sistem tersebut melakukan koordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat. Seandainya sumber daya yang digunakan berada dalam satu cakupan domain administratif, maka komputasi tersebut belum dapat dikatakan komputasi grid”.
Sistem tersebut menggunakan standard dan protokol yang bersifat terbuka (tidak terpaut pada suatu implementasi atau produk tertentu). Komputasi grid disusun dari kesepakatan-kesepakatan terhadap masalah yang fundamental, dibutuhkan untuk mewujudkan komputasi bersama dalam skala besar. Kesepakatan dan standar yang dibutuhkan adalah dalam bidang autentikasi, otorisasi, pencarian sumberdaya, dan akses terhadap sumber daya.Misalnya TCP/IP
Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut. Tiga hal yang disharing dalam sebuah sistem grid, antara lain : Resource, Network dan Proses. Kegunaan / layanan dari sistem grid sendiri adalah untuk melakukan high throughput computing dibidang penelitian, ataupun proses komputasi lain yang memerlukan banyak resource komputer.
Secara generik, keuntungan dasar dari penerapan komputasi Grid, yaitu:
- Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle.
- Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah apat berjalan lebih cepat dan mencakup domain yang lebih luas.
- Software dan aplikasi: Pool dari aplikasi dan pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi penelitian yang lebih baik.
- Data: Akses terhadap sumber data global, dan Hasil penelitian lebih baik
Indonesia sudah menggunakan sistem Grid dan diberi nama InGrid (Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret 2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan beberapa perguruan tinggi negeri dan swasta yang tersebar di seluruh Indonesia dan beberapa instansi pemerintahan seperti Badan Meteorologi dan Geofisika.
Jurnal Komputasi Modern Grid Komputing
Teknologi grid computing adalah suatu cara penggabungan sumber daya yang dimiliki banyak komputer yang terhubung dalam suatu jaringan umumnya berada ditempat-tempat yang secara geografis terpisah sehingga terbentuk suatu kesatuan sistem komputer dengan sumber daya komputasi yang besarnya mendekati jumlah sumber daya komputasi dari komputer-komputer yang membentuknya.
Kebutuhan Sumber Daya Komputasi pada Pengembangan e-Science
Saat ini, para peneliti sudah amat menyadari pentingnya peran komputer dalam pengembangan ilmu pengetahuan dan teknologi. Komputer memungkinkan para peneliti untuk menciptakan laboraturium virtual dalam komputer untuk melakukan eksperimeneksperimen yang akan mahal sekali jika dilakukan di dalam sebuah laboraturium fisik atau bahkan tidak mungkin.
Untuk melakukan eksperimen dengan menggunakan komputer dalam konteks pengembangan e-Science di atas umumnya dibutuhkan sumber daya komputasi yang berkinerja tinggi (atau juga dikenal dengan sebutan high performance computing).Supercomputer memang dapat memenuhi kebutuhan para peneliti e-Science, namun karena harganya yang mahal, hanya sedikit dari para peneliti tersebut yang dapat memilikinya/menggunakannya.
Sejalan dengan perkembangan teknologi komputer, baik dari sisi perangkat keras maupun perangkat lunak, saat ini sumber daya komputasi berkinerja tinggi tidak lagi harus dipenuhi oleh komputer-komputer berkategori supercomputer. Bahkan dengan teknologi komputer yang dikenal dengan nama grid computing, sejumlah komputer yang lazim digunakan di perkantoran dapat digabung untuk secara bersama-sama melakukan eksperimen seperti yang dahulu biasa dilakukan oleh super computer.Supercomputer memang dapat memenuhi kebutuhan para peneliti e-Science, namun karena harganya yang mahal, hanya sedikit dari para peneliti tersebut yang dapat memilikinya/menggunakannya.
Sejalan dengan perkembangan teknologi komputer, baik dari sisi perangkat keras maupun perangkat lunak, saat ini sumber daya komputasi berkinerja tinggi tidak lagi harus dipenuhi oleh komputerkomputer berkategori supercomputer. Bahkan dengan teknologi komputer yang dikenal dengan nama grid computing, sejumlah komputer yang lazim digunakan di perkantoran dapat digabung untuk secara bersama-sama melakukan eksperimen seperti yang dahulu biasa dilakukan oleh super computer.

Arsitektur GRID Computing
grid
grid
Seperti terlihat pada gambar tersebut,GRID COMPUTING dibangun dengan jalan menggabungkan sistem-sistem komputasi grid yang berada di institusi-institusi penelitian (GRID-2, 3, 4) menjadi satu kesatuan. Konfigurasi perangkat keras dan perangkat lunak masing-masing sistem di tingkat institusi dapat berbeda, namun dengan mengoperasikan teknologi grid computing seperti GT4 pada simpul-simpul penghubung dari masing-masing sistem, keseluruhan sistem membentuk satu kesatuan infrastruktur komputasi grid. Dengan konfigurasi seperti ini, jika dibutuhkan,pengguna di suatu institusi dapat memanfaatkan sumber daya komputasi yang berada di luar institusinya.
Konfigurasi yang ditunjukkan pada Gambar di atas tidak menuntut masing-masing sistem di tingkat institusi untuk merubah konfigurasi sistem masing-masing secara signifikan. Jika suatu institusi telah mengimplementasikan suatu teknologi grid computing tertentu seperti SUN Grid Engine (SGE) atau teknologi komputasi berbasis jaringan seperti PVM, MPI, Condor maka sistem GT4 dapat  dikonfigurasikan untuk berkoordinasi dengan masing-masing teknologi tersebut. Salah satu prasyarat dari pembentukan GRID COMPUTING adalah tersedianya suatu backbone jaringan berkapasitas besar untuk menghubungkan simpul-simpul penghubung di masing-masing institusi (harus memiliki lebar pita mulai 2 Mbps sampai dengan 155 Mbps).

Komponen-komponen penting :
GRAM: Grid Resource Allocation & Management
Komponen ini bertanggung jawab dalam mengelola seluruh sumber daya komputasi yang tersedia dalam sistem komputasi grid.
Pengelolaan ini mencakup eksekusi program pada seluruh komputer yang tergabung dalam sistem komputasi grid, mulai dari inisiasi, monitoring, sampai penjadwalan (scheduling) dan koordinasi antarproses.
RFT/GridFTP: Reliable File Transfer/Grid File Transfer Protocol
Komponen ini memungkinkan pengguna mengakses data yang berukuran besar dari simpul-simpul komputasi yang tergabung dalam sistem komputasi grid secara efisien dan dapat diandalkan.
MDS: Monitoring & Discovery Service
Komponen ini memungkinkan pengguna sistem GT4 melakukan monitoring proses komputasi yang tengah berjalan sehingga masalah yang timbul dapat segera diketahui.
GSI: Grid Security Infrastructure
Komponen ini bertanggung jawab atas keamanan sistem komputasi grid secara keseluruhan. Sistem keamanan GT4 dibangun atas komponen-komponen standar keamanan yang telah teruji, yang mencakup proteksi data, autentikasi, delegasi, dan autorisasi. Konfigurasi dasar GT4 mengasumsikan baik pengguna maupun layanan menggunakan standar keamanan yang menggunakan standar kunci publik X.509.







VIRTUALISASI
Saat ini rasanya kita sering sekali mendengar kata virtualisasi dalam keseharian kita terutama bagi mereka yang bergelut dibidang IT. Sebenarnya apa yang dimaksud dengan virtualisasi itu sendiri?, untuk mengetahui lebih dalam mengenai istilah tersebut mari kita simak ulasan berikut.
Ada yang menyatakan bahwa pengertian virtualisasi adalah sutu proses abstraksi terhadap Sumber Daya Komputer. Cukup membingungkan memang jika kita coba memahami pengertian tadi. Definisi lainnya adalah Virtualisasi adalah sebuah tehnik menyembunyikan karakteristik fisik dari sebuah hardware atau perangkat komputer termasuk aplikasi didalamnya. Dan pengertian yang satu  ini lebih membingungkan lagi, maka dari itu mari kita coba menyederhanakan kembali pengertian tentang apa itu virtualisasi.
Secara sederhana virtualisasi itu membuat komputer yang sifatnya fisik menjadi virtual. Contohnya ada tiga mesin komputer yang masing-masing memiliki peranan atau fungsi yang berbeda satu sama lain, sebagai contoh Komputer A berfungsi sebagai Email Server, Komputer B sebagai File Server dan Komputer C sebagai AD Server. Jadi ketiga fungsi tersebut memiliki mesin yang terpisah satu sama lain, sehingga memerlukan sumberdaya yang lebih untuk menjalankan ketiga fungsi tersebut, seperti Hardware dan Sumberdaya Listrik.
Dengan adanya teknologi virtualisasi, maka ketiga komputer tadi hanya akan memerlukan satu Hardware Resources saja untuk memenuhi kebutuhan 3 fungsi yang berbeda tadi. Jadi sederhananya dalam satu Hardware dapat ditanam 3 fungsi komputer  dalam bentuk virtual. Untuk memenuhi kebutuhan tersebut diperlukan aplikasi yang berfungsi sebagai host untuk menjalankan Operating System yang akan ditanam didalam sebuah Hardware.
virtualisasi_ruang_it
Virtualisasi sudah dikenal dan dipergunakan secara luas sejak 1960-an, dan telah diaplikasikan kepada beberapa  sistem komputer. Secara umum semua teknologi virtualisasi mengacu kepada “menyembunyikan detail teknis” melalui enkapsulasi
Saat ini terdapat beberapa Aplikasi yang bisa menjalankan kebutuhan virtualisasi, seperti VM Ware dan Microsoft Hyper-V. Kedua aplikasi tersebut sangat populer saat ini, dan telah menjadi pilihan untuk menerapkan Virtualisasi Server sebagai upaya untuk menekan  anggaran belanja IT.
Distributed Computing
Distributed Computing adalah ilmu yang memecahkan masalah besar dengan memberikan bagian kecil dari masalah untuk banyak komputer untuk memecahkan dan kemudian menggabungkan solusi untuk bagian-bagian menjadi solusi untuk masalah tersebut. Distributed computing terkait dengan system perangkat keras dan perangkat lunak yang memiliki lebih dari satu elemen pemrosesan atau storage element.
cloud computing
Pada cloud computing, penyimpanan data hanya dilakukan pada server utama, sehingga pengguna hanya dapat mengaksesnya tanpa harus mengetahui infrastruktur pembuatan aplikasinya. Hanya perlu interface software saja untuk mengakses server. Interface ini pada umumnya merupakan web browser yang tersedia dengan banyak pilihan dan tidak berbayar.
Cloud computing dipecah ke dalam beberapa kategori yang berbeda berdasarkan jenis layanan yang disediakan. SaaS (Software as a Service) adalah kategori komputasi awan di mana sumber daya utama yang tersedia sebagai layanan perangkat lunak aplikasi. PaaS (Platform as a Service) adalah kategori / penerapan komputasi awan di mana penyedia layanan memberikan platform komputasi atau solusi tumpukan untuk pelanggan mereka melalui internet. IaaS (Infrastructure as a Service) adalah kategori komputasi awan di mana sumber daya utama yang tersedia sebagai layanan yang infrastruktur perangkat keras. DaaS (Desktop sebagai Layanan), yang merupakan layanan muncul-Aas berkaitan dengan memberikan pengalaman seluruh desktop melalui internet. Ini kadang-kadang disebut sebagai virtualisasi desktop / virtual desktop atau desktop host.
Bidang ilmu komputer yang berkaitan dengan sistem terdistribusi disebut komputasi terdistribusi. Sebuah sistem terdistribusi terdiri dari lebih dari satu komputer self-directed berkomunikasi melalui jaringan. Komputer-komputer ini menggunakan memori lokal mereka sendiri. Semua komputer dalam sistem terdistribusi berbicara satu sama lain untuk mencapai tujuan bersama tertentu. Atau, pengguna yang berbeda pada setiap komputer mungkin memiliki kebutuhan individu yang berbeda dan sistem terdistribusi akan melakukan koordinasi sumber daya bersama (atau bantuan berkomunikasi dengan node lain) untuk mencapai tugas-tugas masing-masing. Node berkomunikasi menggunakan message passing. Komputasi terdistribusi juga dapat diidentifikasi sebagai menggunakan sistem terdistribusi untuk memecahkan masalah besar tunggal dengan melanggar itu dengan tugas, masing-masing yang dihitung masing-masing komputer dari sistem terdistribusi. Biasanya, mekanisme toleransi berada di tempat untuk mengatasi kegagalan komputer individu. Struktur (topologi, delay dan kardinalitas) dari sistem ini tidak dikenal di muka dan itu bersifat dinamis. Komputer individu tidak harus tahu segala sesuatu tentang seluruh sistem atau masukan lengkap (untuk masalah yang akan dipecahkan).
3.     Kesimpulan
Cloud computing adalah teknologi yang memberikan berbagai jenis sumber daya sebagai layanan, terutama melalui internet, sedangkan 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). Cloud computing pada dasarnya adalah penjualan dan model distribusi untuk berbagai jenis sumber daya melalui internet, sedangkan komputasi terdistribusi dapat diidentifikasi sebagai jenis komputasi, yang menggunakan sekelompok mesin untuk bekerja sebagai satu kesatuan untuk memecahkan masalah skala besar. Komputasi terdistribusi mencapai hal ini dengan memecah masalah ke tugas sederhana, dan menugaskan tugas-tugas ke node individu.
4.     Daftar Pustaka

Map Reduce danNoSQL (Not Only SQL)
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.
Salah satu contoh penerapan nyata map-reduce ini dalam suatu produk adalah yang dilakukan Google. Dengan inspirasi dari functional programming map dan reduce Google bisa menghasilkan filesystem distributed yang sangat scalable, Google Big Table. Dan juga terinspirasi dari Google, pada ranah open source terlihat percepatan pengembangan framework lainnya yang juga bersifat terdistribusi dan menggunakan konsep yang sama, project open source tersebut bernama Apache Hadoop.
NoSQL adalah istilah untuk menyatakan berbagai hal yang didalamnya termasuk database sederhana yang berisikan key dan value seperti Memcache, ataupun yang lebih canggih yaitu non-database relational seperti MongoDBCassandraCouchDB, dan yang lainnya.
Wikipedia menyatakan NoSQL adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema table dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional.

NoSQL
Nosql adalah sebuah memcache dari bagian database sederhana yang berisi key dan value. Database ini bersifat struktur storage dimana sistem databasenya yang berbeda dengan sistem database relasional. Nosql tidak membutuhkan skema table dan menghindari operasi join dan berkembang secara horizontal. Selain itu NoSQL merupakan suatu bahasan yang jauh dari arti kata yang dibaca. Tidak berarti tanpa sql query. Melainkan bagaimana suatu sql query digunakan seminimal mungkin dalam suatu program database. Dengan memanfaatkan teknologi NoSQL ini, diharapkan mampu mengurangi beban server. Selain itu, hal ini juga memudahkan programmer dalam membuat suatu program dan proses pengembangannya. Penjelasan lebih mengenai NoSQL database akan dijelaskan pada sub bab dibawah ini.
Database NoSQL, juga disebut Not Only SQL, adalah sebuah pendekatan untuk pengelolaan datadan desain database yang berguna untuk set yang sangat besar data terdistribusi. NoSQL, yang mencakup berbagai teknologi dan arsitektur, berusaha untuk memecahkan masalah skala bilitas dan kinerja data yang besar yang database relasional tidak dirancang untuk menangani.NoSQL ini sangat berguna ketika perusahaan perlu untuk mengakses dan menganalisis sejumlah besar data terstruktur atau data yang disimpan dari jarak jauh pada beberapa virtual server di awan.
Berlawanan dengan kesalahpahaman yang disebabkan oleh namanya, NoSQL tidak melarangbahasa query terstruktur (SQL) Meskipun benar bahwa beberapa sistem NoSQL sepenuhnya non-relasional, yang lain hanya menghindari fungsi relasional dipilih seperti skema tabel tetap dan bergabung dengan operasi. Sebagai contoh, daripada menggunakan tabel, database NoSQL mungkin mengatur data menjadi objek, kunci / nilai berpasangan atau tupel

Kesimpulan
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.
Salah satu contoh penerapan nyata map-reduce ini dalam suatu produk adalah yang dilakukan Google. Dengan inspirasi dari functional programming map dan reduce Google bisa menghasilkan filesystem distributed yang sangat scalable, Google Big Table. Dan juga terinspirasi dari Google, pada ranah open source terlihat percepatan pengembangan framework lainnya yang juga bersifat terdistribusi dan menggunakan konsep yang sama, project open source tersebut bernama Apache Hadoop.

Daftar Pustaka
http://no21reason.blogspot.com/2013_04_01_archive.html