JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
1
Hybrid File system Pada NAND-Flash SSD dan HDD Menggunakan Filesystem In User Space (FUSE) Fakhrulhilal Maktum, Ary Mazharuddin S, Wahyu Suadi Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 E-mail:
[email protected]
Abstrak— Perkembangan teknologi open source di dunia telah membuka banyak peluang untuk aplikasi berbasis open source untuk menciptakan teknik-teknik baru / aplikasi yang dapat memenuhi kebutuhan pengguna. Seiring bertambahnya tahun kita akan semakin membutuhkan penyimpanan data yang besar, kecepatan akses data yang cepat, integritas data yang bisa dipertanggungjawabkan, dikarenakan saat ini banyak kebutuhan komputasi dengan jumlah yang besar. Untuk memenuhi kebutuhan tersebut, maka dapat digunakan storage HDD sebagai media penyimpanan data. Selain itu, juga terdapat SSD sebagai media penyimpanan alternatif. SSD memiliki karakteristik kecepatan akses yang lebih cepat daripada HDD namun dengan harga yang jauh lebih mahal untuk kapasitas space yang sama. Untuk menjembatani kedua hal tersebut, maka didapat solusi alternatif menggunakan kombinasi storage HDD dan SSD secara bersamaan dimana SSD akan digunakan sebagai cache dari filefile yang ada di HDD (cache-based file system). Konsep ini dapat meningkatkan kecepatan akses data. Konsep ini mulai banyak diterapkan pada notebook ultrabook yang menggabungkan antara storage jenis SSD dan HDD. Dalam tugas akhir ini, penulis mencoba untuk mengamati performa Hybrid File system (selanjutnya disebut sebagai HybridFS). HybridFS menggunakan Pengaturan berkas dan system call yang disediakan oleh FUSE dengan memanfaatkan HDD sebagai media storage penyimpan data yang sebenarnya dan SSD sebagai media cache storage. Mekanisme pengaturan file system akan diatur sedemikian rupa sehingga penggunaan cache di SSD dapat meningkatkan performa akses data yang ada di HDD. Kata Kunci— Hybrid File system, SSD, HDD, FUSE.
I. LATAR BELAKANG Berbicara tentang data dan file, maka kita tidak akan lepas dari file system. File system mengatur bagaimana suatu file disimpan dalam suatu media penyimpan data. Seiring dengan perkembangan zaman, muncul berbagai macam file system yang mana masing-masing file system tersebut memiliki metode penyimpanan tersendiri yang disesuaikan dengan kebutuhan masing-masing. Perkembangan file system juga diimbangi dengan teknologi storage yang dipakai. Sekarang ini ada dua jenis storage yang umum dikenal, yaitu Hard Disk Drive (HDD) dan Solid State Disk (SSD). Kedua jenis storage tersebut memiliki karakteristik yang berbeda untuk metode pengaksesan datanya. HDD menggunakan piringan cakram sebagai media penyimpanan datanya. Untuk mengakses data, HDD merelokasikan kepala
disk terlebih dahulu lalu memutar platter (disk head positioning time). Oleh karena itu, kebanyakan file system untuk HDD mengatur data supaya blok data diatur sesequential mungkin untuk mencapai performa yang lebih maksimal. Sedangkan SSD menggunakan semikonduktor, sehingga tidak memerlukan blok data untuk diatur sequential. Namun demikian, SSD juga mempunyai kelemahan untuk operasi rewrite file yang berukuran besar. Hal ini dikarenakan SSD tidak mendukung pengubahan data. Untuk mengubah data, SSD menghapus data tersebut pada awalnya, lalu menulis data yang baru di blok tersebut. Penelitian yang penulis buat bertujuan untuk membuat file system yang akan memanfaatkan dua jenis storage sekaligus, yaitu SSD dan HDD untuk memanfaatkan best performance characteristic dari kedua jenis storage tersebut sehingga akan dihasilkan file system dengan kinerja yang lebih optimal. II. DASAR TEORI Pada bagian ini, akan dijelaskan beberapa dasar yang dijadikan teori dalam pengerjaan Tugas Akhir. A. Filesystem In User Space (FUSE) FUSE adalah modul kernel pada sistem operasi keluarga unix yang memperbolehkan pengguna yang tidak memiliki hak akses root untuk membuat file system baru tanpa mengedit kernel. Hal ini dicapai dengan cara menjalankan file system dalam area kerja user space sedangkan modul FUSE menyediakan interface ke kernel space. Pada awalnya project FUSE merupakan bagian dari A Virtual File system (AVFS) namun sekarang berdiri sendiri menjadi project terpisah. B. Hybrid File system Hybrid file system adalah suatu file system yang dibangun menggunakan beberapa jenis media storage sekaligus. Tujuan utama dibentuknya hybrid file system adalah untuk memanfaatkan kelebihan dari karakteristik masing-masing jenis media. Ada banyak implementasi hybrid file system yang sudah ada, salah satunya adalah perpaduan antara Hard Disk Drive (HDD) dan Solid State Disk (SSD) [2][3]. Seperti yang kita ketahui sendiri, HDD adalah salah satu media storage yang sangat populer saat ini. Penggunaannya banyak dipakai untuk komputer desktop, server dan netbook. Sementara untuk jenis SSD banyak dipakai untuk embedded device dan smartphone. Namun belakang ini penggunaan SSD mulai juga
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 digunakan dalam notebook ultrabook. Hard Disk Drive (Wikimedia Foundation, Inc., 2012) [4] adalah salah satu jenis storage yang berupa piringan disk yang berputar sangat cepat, dilapisi dengan bahan magnetik, dan dengan kepala magnetik yang dipergunakan untuk membaca dan menulis data di permukaannya. HDD bekerja dengan peralatan mekanik. Untuk mengakses data, maka kepala magnetik akan diposisikan terlebih dahulu lalu akan memutar piringan. Untuk memposisikan kepala magnetik ini dibutuhkan waktu. Oleh karena itu, file system yang didesain untuk HDD dirancang untuk seurut mungkin untuk mencapai performa yang bagus. Solid State Disk[5] adalah media simpan yang menggunakan IC (Integrated Circuit) untuk menyimpan data. SSD berbeda dengan HDD yang menggunakan putaran piringan untuk mengakses data. Oleh karena itu, SSD lebih jarang ada guncangan, tidak mudah panas, akses data yang lebih cepat. Namun sayangnya, teknologi yang bagus harus dibayar dengan mahal. Untuk saat ini, dengan kapasitas yang sama dengan HDD, SSD dijual dengan harga yang lebih mahal. Sebagai jalan tengah, muncullah istilah hybrid drive[5] yang memadukan antara SSD dan HDD dalam satu unit, yang mana akan memanfaatkan kapasitas HDD yang besar dan menggunakan SSD sebagai cache untuk akses data ke HDD. Dengan begitu, akan didapatkan kecepatan setara SSD namun dengan kapasitas HDD. Sebagai perbandingan antara HDD dan SSD, bisa dilihat pada Tabel 1 Perbandingan HDD dan SSD berikut ini: Tabel 1 Perbandingan HDD dan SSD
HDD • Menggunakan piringan cakram yang berputar • Sequential • Harga lebih murah daripada SSD • Kecepatan akses data bergantung pada kecepatan putaran
SSD • Menggunakan IC • Random access • Dengan kapasitas yang sama, harga jauh lebih mahal daripada HDD • Semakin kecil block size semakin lambat
III. DESAIN PERANGKAT LUNAK Hybrid file system ini diimplementasikan dengan menggunakan kerangka FUSE (Filesystem in User space). FUSE disini digunakan untuk memanfaatkan keistimewaan media pengolahan sistem berkas virtual yang dikembangakan dalam bahasa python. Sistem ini dikembangkan dengan berbasis kerangka FUSE dan memanfaatkan semua kelebihan yang dimiliki untuk pengolahan sistem berkas. Karena file system yang akan dibuat menggunakan python-FUSE, maka file system akan berjalan pada level user space sehingga tidak dibutuhkan hak akses istimewa. Ketika aplikasi file system ini dijalankan dengan menggunakan suatu direktori sebagai mountpointnya, maka semua syscall yang berjalan pada kernel space akan memberikannya kepada modul FUSE yang berjalan pada kernel space. Setelah itu pada area kernel ini, FUSE module akan meneruskan request ke aplikasi hybrid file
2 system yang dibuat menggunakan python-FUSE, yang berjalan pada level user space. Untuk lebih detailnya, bisa dilihat pada Gambar 1. HDD Proses file request
HybridFS
cach
e fil
USERSPACE
e?
SSD
KERNEL SPACE
kernel
VFS interface
FUSE module
Gambar 1 Arsitektur hybrid file system.
Dalam Tugas Akhir ini, sistem dasar dari file system ini adalah menyalin file yang memenuhi kriteria tertentu dari HDD ke SSD untuk dicache. Untuk mempermudah visualisasi alur/sistem kerja hybrid file system, bisa dilihat pada Gambar 2. START
Mount HybridFS
request operasi file
Cache file? OR marked as changed
no
yes
sudah dicache?
no
copy file dari HDD ke SSD
yes
operasi semantic file
output semantic
STOP
Gambar 2 Flowchart alur kerja hybrid file system.
Berikut ini adalah penjelasan Gambar 2. Proses penyalinan ini terjadi pada waktu operasi init/open untuk file (direktori tidak dicache). Untuk request syscall selanjutnya, file system akan mengecek apakah file yang diminta sudah pernah dicache atau tidak. Jika ya, maka file system akan membacanya dari SSD (cache). Setelah file dicache di SSD, maka setiap operasi syscall yang lain (read, write, truncate, flush), akan dilakukan dari SSD, bukan dari HDD. Ketika terdapat request syscall delete
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
3
dan file sudah tercache di SSD, maka file akan ditandai sebagai file yang akan dihapus. Pada intinya, semua perubahan file yang memenuhi kriteria tertentu, akan dilakukan di cache (SSD). Namun ketika terdapat permintaan syscall read, maka file system akan mengecek, apakah file yang diminta ada di cache atau tidak. Jika sudah dicache, maka tetap akan dibaca dari SSD, jika tidak maka file system akan mengambilnya dari HDD. IV. UJI COBA DAN EVALUASI Pada bab ini akan dijelaskan serangkaian uji coba dan evaluasi yang telah dilakukan. Pembahasan yang dilakukan meliputi lingkungan uji coba, skenario uji coba, dan data uji coba. Dalam uji coba kali ini, penulis menggunakan komputer dengan processor Intel Core2Duo E4600 @2.4GHz, RAM 2GB DDR2, mendukung SATAv2. HDD menggunakan WDC 200GB 7200 RPM dengan koneksi SATA. SSD menggunakan Intel SSD 520 60GB mendukung SATA v3 3.0Gb/s dan v6 6.0Gb/s. Device HDD menggunakan file system ext4, sedangkan device SSD menggunakan file system ext2. Berdasarkan uji coba sebagian perangkat keras, didapatkan kecepatan baca HDD berkisar diantara 100-110Mbytes/s. Sedangkan SSD adalah 200-230Mbytes/s. Atas dasar inilah, penulis menggunakan aturan sederhana bahwa file yang dicache adalah semua file yang berukuran kurang dari 200MB. Untuk uji coba kali ini akan dibagi menjadi dua bagian, yaitu: uji coba fungisionalitas dan uji coba kecepatan. A. Uji Coba Fungisionalitas Pada uji coba fungisionalitas ini, akan diujicobakan berbagai macam fungsi-fungsi dasar file system yang mengimplementasikan syscall. Pada uji coba bagian ini, hanya akan diuji coba bahwa file system yang dibangun dapat berfungsi normal seperti layaknya file system pada umumnya. Uji coba dilakukan dengan melakukan beberapa perintahperintah standar unix yang mewakili semantic file system, antara lain: ls, cat, mkdir, rmdir, chmod, chown, mv, rm, vim. Untuk mengamati method apa saja yang dijalankan ketika uji coba dilakukan, penulis secara sengaja membuat file log untuk mengamatinya dengan format sebagai berikut: [tanggal jam NAMA_METHOD]: isi log Umumnya isi log berisi kan parameter method dan nilai
yang diterimanya. Sebagai contoh, berikut ini adalah hasil dari perintah cat.
Gambar 3 Hasil perintah cat
Dalam contoh pada Gambar 3 di atas, penulis membuat file nama.txt yang berisikan nama penulis. Selanjutnya penulis akan menampilkannya dengan perintah cat untuk memastikan bahwa isinya sesuai dengan yang diinginkan. Untuk mengamati fungsi apa saja yang dipanggil ketika uji coba pada Gambar 3 dilakukan, dapat dilihat pada log pada Gambar 4.
Gambar 4 Log perintah cat
Jika dilihat dari Gambar 4 di atas, dapat diketahui bahwa sewaktu penulis melakukan perintah echo Fakhrulhilal Maktum > nama.txt file system akan membuat file tersebut terlebih dahulu, lalu menulisnya ke file tersebut (getattr create fgetattr flush write flush release). Pada posisi ini, file tersebut belum dicache. Selanjutnya sewaktu dijalankan perintah cat, file akan dibuka. Karena file tersebut memenuhi kriteria untuk dicache (kurang dari 200MB), maka file nama.txt akan dibaca dari cache/SSD. Lalu karena file nama.txt belum ada dicache, maka file akan disalin dari HDD. Selanjutnya file nama.txt akan dibaca dari cache (ditandai dengan ‘[cached]’). Dari log di atas dapat dilihat bahwa method yang dipanggil untuk melakukan perintah cat adalah: getattr open read flush release. B. Uji Coba Kecepatan Uji coba dilakukan dengan membandingkan hybrid file system yang dibuat dengan akses ke HDD dan SSD secara langsung. Uji coba dilakukan dengan menggunakan akses ke HDD dan SSD secara native lalu membandingkannya dengan akses pada hybrid file system yang dibangun. Namun sebelum itu, penulis mencoba melakukan beberapa optimasi/tuning [6][7] pada SSD untuk mencapai best performance sebagai berikut: 1. Mensetting menjadi write-back caching. Beberapa uji coba menunjukkan bahwa SSD bisa lebih maksimal dengan menggunakan cara ini daripada menggunakan metode write-through. Hal ini dilakukan dengan menggunakan program hdparm (sdb adalah device SSD). hdparm –W1 /dev/sdb
2. Menggunakan noop untuk I/O scheduler SSD. Secara default, linux menggunakan I/O scheduler elevator sehingga operasi read dan write dilakukan secara sequential. Karena SSD menggunakan random read/write, maka akan lebih efisien jika menggunakan I/O scheduler noop. Hal ini dilakukan dengan cara menambahkan baris berikut pada file /etc/sysfs.conf block/sda/queue/scheduler = noop
3. Menambahkan noatime pada opsi mount SSD. Secara default, beberapa distribusi linux menggunakan reltime yang akan memberitahu kernel untuk mencatat atribut last accessed time pada suatu file. Maka sebaliknya
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6
4
dengan menambahkan noatime pada opsi mount akan menonaktifkannya, dimana hal ini bisa meningkatkan performa. Sehingga opsi mount SSD di /etc/fstab adalah sebagai berikut: /dev/sdb /home/iroel/ssd errors=remount-ro 0 0
noatime,
Hal selanjutnya adalah melakukan tuning pada FUSE yang digunakan penulis untuk membangun hybrid file system. Adapun yang tuning yang penulis lakukan berdasarkan riset paper [8] yang penulis jadikan referensi adalah sebagai berikut: 1. Mengenable big_writes. 2. Mengenable direct_io. Untuk membuktikan bahwa tuning FUSE di atas membawa pengaruh pada performa FUSE, penulis melakukan uji coba dengan melakukan penulisan file kosong sebesar 50MB dengan block size 1MB. Uji coba dilakukan pada dummy file system (file system yang hanya menerapkan operasi-operasi dasar semantic tanpa fitur tambahan) yang dibangun dengan python-FUSE dan berikut ini adalah hasil kecepatan uji cobanya.
ukuran file menggunakan ukuran block size 1KB, 1MB dan 10MB. Adapun uji coba dilakukan dengan perintah linux sebagai berikut: time dd if=/dev/zero of=file[ukuran] bs=[block_size] count=[ukuran/block_size]
sebagai contoh untuk mengetes file 100MB dengan block size 1MB adalah sebagai berikut: time dd if=/dev/zero count=100
1 2 3 4 5 rata2
normal 20,1 20,1 24,4 20,3 26,4 22,3
big_writes 80,8 71,9 97,0 79,8 77,3 81,4
direct_io 115,0 119,0 115,0 127,0 105,0 116,2
big_writes & direct_io
125,0 126,0 126,0 116,0 126,0 123,8
Dari uji coba Tabel 2 di atas, performa FUSE tanpa mengaktifkan big_writes dan direct_io (kolom normal) hanya menghasilkan kecepatan rata-rata sebesar 22,3MB/s. Sedangkan jika opsi big_writes diaktifkan, kecepatan ratarata meningkat secara signifikan menjadi 81,4MB/s. Hal ini senada dengan uji coba[8] 1 yang telah dilakukan dimana mengaktifkan opsi big_writes akan memperbesar chunk size FUSE dari 32KB menjadi 128KB sehingga meningkatkan performa FUSE hampir 4x lipat. Kecepatan rata-rata FUSE juga semakin meningkat menjadi 116,2MB/s jika opsi direct_io diaktifkan. Opsi direct_io ini akan membypass proses FUSE page cache sehingga akan mengurangi proses memory copy data buffer yang berlebihan. Sedangkan jika opsi big_writes dan direct_io diaktifkan secara bersamaan, kecepatan rata-rata meningkat walaupun tidak begitu signifikan. Penulis menganggapnya sebagai toleransi wajar karena dinamika perubahan yang terjadi dalam sebuah sistem operasi. Untuk melakukan uji coba penulisan file, penulis melakukannya dengan cara membuat file kosong dari ukuran 50MB, 100MB dan 150MB. Ukuran file tersebut didapat dari kecepatan HDD dan SSD yang telah dijelaskan sebelumnya. Diharapkan dengan ukuran tersebut dapat mewakili untuk file yang mampu ditangani HDD dengan cepat (50MB dan 100MB), file yang diatas kemampuan HDD namun dibawah kemampuan SSD (150MB). Selain itu, untuk masing-masing 1
Opsi big_writes berlaku untuk kernel linux versi 2.26.7 ke atas.
bs=1048576
Waktu yang diambil adalah real time dari output program time dalam uji coba. Masing-masing percobaan diambil sebanyak 5 kali dengan delay 1 detik untuk setiap kalinya dan diambil waktu rata-rata sebagai bahan pertimbangannya. Adapun hasil yang didapatkan penulis adalah sebagai berikut: Tabel 3 Perbandingan uji coba dummy write
Block Size 1KB
1MB
Tabel 2 Uji Coba Performa FUSE
ke-
of=file100MB
10MB
Ukuran File 50MB 100MB 150MB 50MB 100MB 150MB 50MB 100MB 150MB
SSD 0,1190 0,3522 0,4348 0,1564 0,3286 0,3406 0,1464 0,3868 0,4594
HDD 0,4370 1,5020 2,3656 0,5946 1,3820 2,1372 0,3974 1,5100 2,4526
HybridFS 1,9956 4,1296 6,7116 0,1554 0,3118 0,5388 0,2508 0,4006 0,6560
Tabel 3 di atas menjelaskan hasil uji coba yang telah dilakukan sebelumnya dalam satuan milisecond. Dari data, dapat dilihat bahwa performa HybridFS jatuh ketika menggunakan block size 1KB. Uji coba sebelumnya juga membuktikan bahwa operasi yang menggunakan chunk size kecil menyebabkan performa FUSE mengalami overhead [8]. Sedangkan untuk block size 1MB dan 10MB performa HybridFS mengungguli performa HDD, mendekati SSD. Dengan demikian, bisa diambil fakta bahwa HyridFS bisa menjadi solusi sebagai jembatan antara HDD dan SSD walaupun untuk faktor tertentu performa HybridFS jatuh.
Gambar 5 Grafik perbandingan performa dengan block size 1KB
Dari grafik Gambar 5 di atas dapat dilihat bahwa performa HybridFS paling buruk jika menggunakan block size 1KB. Hal ini senada dengan uji coba sebelumnya bahwa mengaktifkan big_writes dalam FUSE untuk ukuran chunk/block size 4KB tidak membawa pengaruh sama sekali. Hal ini disebabkan karena penggunaan block size yang kecil
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 mengakibatkan proses antara python dan FUSE mengalami overhead [8]. Dari Gambar 5 di atas juga membuktikan bahwa performa SSD lebih unggul daripada HDD meskipun samasama menggunakan SATAv2.0 (karena hanya SATA versi ini yang didukung motherboard komputer uji coba).
5 yang berukuran 63,6MB terkompresi dengan algoritma lzma2 (.tar.xz) dan berukuran 421MB setelah diextract. Mekanisme uji coba akan dilakukan sama seperti sebelumnya, yaitu membandingkan antara akses native HDD, native SSD dan HybridFS. Sebelumnya, masing-masing source code kernel disalin ke masing-masing direktori HDD, SSD dan HybridFS. Uji coba dilakukan lewat perintah linux: time tar xf linux-3.4.tar.xz
Masing-masing proses extract dilakukan 5 kali dimana uji coba kedua sampai kelima dilakukan secara langsung tanpa menghapus direktori yang terextract pertama kali. Adapun hasil uji coba adalah sebagai berikut: Tabel 4 Perbandingan uji coba extract kernel
ke-
SSD 1 2 3 4 5
Gambar 6 Grafik perbandingan performa dengan block size 1MB
Dari grafik Gambar 6 di atas, bisa dilihat bahwa performa HybridFS mampu mengungguli performa HDD, bahkan mendekati SSD. Dari sini dapat dibuktikan bahwa HybridFS bisa menjadi alternatif solusi penengah antara HDD dan SSD. Namun secara garis besar dapat dilihat bahwa keseluruhan uji coba untuk block size 1MB, tidak ada perubahan signifikan dengan uji coba sebelumnya (block size 1KB), hanya HybridFS saja yang mengalami peningkatan performa. Dari grafik Gambar 6 juga membuktikan bahwa performa FUSE bisa meningkat dengan memperbesar block size.
rata2
7,763 7,836 7,888 7,864 7,855 7,8412
HDD
HybridFS
8,074 9,094 9,01 10,536 8,951 9,133
27,765 30,025 28,942 28,197 28,29 28,6438
Pada Tabel 4 bisa dilihat bahwa performa HybridFS terpaut jauh dari SSD dan HDD. Hal ini disebabkan karena source code kernel linux berisikan banyak file yang berukuran kecil, sehingga HybridFS menggunakan block size yang kecil juga. Hal ini senada dengan uji coba dummy write test untuk block size 1KB, hanya saja dilakukan dengan file dengan jumlah yang banyak. Hal ini menjadikan overhead pada FUSE yang menyebabkan performa HybridFS jatuh.
Gambar 8 Grafik perbandingan uji coba extract kernel
Gambar 7 Grafik perbandingan performa dengan block size 10MB
Pada grafik Gambar 7 dapat dilihat bahwa semua akses lewat SSD, HDD dan HybridFS mengalami sedikit peningkatan dari uji coba sebelumnya dengan block size 1MB. Namun untuk ukuran 150MB, HDD mengalami peningkatan lebih banyak dibandingkan yang lain (SSD dan HybridFS). Penulis sendiri tidak tahu kenapa hal ini bisa terjadi. Tidak jauh berbeda dengan hasil tes sebelumnya, pada uji coba kali ini, performa HybridFS mampu mengungguli performa HDD, bahkan untuk ukuran file 100MB, performa HybridFS tidak memiliki perbedaan hasil yang berarti jika dibandingkan dengan SSD. Uji coba selanjutnya adalah dengan mengextract source code kernel linux. Penulis menggunakan kernel linux versi 3.4
Untuk mempermudah visualisasi, bisa dilihat pada grafik Gambar 8. Dari grafik tersebut bisa dilihat bahwa performa SSD masih lebih baik daripada HDD baik untuk operasi read maupun write. Hasil uji coba yang diberikan oleh SSD menunjukkan bahwa SSD mampu konsisten dari 5 kali percobaan. Sementara HDD sempat mengalami penurunan di uji coba keempat walaupun tidak terlalu signifikan. Sementara hasil uji coba yang dihasilkan HybridFS jauh tertinggal dari SSD dan HDD. V. KESIMPULAN DAN SARAN Dari serangkaian uji coba dan analisa yang dilakukan terhadap sistem dan telah dibandingkan antar akses native HDD, SSD dan hyrid file system, maka dapat dibuat sebuah kesimpulan antara lain:
JURNAL TEKNIK POMITS Vol. 1, No. 1, (2012) 1-6 1. Telah diimplementasikan hybrid file system yang menggunakan dua jenis media simpan (HDD dan SSD) menggunakan python-FUSE dengan fitur sebagai berikut: a. Standar unix semantic b. Cache-based 2. Telah diimplementasikan mekanisme cache-based pada hybrid file system dengan menggunakan SSD sebagai medianya dimana semua file yang akan diproses, akan dibuat versi cache di SSD. 3. Implementasi hybrid file system dapat lebih optimal sebesar 36%-77% dengan menggunakan SSD sebagai cache untuk operasi yang menggunakan block size 1MB. Sedangkan untuk operasi file yang menggunakan block size 1KB sebaiknya dilakukan langsung di HDD. Saran-saran yang bisa diberikan untuk pengembangan lebih lanjut mengenai penggunaan aplikasi ini adalah: 1. Meningkatkan algoritma dalam mengatur block/chunk size yang ada di python-FUSE sehingga penggunaan HybridFS dapat lebih efisien. 2. Meningkatkan algoritma dalam pengaturan cache sehingga file-file yang dicache di SSD adalah benar-benar file yang sesuai dengan karakteristik SSD. DAFTAR PUSTAKA [1] [2]
[3]
[4] [5] [6]
[7] [8]
Wikimedia Foundation, Inc.(2012, 6). Filesystem [Online]. Available: http://en. wikipedia.org/wiki/Filesystem No, Jaechun. 2011. Hybrid File system Using NAND-Flash SSD. International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery: 1-4. Suk, Jinsun, and Jaechun No. Performance Analysis of NAND Flashbased SSD for designing a Hybrid Filesystem. International Conference on Computer En gineering and Technology, 2009. Wikimedia Foundation, Inc. (2012, 6). Hard Disk Drive [Online]. Available: http://en.wikipedia.org/wiki/Hard_disk_drive. Wikimedia Foundation, Inc (2012, 6). Solid-state drive [Online]. Available: http://en.wikipedia.org/wiki/Solid_state_disk. Parlow, Jason. (2010, 11). Geek Sheet: A Tweaker's Guide to Solid State Drives (SSDs) and Linux [Online]. Available: http://www.zdnet.com/ blog/perlow/geek-sheet-a-tweakers-guide-to-solid-state-drives-ssds-andlinux/9190. japan1. (2011, 2). Tuning an SSD in Linux [Online]. Available: http:// www.overclock.net/t/947290/tuning-an-ssd-in-linux. Rajgarhia, Aditya , and Ashish Gehani. Performance and Extension of User Space File systems. SAC, 2010: 3-4
6