bab iii algoritma scheduling -...

20
22 BAB III Algoritma Scheduling III.1 Pendahuluan Generasi internet ke depan mendukung 2 tipe aplikasi: best-effort dan aplikasi guaranted-service. Aplikasi berbasis best-effort, yang sekarang ini umum pada jaringan internet, adaptif terhadap kondisi jaringan seperti apa pun. Sebagai contoh, aplikasi FTP idealnya mempunyai delay end-to-end nol dan mendapatkan bandwidth link tak terbatas, tetapi tetap dapat berjalan pada sumberdaya jaringan yang terbatas. Suatu layanan disebut best-effort karena jaringan tetap berjanji untuk melakukan yang terbaik demi terkirimnya paket-paket data walaupun tanpa menjamin QoS Disamping aplikasi best-effort, di masa depan jaringan internet diharapkan dapat membawa trafik dari aplikasi yang membutuhkan jaminan QoS. Oleh karena itu, untuk menjamin QoS, dimasa depan tidak akan lagi digunakan jaringan dengan bandwidth kurang dari 64 kbps untuk membawa trafik voice. Jaminan QoS yang dirasakan oleh sebuah koneksi bergantung pada algoritma scheduling yang digunakan. Scheduling dijalankan pada node-node switching sepanjang jalur antara sumber dan tujuan. Algoritma scheduling memilih paket mana yang akan dikirimkan pada link berikutnya. Scheduler dapat memberikan delay antrian dan bandwidth yang berbeda-beda untuk setiap koneksi dengan cara menentukan urutan pelayanan dan jumlah paket yang akan ditransmisikan untuk setiap koneksi. Jadi, internet masa depan membutuhkan aturan scheduling untuk mewujudkan: a. Delay, bandwidth, dan loss per koneksi yang dapat menjamin aplikasi guaranteed- service. b. Alokasi resource secara adil pada aplikasi best-effort.

Upload: hakhanh

Post on 06-Mar-2018

225 views

Category:

Documents


5 download

TRANSCRIPT

22

BAB III Algoritma Scheduling

III.1 Pendahuluan

Generasi internet ke depan mendukung 2 tipe aplikasi: best-effort dan aplikasi

guaranted-service. Aplikasi berbasis best-effort, yang sekarang ini umum pada

jaringan internet, adaptif terhadap kondisi jaringan seperti apa pun. Sebagai contoh,

aplikasi FTP idealnya mempunyai delay end-to-end nol dan mendapatkan bandwidth

link tak terbatas, tetapi tetap dapat berjalan pada sumberdaya jaringan yang terbatas.

Suatu layanan disebut best-effort karena jaringan tetap berjanji untuk melakukan

yang terbaik demi terkirimnya paket-paket data walaupun tanpa menjamin QoS

Disamping aplikasi best-effort, di masa depan jaringan internet diharapkan dapat

membawa trafik dari aplikasi yang membutuhkan jaminan QoS. Oleh karena itu,

untuk menjamin QoS, dimasa depan tidak akan lagi digunakan jaringan dengan

bandwidth kurang dari 64 kbps untuk membawa trafik voice.

Jaminan QoS yang dirasakan oleh sebuah koneksi bergantung pada algoritma

scheduling yang digunakan. Scheduling dijalankan pada node-node switching

sepanjang jalur antara sumber dan tujuan. Algoritma scheduling memilih paket mana

yang akan dikirimkan pada link berikutnya. Scheduler dapat memberikan delay

antrian dan bandwidth yang berbeda-beda untuk setiap koneksi dengan cara

menentukan urutan pelayanan dan jumlah paket yang akan ditransmisikan untuk

setiap koneksi.

Jadi, internet masa depan membutuhkan aturan scheduling untuk mewujudkan:

a. Delay, bandwidth, dan loss per koneksi yang dapat menjamin aplikasi guaranteed-

service.

