Institutional Repository | Satya Wacana Christian University: Pemodelan Arsitektur Cluster Virtual Server dengan Hyper-V Pada Windows Server 2008 R2 T1 672008175 BAB II

(1)

6

Bab 2

Tinjauan Pustaka

2.1

Penelitian Sebelumnya

Kebutuhan akan proses komputasi yang lebih cepat sangat diperlukan untuk menangani permintaan dalam sebuah web server. Salah satu cara yang ditawarkan adalah dengan supercomputer, yaitu komputer yang didesain khusus dengan spesifikasi yang tinggi sehingga dapat memberikan proses komputasi yang lebih baik. Salah satu kekurangannya adalah harganya yang sangat mahal.

Cluster adalah jawaban untuk komputer-komputer dengan spesifikasi menengah kebawah agar dapat menghasilkan proses komputasi dengan lebih baik. Cluster memberikan kemudahan untuk menggunakan sumber daya yang tersebar. Dengan cluster ing proses komputasi dapat dibagi ke beberapa komputer sehingga dapat dihasilkan proses komputasi yang lebih baik.

Pada penelitian sebelumnya telah dilakukan penerapan teknologi clustering dengan skema load balancing untuk menganalisis kinerja web server (Pamungkas, 2011) dan juga penelitian tentang clustering dan virtualisasi dengan sistem operasi

linux menggunakan Haproxy dan KVM (Saputro, 2012). Kelebihan sistem cluster adalah tidak diharuskan menggunakan komputer

server atau komputer dengan spesifikasi yang tinggi. Dengan komputer desktop pun dapat dilakukan clustering, dengan catatan komputer dan komponennya masih dapat bekerja dengan baik.


(2)

Gambar 2.1 menunjukkan alur kerja cluster konvensional dengan

load balancer.

Gambar 2.1 Alur kerja loa d bala ncing

Load balancer membagi beban kerja ke beberapa komputer yang ada untuk menjalankan tugas yang sama. Hal ini memungkinkan pekerjaan dilakukan dengan lebih cepat dibandingkan apabila dikerjakan oleh hanya satu komputer saja dan dapat meringankan beban kerja komputer, serta mempercepat waktu

respons. Load balancer juga bertindak sebagai penengah antara

cluster dan pengguna, dimana cluster merupakan sekumpulan server yang siap melayani banyak pengguna.

Yang membedakan penelitian ini dan penelitian sebelumnya adalah :

1. Perangkat lunak virtualisasi dan load balancer. 2. Sistem operasi.

3. Arsitektur jaringan.

2.2

Konsep Jaringan Komputer

Protokol adalah sebuah aturan standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya.


(3)

Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras. Prinsip dalam membuat protokol ada tiga hal yang harus dipertimbangkan, yaitu efektivitas, kehandalan, dan kemampuan dalam mengatasi kegagalan di jaringan. Protokol distandarisasi oleh beberapa organisasi yaitu IETF, ETSI, ITU, dan ANSI. Gambar 2.2 menunjukkan model layer pada TCP/IP dan OSI.

Gambar 2.2 Model la yer pa da TCP/IP da n OSI

2.2.1 OSI

Open System Interconnection (OSI) adalah suatu model konseptual yang terdiri atas tujuh layer, yang masing-masing la yer tersebut mempunyai fungsi yang berbeda. OSI dikembangkan oleh badan Internasional yaitu Internationa l Organization for Standardization (ISO) pada tahun 1977.

Definisi masing- masing layer pada model OSI:

Application adalah layer paling tinggi dari model OSI, seluruh layer dibawahnya bekerja untuk la yer ini. Tugas dari application layer adalah berfungsi sebagai antar muka aplikasi dengan fungsionalitas jaringan. Mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan


(4)

kesalahan. Protokol yang berada dalam lapisan ini adalah HTTP, FTP, SMTP, NFS.

Presentation berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan. Protokol yang berada dalam level ini adalah perangkat lunak redirektor (redirector software), seperti layanan

