Analisis Kinerja Content Delivery Network yang Menggunakan Load Balancer
BAB 2
TINJAUAN PUSTAKA
2.1. Content Delivery Network (CDN)
CDN adalah sebuah sistem jaringan server untuk mendistribusikan konten
yang ada dalam sebuah aplikasi/web ke berbagai pengakses/pengguna di berbagai
belahan dunia agar data/konten yang dikirim dan diterima lebih cepat. CDN
diperuntukkan untuk website atau aplikasi yang pengaksesnya dari berbagai
belahan dunia. [1]
Server jaringan CDN terdistribusi secara global dengan tujuan untuk
melayani konten ke pengguna dengan ketersediaan yang besar dan performa
tinggi. CDN melayani sebagian besar konten di internet saat ini, termasuk objek
web (teks, grafis dan script), obyek download (file media, software), aplikasi (ecommerce, portal), media live streaming, on-demand streaming media, dan
jaringan sosial. [2]
Konsep CDN adalah dengan meletakkan beberapa server pada belahan
dunia, sehingga server utama (asli) tidak akan langsung melayani permintaan web
request secara langsung melainkan melalui server-server pada jaringan CDN.
Keuntungannya, server asli tidak akan mengalami drop akibat banyaknya
permintaan dari pengguna internet, dan efisiensi terhadap delay dan packet loss
juga akan semakin baik [1]. Konsep dasarCDNdapat dilihat pada Gambar 2.1 [2].
Universitas Sumatera Utara
Original Server
in North America
CDN
distribution node
CDN Server in
South America
CDN Server in
Asia
CDN Server in
Europe
Gambar 2.1 Konsep Dasar Content Delivery Network (CDN) [2]
2.2. Teknik-Teknik Pembagian Tugas CDN
Ada beberapa teknik pembagian tugas CDN, seperti GEO DNS, web
mapper , packet redirection, load balancer dan lain-lain.
2.2.1. GEO DNS
GEO DNS adalah salah satu penghantar kinerja CDN, sistem kerja dari
GEO DNS dengan memetakan pengguna internet menurut wilayahnya. Kemudian
akan dibangun CDN pada setiap wilayah yang telah dipetakan. Dengan pemetaan
wilayah maka setiap client yang melakukan request akan dilayani oleh server
terdekat dengan client tersebut. [3]
Universitas Sumatera Utara
2.2.2. Web Mapper
Sistem kerja dari Web Mapper pada CDN adalah dengan melakukan record
atau rekam jejak client. Ketika clientmelakukan request website, maka DNS
server akan melihat history dari client tersebut pada setiap server. Kemudian DNS
server akan menghubungkan client dengan server terbaik untuk client yang
melakukan request web menurut history.[4]
2.2.3. Packet Redirection
Prinsip kerja packet redirection adalah ketika client 1yang melakukan
request website telah terhubung dengan server 1 dan melakukan upload atau
download fileakan terjadi delay. Ketika proses request website, jikadelay dianggap
terlalu tinggi, maka server dapat meminta server lain melanjutkan transaksi packet
yang sedang di download, sehingga kinerja pengiriman paket dapat lebih baik.
Masing-masing server akan melakukan pertukaran informasi terkait kinerja server,
baik secara langsung maupun melalui pihak ketiga serper DNS server. [4]
2.3. Load Balancer
Load balancer merupakan sebuah perangkat untuk mendistribusikan beban
pekerjaan secara merata melalui beberapa node.Peran yang paling penting dari
Load Balancer yaitu untuk menyediakan sebuah layanan dari beberapa kumpulan
server yang berada sebagai back-end dari layanan servernya.Untuk layanan
internet, Load Balancer biasanya merupakan sebuah program perangkat lunak
yang terhubung pada port dimana client eksternal tersambung untuk mengakses
layanan.Load Balancer meneruskan request dari salah satu server dari backend
Universitas Sumatera Utara
server, yang biasanya di-replay kembali ke load balancer.Hal ini memungkinkan
Load Balancer untuk me-replay request dari client tanpa client tersebut
mengetahui tentang pemisahan fungsi internal dari layanan server yang ada.Hal
ini juga dapat mencegah client berhubungan langsung dengan server backend,
yang mungkin memiliki manfaat keamanan dengan menyembunyikan struktur
jaringan internal dan mencegah serangan pada jaringan.[5]
Ada beberapa algoritma yang digunakan pada Load Balancer , antara lain:
[6]
1. Round Robin (rr), yaitu algoritma penjadwalan yang memperlakukan semua
real server sama menurut jumlah koneksi atau waktu respon.
2. Weighted Round Robin (wrr), penjadwalan ini memperlakukan real server
dengan kapasitas proses yang berbeda. Masing-masing real server dapat diberi
bobot bilangan integer yang menunjukkan kapasitas proses, dimana bobot awal
adalah 1.
3. Least Connection (lc), merupakan algoritma penjadwalan yang mengarahkan
koneksi jaringan pada server aktif dengan jumlah koneksi yang paling sedikit.
Penjadwalan ini termasuk salah satu algoritma penjadwalan dinamik, karena
memerlukan perhitungan koneksi aktif untuk masing masing real server secara
dinamik. Metode penjadwalan ini baik digunakan untuk melancarkan
pendistribusian ketika request yang datang banyak.
4. Weighted Least Connection (wlc), merupakan sekumpulan penjadwalan least
connection dimana dapat ditentukan bobot kinerja pada masing-masing real
server. Server dengan nilai bobot yang lebih tinggi akan menerima persentase
yang lebih besar dari koneksi-koneksi aktif pada satu waktu. Bobot pada
Universitas Sumatera Utara
masing-masing real server dapat ditentukan dan koneksi jaringan dijadwalkan
pada masing-masing real server dengan persentase jumlah koneksi aktif untuk
masing-masing server sesuai dengan perbandingan bobotnya (bobot awal
adalah 1).
5. Locality Based Least Connection (lblc), metode penjadwalan yang akan
mendistribusikan lebih banyak request kepada realserver yang memiliki
koneksi kurang aktif. Algoritma ini akan meneruskan semua request kepada
real server yang memiliki koneksi kurang aktif tersebut sampai kapasitasnya
terpenuhi.
6. Destination Hashing (dh), merupakan algortima penjadwalan statik yang dapat
meneruskan request dari client kepada satu realserver tertentu sesuai dengan
layanan yang diminta. Terdapat suatu tabel hash berisi alamat tujuan dari
masing-masing realserver beserta layanan yang tersedia pada setiap real
server.
7.
Source
Hashing
(sh),
hampir
sama
dengan
metode
destinationhashing tetapi pada metode ini tabel berisi mengenai informasi
alamat asal paket yang dikirimkan oleh client.
2.3.1
Algoritma Least Connection
Algoritma penjadwalan Least Connection mengarahkan permintaan yang
diterima darijaringan ke node dengan jumlah koneksi paling sedikit. Ini adalah
salah satupenjadwalan algoritma dinamis; karena itu perlu menghitung pergerakan
koneksi untuksetiap node secara dinamis pada sebuah node yangterdapat pada
kumpulanbeberapa node dengan kinerja yang sama Penjadwalan least connection
baik untuk kelancarandistribusi ketika bebanpermintaan bervariasi banyak,
Universitas Sumatera Utara
karenasemua permintaan yang lama tidak akan
diarahkan kesatu node
saja.Penjadwalan least connection dapatjuga melakukan dengan baik bahkan
ketika ada node dari berbagaikapasitas pengolahan, karena node lebih cepat akan
mendapatkanlebih banyak koneksi.Faktanya, penjadwalan least connection tidak
bekerja sangat baik karena TIME_WAIT TCP. TCPTIME_WAIT biasanya 2
menit, dalam rentan 2menit sebuah situs web yang sibuk sering mendapatkan
ribuankoneksi, misalnya, node A adalah dua kalikuat sebagai nodeB, node A
memiliki
pengolahanribuan
permintaan
dan
membuat
mereka
dalam
TCPTIME_WAIT, tapi node B pelan-pelan untuk mendapatkan ribuan koneksi
selesai. Sehinggapenjadwalan least connection tidak bisa memuat baikseimbang
antara node dengan berbagai pengolahankapasitas.[6]
2.3.2
Algoritma Round Robin
Algoritma penjadwalan round-robin meneruskan setiap permintaan yang
masuk ke server berikutnya dalam daftar. Misalnya dalam tiga cluster server
(server A, B dan C) permintaan 1 akan pergi ke server A, permintaan 2 akan pergi
ke server B, meminta 3 akan pergi ke server C, dan permintaan 4 akan pergi ke
server A, sehingga menyelesaikan siklus atau round-robin server. Memperlakukan
semua server sama terlepas dari jumlah koneksi masuk atau waktu respon setiap
server. Virtual server menyediakan beberapa keunggulan dibandingkan DNS
round-robin. DNSround-robinmenentukan satu domain ke alamat IP yang
berbeda, penjadwalan granularity adalah berdasarkan host, dan caching query
DNS
menghalangi
algoritma
dasar.
Faktor-faktor
ini
menyebabkan
ketidakseimbangan beban dinamis yang signifikan antara server utama.
Universitas Sumatera Utara
Penjadwalan granularity dari server virtual adalah jaringan koneksi berbasis, dan
itu jauh lebih unggul DNS roundrobin karena perincian penjadwalan baik. Roundrobin Penjadwalan, dalam arti kata, mengarahkan permintaan yang diterima dari
jaringan ke node yang berbeda dalam cara round-robin. Memperlakukan semua
node sebagai sama terlepas dari jumlah koneksi. Penjadwalan granularity adalah
simpul berbasis, ini akan menyebabkan ketidakseimbangan beban dinamis yang
signifikan antara node.[7]
2.3.3
Algoritma Weighted Round Robin
Penjadwalan
weightedround-robinmemperlakukan
node
yang
berbedakapasitaspengolahan. Setiap node dapat diberiberat, nilai integer yang
menunjukkan pengolahankapasitas. Berat default adalah 1. Sebagai contoh,
tiganode, A, B dan C, memiliki bobot,4, 3, 2 masing-masing,urutan penjadwalan
yang baik akan A, B, C, A, B, C, A, B, A dalamperiodepenjadwalan. Dalam
pelaksanaannyapenjadwalan
weightedround-robinad
akan
mengurutkan
permintaan yang dihasilkan sesuai dengan bobot simpulsetelahaturan simpul yang
dimodifikasi. Karena itu,penjadwalan permintaan tersebut tidak lagiseperti
algoritma penjadwalan round-robin.Penjadwalan weightedround-robin tidak
perlumenghitung
koneksi
permintaan
untuk
setiap
node,
danoverhead
penjadwalan lebih kecildari dinamis algoritma penjadwalanlainnya yang dapat
memiliki lebih node. Namun,mungkinmenyebabkan ketidakseimbangan beban
dinamis antara nodejika beban permintaansangat bervariasi. Singkatnya,
adakemungkinan bahwa sebagian besar permintaanpanjang dapat diarahkan ke
satunode.Penjadwalan round-robin adalah contoh khusustertimbang penjadwalan
Universitas Sumatera Utara
round-robin, di mana semuabobot yang sama. Overheadmenghasilkanurutan
penjadwalan setelah memodifikasi aturan nodesepele, dan tidak menambah biaya
overhead
apapun
dalam
penjadwalan
nyata.Jadi,
ada
tidak
perlu
untukmengimplementasikan penjadwalan round-robinsendiri.[6]
2.4. Network Simulator NS-2
NS-2merupakan sebuahprogramsimulasi berbasis event (kejadian)yang
banyak digunakanuntuk mempelajarisifat dinamis darijaringan dan protokol
komunikasi.
NS-2
mampu
nirkabelserta
protokolnya
mensimulasikan
jaringankabeldanjaringan
mencakupalgoritmarouting,protokol
komunikasi,
algoritma akses dan lain-lain [8].
Gambar 2.2 menunjukan arsitektur dasar NS-2.NS-2 menggunakan dua jenis
bahasa pemrograman, C++ dan TCL. Bahasa C++ digunakan sebagai inti proses
simulasi, sementara bahasa TCL untuk konfigurasi jaringan.
Gambar 2.2 Arsitektur Dasar NS-2 [8]
Universitas Sumatera Utara
TclCL dan OTcl adalah komponen TCL yang berfungsi untuk
menjembatani konfigurasi dengan proses simulasi. NS-2 dieksekusi melalui
perintah eksekusi command line. Hasil simulasi berupa catatan atau trace yang
dapat dipergunakan oleh Network Animator (NAM) (Gambar 2.3) maupun plot
grafik Xgraph [8].
2.5. Evalvid
NS-2 menyediakan presentasi data menggunakan Xgraph. Namun Xgraph
kehilangan detail dari kejadian pengiriman data dan hanya menampilkan data ratarata untuk parameter yang ditinjau. Oleh karenanya, untuk membantu
mempresentasikan parameter yang dievaluasi, digunakanlah evalvid.
EvalVid adalah framework dan tool set untuk evaluasi kualitas video yang
dikirimkan melalui jaringan komunikasi nyata ataupun simulasi [9].Struktur dari
framework EvalVid ditunjukan Gambar 2.4 [10].
Video
Trace
loss/delay
EvalvidAPI
VS
Network
(or simulation)
User
Video
Decoder
tcpdump
Video
Video
Decoder
Decoder
EvalvidAPI
Source
tcpdump
Play-Out
Buffer
Sender
Trace
ET
Receive Trace
Coded
Video
Reconstructed
erroneous video
Result:
-Frame Loss/
Frame Jitter
-user perceived
quality
FV
raw YUV
video
Reconstructed
raw YUV video
PSNR
erroneous video
raw YUV video
MOS
Gambar 2.3Struktur framework EvalVid [8]
Universitas Sumatera Utara
Komponen utama dari struktur EvalVid dijelaskan sebagai berikut :
1.
Source: Sumber video dapat berupa raw file YUV dengan resolusi Quarter
Common Intermediate Format (QCIF, 176 x 144) atau di Common
Intermediate Format(CIF, 352 x 288) .
2.
Video Encoder dan Decoder:EvalVid mendukung dua codec MPEG4 , yaitu
codec NCTU dan ffmpeg.
3.
VS (Video Sender): komponen VS membaca file video yang dikompres dari
output encoder, menfragmentasi setiap frame video yang berukuran besar
menjadi segmen yang berukuran kecil dan kemudian mengirimkan segmen
ini melalui paket UDP pada jaringan nyata atau simulasi. Untuk setiap
pengiriman paket UDP,framework mencatat tanda waktu, id paket, dan
ukuran paket di sender trace file dengan bantuan tcp dump atau win dump,
jika jaringan adalah Link nyata. Namun, jika jaringan disimulasikan,sender
trace
file disediakan
oleh
entitas
pengirim.
komponen
VS
juga
membangkitkanvideo trace file yang berisi informasi tentang setiap
framepadafile video real. Video trace file dan sender trace file yang
kemudian digunakan untuk evaluasi kualitas video berikutnya .
4.
ET (Evaluate Trace): Evaluasi berlangsung di sisi pengirim. Oleh karena
itu, informasi tanda waktu, id paket, dan ukuran paket yang diterima pada
penerima harus dikirim kembali ke pengirim. Berdasarkan file video asli
yang dikodekan, file video trace, file sender trace, dan file received
trace,komponen ET menghasilkan laporan packet loss, jitter serta file video
rekontruksi untuk melihat hasil video pada sisi penerima mengalami
kerusakan atau tidak.
Universitas Sumatera Utara
5.
FV (Fix Video): penilaian kualitas video digital dilakukan dari frame demi
frame. Oleh karena itu, jumlah total frame video di sisi penerima, termasuk
yang salah, harus sama seperti video asli di sisi pengirim. Jika codec tidak
dapat mencegahhilangnya suatu frame maka, FV digunakan untuk
mengatasi masalah tersebut, dengan memasukkan frame
terakhir yang
berhasil dikodekan pada bagianframe yang hilang sebagai sebuah teknik
penyembunyian error.
6.
PSNR (Peak Signal Noise Ratio): PSNR adalah salah satu objek untuk
menilai QoSaplikasi pada transmisi video.
7.
MOS (Mean Opinion Score):suatu subjektif untuk mengukur kualitas video
digital pada aplikasi.
Universitas Sumatera Utara
TINJAUAN PUSTAKA
2.1. Content Delivery Network (CDN)
CDN adalah sebuah sistem jaringan server untuk mendistribusikan konten
yang ada dalam sebuah aplikasi/web ke berbagai pengakses/pengguna di berbagai
belahan dunia agar data/konten yang dikirim dan diterima lebih cepat. CDN
diperuntukkan untuk website atau aplikasi yang pengaksesnya dari berbagai
belahan dunia. [1]
Server jaringan CDN terdistribusi secara global dengan tujuan untuk
melayani konten ke pengguna dengan ketersediaan yang besar dan performa
tinggi. CDN melayani sebagian besar konten di internet saat ini, termasuk objek
web (teks, grafis dan script), obyek download (file media, software), aplikasi (ecommerce, portal), media live streaming, on-demand streaming media, dan
jaringan sosial. [2]
Konsep CDN adalah dengan meletakkan beberapa server pada belahan
dunia, sehingga server utama (asli) tidak akan langsung melayani permintaan web
request secara langsung melainkan melalui server-server pada jaringan CDN.
Keuntungannya, server asli tidak akan mengalami drop akibat banyaknya
permintaan dari pengguna internet, dan efisiensi terhadap delay dan packet loss
juga akan semakin baik [1]. Konsep dasarCDNdapat dilihat pada Gambar 2.1 [2].
Universitas Sumatera Utara
Original Server
in North America
CDN
distribution node
CDN Server in
South America
CDN Server in
Asia
CDN Server in
Europe
Gambar 2.1 Konsep Dasar Content Delivery Network (CDN) [2]
2.2. Teknik-Teknik Pembagian Tugas CDN
Ada beberapa teknik pembagian tugas CDN, seperti GEO DNS, web
mapper , packet redirection, load balancer dan lain-lain.
2.2.1. GEO DNS
GEO DNS adalah salah satu penghantar kinerja CDN, sistem kerja dari
GEO DNS dengan memetakan pengguna internet menurut wilayahnya. Kemudian
akan dibangun CDN pada setiap wilayah yang telah dipetakan. Dengan pemetaan
wilayah maka setiap client yang melakukan request akan dilayani oleh server
terdekat dengan client tersebut. [3]
Universitas Sumatera Utara
2.2.2. Web Mapper
Sistem kerja dari Web Mapper pada CDN adalah dengan melakukan record
atau rekam jejak client. Ketika clientmelakukan request website, maka DNS
server akan melihat history dari client tersebut pada setiap server. Kemudian DNS
server akan menghubungkan client dengan server terbaik untuk client yang
melakukan request web menurut history.[4]
2.2.3. Packet Redirection
Prinsip kerja packet redirection adalah ketika client 1yang melakukan
request website telah terhubung dengan server 1 dan melakukan upload atau
download fileakan terjadi delay. Ketika proses request website, jikadelay dianggap
terlalu tinggi, maka server dapat meminta server lain melanjutkan transaksi packet
yang sedang di download, sehingga kinerja pengiriman paket dapat lebih baik.
Masing-masing server akan melakukan pertukaran informasi terkait kinerja server,
baik secara langsung maupun melalui pihak ketiga serper DNS server. [4]
2.3. Load Balancer
Load balancer merupakan sebuah perangkat untuk mendistribusikan beban
pekerjaan secara merata melalui beberapa node.Peran yang paling penting dari
Load Balancer yaitu untuk menyediakan sebuah layanan dari beberapa kumpulan
server yang berada sebagai back-end dari layanan servernya.Untuk layanan
internet, Load Balancer biasanya merupakan sebuah program perangkat lunak
yang terhubung pada port dimana client eksternal tersambung untuk mengakses
layanan.Load Balancer meneruskan request dari salah satu server dari backend
Universitas Sumatera Utara
server, yang biasanya di-replay kembali ke load balancer.Hal ini memungkinkan
Load Balancer untuk me-replay request dari client tanpa client tersebut
mengetahui tentang pemisahan fungsi internal dari layanan server yang ada.Hal
ini juga dapat mencegah client berhubungan langsung dengan server backend,
yang mungkin memiliki manfaat keamanan dengan menyembunyikan struktur
jaringan internal dan mencegah serangan pada jaringan.[5]
Ada beberapa algoritma yang digunakan pada Load Balancer , antara lain:
[6]
1. Round Robin (rr), yaitu algoritma penjadwalan yang memperlakukan semua
real server sama menurut jumlah koneksi atau waktu respon.
2. Weighted Round Robin (wrr), penjadwalan ini memperlakukan real server
dengan kapasitas proses yang berbeda. Masing-masing real server dapat diberi
bobot bilangan integer yang menunjukkan kapasitas proses, dimana bobot awal
adalah 1.
3. Least Connection (lc), merupakan algoritma penjadwalan yang mengarahkan
koneksi jaringan pada server aktif dengan jumlah koneksi yang paling sedikit.
Penjadwalan ini termasuk salah satu algoritma penjadwalan dinamik, karena
memerlukan perhitungan koneksi aktif untuk masing masing real server secara
dinamik. Metode penjadwalan ini baik digunakan untuk melancarkan
pendistribusian ketika request yang datang banyak.
4. Weighted Least Connection (wlc), merupakan sekumpulan penjadwalan least
connection dimana dapat ditentukan bobot kinerja pada masing-masing real
server. Server dengan nilai bobot yang lebih tinggi akan menerima persentase
yang lebih besar dari koneksi-koneksi aktif pada satu waktu. Bobot pada
Universitas Sumatera Utara
masing-masing real server dapat ditentukan dan koneksi jaringan dijadwalkan
pada masing-masing real server dengan persentase jumlah koneksi aktif untuk
masing-masing server sesuai dengan perbandingan bobotnya (bobot awal
adalah 1).
5. Locality Based Least Connection (lblc), metode penjadwalan yang akan
mendistribusikan lebih banyak request kepada realserver yang memiliki
koneksi kurang aktif. Algoritma ini akan meneruskan semua request kepada
real server yang memiliki koneksi kurang aktif tersebut sampai kapasitasnya
terpenuhi.
6. Destination Hashing (dh), merupakan algortima penjadwalan statik yang dapat
meneruskan request dari client kepada satu realserver tertentu sesuai dengan
layanan yang diminta. Terdapat suatu tabel hash berisi alamat tujuan dari
masing-masing realserver beserta layanan yang tersedia pada setiap real
server.
7.
Source
Hashing
(sh),
hampir
sama
dengan
metode
destinationhashing tetapi pada metode ini tabel berisi mengenai informasi
alamat asal paket yang dikirimkan oleh client.
2.3.1
Algoritma Least Connection
Algoritma penjadwalan Least Connection mengarahkan permintaan yang
diterima darijaringan ke node dengan jumlah koneksi paling sedikit. Ini adalah
salah satupenjadwalan algoritma dinamis; karena itu perlu menghitung pergerakan
koneksi untuksetiap node secara dinamis pada sebuah node yangterdapat pada
kumpulanbeberapa node dengan kinerja yang sama Penjadwalan least connection
baik untuk kelancarandistribusi ketika bebanpermintaan bervariasi banyak,
Universitas Sumatera Utara
karenasemua permintaan yang lama tidak akan
diarahkan kesatu node
saja.Penjadwalan least connection dapatjuga melakukan dengan baik bahkan
ketika ada node dari berbagaikapasitas pengolahan, karena node lebih cepat akan
mendapatkanlebih banyak koneksi.Faktanya, penjadwalan least connection tidak
bekerja sangat baik karena TIME_WAIT TCP. TCPTIME_WAIT biasanya 2
menit, dalam rentan 2menit sebuah situs web yang sibuk sering mendapatkan
ribuankoneksi, misalnya, node A adalah dua kalikuat sebagai nodeB, node A
memiliki
pengolahanribuan
permintaan
dan
membuat
mereka
dalam
TCPTIME_WAIT, tapi node B pelan-pelan untuk mendapatkan ribuan koneksi
selesai. Sehinggapenjadwalan least connection tidak bisa memuat baikseimbang
antara node dengan berbagai pengolahankapasitas.[6]
2.3.2
Algoritma Round Robin
Algoritma penjadwalan round-robin meneruskan setiap permintaan yang
masuk ke server berikutnya dalam daftar. Misalnya dalam tiga cluster server
(server A, B dan C) permintaan 1 akan pergi ke server A, permintaan 2 akan pergi
ke server B, meminta 3 akan pergi ke server C, dan permintaan 4 akan pergi ke
server A, sehingga menyelesaikan siklus atau round-robin server. Memperlakukan
semua server sama terlepas dari jumlah koneksi masuk atau waktu respon setiap
server. Virtual server menyediakan beberapa keunggulan dibandingkan DNS
round-robin. DNSround-robinmenentukan satu domain ke alamat IP yang
berbeda, penjadwalan granularity adalah berdasarkan host, dan caching query
DNS
menghalangi
algoritma
dasar.
Faktor-faktor
ini
menyebabkan
ketidakseimbangan beban dinamis yang signifikan antara server utama.
Universitas Sumatera Utara
Penjadwalan granularity dari server virtual adalah jaringan koneksi berbasis, dan
itu jauh lebih unggul DNS roundrobin karena perincian penjadwalan baik. Roundrobin Penjadwalan, dalam arti kata, mengarahkan permintaan yang diterima dari
jaringan ke node yang berbeda dalam cara round-robin. Memperlakukan semua
node sebagai sama terlepas dari jumlah koneksi. Penjadwalan granularity adalah
simpul berbasis, ini akan menyebabkan ketidakseimbangan beban dinamis yang
signifikan antara node.[7]
2.3.3
Algoritma Weighted Round Robin
Penjadwalan
weightedround-robinmemperlakukan
node
yang
berbedakapasitaspengolahan. Setiap node dapat diberiberat, nilai integer yang
menunjukkan pengolahankapasitas. Berat default adalah 1. Sebagai contoh,
tiganode, A, B dan C, memiliki bobot,4, 3, 2 masing-masing,urutan penjadwalan
yang baik akan A, B, C, A, B, C, A, B, A dalamperiodepenjadwalan. Dalam
pelaksanaannyapenjadwalan
weightedround-robinad
akan
mengurutkan
permintaan yang dihasilkan sesuai dengan bobot simpulsetelahaturan simpul yang
dimodifikasi. Karena itu,penjadwalan permintaan tersebut tidak lagiseperti
algoritma penjadwalan round-robin.Penjadwalan weightedround-robin tidak
perlumenghitung
koneksi
permintaan
untuk
setiap
node,
danoverhead
penjadwalan lebih kecildari dinamis algoritma penjadwalanlainnya yang dapat
memiliki lebih node. Namun,mungkinmenyebabkan ketidakseimbangan beban
dinamis antara nodejika beban permintaansangat bervariasi. Singkatnya,
adakemungkinan bahwa sebagian besar permintaanpanjang dapat diarahkan ke
satunode.Penjadwalan round-robin adalah contoh khusustertimbang penjadwalan
Universitas Sumatera Utara
round-robin, di mana semuabobot yang sama. Overheadmenghasilkanurutan
penjadwalan setelah memodifikasi aturan nodesepele, dan tidak menambah biaya
overhead
apapun
dalam
penjadwalan
nyata.Jadi,
ada
tidak
perlu
untukmengimplementasikan penjadwalan round-robinsendiri.[6]
2.4. Network Simulator NS-2
NS-2merupakan sebuahprogramsimulasi berbasis event (kejadian)yang
banyak digunakanuntuk mempelajarisifat dinamis darijaringan dan protokol
komunikasi.
NS-2
mampu
nirkabelserta
protokolnya
mensimulasikan
jaringankabeldanjaringan
mencakupalgoritmarouting,protokol
komunikasi,
algoritma akses dan lain-lain [8].
Gambar 2.2 menunjukan arsitektur dasar NS-2.NS-2 menggunakan dua jenis
bahasa pemrograman, C++ dan TCL. Bahasa C++ digunakan sebagai inti proses
simulasi, sementara bahasa TCL untuk konfigurasi jaringan.
Gambar 2.2 Arsitektur Dasar NS-2 [8]
Universitas Sumatera Utara
TclCL dan OTcl adalah komponen TCL yang berfungsi untuk
menjembatani konfigurasi dengan proses simulasi. NS-2 dieksekusi melalui
perintah eksekusi command line. Hasil simulasi berupa catatan atau trace yang
dapat dipergunakan oleh Network Animator (NAM) (Gambar 2.3) maupun plot
grafik Xgraph [8].
2.5. Evalvid
NS-2 menyediakan presentasi data menggunakan Xgraph. Namun Xgraph
kehilangan detail dari kejadian pengiriman data dan hanya menampilkan data ratarata untuk parameter yang ditinjau. Oleh karenanya, untuk membantu
mempresentasikan parameter yang dievaluasi, digunakanlah evalvid.
EvalVid adalah framework dan tool set untuk evaluasi kualitas video yang
dikirimkan melalui jaringan komunikasi nyata ataupun simulasi [9].Struktur dari
framework EvalVid ditunjukan Gambar 2.4 [10].
Video
Trace
loss/delay
EvalvidAPI
VS
Network
(or simulation)
User
Video
Decoder
tcpdump
Video
Video
Decoder
Decoder
EvalvidAPI
Source
tcpdump
Play-Out
Buffer
Sender
Trace
ET
Receive Trace
Coded
Video
Reconstructed
erroneous video
Result:
-Frame Loss/
Frame Jitter
-user perceived
quality
FV
raw YUV
video
Reconstructed
raw YUV video
PSNR
erroneous video
raw YUV video
MOS
Gambar 2.3Struktur framework EvalVid [8]
Universitas Sumatera Utara
Komponen utama dari struktur EvalVid dijelaskan sebagai berikut :
1.
Source: Sumber video dapat berupa raw file YUV dengan resolusi Quarter
Common Intermediate Format (QCIF, 176 x 144) atau di Common
Intermediate Format(CIF, 352 x 288) .
2.
Video Encoder dan Decoder:EvalVid mendukung dua codec MPEG4 , yaitu
codec NCTU dan ffmpeg.
3.
VS (Video Sender): komponen VS membaca file video yang dikompres dari
output encoder, menfragmentasi setiap frame video yang berukuran besar
menjadi segmen yang berukuran kecil dan kemudian mengirimkan segmen
ini melalui paket UDP pada jaringan nyata atau simulasi. Untuk setiap
pengiriman paket UDP,framework mencatat tanda waktu, id paket, dan
ukuran paket di sender trace file dengan bantuan tcp dump atau win dump,
jika jaringan adalah Link nyata. Namun, jika jaringan disimulasikan,sender
trace
file disediakan
oleh
entitas
pengirim.
komponen
VS
juga
membangkitkanvideo trace file yang berisi informasi tentang setiap
framepadafile video real. Video trace file dan sender trace file yang
kemudian digunakan untuk evaluasi kualitas video berikutnya .
4.
ET (Evaluate Trace): Evaluasi berlangsung di sisi pengirim. Oleh karena
itu, informasi tanda waktu, id paket, dan ukuran paket yang diterima pada
penerima harus dikirim kembali ke pengirim. Berdasarkan file video asli
yang dikodekan, file video trace, file sender trace, dan file received
trace,komponen ET menghasilkan laporan packet loss, jitter serta file video
rekontruksi untuk melihat hasil video pada sisi penerima mengalami
kerusakan atau tidak.
Universitas Sumatera Utara
5.
FV (Fix Video): penilaian kualitas video digital dilakukan dari frame demi
frame. Oleh karena itu, jumlah total frame video di sisi penerima, termasuk
yang salah, harus sama seperti video asli di sisi pengirim. Jika codec tidak
dapat mencegahhilangnya suatu frame maka, FV digunakan untuk
mengatasi masalah tersebut, dengan memasukkan frame
terakhir yang
berhasil dikodekan pada bagianframe yang hilang sebagai sebuah teknik
penyembunyian error.
6.
PSNR (Peak Signal Noise Ratio): PSNR adalah salah satu objek untuk
menilai QoSaplikasi pada transmisi video.
7.
MOS (Mean Opinion Score):suatu subjektif untuk mengukur kualitas video
digital pada aplikasi.
Universitas Sumatera Utara