b. Alokasi resource secara adil pada aplikasi best-effort.

23

Dibawah ini gambar sebuah model algoritma scheduling:

Gambar III.1. Model Algoritma Scheduling

Jadi setiap ada dua komponen utama yang terlibat dalam proses scheduling: classifier

dan scheduler. Fungsi classifier adalah menempatkan paket-paket kedalam antrian-

antrian menurut aturan tertentu. Sedangkan fungsi scheduler adalah memilih dari

antrian-antrian, paket-paket mana yang akan dikirimkan.

III.2 Persyaratan sebuah scheduling

Dalam perancangan sebuah algoritma scheduling, ada 5 persyaratan yang harus

dipertimbangkan: kompleksitas, fairness, isolasi/proteksi, efisiensi, dan performansi .

Bergantung pada situasinya, sebagian dari persyaratan tersebut menjadi lebih penting

dari yang lainnya, sehingga keputusan terbaik tergantung pada situasi dan

masalahnya. Berikut ini uraian dari 5 persyaratan tersebut:

a. Kompleksitas: setiap skema scheduling mempunyai tingkat kompleksitas yang

berlainan dipandang dari segi pengontrolan dan hardware. Kompleksitas

algoritma merupakan hal yang penting untuk dipertimbangkan karena router

harus mengambil paket untuk diberikan pada output link setiap kali sebuah paket

akan diberangkatkan. Frekuensi keberangkatan paket-paket tergantung pada

24

kecepatan output link. Keberangkatan dapat terjadi sekali setiap beberapa mikro

detik, atau sekali setiap beberapa nano detik. Jadi, demi mudah dan murahnya

implementasi, sebaiknya algoritma scheduling dibuat ringkas dengan beberapa

operasi yang sederhana.

b. Fairness: sebuah skema scheduling bertugas membagikan sumberdaya jaringan

berupa link bandwidth dan kapasitas buffer kepada antrian-antrian, maka

pembagian sumber daya tersebut harus adil. Fairness merupakan properti yang

dibutuhkan untuk layanan best-effort.

c. Isolasi dan proteksi: algoritma scheduling yang baik melakukan perlindungan

dan isolasi terhadap user. Perlindungan yang dimaksud adalah dengan membuat

miss-behaving user tidak mempengaruhi well-behaving user. Miss-behaving

user adalah para pengguna jaringan yang mengirimkan paket-paket data pada bit

rate yang lebih tinggi dari yang seharusnya sehingga dapat mengakibatkan

unfairness/hilangnya fairness.

d. Efisiensi: Sebuah algoritma dikatakan lebih efisien dari pada algoritma yang lain

apabila pada beban yang lebih berat dapat menjamin kinerja yang sama. Atau

pada beban yang sama dapat memberikan kinerja yang lebih baik. Dan juga, agar

jaminan QoS terpenuhi, koneksi yang guaranteed-service jumlahnya harus

dibatasi dengan menggunakan mekanisme Admission Control.

e. Performance: merupakan tujuan utama dibuatnya algoritma scheduling, yaitu

menjamin throughput, delay, dan loss sesuai dengan yang diinginkan. Jaringan

menjamin tersedianya koneksi sesuai dengan kebutuhan setiap layanan dan para

pengguna jaringan pun tidak menggunakan jaringan melebihi batas yang telah

ditetapkan. Menjamin kinerja sistem di level yang baik merupakan permasalahan

yang sulit, karena semua scheduler yang dilalui paket data sepanjang koneksi

harus berpartisipasi dalam memenuhinya.

25

III.3 Klasifikasi Algoritma Scheduling

Mekanisme packet scheduling terbagi kedalam 2 kategori: work-conserving dan non-

work-conserving. Algoritma scheduling yang work-conserving akan melewati antrian

yang tidak memiliki paket, sedang non-work-conserving selalu memberikan waktu

untuk setiap antrian walaupun dalam antrian tersebut tidak dalam keadaan akan

