√ Pengertian dan Jenis I/O Schedulers di Android - Teknolalat

Find Us OIn Facebook

Pengertian dan Jenis I/O Schedulers di Android - Input/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.
Load Comments
Lebih baru Lebih lama