Use asynchronous I/O

From Green software

Revision as of 09:54, 16 September 2010 by Green (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Asynchronous I/O, or non-blocking I/O, is a form of input/output processing that permits other processing to continue before the transmission has finished. Synchronous I/O blocks an entire system until all I/O processing is done, which can increase the time it takes to process a job.


When asynchronous I/O is used, Native Command Queuing (NCQ) can be utilized. NCQ is a technique that allows SATA hard disks to internally determine the order in which blocks are read.

Researchers of Intel tested the impact of Native Command Queuing on random reads. They observed a 15% time and energy reduction when utilizing NCQ over synchronous I/O for reading random 64KB. This experiment and others are described in [1].

Personal tools