mengirimkan paket.

Salah satu sifat algoritma yang bersifat work-conserving adalah mempunyai total

delay antrian rata-rata yang minimum. Total delay antrian rata-rata dihitung berdasar

semua flow yang harus dilayani. Semua algoritma work-conserving mempunyai total

delay antrian rata-rata yang sama. Dengan kata lain, meskipun setiap scheduler

menggunakan algoritma yang berbeda, delay antrian rata-rata secara keseluruhan

selalu sama. Ini menunjukkan bahwa algoritma work-conserving melayani flow-flow

tertentu dengan lebih cepat tetapi mengorbankan flow yang lain.

Timbul sejumlah pertanyaan, mengapa kita tetap menggunakan algoritma non-work

conserving dan membuang bandwidth dengan meninggalkan link dalam keadaan

menganggur sampai ada paket yang harus dikirimkan? Jawabannya adalah, algoritma

non-work conserving membuat aliran trafik lebih dapat diprediksi. Algoritma non-

work conserving biasanya pilihan terbaik untuk jaringan yang melayani trafik real

time karena dapat menjamin delay dan delay jitter pada nilai tertentu.

III.4 Beberapa Jenis Scheduling

Semua algoritma scheduling merupakan varian dari dua disiplin scheduling berikut:

Generalized Processor Sharing (GPS) dan Earliest-Deadline-First (EDF). GPS

membagi sumberdaya diantara antrian-antrian berdasarkan kebutuhannya, sedang

EDF melayani paket berdasarkan urutan deadline. EDF berusaha mencapai level QoS

tertentu dengan melayani paket-paket berdasar urutan deadlinenya. Paket-paket yang

26

lebih mendekati deadline lebih dahulu dilayani. Deadline sebuah paket berkaitan

dengan maximum tolerable delay dan dihitung dengan menambahkan maximum

tolerable delay terhadap waktu kedatangan paket. Contoh algoritma EDF adalah:

delay earliest due date dan jitter earliest due date.

Subbab ini akan berkonsentrasi pada 2 jenis scheduling: Weighted Round Robin

(WRR) dan Deficit Round Robin (DRR), karena 2 algoritma inilah yang akan

dianalisa performansinya dalam jaringan WIMAX. Namun demikian algoritma

scheduling yang lain pun akan dibahas secara sekilas.

III.4.1 Generalized Processor Sharing (GPS)

GPS merupakan algoritma scheduling yang ideal. Dalam algoritma ini, paket-paket

dari setiap flow dimasukkan kedalam antrian-antrian. Setiap antrian yang tidak

kosong akan dilayani sedang antrian yang kosong akan dilewati. Dari antrian-antrian

tersebut secara round robin GPS scheduling mengirimkan data dalam jumlah yang

sangat kecil sekali (infinitesimal). Setiap antrian dapat diberikan bobot, dan layanan

akan diterima sesuai dengan bobot tersebut.

Gambar III.2. GPS scheduling

27

Berikut ini contoh-contoh yang menunjukkan bagaimana cara kerja algoritma GPS:

Contoh 1

• Ukuran paket A, B, dan C masing-masing: 10, 20, dan 30

• Paket A, B, dan C tiba di waktu 0

• Semua antrian mempunyai bobot yang sama

Gambar III.3. Contoh 1, Scheduling GPS

Contoh 1

• Ukuran paket A, B, dan C masing-masing: 15, 20, dan 10

• Paket A, B, dan C masing-maing tiba di waktu: 0, 5, 15

• Semua antrian mempunyai bobot yang sama

Gambar III.4. Contoh 2, Scheduling GPS

28

Adapun variabel-variabel yang digunakan dalam algoritma GPS adalah:

- ,iφ merupakan bagian bandwidth yang disediakan untuk setiap flow

- senti (t1, t2) : jumlah data flow i yang dapat dilayani selama rentang waktu (t1, t2).

