Let’s travel together.

Pengertian dan Jenis I/O Schedulers di Android

0
Pengertian dan Jenis I/O Schedulers di AndroidInput/Output (I/O) Scheduler adalah istilah yang digunakan untuk menggambarkan metode sistem operasi komputer memutuskan urutan blok I / O operasi akan dilanjutkan kemedia penyimpanan seperti Harddisk dan SSD. I/O Scheduler juga bisa disebut ‘Disk Scheduler’.
Sebagian besar smartphone mengunci settingan untuk mengganti jenis I/O scheduler. Namun anda bisa mengganti jenis I/O scheduler dengan melakukan root terlebih dahulu dan menganti I/O scheduler menggunakan aplikasi atau modul tweaks. Dengan mengubah I/O scheduler tentu memungkinkan meningkatkan kinerja dan bahkan daya tahan baterai.
I/O schedulers dapat memiliki berbagai fungsi, tergantung pada I/O schedulers itu sendiri, berikut beberapa fungsi umum I/O scheduler :
– Meminimalisir waktu yang terbuang dengan mencari harddisk.
– Memprioritaskan permintaan I/O pada proses tertentu.
– Memberikan bagian bandwidth disk untuk setiap proses yang berjalan.
– Menjamin bahwa permintaan tertentu akan dikeluarkan sebelum batas waktu tertentu.
Jenis I/O Scheduler di Android :
CFQ
Merupakan scheduler yang adil dalam memelihara antrian I/O setiap proses yang dapat diskalakan dan berupaya mendistribusikan bandwidth I/O yang tersedia secara merata di antara semua permintaan I/O. Setiap antrian per proses berisi permintaan sinkron dari proses. Potongan waktu yang dialokasikan untuk setiap antrian tergantung pada prioritas proses ‘induk’. V2 CFQ memiliki beberapa perbaikan yang memecahkan proses permintaan dan beberapa masalah kecil dengan harapan meningkatkan responsif. 
Kelebihan :
– Memiliki kinerja I/O yang seimbang dan stabil
– Sangat baik pada sistem multiprosesor
– Bagus untuk multitasking
Kekurangan:
– Interval waktu I/O bisa agak buruk
– Ada beberapa overhead scheduler
BFQ
Scheduler ini didasarkan pada CFQ namun beberapa scheduler seperti simple dan VR memiliki kinerja lebih baik daripada BFQ. Scheduler ini cukup kompleks yang dirancang lebih baik untuk hard disk lama.
Kelebihan :
– Hasil I/O yang bagus, hampir sama dengan CFQ dalam kinerja
– Waktu interval I/O yang lebih baik daripada CFQ sehingga lebih responsif
– Seimbang dan stabil, bahkan lebih dari CFQ
Kekurangan :
– Berkinerja buruk pada benchmark
Deadline
Deadline scheduler merupakan scheduler yang menjamin waktu I/O sesuai pemintaan secara terjadwal. Dengan menetapkan batas waktu pada semua operasi I/O untuk mencegah keterlambatan pada hasil permintaan. Scheduler ini memiliki dua batas waktu antrian yakni berdasarkan waktu kedaluwarsa dan berdasarkan nomor sektor. Deadline cocok untuk smartphone yang ingin performa lebih dengan disandingkan governor Performance tau Interactive.
Kelebihan :
– Unggul dalam mengurangi interval waktu dari setiap single I/O yang diberikan
– Dapat berkinerja lebih baik daripada CFQ dalam beban kerja tertentu
– Berkinerja baik pada bemchmark
– Jarang terjasi overhead scheduler
– Sangat stabil, default dalam versi kernel Linux terbaru
Kekurangan :
– Lebih sedikit hasil I/O dari CFQ
– Tidak ada kemampuan untuk memprioritaskan proses I/O
Noop
Menyisipkan semua permintaan I/O yang masuk ke antrian First In First Out dan mengimplementasikan untuk penggabungan permintaan. Cocok digunakan dengan perangkat yang menggunakan media penyimpanan berupa SSD. Kelebihannya adalah flash drive tidak perlu melakukan permintaan I/O ulang, tidak seperti pada hard drive normal. Kebanyakan smartphone modern menggunakan Noop sebagai scheduler default mereka.
Kelebihan :
– Waktu interval I/O rendah sehingga lebih responsif
– Jarang terjasi overhead scheduler
– Sangat stabil, digunakan sebagai default untuk beberapa sistem dengan solid state drive (SSD)
Kekurangan:
– Berkinerja buruk pada benchmark
ROW
ROW scheduler dikembangkan dengan mempertimbangkan kebutuhan perangkat seluler. Scheduler ini memberikan prioritas READ I/O sebanyak mungkin sehingga meningkatkan User Experience dalam hal multitasking.
Kelebihan :
– Waktu interval read proses rendah, lebih baik untuk responsif dan pengalihan proses
– Umumnya stabil, telah dan telah digunakan diberbagai kernel
Kekurangan :
– Keterlambatan proses write berpotensi lebih tinggi
VR
Tidak seperti scheduler lainnya, permintaan sinkron dan asinkron tidak ditangani secara terpisah, tetapi akan memberlakukan adil dan seimbang dalam permintaan dengan batas waktu. Sekarang VR scheduler sudah jarang dipakai karena memang adanya scheduler lain lebih baik.
Kelebihan :
– Umumnya unggul dalam random write
Kekurangan:
– Terkadang tidak stabil dan tidak dapat diandalkan
SIO (Simpler I/O)
Simple I/O bertujuan untuk menjaga agar tidak terjadi overhead dalam mencapai waktu interval yang rendah dalam melayani permintaan I/O. Tidak ada konsep prioritas pada scheduler ini dan tidak ada penyortiran permintaan sehingga cocok digunakan pada SSD. SIO adalah campuran antara Noop & Deadline, scheduler ini juga bagus digunakan dalam hal performa.
Kelebihan :
– Umumnya waktu interval I / O rendah, sehingga lebih responsif
– Sangat stabil
Kekurangan :
– Berkinerja buruk pada benchmark
ZEN
ZEN didasarkan pada Noop scheduler, Deadline dan SIO.ZEN memiliki algoritma berbasis FCFS (First come, first serve), tetapi tidak sepenuhnya FIFO. ZEN tidak melakukan penyortiran. ZEN menggunakan pembatasan batas waktu, dan memperlakukan permintaan sinkron dengan prioritas diatas permintaan asinkron. Selain itu, scheduler ini hampir sama dengan Noop yang dipadukan dengan fitur VR.
ZEN V2 adalah versi yang dioptimalkan dari penjadwal ZEN asli yang disetting oleh pengembang kernel DorimanX. Ini telah dimodifikasi agar berfungsi lebih baik dengan perangkat android.
Kelebihan :
– I/O Scheduler yang sangat efisien dan lengkap
– Lebih stabil dari VR
Kekurangan:
– Variabilitas kinerja dapat menyebabkan hasil I/O yang tidak sesuai
FIOPS (Fair IOPS)
I/O scheduler baru ini dirancang khusus untuk perangkat penyimpanan flash drive. Mempersingkat waktu dalam proses I/O, Kecepetan Read dan Write yang lebih baik. Pada dasarnya FIOPS (Fair IOPS) mirip dengan CFQ, namun pada scheduler ini dapat masalah pada saat scrolling dan lag pada apliaksi tertentu.
Kelebihan :
– Memiliki kecepatan Read dan Write tinggi pada benchmark
– Waktu membuka aplikasi lebih cepat
Kekurangan :
– Dapat membuat lag dan kurang responsif
– Tidak bisa multitasking berat
FIFO (First in First Out)
Scheduler ini mengimplementasikan metode prioritas sederhana berdasarkan pemrosesan permintaan saat mereka masuk. Seperti Noop, scheduler termasuk hemat daya.
Kelebihan :
– Dapat digunakan pada I/O dengan jumlah siklus CPU paling sedikit.
– Terbaik untuk flash drive karena tidak ada penalti pencarian.
– Throughput data yang baik pada sistem db
Kekurangan :
– Kinerja CPU kurang maksimal
– Tidak bagus untuk multitasking
Berikut hasil grafik performa setiap I/O scheduler yang digunakan pada device Sony Xperia Z2
Berdasarkan kecepatan MB/s
Berdasarkan random in IOSP
Berikut rekomendasi I/O schedulers :
Untuk aktifitas normal :
– ZEN
– ROW 
– SIO 
– Noop
– CFQ
– Deadline
Untuk daya tahan baterai :
– Noop
– FIOPS
– SIO
– ROW
Untuk gaming : 
– Deadline
– ZEN
– ROW
– CFQ 
Untuk Multitasking :
– BFQ
– CFQ
– Deadline
Baiklah sekian saja artikel Pengertian dan Jenis I/O Schedulers di Android, semoga bermanfat.
Artikel terkait
Tinggalkan komen