Workstation (dalam Windows NT) dan juga Network shell (semacam Virtual Network Computing (VNC) atau Remote Dekstop P rotocol (RDP).

Session berfungsi untuk mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau dihancurkan. Selain itu, di level ini juga dilakukan resolusi nama.  Transport berfungsi untuk memecah data ke dalam

paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level

ini juga dibuat sebuah tanda bahwa paket diterima dengan sukses, dan mentransmisikan ulang terhadap paket-paket yang hilang di tengah jalan.

Network berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melalui internetworking

dengan menggunakan router dan switchlayer 3.  Data Link befungsi untuk menentukan bagaimana

bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi


(5)

kesalahan, flow control, pengalamatan perangkat keras seperti halnya Media Access Control Address (MAC), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, br idge, repeater, dan switch layer 2 beroperasi.

Spesifikasi IEEE 802, membagi level ini menjadi dua

level anak, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC).

Physical adalah layer paling bawah dalam model OSI, berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengkabelan.

Selain itu, level ini juga mendefinisikan bagaimana

Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.

2.2.2 TCP/IP

Transmission Control P rotocol / Internet P rotocol

(TCP/IP) adalah standar komunikasi data yang digunakan oleh komunitas internet dalam proses tukar- menukar data dari satu komputer ke komputer lain di dalam jaringan

internet.

Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan untuk membentuk sebuah Wide Ar ea Network


(6)

yang bersifat independen terhadap mekanisme transport

jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja.

Definisi masing- masing layer pada model TCP/IP:

Application merupakan layer paling atas pada model TCP/IP, yang bertanggung jawab untuk menyediakan akses kepada aplikasi terhadap layanan jaringan TCP/IP. Protokol ini mencakup protokol Dynamic Host Configuration P rotocol (DHCP), Domain Name System (DNS), Hypertext Transfer P rotocol (HTTP),

F ile Transfer P rotocol (FTP), Telnet, Simple Ma il Transfer P rotocol (SMTP), Simple Network Management P rotocol (SNMP), dan masih banyak protokol lainnya.

Transport berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat connection-oriented atau broadcast yang bersifat connectionless. Protokol dalam lapisan ini adalah Transmission Control P rotocol (TCP) dan User Diagram P rotocol

(UDP).

Internet berfungsi untuk melakukan pemetaan

(routing) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP.

Protokol yang bekerja dalam lapisan ini adalah

Internet P rotocol (IP), Address Resolution P rotocol

(ARP), Internet control Message P rotocol (ICMP), dan Internet Group Management P rotocol (IGMP).


(7)

Network Interface berfungsi untuk meletakkan frame-frame jaringan di atas media jaringan yang digunakan.

2.3

Web Server

Web server adalah komputer yang dikhususkan untuk menaruh data website dan diharuskan dapat bekerja secara terus menerus. Semua komputer logikanya bisa dijadikan server, namun

server yang khusus untuk website punya spesifikasi khusus. Hal ini untuk menjaga agar kecepatan server stabil dan memenuhi kriteria yang diharapkan. Selain bergantung pada spesifikasi hardware dan

software, kecepatan web server juga bergantung pada akses internet

di tempat server berada atau juga tergantung pada kecepatan Internet Service P rovider (ISP) yang digunakan.

Web server memberikan layanan data yang berfungsi menerima permintaan HTTP atau HTTPS dari pengguna yang dikenal dengan web browser dan mengirimkan kembali hasilnya dalam bentuk halaman- halaman web yang umumnya berbentuk dokumen HTML.

Walaupun pada umumnya web server adalah untuk menempatkan situs web, tetapi pada perkembangannya digunakan juga sebagai tempat penyimpanan data ataupun untuk menjalankan beberapa aplikasi.

2.3.1 Apache

Apache merupakan web server yang paling banyak digunakan di internet. Hal ini dikarenakan sifatnya yang

opensource dan kemudahan kostumisasinya. Apache pertama kali didesain untuk sistem operasi UNIX. Namun sekarang


(8)

ini telah tersedia apache yang dapat digunakan untuk sistem operasi Windows.

