DAFTAR ISI
KATA
PENGANTAR................................................................................... i
DAFTAR
ISI.................................................................................................. ii
BAB 1
PENDAHULUAN..........................................................................................
1.1
Latar
Belakang...................................................................................
1.2 Rumusan Masalah
.............................................................................
BAB 2
PEMBAHASAN.............................................................................................
2.1
Pemrosesan paralel.............................................................................
2.2
Mengenal teknologi load
balancing...................................................
BAB 3
PENUTUP......................................................................................................
3.1
Kesimpulan.......................................................................................
DAFTAR
PUSTAKA....................................................................................
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Pada
perancang computer selalu berusaha untuk meningkatkan kinerja mesin-mesin yang
di rancangnya. Satu cara yang dilakukan dalam membuat chip-chip agar bekerja
lebih cepat dengan menambah kecepatan detaknya, namun untuk semua desain baru, cara
tersebut masih sulit dilakukan. Oleh karena itu, sebagian besar arsitektur
beralih ke paralelisme (melakukan dua hal atau lebih secara sekaligus) sebagai
suatu cara untuk mencapai kinerja yang lebih tinggi pada suatu kecepatan detak
tertentu.
Idealnya,
parallel processing membuat program berjalan lebih cepat karena semakin banyak
CPU yang digunakan. Tetapi dalam praktek, sering kali sulit membagi program
sehingga dapat dieksekusi oleh CPU yang berbeda-beda tanpa berkaitan di
antaranya.
Konsep
parallel itu sendiri dapat di tinjau dari aspek design mesin parallel,
perkembangan bahasa pemrograman parallel atau dari aspek pembangunan dan
analisis algoritma parallel. Algoritma parallel itu sendiri lebih banyak di
fokuskan kepada algoritma untuk menyelesaikan masalah numerik karena numeric
merupakan salah satu masalah yang memerlukan kecepatan komputasi yang sangat
tinggi. Parallel processing berbeda multitasking, yaitu satu CPU mengeksekusi
beberapa program sekaligus. Parallel processing di sebut juga parallel
computing.
1.2 Rumusan Masalah
1.
Yang dimaksud pemrosesan paralel, komputasi paralel
dan pemrograman paralel.
2.
Yang dimaksud Load Balancing.
BAB 2
PEMBAHASAN
2.1
PEMROSESAN PARALEL
A. Pengertian Parallel Computation
a. Pemrosesan Paralel
Pemrosesan Paralel adalah penggunaan lebih dari satu CPU
untuk menjalankan sebuah program secara simultan. Pemrosesan Paralel
membuat program berjalan lebih cepat karena CPU yang digunakan
makin banyak. Tetapi dalam praktek, sering kali
sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbeda-beda
tanpa berkaitan di antaranya.
b.
Pemrograman
Paralel
Pemrograman paralel adalah teknik pemrograman komputer yang
memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam
komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda
dengan mesin paralel) CPU. Tujuan utama dari pemrograman paralel adalah
untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan
secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang
bisa diselesaikan.
c. Menurut Wikipedia
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.
d.
Secara
Umum
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
sebuah 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.
Parallel
Computation dapat dibentuk dari :
· Ada : digunakan konsep pertemuan
yang menggabungkan fitur RPC dan monitor.
· PVM (Parallel Virtual Machine) untuk
mendukung workstation clusters.
· MPI (Message-Passing Interface)
programming GUI untuk parallel computers.
B.
Tujuan Pemrosesan Paralel
Pemrosesan
paralel memiliki tujuan utama yaitu untuk meningkatkan performa komputasi.
Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang
sama), semakin banyak pekerjaan yang bisa diselesaikan.
C. Arsitektur Komputer
Paralel
Taksonomi Flynn dan model pemrosesan parallel
Ada 4 kelompok dalam arsitektur komputer paralel, yaitu :
1.
Single
Instruction Single Data stream (SISD) : Jenis Komputer yang hanya memiliki satu
prosesor dan satu instruksi yang dieksekusi secara serial.
2.
Single
Instruction Multiple Data stream (SIMD) : Jenis komputer yang memiliki lebih
dari satu prosesor, tetapi komputer ini hanya mengeksekusi satu instruksi
secara paralel pada data yang berbeda pada sebuah level lock-step.
3.
Multiple
Instruction Single Data stream (MISD) : Jenis komputer yang memiliki satu
prosesor dan mengeksekusi beberapa instruksi secara paralel tetapi di dalam
praktiknya tak ada komputer yang dibangun dengan arsitektur ini karena
sistemnya sulit dipahami, sampai saat ini pun belum ada komputer yang
menggunakan arsitektur jenis ini.
4.
Multiple
Instruction Multiple Data stream (MIMD) : Jenis komputer yang memiliki lebih
dari satu prosesor dan mengeksekusi lebih dari satu instruksi secara paralel.
Tipe komputer ini yang paling banyak digunakan untuk membangun sebuah komputer
paralel, bahkan banyak supercomputer yang menerapkan arsitektur ini, karena
model dan konsepnya yang tidak terlalu rumit untuk dipahami.
D.
Bahasa Pemrograman yang digunakan pada Pemrosesan Parallel
Message Passing Interface (MPI)
Message Passing Interface (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.
Kegunaan MPI :
·
menulis
kode paralel secara portable.
·
mendapatkan
performa yang tinggi dalam pemrograman paralel.
·
menghadapi
permasalahan yang melibatkan hubungan data irregular atau dinamis yang
tidak begitu cocok dengan model data paralel.
E. Parallel Virtual Machine (PVM)
Parallel Virtual Machine (PVM) adalah paket software
yang mendukung pengiriman pesan untuk komputasi parallel antar komputer.
PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan
telah portable untuk banyak arsitektur seperti PC, workstation,
multiprocessor dan superkomputer.
Komponen PVM
·
PVM
daemon merupakan semacam program yang berjalan di “belakang” dan biasanya
menangani program dari para klien. Komponen ini berada pada setiap komputer
yang terhubung dalam virtual machine (mesin virtual). PVM Berguna untuk
membentuk konfigurasi host dalam PVM dan mengkoordinir komunikasi antar host.
·
PVM
libraries merupakan komponen
antarmuka pemakai PVM untuk melakukan pengiriman pesan,
pembuatan proses, koordinasi proses dan modifikasi virtual machine.
F.
Komputasi Modern dan Pemrosesan Paralel
Pemrosesan
paralel juga disebut komputasi paralel. Dalam upaya lebih murah pengolahan
komputasi paralel menyediakan alternatif pilihan yang layak. Waktu idle siklus
prosesor di seluruh jaringan dapat digunakan secara efektif oleh perangkat
lunak komputasi terdistribusi yang canggih. Pengolahan paralel istilah
digunakan untuk mewakili kelas besar teknik yang digunakan untuk memberikan
tugas pengolahan simultan data untuk tujuan meningkatkan kecepatan komputasi
dari sistem komputer.
Contoh :
Dari
gambar tersebut kita dapatkan beberapa tingkat paralelisme dalam komputasi
khususnya pada prosesor, di antaranya :
1) Paralelisme bit-level. Contoh : prosesor 32 bit dan prosesor
64 bit.
2) Paralelisme instruction set-level. Contoh : CISC dan RISC.
3) Paralelisme thread-level. Contoh : Intel hyperthreading.
G.
Kelebihan dan Kekurangan Pemrosesan
Paralel
Kelebihan Pemrosesan Paralel :
·
Throughput
jadi lebih tinggi
·
Waktu
eksekusi lebih cepat
Kerugian Pemrosesan Paralel :
·
Parallel
processing adalah salah satu teknik komputasi modern.
·
Perangkat
keras lainnya yang dibutuhkan.
·
Tidak
baik untuk daya rendah dan perangkat mobile.
·
Karena
membutuhkan banyak prosesor maka biaya mahal.
·
Kebutuhan
daya juga lebih.
2.2 Mengenal Teknologi Load Balancing
Load balancing adalah teknik untuk
mendistribusikan beban trafik pada dua atau lebih jalur koneksi secara
seimbang, agar trafik dapat berjalan optimal, memaksimalkan throughput,
memperkecil waktu tanggap dan menghindari overload pada salah satu jalur
koneksi. Load balancing digunakan pada saat sebuah server telah memiliki jumlah
user yang telah melebihi maksimal kapasitasnya. Load balancing juga
mendistribusikan beban kerja secara merata di dua atau lebih komputer, link
jaringan, CPU, hard drive, atau sumber daya lainnya, untuk mendapatkan
pemanfaatan sumber daya yang optimal.
A. Mengapa Menggunakan Load Balancer?
Ada banyak alasan mengapa menggunakan load balancing
untuk website atau aplikasi berbasis web lainnya. Dua alasan yang utama adalah:
1.
Waktu Respon. Salah satu manfaat
terbesar adalah untuk meningkatkan kecepatan akses website saat dibuka. Dengan
dua atau lebih server yang saling berbagi beban lalu lintas web, masing-masing
akan berjalan lebih cepat karena beban tidak berada pada 1 server saja. Ini
berarti ada lebih banyak sumber daya untuk memenuhi permintaan halaman website.
2.
Redundansi. Dengan load balancing, akan
mewarisi sedikit redundansi. Sebagai contoh, jika website kita berjalan
seimbang di 3 server dan salah satu server bermasalah, maka dua server lainnya
dapat terus berjalan dan pengunjung website kita tidak akan menyadarinya
downtime apapun.
B. Cara Kerja Load Balancing
Load Balancer (perangkat load balancing) menggunakan
beberapa peralatan yang sama untuk menjalankan tugas yang sama. Hal ini
memungkinkan pekerjaan dilakukan dengan lebih cepat dibandingkan apabila
dikerjakan oleh hanya 1 peralatan saja dan dapat meringankan beban kerja
peralatan, serta mempercepat waktu respons. Load Balancer bertindak sebagai
penengah diatara layanan utama dan pengguna, dimana layanan utama merupakan
sekumpulan server/mesin yang siap melayani banyak pengguna.
Disaat Load Balancer menerima permintaan layanan dari
user, maka permintaan tersebut akan diteruskan ke server utama. Biasanya Load
Balancer dengan pintar dapat menentukan server mana yang memiliki load yang
lebih rendah dan respons yang lebih cepat. Bahkan bisa menghentikan akses ke
server yang sedang mengalami masalah dan hanya meneruskannya ke server yang
dapat memberikan layanan. Hal ini salah satu kelebihan yang umumnya dimiliki
load balancer, sehingga layanan seolah olah tidak ada gangguan di mata
pengguna.
C. Algoritma Load Balancing
·
Round Robin. Algoritma Round Robin merupakan
algoritma yang paling sederhana dan banyak digunakan oleh perangkat load
balancing. Algoritma ini membagi beban secara bergiliran dan berurutan dari
satu server ke server lain sehingga membentuk putaran.
· Ratio.
Ratio (rasio) sebenarnya merupakan sebuah parameter yang diberikan untuk
masing-masing server yang akan dimasukkan kedalam sistem load balancing. Dari
parameter Ratio ini, akan dilakukan pembagian beban terhadap server-server yang
diberi rasio. Server dengan rasio terbesar diberi beban besar, begitu juga
dengan server dengan rasio kecil akan lebih sedikit diberi beban.
·
Fastest. Algoritma yang satu ini melakukan
pembagian beban dengan mengutamakan server-server yang memiliki respon yang
paling cepat. Server di dalam jaringan yang memiliki respon paling cepat
merupakan server yang akan mengambil beban pada saat permintaan masuk.
·
Least Connection. Algoritma Least
connection akan melakukan pembagian beban berdasarkan banyaknya koneksi yang
sedang dilayani oleh sebuah server. Server dengan pelayanan koneksi yang paling
sedikit akan diberikan beban yang berikutnya akan masuk.
D. Fitur Load Balancing
Beberapa
fitur yang ada pada baik load balancer hardware maupun load balancer software,
yaitu:
·
Asymmetric load. rasio dapat dibuat
dengan menentukan koneksi yang menjadi primary yang dianggap paling baik
backbonenya dan terbaik dalam path routingnya, jadi kita dapat membuat mesin
untuk mencari best path determination dan routing yang terpendek dan terbaik
untuk sampai ketujuan.
·
Aktivitas berdasarkan prioritas. Disaat
load jaringan lagi peek, server akan dapat membagi aktivitas berdasarkan
prioritas dan ke link cadangan.
·
Proteksi dari serangan DDoS. karena kita
dapat membuat fiturseperti SYN Cookies dan delayed-binding (suatu metode di
back-end server pada saat terjadi proses TCP handshake) pada saat terjadi
serangan SYN Flood.
·
Kompresi HTTP. Memungkinkan data untuk
bisa mentransfer objek HTTP dengan dimungkinkannya penggunaan utilisasi
kompresi gzip yang berada di semua web browser yang modern.
·
TCP Buffering. dapat membuat respon buffer dari
server dan berakibat dapat memungkinkan task akses lebih cepat.
·
HTTP Caching. dapat menyimpan content yang
static, dengan demikian request dapat di handel tanpa harus melakukan kontak ke
web server diluar jaringan yang berakibat akses terasa semakin cepat.
·
Content Filtering. Beberapa load
balancing dapat melakukan perubahan trafik pada saat dijalankan.
·
HTTP Security. beberapa system load balancing
dapat menyembunyikan HTTP error pages, menghapus identifikasi header server
dari respon HTTP, dan melakukan enkripsi cookies agar user tidak dapat
memanipulasinya.
·
Priority Queuing. berguna untuk
memberikan perbedaan prioritas traffic paket.
·
Spam Filtering. Spam istilah lainnya junk mail merupakan penyalahgunaan dalam pengiriman
berita elektronik untuk menampilkan berita iklan dan keperluan lainnya yang
mengakibatkan ketidaknyamanan bagi para pengguna web. Bentuk berita spam yang
umum dikenal meliputi: spam surat elektronik, spam instant messaging, spam
Usenet newsgroup, spam mesin pencari informasi web (web search engine spam),
spam blog, spam berita pada telepon genggam, spam forum Internet, dan lain
lain. Spam ini biasanya datang bertubi-tubi tanpa diminta dan sering kali tidak
dikehendaki oleh penerimanya. Beberapa contoh lain dari spam ini bisa berupa
surat elektronik berisi iklan, sms pada telepon genggam, berita yang masuk
dalam suatu forum newsgroup berisi promosi barang yang tidak terkait dengan
aktifitas newsgroup tersebut, spamdexing yang mendominir suatu mesin pencari
(search engine) untuk mencari popularitas bagi suatu URL tertentu, ataupun bisa
berupa berita yang tak berguna dan masuk dalam suatu blog, buku tamu situs web,
dan lain-lain.
E. Tipe Load Balancer
Dalam dunia load-balancing, ada dua pilihan untuk dipertimbangkan
ketika merancang solusi load-balancing. Pilihan solusinya adalah menggunakan
software load balancing atau hardware load balancing. Setiap pilihan memiliki
persyaratan, kelebihan, dan kelemahan tersendiri. Terserah kepada kita untuk
mengevaluasi kebutuhan bisnis kita, konfigurasi, dan jalur pertumbuhan sehingga
kita dapat mengidentifikasi solusi optimal untuk memenuhi kebutuhan. Dan dari
tipenya Load Balancing dapat dibedakan menjadi 2 tipe, yaitu:
·
Software Load Balancing. Dimana Load Balancing
berjalan disebuah PC/Server, dan aplikasi Load Balancing di install dan perlu
dikonfigurasi sebelum dapat berfungsi. Keuntungannya adalah jika ada penambahan
fitur atau fasilitas tambahan tidak perlu mengganti keseluruhan perangkat load
balancing. Performa proses load balancing dipengaruhi oleh prangkat komputer
yang digunakan, tidak bisa hanya mengandalkan kemampuan software yang canggih
saja. Perangkat keras yang dapat mempengaruhi performa metode ini adalah kartu
jaringan (Network Interface Card) yang digunakan, besarnya RAM
pada perangkat, media penyimpanan yang besar dan cepat, dsb. Sehingga performa
metode ini sulit untuk bisa diperkirakan. Ada banyak sekali Load Balancer
Software, beberapa diantaranya yang paling banyak digunakan adalah: Linux Virtual Server, Ultra
Monkey, dan Network Load Balancing.
·Hardware Load Balancing. Dimana Load Balancing
berjalan disebuah device/alat yang sudah disiapkan dari pabrik dan siap
digunakan. Tipe Hardware Load Balancing banyak digunakan karena kemudahannya.
Beberapa Load Balancer Hardware diantaranya adalah: Cisco System Catalyst,
Coyote Point, F5 Network BIG-IP, Baraccuda Load Balancer.
F. Penggunaan Load Balancer
Pada umumnya Load Balancer digunakan
oleh perusahaan/pemilik layanan yang menginginkan layanannya selalu tersedia
setiap saat (high availability) walaupun secara kenyataan terdapat
kendala yang membuat layanan tidak dapat diakses. Misalnya untuk layanan web
server/email server. Dengan load balancer, apabila ada 2 mail server dengan
konfigurasi dan tugas yang sama, maka load balancer akan membagi beban ke 2
mail server tersebut. Dan apabila salah satu Mail server tersebut down/tidak
dapat diakses/mengalami gangguan, maka Mail server yang lain dapat terus
melayani layanan yang diakses oleh user.
Untuk jaringan komputer, Load Balancer digunakan di
ISP/Internet provider dimana memungkinkan tersedianya akses internet selama
24x7x365 tanpa ada down time. Tentu hal ini yang diinginkan oleh pelanggan yang
menggunakan layanan akses internet ISP tersebut. ISP/Provider hanya perlu
memiliki 2 Link internet yang memiliki jalur berbeda, agar disaat salah satu link
down, masih ada 1 link yang dapat melayani akses internet ke pelanggannya. Dan
ISP menggunakan Load Balancer untuk membagi beban akses internet tersebut
sehingga kedua Link Internet tersebut maximal penggunaannya dan beban terbagi
dengan baik.
G. Perbandingan Software vs Hardware Load Balancer
Kelebihan
Load Balancer Software:
·
Lebih murah.
·
Beberapa software aplikasi memiliki
banyak pilihan konfigurasi yang dapat disesuaikan dengan kebutuhan kita.
Kekurangan Load Balancer Software:
·
Sebagian besar aplikasi tidak dapat
menangani situs besar atau jaringan kompleks.
·
Paket aplikasi yang akan mendukung
sistem yang lebih besar memerlukan jumlah hardware lebih banyak.
Kelebihan Load Balancer Hardware:
·
Pendekatan biasanya lebih kuat dari
pilihan perangkat lunak.
·
Proses lalu lintas pada tingkat
jaringan, yang secara nominal lebih efisien daripada dekripsi perangkat lunak.
·
Bekerja dengan banyak OS atau platform.
Kekurangan Load Balancer Hardware:
·
Biaya lebih tinggi dibandingkan
menggunakan software load balancer.
Teknologi load balancing dapat
menjadi salah satu solusi yang efektif dan eļ¬sien untuk menciptakan sistem yang
handal dengan tingkat ketersediaan tinggi (high availability),
khususnya sebagai web server. Untuk pemanfaatan teknologi load balancing
menggunakan software load balancing saat ini memang lebih banyak digunakan pada
sistem operasi open souce seperti linux.
Bagaimana
cara kerjanya :
Adapun
yang perlu dipahami kembali dari pentingnya menggunakan Load balancing untuk
website atau aplikasi berbasis web lainnya diantaranya :
1. Waktu
respon adalah manfaat terbesar untuk meningkatkan kecepatan akses website saat
dibuka. Dengan dua atai lebih server yang saling berbagi bebam lalu lintas web,
masing-masing akan berjalan lebih cepat karena beban tidak berada pada 1 server
saja. Ini berarti ada lebih banyak sumber daya untuk memenuhi permintaan
halaman website.
2. Dengan
Load balancing akan mewarisi sedikit redudansi. Sebagai contoh, jika website
kita berjalan seimbang di 3 server dan salah satu server bermasalah, maka dua
server lainnya dapat terus berjalan dan pengunjung website kita akan menyadari
downtime apapun.
Kesimpulan
Pemrosesan Paralel adalah penggunaan lebih dari satu CPU
untuk menjalankan sebuah program secara simultan. Pemrograman
paralel adalah teknik pemrograman komputer yang memungkinkan
eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu
(prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel)
CPU. Komputasi paralel adalah salah satu teknik melakukan komputasi
secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Load balancing
adalah teknik untuk mendistribusikan beban trafik pada dua atau lebih jalur
koneksi secara seimbang, agar trafik dapat berjalan optimal, memaksimalkan throughput,
memperkecil waktu tanggap dan menghindari overload pada salah satu jalur
koneksi.
DAFTAR PUSTAKA
kukusumama.blogspot(April
2016)
pemrosesan parallel dankomputasi Diperoleh 26 Maret 2019,
Dari
ratricharisma.wordpress (06 Juni 2017)
parallel-computation-pemrosesan-paralelDiperoleh 26 Maret 2019 dari
idcloudhost
memahami-pentingnya-load-balancingDiperoleh 26 Maret 2019 dari
Tidak ada komentar:
Posting Komentar