Subject: Re: IO Congestion Control
To: Sumantra Kundu <>
From: Thor Lancelot Simon <>
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	                           

  "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