Apache memiliki program pendukung yang cukup banyak, hal ini memberikan layanan yang cukup lengkap bagi penggunanya. Beberapa dukungan apa che :

1. Kontrol Akses.

Kontrol ini dapat dijalankan berdasarkan nama host atau nomor IP.

2. Common Gateway Interface (CGI)

Yang paling terkenal untuk digunakan adalah P ractica l Extraction and Report Language (Perl), yang didukung oleh apache dengan menempatkannya sebagai modul (mod_perl)

3. P ersonal Home P age/P HP Hypertext P rocessor (PHP) Program dengan metode semacam CGI, yang memproses teks dan bekerja di server. Apache

mendukung PHP dengan menempatkannya sebagai salah satu modulnya (mod_php). Hal ini membuat kinerja PHP menjadi lebih baik.

4. Server Side Includes (SSI)

Web server Apache mempunyai kelebihan dari beberapa pertimbangan di atas :

1. Apache termasuk dalam kategori freeware.

2. Apache mudah sekali proses instalasinya jika dibanding

web server lainnya seperti NCSA, IIS, dan lain- lain. 3. Mampu beroperasi pada berbagai platform sistem


(9)

4. Mudah mengatur konfigurasinya. Apache hanya mempunyai empat file konfigurasi.

5. Mudah dalam menambahkan periphera l lainnya ke dalam platformweb servernya.

2.3.2 Map Server

Map server merupakan aplikasi opensource yang memungkinkan sebuah data peta diakses melalui web. Teknologi ini pertama kali dikembangkan oleh Minesotta University. Pengguna dapat dengan mudah melihat dan mengubah tampilan peta seperti zoom, rotate, dan menampilkan informasi (seperti menampilkan info jalan) dan analisis (seperti menentukan rute perjalanan) pada permukaan peta geografi.

Map server bekerja secara berdampingan dengan aplikasi web server. Web server menerima request peta melalui Map server. Map server merespon r equest terhadap peta dan mengirimkannya ke web server. Gambar 2.3 menjelaskan hubungan kerja map server dan web server.


(10)

Secara sederhana map server menjalankan executable

aplikasi Common Gateway Interface (CGI) pada web server

yang secara teknis merupakan proses stateless berbasis pada HTTP. Stateless adalah sebuah proses permintaan yang dilanjutkan dengan stop running. Aplikasi CGI menerima permintaan dari web server, kemudian proses dilakukan dan mengembalikan respons atau data ke web server. Map server

CGI executable bekerja sebagai perantara antara file peta dengan program web server yang meminta peta. Permintaan di lewatkan dalam bentuk CGI parameter dari web server

menuju map server. Gambar yang di buat oleh map server

selanjutnya memberikan hasil ke web server dan selanjutnya menuju pengguna melalui web browser.

2.4

Virtual Machine

Virtual Machine (VM) adalah suatu environment, biasanya adalah sebuah program atau sistem operasi yang tidak ada secara fisik tetapi dapat dijalankan dalam environment lain. Virtual machine pada mulanya didefinisikan oleh Gerrard J. Popek dan Robert P. Goldberg pada tahun 1974 sebagai sebuah duplikat yang efisien dan terisolasi dari suatu mesin asli.

Ide dasar dari VM adalah mengabtraksi perangkat keras dari suatu komputer ke beberapa environment eksekusi, sehingga menciptakan ilusi bahwa masing- masing environment menjalankan komputernya sendiri. VM terdiri dari dua kategori besar, dipisahkan menurut cara penggunaan dan tingkat keterhubungannya dengan mesin- mesin aslinya. Sebuah VM sistem adalah perangkat yang berupa environment sistem yang lengkap dan dapat menjalankan


(11)

sebuah sistem operasi yang lengkap pula. Sebaliknya, VM proses didesain untuk menjalankan sebuah program komputer tertentu (tunggal), yang berarti VM ini mendukung proses tertentu juga.

Dengan virtualisasi sebuah komputer fisik dapat menjalankan beberapa VM, masing- masing dengan OS yang berbeda dan aplikasi yang berbeda pula. VM dibagi berdasarkan tingkat virtualisasinya menjadi beberapa bagian, yaitu:

