digilib@itb.ac.id +62 812 2508 8800

Dokumen Asli
Terbatas  Dessy Rondang Monaomi
» Gedung UPT Perpustakaan

Pemanfaatan in-memory cache merupakan teknik yang sangat penting dalam sistem terdistribusi khususnya dalam pengolahan data skala besar yang memerlukan penyimpanan hasil komputasi perantara. Apache Spark adalah salah satu sistem terdistribusi pengolahan data skala besar yang menggunakan in-memory cache dalam bentuk Resilient Distributed Datasets (RDD). Dengan menyimpan silsilah keberjalanan aplikasi berbentuk Directed Acyclic Graph (DAG), Apache Spark dapat memastikan kebenaran dan ketangguhan sistem. Dalam operasinya, Apache Spark mengandalkan algoritma cache eviction Least Recently Used (LRU) untuk membersihkan cache secara berkala, namun LRU memiliki kelemahan dalam konteks Spark karena tidak mempertimbangkan DAG komputasi yang tersedia sehingga seringkali dapat membuang RDD yang diketahui akan dipakai kembali. Selain itu, LRU tidak mempertimbangkan ukuran maupun waktu komputasi sebuah RDD menyebabkan pembuangan yang tidak efisien. Pada penelitian ini dilakukan perancangan algoritma cache eviction barn, Normalized Heuristic Weight (NHW) dengan pendekatan heuristik untuk meningkatkan kinerja pengelolaan cache Apache Spark. Algoritma NHW dan sebuah profiler diimplementasikan dengan menambahkan modul barn pada source code dan diujikan terhadap beberapa kasus uji umum. Dari hasil pengujian, NHW meningkatkan kinerja aplikasi sebanyak 13.37 persen dibandingkan LRU dan 9.64 persen rata-rata dibandingkan algoritma pembanding lainnya. Selain itu, NHW mampu mengurangi durasi fase pause proses garbage collection sebanyak 8.73 persen dibandingkan LRU.