Subject: Re: IO Congestion Control
To: Sumantra Kundu <sumantra@gmail.com>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: tech-kern
Date: 09/11/2006 11:43:24
On Mon, Sep 11, 2006 at 10:32:56AM -0500, Sumantra Kundu wrote:
> 
> Taking cue from the above observation, we now intend to implement a
> congestion control algorithm (uvm_cca) inside the uvm. However,
> instead of observing process behaviour, we would now intend to "infer
> congestion" by observing the dynamics of dirty pages, w.r.t to a
> specific IO device.
> 
> Since no two IO devices are the same, this implies we need to have a
> mechanism that is able to capture and understand the "capabilities",
> "limitations", and "performance" of such a device at run time and make
> such performance figures available to the  UVM, before any sort of
> device directed IO throttling could be initiated. To top it, writes
> need not be of the same cost and can generally be thought of a
> function of the disk seek time.

I will repeat one last time my assertion that attempting to characterize
the performance of disk devices is the wrong approach.  Rather, a network-
like congestion detection algorithm would be superior: one which prevents
processes which frequently dirty pages when the request latency is
increasing (or the queue length is growing) from dirtying further pages.

-- 
  Thor Lancelot Simon	                                     tls@rek.tjls.com

  "We cannot usually in social life pursue a single value or a single moral
   aim, untroubled by the need to compromise with others."      - H.L.A. Hart