2.4.1.1Virtualisasi penuh, yang mensimulasikan seluruh fitur perangkat keras sehingga memungkinkan perangkat lunak berjalan pada VM tanpa modifikasi.

2.4.1.2Virtualisasi paruh, dimana tidak semua perangkat keras disimulasikan.

2.4.1.3Virtualisasi asli, yang merupakan virtualisasi penuh digabungkan dengan bantuan perangkat keras yang mendukung virtualisasi.

2.5

Cluster

Cluster adalah sekumpulan komputer (umumnya komputer

server) yang bekerja bersama-sama tetapi dilihat dari sisi pengguna adalah satu buah unit komputer. Proses menghubungkan komputer agar dapat bekerja seperti itu disebut clustering.

Cluster didesain agar dapat meningkatkan kemampuan sebuah server, yakni dengan meningkatkan hal- hal berikut:

 Toleransi kesalahan (fail over), server lainnya akan mengambil alih kerja server utama ketika server utama mengalami kegagalan. Pengguna tidak akan melihat pergantian peran ini. Dengan begitu downtime dapat dikurangi. Gambar 2.4


(12)

menunjukkan pembagian beban kerja tiap node sebelum terjadi kegagalan.

Gambar 2.4 Persenta se kerja sebelum kega gala n

Gambar 2.5 menunjukkan pembagian kerja tiap node setelah terjadi kegagalan di salah satu node.

Gambar 2.5 Persenta se kerja setela h kega gala n

 Penyerataan beban (load balancing), pendistribusian beban ke semua node. Dengan begitu, kinerja dan skalabilitas server

menjadi lebih baik.

Karena menggunakan lebih dari satu buah server, maka manajemen dan perawatan sebuah server cluster jauh lebih rumit dibandingkan dengan manajemen server tunggal, meskipun lebih murah. Cluster virtual dibangun dari node-node server yang berupa virtual machine.


(13)

2.7

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 yang telah memiliki jumlah pengguna yang telah melebihi maksimal kapasitasnya. Load balancing juga mendistribusikan beban kerja secara merata di dua atau lebih komputer, jalur jaringan, CPU, hard drive, atau sumber daya lainnya untuk mendapatkan pemanfaatan sumber daya yang optimal.

Node-node dalam cluster merespon permintaan pengguna secara bersama-sama. Bahkan beberapa permintaan yang datang dari satu pengguna dapat direspon oleh beberapa node. Hal ini mempercepat pengolahan dan mempersingkat waktu respon kepada pengguna. Beban kerja tiap node dapat dibagi prioritasnya tergantung dengan kemampuannya atau beban dapat dibagi secara merata ke semua host.

Load balancer adalah software atau hardware yang bertugas membagi beban kerja ke node-node yang terhubung dalam satu

cluster. Disaat load balancer menerima permintaan layanan dari pengguna, maka permintaan tersebut akan diteruskan ke node-node.

Load balancer dapat menentukan node mana yang memiliki load

yang lebih rendah dan respon yang lebih cepat. Bahkan load balancer bisa menghentikan akses ke node yang sedang mengalami masalah dan hanya meneruskannya ke node yang dapat memberikan layanan (fail over). Hal ini adalah salah satu kelebihan yang


(14)

umumnya dimiliki load ba lancer, sehingga layanan seolah-olah tidak ada gangguan di mata pengguna.

Teknologi load balancing dapat menjadi salah satu solusi yang efektif dan efisien untuk menciptakan sistem yang handal dengan tingkat ketersediaan tinggi (high availability), khususnya sebagai web server.

Sistem load balancing dapat dibuat dengan banyak cara. Pembuatannya tidak terikat oleh sebuah sistem operasi saja, atau sebuah perangkat saja. Secara garis besar sistem load ba lancing

terbagi menjadi tiga kategori, yaitu: 1. DNS Round Robin.

Pembagian kerja load balancing berdasarkan nama domain

yang diakses oleh pengguna. Alamat ip dari server-server yang diwakili oleh nama domain akan diberikan kepada pengguna secara bergiliran sesuai dengan algoritma round robin.

