IO Scheduler Pembuatan dan Pengembangan Fitur Kernel Android Pada Sony Xperia Ray

2.9 IO Scheduler

IO Scheduler adalah suatu kemampuan kernel dalam mengontrol pengaksesan terhadap penyimpanan data. Tujuan utamanya adalah mengecilkan latensi pencarian data pada media penyimpanan, prioritas permintaan IO dari proses yang berjalan, mengalokasikan jumlah ruang penyimpanan untuk setiap proses yang berjalan, dan menjamin setiap permintaan penggunaan media penyimpanan data terpenuhi secara keseluruhan sebelum batas waktunya habis. Governor, Tweaks. 2012. forum.xda-developers.comshowthread.php?t=1369817 Terdapat beberapa IO scheduler yang digunakan beberapa pihak pengembang, yaitu : 1. Noop 2. Deadline 3. CFQ 4. DFQ 5. SIO 6. VRVR 7. Anticipatory

2.9.1 Noop Scheduler

Memasukkan semua permintaan IO yang datang dan mengaturnya sesuai dengan logika “First In First Out” dan menerapkan permintaan yang digabungkan sekaligus. Sangat cocok digunakan untuk media penyimpanan yang tidak tergantung kepada perpindahan fisik untuk mengakses data seperti flash memori. Universitas Sumatera Utara Keuntungan yang didapat adalah flash drive tidak membutuhkan penyortiran terhadap beberapa permintaan IO seperti pada hardisk. Keuntungan:  Melayani permintaan IO dengan nomor cpu cycles yang lebih sedikit.  Sangat bagus untuk penyimpanan kilat.  Baik digunakan untuk pusat data sistem. Kekurangan:  Pengurangan nomor cpu cycles mengakibatkan penurunan kinerja.

2.9.2 Deadline Scheduler

Tujuan utamanya adalah mengecilkan jarak pelayanan terhadap permintaan IO. Hal ini sama dengan aturan Round Robin yang sangat cocok digunakan untuk melayani permintaan IO yang banyak. Five queues sangat agresif dalam mengatur ulang urutan permintaan IO yang akan dilayani. Keuntungan:  Mendekati penjadwalan yang real time.  Baik untuk mengurangi latensi setiap permintaan IO tunggal yang diberikan.  Scheduler terbaik untuk pemakaian pada basis data.  Jumlah ruang yang diperlukan oleh proses dapat dengan mudah dihitung.  Sangat baik digunakan pada memori kilat. Kekurangan:  Ketika sistem kelebihan beban kerja, tidak dapat diprediksi banyaknya proses yang mungkin dilewatkan oleh Deadline scheduler. Universitas Sumatera Utara

2.9.3 CFQ Completely Fair Queuing

CFQ scheduler mengatur skala antrian IO setiap per-proses dan mendistribusikan ruang IO yang tersedia secara rata kepada setiap permintaan IO. Setiap per- proses mengandung permintaan sinkronisasi dari proses. setiap jarak waktu dialokasikan untuk setiap antrian tergantung priritas dari proses utama. Versi kedua dari CFQ mempunyai beberapa penyempurnaan terhadap penanganan proses IO starvation dan beberapa backward seeks yang kecil dengan harapan lebih responif. Keuntungan:  Mengatur keseimbangan terhadap kemampuan IO.  Lebih mudah untuk disesuaikan.  Baik untuk sistem yang menggunakan lebih dari satu prosesor atau prosesor berinti banyak.  Kemampuan basis data sistem yang baik. Kekurangan:  Beberapa pengguna melaporkan sistem membutuhkan waktu yang lebih lama melakukan pengenalan media penyimpanan.

2.9.4 BFQ

Jika pada CFQ yang terjadi adalah pemotongan waktu pemakaian, maka BFQ adalah pemotongan yang terjadi pada kapasitas yang dijinkan. Media penyimpanan diijinkan untuk mengaktifkan proses selama kapasitas nya banyaknya sector belum habis terpakai. Kapasitas menetapkan berbagai proses Universitas Sumatera Utara sebagai suatu fungsi. Keuntungan:  Sangat baik untuk transfer data menggunakan.  Diyakini sebagai scheduler terbaik untuk media penyimpanan rekaman video HD dan video langsung streaming.  Beberapa pengembang menetapkan sebagai IO scheduler terbaik.. Kekurangan:  Sangat tidak cocok digunakan pada saat mencari nilai benchmark.  Semakin tinggi kapasitas yang menangani proses dapat menyebabkan meningkatnya latensi pada disk.

2.9.5 SIO

Sebuah IO scheduler sederhana yang bertujuan untuk menjaga latensi pada kondisi paling minimum ketika melayani berbagai permintaan IO. Tidak ada konsep prioritas antrian, hanya sebuah penggabungan dasar. Sio merupakan sebuah campuran IO antara noop dan deadline. Tidak ada pengaturan ulang permintaan ataupun pemilihan permintaan proses. Keuntungan:  Sederhana.  Mengecilkan kemungkinan adanya permintaan yang tertunda. Kekurangan:  Sangat lambat dalam kecepatan pembacaan memori kilat, dibandingkan dengan schedulers lainnya. Universitas Sumatera Utara  Kecepatan pembacaan segmen pada memori kilat juga tidak begitu bagus.

2.9.6 VR

Tidak seperti scheduler lainnya, penyelerasan dan pemisahan permintaan tidak dilayani terpisah, melainkan digabungkan untuk mendapatkan sebuah kondisi yang adil bagi setiap proses. Permintaan selanjutnya dilayani berdasarkan jarak dari permintaan terakhir. Keuntungan:  Mungkin merupakan sebuah scheduler terbaik untuk mendapatkan nilai benchmark yang tinggi. Kekurangan:  Tidak stabilnya kinerja IO.

2.9.7 Anticipatory

Didasarkan pada 2 fakta yaitu : i Disk terlihat bekerja sangat lambat. ii Operasi penulisan dapat terjadi kapan saja, tetapi selalu terdapat beberapa proses yang menunggu untuk proses pembacaan. Jadi, untuk mengantisipasi adanya sebuah proses overwrite maka dibuat suatu penyelarasan operasi pembacaan. Keuntungan:  Permintaan proses pembacaan tidak pernah menunggu terlalu lama.  Memiliki kemampuan pembacaan memori kilat yang baik seperti halnya pada Noop scheduler. Universitas Sumatera Utara Kekurangan:  Mengurangi kemampuan penulisan pada media penyimpanan yang memiliki kecepatan tinggi. Governor, Tweaks. 2012.forum.xda-developers.comshowthread.php?t=1369817

2.10 Overclock