请输入您要查询的百科知识:

 

词条 Anticipatory scheduling
释义

  1. I/O scheduling

  2. See also

  3. References

Anticipatory scheduling is an algorithm for scheduling hard disk input/output (I/O scheduling). It seeks to increase the efficiency of disk utilization by "anticipating" future synchronous read operations.

I/O scheduling

"Deceptive idleness" is a situation where a process appears to be finished reading from the disk when it is actually processing data in preparation of the next read operation. This will cause a normal work-conserving I/O scheduler to switch to servicing I/O from an unrelated process. This situation is detrimental to the throughput of synchronous reads, as it degenerates into a seeking workload.[1]

Anticipatory scheduling overcomes deceptive idleness by pausing for a short time (a few milliseconds) after a read operation in anticipation of another close-by read requests.[2]

Anticipatory scheduling yields significant improvements in disk utilization for some workloads.[3] In some situations the Apache web server may achieve up to 71% more throughput from using anticipatory scheduling.[4]

The Linux anticipatory scheduler may reduce performance on disks using Tagged Command Queuing (TCQ), high performance disks, and hardware RAID arrays.[5] An anticipatory scheduler (AS) was the default Linux kernel scheduler between 2.6.0 and 2.6.18, by which time it was replaced by the CFQ scheduler.

As of kernel version 2.6.33, the Anticipatory scheduler has been removed from the Linux kernel.[6] The reason being that while useful, the scheduler's effects could be achieved through tuned use of other schedulers (mostly CFQ, which can also be configured to idle with the slice_idle tunable).[7] Since the anticipatory scheduler added maintenance overhead while not improving the workload coverage of the Linux kernel, it was deemed redundant.

See also

{{Portal|Linux}}
  • Deadline scheduler
  • Native Command Queuing (NCQ)
  • Noop scheduler
  • Scheduling (computing)

References

1. ^{{cite journal|author=Iyer, Sitaram|title=The Effect of Deceptive Idleness on Disk Schedulers|url=http://scholarship.rice.edu/handle/1911/17433|accessdate=2010-04-20}}
2. ^{{cite mailing list|last=Morton|first=Andrew|authorlink=Andrew Morton (computer programmer)|title=2.5.59-mm5|mailinglist=linux-kernel, linux-mm|date=2003-01-23|url=http://kerneltrap.org/node/567|accessdate=2007-05-23| archiveurl= https://web.archive.org/web/20070615183337/http://kerneltrap.org/node/567| archivedate= 15 June 2007 | deadurl= no}}
3. ^{{cite mailing list|last=Morton|first=Andrew|authorlink=Andrew Morton (computer programmer)|title=IO scheduler benchmarking|mailinglist=linux-kernel|date=2003-02-20|url=http://kerneltrap.org/node/592|accessdate=2007-05-23| archiveurl= https://web.archive.org/web/20070602013939/http://kerneltrap.org/node/592| archivedate= 2 June 2007 | deadurl= no}}
4. ^{{cite conference|last=Iyer|first=Sitaram|author2=Druschel, Peter| title=Anticipatory scheduling: A disk scheduling framework to overcome deceptive idleness in synchronous I/O|url=http://portal.acm.org/citation.cfm?id=502046&dl=GUIDE&coll=GUIDE&CFID=87027259&CFTOKEN=77244280|date=2001-06-06|booktitle=18th ACM Symposium on Operating Systems Principles|accessdate=2010-04-20}}
5. ^{{cite web|url=http://www.mjmwired.net/kernel/Documentation/block/as-iosched.txt|work=Linux kernel documentation|title=as-iosched.txt|last=Piggin|first=Nick|date=2003-09-13|accessdate=2010-04-20}}
6. ^{{cite web|url=http://kernelnewbies.org/Linux_2_6_33|title=Linux 2 6 33 - Linux Kernel Newbies}}
7. ^{{cite web|url=https://www.kernel.org/doc/Documentation/block/cfq-iosched.txt|title=CFQ Kernel Documentation}}
{{DEFAULTSORT:Anticipatory Scheduling}}

3 : Linux kernel features|Operating system kernels|Disk scheduling algorithms

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/21 18:39:57