2. Integrated

Merupakan solusi load balancing dari sebuah aplikasi atau sistem operasi. Biasanya aplikasi atau sitem operasi yang memiliki kemampuan beroperasi sebagai server.

Contoh: Network Load Balancing (N LB) dari sistem operasi

Windows Server.

3. Dedicated

Dibagi menjadi 3 jenis:

 Load balancing dengan hardware.  Load balancing dengan software.


(15)

2.8

Parallel Computing

P arallel computing adalah salah satu teknik komputasi yang dilakukan secara bersamaan. Biasanya digunakan untuk mengolah data dalam jumlah besar atau melakukan proses komputasi yang banyak. P ara llel computing terdiri dari banyak komputer yang dihubungkan dalam jaringan dan mampu bekerja secara paralel untuk menyelesaikan suatu masalah. Diperlukan middleware yang bertugas mengatur pembagian pekerjaan antar node dalam satu mesin paralel.

Berikut ini adalah klasifikasi arsitektur parallel computing

berdasarkan aliran instruksi oleh Michael J. Flynn:

2.8.1 SISD (Single Instruction Single Data Stream) Suatu tipe komputer yang mengerjakan instruksi secara terurut satu demi satu. Biasanya merupakan komputer dengan satu unit pemroses (single processor).

2.8.2 SIMD (Single Instruction Multiple Data Stream) Tipe komputer yang mengerjakan instuksi yang sama dengan himpunan data yang berasal dari aliran data yang berbeda.

2.8.3 MISD (Multiple Instruction Single Data Stream) Komputer ini memiliki banyak unit pemroses yang masing- masing mengerjakan instruksi yang berbeda terhadap aliran data yang sama. Belum ada bentuk nyata komputer jenis ini. Kecuali dalam bentuk


(16)

2.8.4 MIMD (Multiple Instrruction Multiple Data Stream)

Tipe komputer yang memiliki banyak unit pemroses dan dapat mengerjakan banyak instruksi terhadap banyak aliran data yang berbeda. Model ini adalah dasar pemikiran pengembangan parallel computing.

2.9

Algoritma Penjadwalan

Load balancing menggunakan algoritma dalam proses pembagian beban kerja. Beberapa jenis algoritma yang ada antara lain:

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

Gambar 2.6 Alur kerja a lgoritma Round Robin  Ratio.

Ratio (rasio) merupakan sebuah parameter yang diberikan untuk masing- masing server yang akan dimasukkan kedalam sistem


(17)

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 diberi beban lebih sedikit.

 F astest.

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


(1)

menunjukkan pembagian beban kerja tiap node sebelum terjadi kegagalan.

Gambar 2.4 Persenta se kerja sebelum kega gala n

Gambar 2.5 menunjukkan pembagian kerja tiap node setelah terjadi kegagalan di salah satu node.

Gambar 2.5 Persenta se kerja setela h kega gala n

 Penyerataan beban (load balancing), pendistribusian beban ke semua node. Dengan begitu, kinerja dan skalabilitas server menjadi lebih baik.

Karena menggunakan lebih dari satu buah server, maka manajemen dan perawatan sebuah server cluster jauh lebih rumit dibandingkan dengan manajemen server tunggal, meskipun lebih murah. Cluster virtual dibangun dari node-node server yang berupa virtual machine.


(2)

2.7

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 yang telah memiliki jumlah pengguna yang telah melebihi maksimal kapasitasnya. Load balancing juga mendistribusikan beban kerja secara merata di dua atau lebih komputer, jalur jaringan, CPU, hard drive, atau sumber daya lainnya untuk mendapatkan pemanfaatan sumber daya yang optimal.

Node-node dalam cluster merespon permintaan pengguna secara bersama-sama. Bahkan beberapa permintaan yang datang dari satu pengguna dapat direspon oleh beberapa node. Hal ini mempercepat pengolahan dan mempersingkat waktu respon kepada pengguna. Beban kerja tiap node dapat dibagi prioritasnya tergantung dengan kemampuannya atau beban dapat dibagi secara merata ke semua host.

