[Android General] emoskremo:
"Description, advantages, disadvantages of each I/O Scheduler?"

1) Noop

Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.

Advantages:

Serves I/O requests with least number of cpu cycles. (Battery friendly?)

Best for flash drives since there is no seeking penalty.

Good throughput on db systems.

Disadvantages:

Reduction in number of cpu cycles used is proportional to drop in performance.

(Terjemahan Bahasa Malaysia)

"Penerangan, kelebihan, keburukan setiap Berjadual I / O?"

1) Noop

Sisipan semua yang masuk I / O permintaan Pertama Dalam beratur Out Pertama peralatan dan permintaan bercantum. Sesuai digunakan dengan peranti storan yang tidak bergantung kepada pergerakan mekanikal untuk mengakses data (ya, seperti pemacu kilat kami). Kelebihan di sini ialah bahawa pemacu kilat tidak memerlukan penyusunan semula permintaan I / O pelbagai tidak seperti dalam cakera keras biasa.

kelebihan:

- Hidangan I / O permintaan dengan nombor-kurangnya kitaran cpu. (Bateri mesra?)

- Terbaik untuk flash memandu memandangkan tidak ada penalti mencari.

- Throughput baik pada sistem db.

kelemahan:

- Pengurangan dalam bilangan kitaran CPU yang digunakan adalah berkadar untuk menggugurkan prestasi.

2) Deadline

Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.

Advantages:

Nearly a real time scheduler.

Excels in reducing latency of any given single I/O.

Best scheduler for database access and queries.

Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated.

Like noop, a good scheduler for solid state/flash drives.

Disadvantages:

- When system is overloaded, set of processes that may miss deadline is largely unpredictable.

(Terjemahan Bahasa Malaysia)

2) Had/ Deadline

Matlamat ialah untuk mengurangkan kependaman I / O atau kebuluran permintaan. Yang sama dicapai oleh dasar pusingan robin saksama antara permintaan I / O yang berganda. Lima beratur agresif digunakan untuk menyusun semula permintaan masuk.

kelebihan:

- Hampir satu masa sebenar penjadual.

- Menunjukkan prestasi cemerlang dalam mengurangkan kependaman apa-apa saya diberi satu / O.

- Terbaik penjadual untuk akses pangkalan data dan pertanyaan.

- Keperluan bandwidth proses - apa peratusan daripada CPU yang diperlukan, mudah dikira.

- Seperti noop, penjadual baik bagi pemacu negeri / kilat pepejal.

kelemahan:

- Apabila sistem terlampau penuh, set proses yang mungkin terlepas tarikh akhir adalah sebahagian besarnya tidak menentu.

3) CFQ

Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests. Each per-process queue contains synchronous requests from processes. Time slice allocated for each queue depends on the priority of the 'parent' process. V2 of CFQ has some fixes which solves process' i/o starvation and some small backward seeks in the hope of improving responsiveness.

Advantages:

Considered to deliver a balanced i/o performance.

Easiest to tune.

Excels on multiprocessor systems.

Best database system performance after deadline.

Disadvantages:

Some users report media scanning takes longest to complete using CFQ. This could be because of the property that since the bandwidth is equally distributed to all i/o operations during boot-up, media scanning is not given any special priority.

Jitter (worst-case-delay) exhibited can sometimes be high, because of the number of tasks competing for the disk.

(Terjemahan Bahasa Malaysia)

"Penerangan, kelebihan, keburukan setiap Berjadual I / O?"

3) CFQ

Sepenuhnya Adil Beratur penjadual mengekalkan berskala per-proses I / O beratur dan cuba untuk mengagihkan yang ada I / O bandwidth sama rata di kalangan semua permintaan I / O. Setiap giliran satu-proses mengandungi permintaan segerak daripada proses. Hirisan masa yang diperuntukkan bagi giliran setiap bergantung kepada keutamaan proses 'ibu bapa'. V2 CFQ mempunyai beberapa perbaikan yang menyelesaikan proses 'i / o kelaparan dan beberapa mundur kecil bertujuan dengan harapan untuk meningkatkan responsif.

kelebihan:

- Dipertimbangkan untuk menyampaikan prestasi yang seimbang i / o.

- Paling mudah untuk menala.

- Cemerlang pada sistem multipemproses.

- Prestasi sistem pangkalan data terbaik selepas tarikh tutup.

kelemahan:

- Sesetengah pengguna laporan media pengimbasan mengambil masa paling lama untuk menyiapkan menggunakan CFQ. Ini boleh jadi kerana harta bahawa sejak bandwidth sama rata kepada semua operasi i / o semasa boot-up, pengimbasan media tidak diberi apa-apa keutamaan khas.

- Ketar (kes-kelewatan yang teruk) mempamerkan kadang-kadang boleh menjadi tinggi, kerana bilangan tugas yang bersaing untuk cakera.