1. Parallel
Processing
Pemrosesan paralel
(parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan
sebuah program secara simultan. Idealnya, parallel processing membuat program
berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam
praktek, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU
yang berbeda-beda tanpa berkaitan di antaranya.
Pemrosesan Paralel
adalah komputasi dua atau lebih tugas pada waktu bersamaan dengan tujuan untuk
mempersingkat waktu penyelesaian tugas-tugas tersebut dengan cara
mengoptimalkan resource pada sistem komputer yang ada untuk mencapai tujuan
yang sama. Pemrosesan paralel dapat mempersingkat waktu ekseskusi suatu program
dengan cara membagi suatu program menjadi bagian-bagian yang lebih kecil yang
dapat dikerjakan pada masing-masing prosesor secara bersamaan.
Tujuan
utama dari pemrosesan paralel adalah untuk meningkatkan performa komputasi.
Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang
sama), semakin banyak pekerjaan yang bisa diselesaikan. Analogi yang paling
gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat
anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan
bila anda mengerjakan hal tersebut secara berurutan (serial). Atau waktu yg
anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua.
Performa
dalam pemrosesan paralel diukur dari berapa banyak peningkatan kecepatan (speed
up) yang diperoleh dalam menggunakan teknik paralel. Secara informal, bila anda
memotong bawang sendirian membutuhkan waktu 1 jam dan dengan bantuan teman,
berdua anda bisa melakukannya dalam 1/2 jam maka anda memperoleh peningkatan
kecepatan sebanyak 2 kali.
2. Cloud
computing
Komputasi awan (cloud computing) adalah
gabungan pemanfaatan teknologi
komputer dan pengembangan berbasis Internet.
Awan (cloud) adalah metefora 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, sehingga pengguna dapat mengaksesnya lewat Internet
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.
Karakteristik Cloud
Computing
·
On-Demand Self-Services
Sebuah layanan cloud computing harus dapat
dimanfaatkan oleh pengguna melalui mekanisme swalayan dan langsung
tersedia pada saat dibutuhkan. Campur tangan penyedia layanan adalah sangat
minim. Jadi, apabila kita saat ini membutuhkan layanan aplikasi CRM (sesuai
contoh di awal), maka kita harus dapat mendaftar secara swalayan dan layanan
tersebut langsung tersedia saat itu juga.
·
Broad Network Access
Sebuah layanan cloud computing harus dapat diakses
dari mana saja, kapan saja, dengan alat apa pun, asalkan kita terhubung ke
jaringan layanan. Dalam contoh layanan aplikasi CRM di atas, selama kita
terhubung ke jaringan Internet, saya harus dapat mengakses layanan tersebut,
baik itu melalui laptop, desktop, warnet, handphone, tablet, dan perangkat
lain.
·
Resource Pooling
Sebuah layanan cloud computing harus tersedia secara
terpusat dan dapat membagi sumber daya secara efisien. Karena cloud
computing digunakan bersama-sama oleh berbagai pelanggan, penyedia layanan
harus dapat membagi beban secara efisien, sehingga sistem dapat dimanfaatkan
secara maksimal.
·
Rapid Elasticity
Sebuah layanan cloud computing harus dapat menaikkan
(atau menurunkan) kapasitas sesuai kebutuhan. Misalnya, apabila pegawai di
kantor bertambah, maka kita harus dapat menambah user untuk aplikasi
CRM tersebut dengan mudah. Begitu juga jika pegawai berkurang. Atau, apabila
kita menempatkan sebuah website berita dalam jaringan cloud
computing, maka apabila terjadi peningkatkan traffic karena ada
berita penting, maka kapasitas harus dapat dinaikkan dengan cepat.
·
Measured Service
Sebuah layanan cloud computing harus disediakan
secara terukur, karena nantinya akan digunakan dalam proses pembayaran. Harap
diingat bahwa layanan cloud computing dibayar sesuai penggunaan,
sehingga harus terukur dengan baik.
3. Penerapan
Parallel Processing pada Cloud Computing
Penggunaan Komputer untuk
menyelesaikan suatu permasalahan dalam berbagai bidang sekarang ini banyak
dilakukan karena lebih cepat dibandingkan penyelesaian secara manual.
Oleh karena hal tersebut, perlu adanya peningkatan proses komputasi yang dapat
ditempuh dengan 2 cara, yaitu:
-
Peningkatan Kecepatan Hardware : peningkatan kecepatan prosesor
komputer dengan menggunakan multiprosesor. Perubahan arsitektur komputer
menjadi multiprosesor memang dapat mengerjakan banyak proses dalam 1 waktu,
namun tidak dapat mempercapat kinerja proses. Hal ini dapat diatasi dengan
peningkatan kecepatan software.
-
Peningkatan Kecepatan Software : mencari suatu algoritma untuk
mempercepat kinerja proses. Algoritma tersebut tidaklah mudah tuk ditemukan,
namun berkat adanya komputer multiprosesor, hal tersebut dapat dirancang dengan
memparalelkan proses komputasinya.
Komputer multiprosesor masih memerlukan biaya yang cukup
besar sehingga menyebabkan beberapa algoritma paralel sulit diimplementasikan.
Untuk mengatasinya dirancanglah mesin paralel semu. Mesin
paralel semu ini sebenarnya adalah jaringan komputer yang dikendalikan oleh
sebuah perangkat lunak yang mampu mengatur pengalokasian proses-proses
komputasi kepada processor-processor yang tersebar dalam jaringan
tersebut.
Ketika pengguna mengakses awan untuk sebuah website populer,
banyak hal yang bisa terjadi. Pengguna IP misalnya dapat digunakan untuk
menetapkan dimana pengguna berada ( geolocation ). DNS jasa kemudian dapat
mengarahkan pengguna ke sebuah cluster server yang dekat dengan pengguna
sehingga situs bisa diakses dengan cepat dan dalam bahasa lokal mereka.
Pengguna tidak login ke server, tetapi mereka login ke layanan mereka
menggunakan dengan mendapatkan id sesi dan / atau cookie yang disimpan dalam
mereka browser . Apa yang user lihat pada browser biasanya akan datang dari
sekelompok web server. Webservers menjalankan perangkat lunak yang menyajikan
pengguna dengan interface yang digunakan untuk mengumpulkan perintah atau
instruksi dari pengguna (klik, mengetik, dll upload) Perintah-perintah ini
kemudian diinterpretasikan oleh webservers atau diproses oleh server aplikasi.
Informasi kemudian disimpan pada atau diambil dari database server atau file
server dan pengguna kemudian disajikan dengan halaman diperbarui. Data di
beberapa server disinkronisasikan di seluruh dunia untuk akses global cepat dan
juga untuk mencegah kehilangan data.
Dengan menggunakan pemrosesan parallel ketika mengakses awan,
ha tersebut dapat mempersingkat waktu eksekusi suatu program dengan cara
membagi suatu program menjadi bagian yang lebih kecil agar dapat dikerjakan
pada masing-masing prosesor secara bersamaan. Performa dalam pemrosesan paralel
diukur dari beberapa banyak peningkatan kecepatan yang diperoleh dalam
menggunakan teknik paralel. Pada proses kerja pemrosesan paralel yaitu membagi
beban kerja dan mendistribusikannya pada komputer-komputer lain yang terdapat
dalam sistem untuk menyelesaikan masalah. Sistem yang akan dibangun tidak akan
menggunakan komputer yang didedikasikan secara khusus untuk keperluan
pemrosesan paralel melainkan menggunakan komputer yang telah ada. Maksudnya
sistem ini akan terdiri dari sejumlah komputer dengan spesifikasi berbeda yang
akan bekerja sama untuk menyelesaikan suatu masalah.
Kemampuan sistem paralel tergantung dari kemampuan pemrogram
untuk membuat aplikasi terdistribusi ketika dijalankan pada sistem paralel. Jika
node slave mempunyai prosessor lebih dari satu maka pemrogram harus
memperhitungkan kemungkinan paralelisme 2 level : Paralelisme di dalam slvae
node (intra-node parallelism) dan paralelisme antar slave node (inter-node
parallelism). Inter-node parallelism menggunakan shared memory dalam node
sehingga tidak melakukan pertukaran data secara explicit. Sedangkan inter-node
parallelism melakukan pertukaran data lewat media yang menghubungkan antara
node slave yang ada.
Komputasi paralel merupakan salah satu teknik melakukan
komputasi secara bersamaan dengan memanfaatkan beberapa komputer juga secara
bersamaan. Pada komputasi paralel dibutuhkan saat kapasitas yang diperlukan
sangat besar untuk memproses komputasi yang banyak. Di samping itu pemakai
harus membuat pemrograman paralel untuk dapat merealisasikan komputasi.
Pemrograman paralel memiki tujuan utama yaitu untuk meningkatkan performa
komputasi. Oleh karena itu semakin banyak hal yang bisa dilakukan secara
bersamaan dalam waktu yang sama, semakin banyak pekerjaan yang bisa
diselesaikan.
Sumber :
Tidak ada komentar:
Posting Komentar