Load balancer adalah software atau hardware yang bertugas membagi beban kerja ke node-node yang terhubung dalam satu cluster. Disaat load balancer menerima permintaan layanan dari pengguna, maka permintaan tersebut akan diteruskan ke node-node. Load balancer dapat menentukan node mana yang memiliki load yang lebih rendah dan respon yang lebih cepat. Bahkan load balancer bisa menghentikan akses ke node yang sedang mengalami masalah dan hanya meneruskannya ke node yang dapat memberikan layanan (fail over). Hal ini adalah salah satu kelebihan yang


(3)

umumnya dimiliki load ba lancer, sehingga layanan seolah-olah tidak ada gangguan di mata pengguna.

Teknologi load balancing dapat menjadi salah satu solusi

yang efektif dan efisien untuk menciptakan sistem yang handal

dengan tingkat ketersediaan tinggi (high availability), khususnya sebagai web server.

Sistem load balancing dapat dibuat dengan banyak cara. Pembuatannya tidak terikat oleh sebuah sistem operasi saja, atau sebuah perangkat saja. Secara garis besar sistem load ba lancing terbagi menjadi tiga kategori, yaitu:

1. DNS Round Robin.

Pembagian kerja load balancing berdasarkan nama domain yang diakses oleh pengguna. Alamat ip dari server-server yang diwakili oleh nama domain akan diberikan kepada pengguna secara bergiliran sesuai dengan algoritma round robin.

2. Integrated

Merupakan solusi load balancing dari sebuah aplikasi atau sistem operasi. Biasanya aplikasi atau sitem operasi yang memiliki kemampuan beroperasi sebagai server.

Contoh: Network Load Balancing (N LB) dari sistem operasi Windows Server.

3. Dedicated

Dibagi menjadi 3 jenis:

 Load balancing dengan hardware.

 Load balancing dengan software.


(4)

2.8

Parallel Computing

P arallel computing adalah salah satu teknik komputasi yang dilakukan secara bersamaan. Biasanya digunakan untuk mengolah data dalam jumlah besar atau melakukan proses komputasi yang banyak. P ara llel computing terdiri dari banyak komputer yang dihubungkan dalam jaringan dan mampu bekerja secara paralel untuk menyelesaikan suatu masalah. Diperlukan middleware yang bertugas mengatur pembagian pekerjaan antar node dalam satu mesin paralel.

Berikut ini adalah klasifikasi arsitektur parallel computing berdasarkan aliran instruksi oleh Michael J. Flynn:

2.8.1 SISD (Single Instruction Single Data Stream) Suatu tipe komputer yang mengerjakan instruksi secara terurut satu demi satu. Biasanya merupakan komputer dengan satu unit pemroses (single processor).

2.8.2 SIMD (Single Instruction Multiple Data Stream) Tipe komputer yang mengerjakan instuksi yang sama dengan himpunan data yang berasal dari aliran data yang berbeda.

2.8.3 MISD (Multiple Instruction Single Data Stream) Komputer ini memiliki banyak unit pemroses yang masing- masing mengerjakan instruksi yang berbeda terhadap aliran data yang sama. Belum ada bentuk nyata komputer jenis ini. Kecuali dalam bentuk prototype untuk penelitian.


(5)

2.8.4 MIMD (Multiple Instrruction Multiple Data Stream)

Tipe komputer yang memiliki banyak unit pemroses dan dapat mengerjakan banyak instruksi terhadap banyak aliran data yang berbeda. Model ini adalah dasar pemikiran pengembangan parallel computing.

2.9

Algoritma Penjadwalan

Load balancing menggunakan algoritma dalam proses pembagian beban kerja. Beberapa jenis algoritma yang ada antara lain:

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

Gambar 2.6 Alur kerja a lgoritma Round Robin

 Ratio.

Ratio (rasio) merupakan sebuah parameter yang diberikan untuk masing- masing server yang akan dimasukkan kedalam sistem


(6)

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 diberi beban lebih sedikit.

 F astest.

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