PERANCANGAN SOFTWARE SCHEDULER UNTUK MAC LAYER WIMAX MENURUT STANDAR IEEE 802.16-2004
Winnu Ayi Satria
Mahasiswa Program Studi Teknik Elektro NIM 132 03 050 Sekolah Teknik Elektro dan Informatika
Email : winnuayi@gmail.com Abstraksi
Worldwide Interoperability for Microwave Access (WiMAX) menyediakan layanan Broadband Wireless Access teryang menyediakan layanan data pita lebar. Sesuai standard IEEE 802.16-2004, WiMAX mengatur 2 layer terbawah Model 7 OSI Layer, yaitu MAC Layer dan PHY Layer. MAC Layer WiMAX menggunakan metode akses berbasis algoritma penjadwalan (scheduling algorithm). Blok kerja yang bertanggung jawab melakukan proses penjadwalan adalah Scheduler.
Makalah ini membahas tentang perancangan Scheduler pada MAC Layer WiMAX. Algoritma yang digunakan adalah Priority Queue, algoritma penjadwalan beberapa queue berdasarkan prioritas queue tersebut. Berdasarkan Quality of Service (QoS), ada 4 macam Scheduler, yaitu UGS, rtPS, nrtPS, dan Best Effort. UGS menggunakan algoritma Fixed Bandwidth, rtPS menggunakan algoritma Earliest Deadline First (EDF), nrtPS menggunakan algoritma Weighted Round Robin (WRR), dan Best Effort menggunakan algoritma Round Robin. Dengan menggunakan algoritma penjadwalan, Scheduler dapat menjamin sebuah layanan dengan kebutuhan bandwidth tinggi dapat terpenuhi dengan menggunakan Quality of Service (QoS).
Keyword: WiMAX, Scheduler, Scheduling Algorithm, Quality of Service
1. PENDAHULUAN
Worldwide Interoperability for Microwave Access (WiMAX) dikembangkan oleh Institute Electrical and Electronic Engineering (IEEE) dan dirumuskan dalam standar 802.16-2004 [1].
Teknologi ini memberikan layanan Broadband Wireless Access dengan jarak yang lebih jauh dan performa yang lebih baik daripada teknologi WiFi.
WiMAX dirancang untuk menangani Physical Layer (PHY) dan Media Access Control Layer (MAC). PHY Layer bertugas mengirimkan informasi dari transmitter menuju receiver melalui sebuah saluran udara (kanal), sedangkan MAC Layer bertugas melakukan pengalamatan dan mengatur paket – paket data yang harus segera dikirim segera. Pada MAC Layer, blok yang bertugas mengatur paket – paket data tersebut adalah Scheduler [2].
Ada beberapa macam paket – paket data yang dijadwal Scheduler, seperti:
1. Paket Ethernet, IPv4, dan IPv6 2. Bandwidth Request
3. MAC Management Messages
4. Paket Automatic Repeat Request (ARQ) Berdasarkan standar 802.16-2004, Scheduler memiliki fitur Quality of Service (QoS). Ada 4 macam QoS yang digunakan, yaitu:
1. Unsolicitied Grant Service (UGS) 2. Real-time Polling Service (rtPS) 3. Non-real-time Polling Service (nrtPS) 4. Best Effort
Kebutuhan – kebutuhan berinternet seperti Voice over IP (VoIP), Video dan Audio Streaming, File Transfer Protocol, Web Browsing, dan masih banyak lainnya akan dipetakan ke dalam empat QoS sesuai prioritasnya masing – masing. Untuk menjamin kepuasan pengguna saat melakukan layanan internet, Scheduler bertanggung jawab mengatur paket – paket data mana saja yang harus segera dijadwal dan dikirim.
2. SCHEDULER MAC WIMAX
Scheduler melakukan penjadwalan paket – paket data berdasarkan QoS dan resources yang telah disiapkan. Quality of Service diatur oleh blok Connection Management, sedangkan resources diatur oleh PHY Layer. Dengan adanya permintaan resources dan banyaknya subscriber station yang mengharapkan resources tersebut, maka dibutuhkan algoritma scheduler yang efektif dan efisien untuk melakukan penjadwalan yang optimal.
2.1 Quality Of Service
Berikut ini adalah karakteristik QoS yang didukung WiMAX [1], [5], [6].
Unsolicited Grant Service (UGS) Bersifat real-time
Constant Bit Rate (CBR) Throughput dijamin.
Contoh : VoIP
Real-Time Polling Service (rTPS) Bersifat real-time
Variable Bit Rate (VBR)
Delay Intolerant
Prioritas lebih tinggi terhadap Best Effort dan nRTPS.
Contoh : Video & Audio Streaming Non Real-Time Polling Service (nrTPS)
Tidak real-time.
Variable Bit Rate Delay-tolerant.
Prioritas lebih tinggi terhadap Best Effort Contoh : File Transfer Protocol (FTP) Best Effort Service
Tidak real-time Variable Bit Rate
Tidak ada garansi delay ataupun troughput.
Memiliki prioritas paling rendah Contoh : Email, Web Browsing
2.2 Format Data MAC
Ada 3 macam format data yang harus diperhatikan, yaitu:
1. Service Data Unit (SDU)
Data yang dihasilkan oleh Convergence Sublayer (CS). Contoh: Ethernet, IPv4, dan IPv6
2. Protocol Data Unit (PDU)
Data yang dihasilkan oleh PDU Encoder. Field Generic MAC Header sepanjang 6 byte dan CRC 4 byte.
3. Frame
Data yang dihasilkan oleh PHY Layer. Bekerja dalam satuan waktu.
3. PERANCANGAN 3.1 Penentuan Spesifikasi
Untuk penelitian ini, spesifikasi Scheduler dibatasi pada penjadwalan paket – paket data secara downlink saja, sedangkan penjadwalan paket – paket data secara uplink, Management Messages, dan ARQ tidak masuk dalam penelitian ini.
Scheduler
MAC Queue
PDU Queue Global Table
Queue
0
MAC Header Service Flow
Fragment Flag
Pointer SDU
Frame Builder Queue Generator
Pointer (delete) Management
Komponen utama dari Scheduler adalah
1. Input : MAC Queue & Global Table 2. Output : PDU Queue
3.
Process : Scheduler
Entitas di luar sistem yang berhubungan secara tidak langsung adalah
1. Queue Generator 2. Management 3. Frame Builder
Proses yang dapat dilakukan Scheduler adalah sebagai berikut:
1. Proses penjadwalan paket – paket data sesuai QoS (UGS, rtPS, nrtPS, Best Effort) 2. Membentuk PDU Payload berdasarkan
policy. Ada 5 macam cara membentuk PDU:
a) Tidak packing & Tidak fragmentation b) Hanya fragmentation
c) Hanya packing fixed-length d) Hanya packing variable-length e) Packing & fragmentation sekaligus 3. Menampung SDU – SDU terjadwal pada
Scheduled Queue
4.
Memanggil PDU Encoder untuk melakukan proses enkapsulasi SDU – SDU yang ada di dalam Scheduled Queue menjadi sebuah PDU
Algoritma Scheduler yang digunakan secara
keseluruhan untuk 4 QoS menggunakan algoritma
Priority Queue. Priority Queue merupakan
algoritma yang menggunakan beberapa queue
dengan prioritas yang berbeda – beda tergantung
kebutuhan. Paket akan dijadwal dari sebuah queue
jika queue dengan prioritas lebih tinggi sudah selesai dijadwal.
Scheduler
priority
Urutan algoritma Scheduler:
1. Siapkan resources 2. Scheduler UGS 3. Scheduler rtPS 4. Scheduler nrtPS 5. Scheduler Best Effort
3.2 Integrasi Scheduler dengan PDU Encoder Penelitian selama setahun ini, Scheduler dirancang sebagai blok tersendiri. Namun kemudian muncul masalah sebagai berikut:
1. Perhitungan alokasi bandwidth yang kompleks pada blok Scheduler
2. Proses enkapsulasi PDU yang kompleks pada blok PDU Encoder
3. Terjadinya pemborosan memori yang tidak perlu pada Scheduled Queue
Gambar berikut adalah Scheduler versi 1.
Gambar berikut adalah Scheduler versi 2 yang terintegrasi dengan PDU Encoder.
Dengan model Scheduler versi 2, masalah – masalah yang sebelumnya muncul dapat teratasi semua. Model seperti ini pun memberikan kemudahan dalam merancang algoritma scheduler yang lebih optimal
3.3 Perancangan Scheduler UGS UGS Queue:
Complex linked list. Dibagi berdasarkan koneksi.
Algoritma:
Fixed Bandwidth. Dengan prioritas tertinggi dari QoS lain, UGS dapat mengambil resources sesuai dengan jatah yang diberikan.
PDU Encoder:
Packing fixed-length
3.4 Perancangan Scheduler rtPS rtPS Queue:
Simple linked list. Diurutkan berdasarkan deadline.
Algoritma:
Earliest Deadline First (EDF). Paket data dengan deadline terdekat akan dijadwal lebih dahulu.
PDU Encoder:
Hanya Fragmentation.
3.3 Perancangan Scheduler nrtPS nrtPS Queue:
Complex linked list. Dibagi berdasarkan koneksi.
Algoritma:
Weighted Round Robin. Setiap koneksi memiliki bobotnya masing – masing sehingga untuk nrtPS jatah bandwidth akan dibagi sesuai bobot.
PDU Encoder:
Hanya fragmentation.
3.3 Perancangan Scheduler Best Effort Best Effort Queue:
Complex linked list. Dibagi berdasarkan koneksi.
Algoritma:
Round Robin.
Paket data yang datang lebih awal untuk setiap koneksi akan dijadwal terlebih dahulu.
PDU Encoder:
Packing & Fragmentation sekaligus.
4. PENGUJIAN DAN ANALISIS
Dilakukan pengujian Scheduler dengan 4 QoS sekaligus. Skenario yang disiapkan sebagai berikut:
QoS CID Deadline DIUC
UGS 0xfe11 1
UGS 0xfe21 2
UGS 0xfe31 3
rtPS 0xfe14 10 ms 1 rtPS 0xfe24 20 ms 2 nrtPS 0xfe13 1 nrtPS 0xfe23 2 nrtPS 0xfe33 3 Best Effort 0xfe12 1 Best Effort 0xfe22 2 Best Effort 0xfe32 3 Terdapat 3 koneksi UGS, 2 koneksi rtPS, 3 koneksi nrtPS, dan 3 koneksi Best Effort. Input yang digunakan untuk semua koneksi adalah text file.
Output yang dihasilkan harus sama dengan input yang dimasukkan.
Dari pengujian didapatkan gambar sebagai berikut untuk seluruh koneksi:
0 20 40 60 80 100 120 140 160
1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 UGS 1 UGS 2 UGS 3 BE 1 BE 2 BE 3 NRTPS 1 NRTPS 2 NRTPS 3 RTPS 1 RTPS 2
Untuk mempermudah analisis, QoS dipisahkan dalam setiap gambar. Sumbu Y tidak mengalami perubahan untuk keempat gambar berikut.
UGS
0 20 40 60 80 100 120 140 160
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97
UGS 1 UGS 2 UGS 3
rtPS
0 20 40 60 80 100 120 140 160
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97
RTPS 1 RTPS 2
nrtPS
0 20 40 60 80 100 120 140 160
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97
NRTPS 1 NRTPS 2 NRTPS 3
Best Effort
0 20 40 60 80 100 120 140 160
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 BE 1 BE 2 BE 3