1. Pendahuluan 1.1
Latar Belakang Hadoop merupakan implementasi open-source dari MapReduce yang menggunakan job
scheduler sebagai memetakan tugas[8]. MapReduce harus menghindari transmisi data yang tidak perlu dengan cara meningkatkan lokalitas data agar performasinya bagus. Pada umumnya framework Hadoop dikembangkan dalam bahasa Java, dengan beberapa source code dalam bahasa C dan command line utilities ditulis sebagai shell-scripts[4]. Dalam MapReduce terdapat Job Sceduler yang digunakan untuk memetakan data. Job Scheduler default dari MapReduce adalah FIFO, dimana tidak ada penanganan short dan long job yang emengakibatakan Job Fail Rate tinggi. Hadoop mengizinkan penggantian job scheduler dengan Job Scheduler custom. Capacity scheduling merupakan job scheduler algoritma penjadwalan yang hampir optimal. Capacity scheduling dibuat untuk memaksimalkan throughput yang diterima oleh user dengan memberi keyakinan bahwa tiap klien yang mengakses akan mendapatkan resource[2] sehingga bisa menekan nilai Job Fail Rate menjadi kecil. Implementasi Hadoop dengan capacity scheduling juga digunakan oleh Yahoo[1]. Cara kerja Capacity scheduling yaitu dengan membuat sub-queue, menyediakan control, dan prediksi. Dengan cara diatas semua klien mendapatakan capacity guarantee karena Semua queue akan dialokasikan pada sebagian kecil grid dan akan mendapatkan akses pada source yang telah dialokasikan. Tugas akhir ini akan menggunakan FIFO dan Capacity Scheduling dalam Hadoop job scheduler, menggunakan parameter Job Fail Rate, Job Troughput, dan Response Time sebagai acuan perhitungan performansi sistem. Serta perbedaan performa job scheduler FIFO dan Capacity Scheduling pada berbagai macam job dan berbagai jumlah job pada masing-masing job scheduler. Capacity Scheduling nilai Job Fail Rate lebi baik daripada FIFO dengan nilai maksimal 4,3%, sedangkan FIFO nilai maksimal Job Fail rate yaitu 10%.
1.2
Perumusan Masalah Berdasarkan latar belakang diatas, maka terdapat beberapa puerumusan masalah yang
muncul pada tugas akhir ini sebagai berikut: a. Bagaimana perbedaan performansi layanan algoritma FIFO dan algoritma Capacity Scheduling pada sistem Hadoop multi-node cluster.
b. Bagaimana perbedaan performa job scheduler FIFO dan Capacity scheduling terhadap berbagai macam job dalam sistem Hadoop (job wordcount, job grep, dan job randomtextwriter).
1.3
Batasan Masalah Berikut batasan masalah yang penulis ajukan : a. Server yang digunakan berjumlah 2 komputer buah menggunakan sistem operasi Linux 12.04 LTS 64 bit. b. User yang mengakses server Hadoop berjumlah 5 client. c. Job scheduler yag digunakan adalah FIFO dan Capacity scheduling. d. Parameter pembanding yang digunakan adalah Response Time , Job Fail Rate, dan Job Troughput, e. Menggunakan 3 jenis job yaitu job wordcount, job grep, dan job randomtextwriter.
1.4
Tujuan Tujuan dari tugas akhir yang penulis ajukan adalah : a. Dapat menganalisis performansi algoritma FIFO dan algoritma Capacity Scheduling pada Hadoop multi-node cluster. b. Dapat mengklasifikasi algoritma FIFO dan Capacity Scheduling terhadap berbagai macam job pembanding.
Hipotesa : Permasalahan utama pada tugas akhir ini adalah penjadwalan jobs yang dilakukan pada Hadoop. FIFO dengan karakteristiknya dapat menangani job yang mempunyai beban serta waktu eksekusi yang sama pada semua job yang datang. Sedangkan Capacity Scheduler sebuah algoritma MapReduce yang menyediakan resource pool, queuing priority, dan pool leave accesss-control. Beberapa queue memiliki prioritas tersendiri untuk mengakses resource dalam cluster. Ketika cluster mempunyai slot task yang tidak terpakai, maka queue dapat
menggunakan slot yang sedang berstatus idle, meskipun queue tersebut tidak memiliki prioritas. Oleh karena itu, FIFO memiliki kelebihan dalam menangani antrian yang memiliki resource data yang terbatas dan job yang homogen. Sedangkan Capacity Scheduler memilki kelebihan dalam menangani antrian yang memiliki resource data yang banyak dan dengan job yang heterogen.
1.5 Metode Penyelesaian Penyelesaian masalah pada tugas akhir ini menggunakan metodologi penyelesaian sebagai berikut : a. Studi litelatur Studi litelatur merupakan proses pencarian informasi yang berkaitan dengan masalah yang akan dibahas pada tugas akhir ini, seperti Hadoop, Job scheduling, Capacity scheduling. Berikut beberapa sumber yang telah penulis baca dan akan menjadi acuan mengerjakan tugas akhir : -
WOHA: Deadline-Aware Map-Reduce Workflow Scheduling Framework over Hadoop Clusters
-
Hadoop for Dumies
-
Hadoop Summit 2009 Job Scheduling with the Fair and Capacity schedulings
-
Survey on Improved Scheduling in Hadoop MapReduce in Cloud Environments
b. Analisis dan perancangan jaringan Analisis dan perancangan jaringan adalah penyusunan desain jaringan yang akan diimplementasikan pada pengerjaan tugas akhir.
Gambar 1-1 Gambar Topologi c. Implementasi Implementasi pada tugas akhir ini adalah menginstall 2 komputer dengan sistem operasi Linux yang nantinya digunakan sebagai server utama dari Hadoop. Menginstall 5 komputer client yang bertugas memberian job scheduler pada server yang menggunakan Capacity scheduling. d. Pengujian Sistem Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dirancang. Skema pengujian server Hadoop dengan 5 komputer client yang akan mengakses komputer server dalam waktu bersamaan. Kemudian konfigurasi Capacity dan FIFO scheduling pada server. e. Analisi Data Pengujian Analisi data yang telah didapatkan pada pengujian sitem menggunakan parameter yang telah ditentukan.
f. Penulisan laporan Penulisan laporan tugas akhir sebagai dokumentasi pengujian tugas akhir dan analisis data dengan sistematika yang telah ditentukan.