BAB I PENDAHULUAN 1.1 Latar Belakang Saat jumlah job yang diminta oleh worker node untuk diolah meningkat serta dataset yakni kumpulan data yang berisi atribut serta properti yang dikumpulkan pada suatu event, yang dalam kasus ini adalah data user facebook dan kumpulan karakter dan simbol pada wikipedia berjumlah besar maka kehandalan dari salah satu algoritma standar Hadoop yakni capacity-scheduler mengalami penurunan. Penurunan ini diakibatkan job yang di esksekusi tidak selesai pada antrian dan menghabiskan resource karena proses shuffle dan copy yang dilakukan pada proses Map dan Reduce oleh scheduler lambat [2]. Hal ini diperburuk dengan model antrian Capacity yang menggunakan model antrian FIFO yang berdampak pada nilai response time yang tinggi akibat menunggu job lambat tergantung posisi job pada antrian [1]. Job yang lambat pada antrian pertama secara otomatis di-kill oleh Hadoop untuk membebaskan resource yang dipakai dan mengurangi beban antrian sesuai threshold pada capacity. Hal ini berdampak pada nilai failure rate dan response time yang tinggi karena proses kill yang sering dilakukan untuk manajemen resource serta nilai job throughput yang rendah akibat menurunnya jumlah job yang sukses dieksekusi. Oleh karena itu penggunaan algoritma scheduling lain diperlukan untuk meningkatkan performansi dari scheduler standar akibat penggunaan algoritma FIFO yang tidak efektif dalam menangani job yang memiliki nilai komputasi yang berat. Berdasarkan masalah di atas ditawarkan dua scheduling baru yakni LATE pada tahun 2008 dan ATLAS pada tahun 2015. Karakteristik dari LATE itu sendiri yakni penggunaan threshold baru dibanding algoritma standar dalam menentukan apakah sebuah job dapat dikategorikan slowtask. Sehingga algoritma scheduling dapat menentukan straggler sebenarnya yakni proses copy map yang lambat yang berdampak pada proses re-scheduling yang cepat dibanding menggunakan algoritma standar capacity. Hal ini berdampak pada peningkatan response time pada sistem Hadoop. Namun LATE memiliki celah akibat penggunaan speculative
1
task sehingga saat jumlah job yang dieksekusi banyak, maka sistem rentan mengalami nilai response times serta failure yang buruk, yang berdampak pada performansi sistem [2]. Speculative task di sini yakni model recovery job dengan meng-kill task yang lambat pada job dan melakukan re-schedule ulang task tersebut untuk dieksekusi ulang. Hal ini menghemat waktu yang berdampak pada nilai response time serta failure menjadi lebih baik. Namun speculative task memiliki kelemahan akibat waktu yang dihabiskan untuk melakukan re-schedule tidak sama pada tiap job yang lambat sehingga timbul waktu yang terbuang untuk melakukan proses scheduling baru (wasted time). ATLAS dalam sisi scheduling menekankan nilai failure rate yang rendah pada task dan job yang dilakukan pada Hadoop dengan penggunaan dua model eksekusi job yakni penggunaan antrian biasa dan speculative task yang juga digunakan pada LATE. Selain itu karena ATLAS menerapkan scheduling policy yang melakukan eksekusi job di node lain jika node yang sebelumnya lambat untuk mengurangi nilai failure pada job tersebut jika selesai dieksekusi serta meningkatkan reponse times. Serta penggunaan profiling job pada ATLAS mampu meningkatkan nilai response time dan mengurangi nilai failure pada sistem. Hal ini sangat berbeda dengan algoritma non-adaptif lainnya seperti capacity-scheduling yang lebih menekankan optimasi map dan reduce dari sisi response time saja [2]. Pada tugas akhir ini membahas perbandingan performansi ATLAS dan LATE dibanding capacity pada sistem Hadoop dari proses scheduling untuk melihat algoritma mana yang lebih baik dalam menangani job yang memiliki karakteristik beragam dalam mengolah dataset. Karakteristik job yang dimaksud yakni nilai beban komputasi untuk proses shuffle dan copy pada sebuah job pada MapReduce. Job memiliki 3 nilai beban komputasi yakni high, medium, low. High mewakili proses shuffle dan copy yang tinggi, Medium mewakili low shuffle dan medium copy atau sebaliknya, dan Low mewakili low shuffle dan low copy. Sehingga dengan parameter Response times, Job fail rate, dan Job throughput dapat dibandingkan kemampuan tiap algoritma dalam menangani berbagai macam job dengan nilai komputasi yang beragam.
2
1.2 Perumusan Masalah Berdasarkan latar belakang yang telah ditulis di atas, maka permasalahan yang terjadi pada tugas akhir ini, yaitu bagaimana performansi layanan ATLAS dan LATE pada proses pengolahan job dengan karakteristik shuflle dan copy berbeda-beda dibanding layanan Hadoop default.
1.3 Batasan Masalah Batasan masalah yang terdapat pada tugas akhir ini adalah : 1. Menggunakan 3 komputer virtual berupa worker node 2. Menggunakan parameter Job Fail Rate, Job Throughput, dan Response Time 3. Menggunakan 2 client berupa master dan slave berbasis Linux 4. Menggunakan 3 jenis job yaitu randomtextwritter,wordcount, dan grep berdasarkan benchmark yang disediakan oleh PUMA [2] yang merepresentasikan berbagai macam aplikasi MapReduce pada proses computing [2].
1.4 Tujuan Tujuan yang dicapai dalam tugas akhir ini adalah menganalisis performansi layanan ATLAS dan LATE pada pengolahan jobs dengan karakteristik shuffle dan copy yang berbeda-beda dibanding algoritma scheduling standar pada Hadoop menggunakan parameter Job Fail Rate, Job Throughput, dan Response Time.
1.5 Hipotesa Permasalahan utama pada tugas akhir ini adalah pada algoritma scheduling standar yakni FIFO, job yang lambat dieksekusi pada antrian akan menghabiskan resource pada antrian sampai batas time-out pada job dipenuhi oleh job untuk dilakukan proses kill oleh Hadoop. Hal ini membuat response time dan job throughput pada sistem menurun akibat lambatnya eksekusi tiap job. Penurunan diperburuk dengan penggunaan job dengan karakter shuffle dan copy yang berat pada proses map dan reduce yang membuat batas time-out tersebut cepat dicapai saat proses ekseskusi yang berdampak pada nilai failure meningkat seiring jumlah
3
job yang di-kill oleh Hadoop. ATLAS dalam hal ini diharapkan mampu mengurangi nilai failure dan response time serta meningkatkan nilai job throughput karena penggunaan bobot pada job untuk menentukan apakah job tersebut akan dieksekusi secara spekulatif dengan seluruh resource yang tersedia pada sistem atau dieksekusi pada antrian dengan pinalti tertentu tanpa menunggu job untuk melewati threshold Hadoop.
1.6 Metodologi Penyelesaian Masalah Pada tugas akhir ini menggunakan metodologi penyelesaian masalah sebagai berikut : 1. Identifikasi Masalah Pada tahap ini dilakukan identifikasi masalah yang mencakup pemahaman karakteristik tiap algoritma scheduler, kelemahan tiap algoritma scheduler hingga batasan-batasan masalah yang digunakan untuk laporan ini. 2. Studi Literatur Pada tahap ini dilakukan pemahaman serta membaca literatur yang terkait dengan Hadoop, Job Scheduling, ATLAS dan LATE. Beberapa literatur yang digunakan seperti : a) A Comprehensive View of Hadoop MapReduce Scheduling Algorithm [2] b) ATLAS : An Adaptive Failure-aware Scheduler for Hadoop [3] c) An Efficient MapReduce Scheduling Algorithm in Hadoop [4] d) Research on Job Scheduling Algorithm in Hadoop [5] 3. Perancangan dan Desain Jaringan Pada tahap ini dilakukan perancangan dan pembangunan jaringan cluster untuk melakukan analisis terhadap algoritma scheduler yang digunakan. 4. Implementasi Pada tahap ini dilakukan implementasi Hadoop pada jaringan cluster yang dibangun dengan menanamkan satu head client dan satu slave client pada jaringan yang berisi 3 node/computer. Pembuatan job dilakukan oleh user dan diolah di head client yang tertanam algoritma ATLAS dan LATE 5. Pengujian dan Analisis
4
Pada tahap ini dilakukan pengujian terhadap sistem dengan memberikan berbagai macam jenis job pada kedua jenis scheduler. Kemudian dilakukan analisis terhadap perbandingan layanan dari kedua scheduler tersebut. 6. Dokumentasi dan Pembuatan Laporan Pembuatan laporan dalam bentuk buku Tugas Akhir sesuai dengan format dan ketentuan institusi.
5