Sebuah flow didefinisikan sebagai backlogged jika flow tersebut mempunyai paket

yang sedang menerima layanan atau sedang menunggu pelayanan. Pada GPS, untuk

pasangan flow i dan j selama interval waktu t1 dan t2

j

i

j

i

ttsentttsent

φφ

=),(),(

21

21

mengikuti rumusan sebagai

berikut:

atau =i

i ttsentφ

),( 21 konstanta

Meskipun GPS scheduling menyediakan fairness yang ideal dan isolasi flow yang

sempurna, tetapi algoritma ini tidak dapat dibuat. Sampai saat ini, mengirimkan data

dari antrian-antrian dalam besaran yang sangat kecil adalah suatu hal yang mustahil.

Oleh karena itu, secara praktis tidak ada satu pun algoritma scheduling yang dapat

menyamai keidealan GSP dalam hal fairness dan isolasi. Pada saat scheduler

melayani sebuah paket, maka pada saat itu sedang terjadi ketidakadilan terhadap

paket yang lain. Sampai saat ini telah banyak diusulkan berbagai macam algoritma

scheduling yang berusaha mendekati keidealan karakteristik GPS.

III.4.2 First In First Out (FIFO)

FIFO merupakan skema scheduling yang paling sederhana. Dalam FIFO semua paket

diperlakukan sama. Paket-paket ditempatkan dalam antrian hanya berdasarkan urutan

kedatangan, tidak memandang seberapa penting paket tersebut. Algoritma FIFO juga

sering disebut First Come First Served (FCFS).

29

Gambar III.5. FIFOScheduling

FIFO merupakan algoritma yang bersifat work-conserving dan mempunyai

kompleksitas yang sangat rendah, sebab itu FIFO menjadi algoritma yang paling

umum dipakai dalam jaringan. Ada beberapa keterbatasan FIFO, misalnya:

• Tidak dapat memberikan fairness dalam alokasi sumberdaya kepada flow-

flow yang sedang dilayani. Namun demikian, hal ini tidak terlalu menjadi

masalah untuk aplikasi berbasis best-effort.

• Tidak dapat menjamin kinerja sistem dalam hal: delay, delay jitter, atau

throughput paket-paket pada aplikasi-aplikasi yang real time. Oleh karena

itu, aplikasi multimedia tidak dapat bekerja dengan baik apabila

digunakan scheduler FIFO. Satu cara untuk menjamin batasan delay

adalah dengan membatasi ukuran buffer. Setiap paket dijamin akan

dikirimkan dalam waktu kurang dari waktu yang diperlukan untuk

melayani antrian yang penuh. Kerugian cara ini adalah, akan

meningkatkan packet loss probability, sebagai sebuah konsekuensi dari

high buffer overflow probability.

30

III.4.3 Priority Queueing (PQ)

Algoritma scheduling ini merupakan versi sederhana dari queue scheduling yang

bertujuan untuk mendukung differentiated service class. Dalam PQ, pertama-tama

sistem mengklasifikasi paket-paket berdasar tipe layanannya dan setelah itu

ditempatkan pada antrian-antrian yang memiliki prioritas berlainan. Paket-paket

dalam sebuah antrian akan dilayani apabila semua paket yang berprioritas tinggi

sudah dilayani. Dalam masing-masing antrian paket-paket dilayani secara FIFO.

Gambar III.6. Priority Queueing (PQ)

III.4.4 Fair Queueing (FQ)

Skema ini diusulkan oleh John Nagle pada tahun 1987. FQ merupakan dasar dari

kelas scheduling yang menjamin setiap aliran paket dapat mengakses sumberdaya

jaringan secara adil dan mencegah bursty flow mengakses jaringan secara berlebihan.

Dalam FQ, paket-paket pertama-tama diklasifikasi dan setelah itu dimasukkan ke

dalam antrian. Setelah itu setiap antrian dilayani dengan mengirimkan 1 paket per

antrian, antrian yang kosong akan dilewati.

31

Gambar III.7. Fair Queueing (FQ)

Keuntungan utama FQ adalah bahwa bursty yang melewati batas maksimum tidak

akan mengganggu QoS flow yang lain, karena setiap flow mempunyai antrian yang

berbeda. Jika flow berusaha mengonsumsi melebihi bandwidth yang telah dibagi

secara adil, maka hanya antrian tersebut yang kena dampaknya, sehingga tidak

berpengaruh kepada performansi antrian yang lain.

Meskipun demikian, FQ juga memiliki beberapa keterbatasan, diantaranya:

• FQ diimplementasikan di tingkat software bukan hardware. Hal ini menjadikan

FQ menjadi interface kecepatan rendah yang hanya dapat digunakan pada edge

jaringan.

• Tujuan FQ adalah untuk mengalokasikan bandwidth dalam jumlah yang sama

kepada setiap flow. FQ tidak dirancang untuk mendukung sejumlah flow yang

mempunyai kebutuhan bandwidth yang berbeda.

• FQ memberikan jumlah bandwidth yang sama kepada setiap flow hanya jika

semua paket di dalam antrian-antrian berukuran sama. Flow-flow dengan paket

32

yang besar-besar akan mendapatkan bagian bandwidth yang lebih besar daripada

flow dengan ukuran paket yang kecil.

• FQ sangat sensitif terhadap permintaan kedatangan paket. Jika paket datang di

dalam antrian kosong segera setelah antrian tersebut didatangi oleh scheduler

round-robin, maka paket tersebut harus menunggu di dalam antrian sampai semua

antrian terlayani sebelum dapat ditransmisikan.

• FQ tidak memberikan mekanisme yang mendukung layanan real-time seperti

VoIP

• FQ mengasumsikan bahwa klasifikasi trafik jaringan dapat dilakukan dengan

mudah. Pada jaringan IP, hal ini tidak semudah seperti yang diperkirakan. Flow-

based dapat diklasifikasikan pada alamat sumber paket, akan tetapi kemudian

setiap workstation diberi resource jaringan dalam jumlah yang sama atau

mainframe. Jika akan mengklasifikasikan flow-based pada koneksi TCP, maka

harus dilihat lebih dalam header paketnya, dan itupun masih harus berurusan

dengan masalah lain seperti enkripsi, fragmentasi dan flow-flow UDP.

• FQ pada umumnya tidak dapat dikonfigurasi pada router inti karena router inti

sangat dibutuhkan untuk mendukung ribuan atau bahkan puluhan ribu antrian

diskrit pada setiap port-nya. Hal ini dapat menambah kompleksitas dan overhead

manajemen yang akan berdampak pada skalabilitas FQ itu sendiri dalam jaringan

IP yang luas.

FQ biasanya diaplikasikan di edge jaringan di mana banyak subscriber terkoneksi ke

penyedia layanannya. Vendor biasanya mengimplementasikan FQ untuk

mengklasifikasikan paket ke 256, 512, atau 1024 antrian menggunakan fungsi hash

yang dihitung melalui pasangan alamat sumber/tujuan. FQ memberikan isolasi yang

sempurna bagi flow trafik individu karena pada edge jaringan, subscriber memiliki

jumlah flow terbatas, sehingga setiap flow dapat diberikan pada suatu antrian. Di

33

dalam FQ class-based, port output dibagi ke dalam klas layanan yang berbeda. Setiap

kelas layanan dialokasikan prosentase bandwidth tertentu.

III.4.5 Weighted Fair Queueing (WFQ)

WFQ dikembangkan secara independen pada tahun 1989 oleh Lixia Zhang dan Alan

Demers, Srinivasan Keshav dan Scott Shenke. WFQ mendasari algoritma scheduling

untuk mengatasi kelemahan FQ. Algoritma ini memberikan bobot antrian yang berbeda

berdasarkan kebutuhan bandwidth setiap aliran paket. WFQ dapat memberikan

distribusi bandwidth yang fair untuk variable-length packet dengan cara meniru cara

kerja GPS.

Gambar III.8. Weighted Fair Queueing (WFQ)

III.4.6 Weighted Round Robin (WRR)

WRR merupakan emulasi sederhana dari GPS. Perbedaan antara GPS dengan WRR

adalah WRR melayani sejumlah tertentu data. Tidak seperti GPS yang mengirimkan

data dalam besaran yang amat sangat kecil. Besaran data yang dilayani oleh WRR

dapat berupa paket atau byte. WRR scheduling akan lebih mendekati GPS jika semua

flow mempunyai bobot yang sama dan setiap paket mempunyai ukuran yang sama.

Algoritma scheduling ini merupakan dasar dari kelas scheduling yang dibuat untuk

mengatasi kelemahan FQ dan PQ. WRR mengatasi kelemahan FQ dengan cara

34

memberikan bobot yang berbeda untuk setiap antrian. Bobot ini menentukan besarnya

bagian setiap antrian terhadap bandwidth sistem. WRR mengatasi kelemahan PQ

dengan cara, antrian berprioritas rendah tetap diberi kesempatan mengirimkan paket

sesuai dengan bobotnya, jadi tidak diabaikan sama sekali.

Dalam antrian WRR, pertama-tama paket diklasifikasi kedalam kelas-kelas

(misalnya, real-time, interaktif, transfer file, dsb), kemudian paket-paket tersebut

dimasukkan ke dalam antrian-antrian yang khusus melayani kelas-kelas tersebut.

Tiap-tiap antrian dilayani secara round-robin. Sama seperti PQ dan FQ, antrian yang

kosong akan dilewati. WRR juga disebut sebagai Class-Based Queueing (CBQ) atau

Custom Queueing.

Algoritma WRR mendukung alokasi bandwidth yang berbeda untuk setiap kelas

dengan cara:

• Mengijinkan antrian ber-bandwidth tinggi untuk mengirimkan lebih dari

satu paket pada setiap putaran.

• Pada setiap putaran masing-masing antrian hanya boleh mengirimkan satu

paket setiap diberi kesempatan, tetapi antrian berbandwidth tinggi akan

diberi kesempatan transmit beberapa kali.

Pada gambar dibawah ini antrian trafik real-time diberi 25% BW, antrian trafik

interaktif diberi 25% BW, dan antrian trafik file transfer diberi 50% BW. Dengan

demikian pada setiap putarannya antrian file transfer akan diberi kesempatan 2 kali

transmit, masing-masing satu paket, atau setiap kali diberi kesempatan akan

mengirimkan langsung 2 paket.

35

Gambar III.9. Weighted Round Robin (WRR)

Algoritma scheduling WRR mempunyai keuntungan dan kerugian/keterbatasan.

Adapun keuntungannya adalah:

• Karena sederhana, WRR dapat dibuat secara hardware, sehingga dapat

dipakai pada interface berkecepatan tinggi.

• Dengan WRR secara kasar dapat dikontrol berapa besar presentase

bandwidth yang dialokasikan untuk masing-masing kelas

• WRR menjamin setiap kelas layanan mempunyai akses terhadap

bandwidth sistem sehingga terhindar dari kelaparan bandwidth.

• Daripada menggunakan prioritas (seperti pada PQ), klasifikasi berdasar

kelas menghasilkan manajemen yang lebih adil dan lebih stabil bagi

aplikasi-aplikasi. Sebagai contoh, jika kita memberikan prioritas lebih

kepada trafik real-time daripada trafik file transfer, maka jumlah trafik

real-time yang berlebihan akan menghambat semua trafik file transfer dari

jaringan. WRR didasarkan pada sebuah kepercayaan, bahwa, untuk

mengontrol kongesti mekanisme resource reduction lebih baik daripada

resource denial.

36

Kekurangan yang utama dari WRR adalah, algoritma ini hanya akan memberikan

persentase bandwidth yang tepat kepada setiap kelas layanan jika semua paket dalam

semua antrian mempunyai ukuran yang sama atau ketika ukuran paket rata-rata dapat

diketahui dari awal.

Berikut ini diberikan sebuah gambar dan contoh kasus untuk menjelaskan cara kerja

WRR:

Gambar III.10. Contoh untuk WRR

Diasumsikan untuk antrian 1 sampai 4 masing-masing diberi bagian bandwidth

sebesar: 40%, 30%, 20%, dan 10%. Anggap ukuran semua paket sebesar 100 byte.

Pada setiap putaran antrian 1 mengirimkan 4 paket (400 byte), antrian 2 mengirimkan

3 paket (300 byte), antrian 3 mengirimkan 2 paket (200 byte),dan antrian 4

mengirimkan 1 paket (100 byte). Jadi total paket yang dikirim untuk satu putaran

sebesar 1000 byte, dan setiap antrian mendapat bagian yang sesuai dengan bobotnya.

Dalam contoh ini WRR secara sempurna mendistribusikan bandwidth sistem kepada

semua antrian.

37

III.4.7 Deficit Round Robin (DRR)

DRR scheduling diusulkan oleh M. Shreedhar dan G. Varghesee pada tahun 1995.

DRR dibuat untuk mengatasi kelemahan yang ada pada WRR dan WFQ. DRR

mengatasi kelemahan pada WRR dengan memberikan akses bandwidth sistem secara

fair kepada antrian-antrian yang memiliki panjang paket yang berbeda. DRR

mengatasi kelemahan WFQ karena algoritma ini mempunyai kerumitan komputasi

yang lebih rendah. Oleh karena itu, algoritma ini dapat secara langsung diterapkan

pada hardware.

Dalam DRR, setiap antrian dikonfigurasi dengan sejumlah parameter:

• Bobot, menentukan persentasi dari bandwidth sistem untuk masing-masing

antrian

• Deficit Counter (DC), menentukan jumlah byte yang dapat ditransmisikan oleh

sebuah antrian pada saat diberikan kesempatan. Dengan adanya deficit counter,

sebuah antrian yang tidak dapat transmit (karena ukuran paketnya lebih besar

dari nilai deficit counter) dapat memiliki simpanan transmisi. Simpanan

transmisi ini akan digunakan pada putaran selanjutnya sehingga antrian tersebut

dapat mengirimkan paket lebih besar/banyak dari jatah yang telah ditentukan.

• Quantum of Service (Q), nilai yang proporsional dengan bobot sebuah antrian

dan quantum ini dinyatakan dalam byte. Deficit Counter sebuah antrian nilainya

meningkat sebesar Quantum antrian tersebut setiap kali dikunjungi oleh

scheduler. Jika quantum [i] = 2 * quantum [k], maka antrian i akan menerima

jatah bandwidth sebanyak dua kali yang diterima antrian k.

III.4.7.1 Algoritma DRR

Scheduler mengunjungi setiap antrian yang tidak kosong dan mendeteksi ukuran

paket yang akan dikirimkan pada antrian tersebut, kemudian DC ditingkatkan sebesar

nilai quantum. Jika ukuran paket dalam sebuah antrian lebih besar dari DC, maka

38

scheduler akan berpindah ke antrian berikutnya. Dan sebaliknya, jika ukuran paket

lebih kecil atau sama dengan DC maka paket tersebut akan dilayani dan nilai DC

akan dikurangi sejumlah byte ukuran paket tersebut. Pada putaran-putaran

selanjutnya scheduler akan terus menerus mengunjungi setiap antrian yang tidak

kosong, melakukan dequeue terhadap paket-paketnya, dan menurunkan nilai DC

sebesar paket yang dilayani sampai ukuran paket lebih besar dari DC atau antrian

tersebut kosong. Jika antrian kosong nilai DC diset ke nol.

Gambar III.11. Deficit Round Robin (DRR)

III.4.7.2 DRR pseudocode

Pada bagian ini akan dipaparkan pseudocode DRR, dengan mengamati pseudocode-

nya scheduling ini lebih mudah dipahami. Larik DC diinisialisasi dengan nol. Dalam

contoh berikut, antrian diberi nomor 1 sampai n, dimana n adalah jumlah antrian

maksimum pada port output:

39

Fungsi Enqueue(i) menempatkan paket-paket yang baru sampai kedalam antrian-

antrian yang sesuai dan memasukkan antrian tersebut kedalam ActiveList. ActiveList

merupakan daftar antrian-antrian yang tidak kosong, paling sedikit berisi satu paket.

Isi ActiveList selalu diperbaharui agar scheduler tidak membuang waktunya dengan

mendatangi antrian yang kosong. Ketika sebuah paket mendatangi suatu antrian yang

sebelumnya diketahui kosong, maka index antrian tersebut ditambahkan pada bagian

akhir ActiveList oleh fungsi InsertActiveList(i). Begitu juga, kapan saja sebuah

antrian menjadi kosong, index antrian tersebut dikeluarkan dari ActiveList oleh

fungsi RemoveActiveList(i);

Kapan saja sebuah index antrian berada pada bagian awal ActiveList, fungsi

Dequeue(i) akan mengeluarkan dari Queue(i) paket sebesar :

DeficitCounter(i)+Quantum(i)

40

Gambar dibawah ini menjelaskan satu contoh kasus bagaimana scheduling DRR

melayani paket-paket dalam sebuah antrian:

Gambar III.12. Cara Kerja DRR

Dari gambar diatas terlihat keunggulan scheduling DRR dalam melayani antrian

dengan ukuran paket yang berbeda-beda.

Berikut adalah beberapa definisi yang berkaitan dengan algoritma scheduling

DRR:

• Definisi 1: work didefinisikan sebagai maksimum kompleksitas waktu yang

dibutuhkan untuk melakukan enqueue atau dequeu terhadap sebuah paket. Jika

sebuah sebuah algoritma membutuhkan waktu selama O(log(n)) untuk men-

enqueue dan O(1) untuk men-dequeue sebuah paket, maka akan ditetapkan

work untuk algoritma tersebut adalah O(log(n)).

41

• Definisi 2: sebuah flow disebut backlogged selama interval I pada sebuah

eksekusi jika antrian untuk flow i tidak pernah kosong selama interval I tersebut.

• Definisi 3: FM(t1, t2) didefinisikan sebagai nilai maksimum, dari semua

pasangan flow i, j yang di-backlog selama interval (t1, t2

j

j

i

i

fttsent

fttsent ),(),( 2121 −

), untuk rumusan

berikut: . Sebuah algoritma scheduling disebut fair

jika FM bernilai kecil dan konstan .

Selanjutnya, berikut ini beberapa rumusan untuk DRR:

• Rumusan 1

Pada semua Queue(i) berlaku rumusan:

0 < DC(i) < Max.

Max adalah ukuran paket maksimum pada setiap antrian

• Rumusan 2

Pada interval waktu (t1, t2), Queue(i) menerima pelayanan dari scheduler

sebanyak m kali. Maka berlaku rumusan sebagai berikut:

m.Q(i) – Max ≤ sent(i)(t1, t2

• Rumusan 3

) ≤ m.Q(i) + Max

Pada semua interval waktu (t1, t2) berlaku:

FM(t1, t2

• Rumusan 4

) ≤ 2 Max + Q , dimana Q = Min[ Q(i) ]

DRR mempunyai beban kerja O(1) jika untuk semua i, Q(i) ≥ Max