Linux Container Development
 help / color / mirror / Atom feed
  • [parent not found: <bb33bcf20806200739v46b97cb2wcaa34182bc0356d3@mail.gmail.com>]
  • * [PATCH 0/3] cgroup: block device i/o bandwidth controller (v3)
    @ 2008-06-20 10:05 Andrea Righi
      0 siblings, 0 replies; 8+ messages in thread
    From: Andrea Righi @ 2008-06-20 10:05 UTC (permalink / raw)
      To: Balbir Singh, Paul Menage, Carl Henrik Lunde
      Cc: axboe-tSWWG44O7X1aa/9Udqfwiw, randy.dunlap-QHcLZuEGTsvQT0dZR+AlfA,
    	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
    	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Divyesh Shah,
    	matt-cT2on/YLNlBWk0Htik3J/w, roberto-5KDOxZqKugI,
    	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b
    
    
    The goal of the i/o bandwidth controller is to improve i/o performance
    predictability and provide better QoS for different cgroups sharing the same
    block devices.
    
    Respect to other priority/weight-based solutions the approach used by this
    controller is to explicitly choke applications' requests that directly (or
    indirectly) generate i/o activity in the system.
    
    The direct bandwidth limiting method has the advantage of improving the
    performance predictability at the cost of reducing, in general, the overall
    performance of the system (in terms of throughput).
    
    Detailed informations about design, its goal and usage are described in the
    documentation.
    
    Tested against latest git (2.6.26-rc6).
    
    The all-in-one patch (and previous versions) can be found at:
    http://download.systemimager.org/~arighi/linux/patches/io-throttle/
    
    Changelog: (v2 -> v3)
      - scalability improvement: replaced the rbtree structure with a linked list
        to store multiple per block device I/O limiting rules; this allows to use
        RCU to protect the whole list structure, since the elements in the list are
        supposed to change rarely (this also provides zero overhead for cgroups
        that don't use any I/O limitation)
      - improved user interface
          - now it's possible to specify a suffix k, K, m, M, g, G to express
            bandwidth values in KB/s, MB/s or GB/s
          - current per block device I/O usage is reported in blockio.bandwidth
      - renamed cgroup_io_account() in cgroup_io_throttle()
      - updated the documentation
    
    TODO:
      - implement I/O throttling using a token bucket algorithm, as suggested by
        Carl Henrik Lunde, in addition to the current leaky bucket approach
      - provide a modular interface to switch between different i/o throttling
        algorithms at run-time
    
    -Andrea
    
    ^ permalink raw reply	[flat|nested] 8+ messages in thread

    end of thread, other threads:[~2008-07-14 17:23 UTC | newest]
    
    Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <1213956335-29866-1-git-send-email-righi.andrea@gmail.com>
         [not found] ` <1213956335-29866-1-git-send-email-righi.andrea-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
    2008-06-20 14:39   ` [PATCH 0/3] cgroup: block device i/o bandwidth controller (v3) Subrata Modak
         [not found] ` <bb33bcf20806200739v46b97cb2wcaa34182bc0356d3@mail.gmail.com>
         [not found]   ` <bb33bcf20806200739v46b97cb2wcaa34182bc0356d3-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
    2008-06-21 10:35     ` Andrea Righi
         [not found]       ` <485CD97C.7020904-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
    2008-06-21 15:16         ` Subrata Modak
         [not found]           ` <bb33bcf20806210816m41f005f7y95031337371d408d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
    2008-06-25 13:21             ` [LTP] " Subrata Modak
         [not found]           ` <1214400066.10818.27.camel@subratamodak.linux.ibm.com>
         [not found]             ` <1215090141.26546.17.camel@subratamodak.linux.ibm.com>
         [not found]               ` <486CDBFB.7050706@gmail.com>
         [not found]                 ` <1215150659.6333.3.camel@subratamodak.linux.ibm.com>
         [not found]                   ` <4871EA52.9000601@gmail.com>
         [not found]                     ` <4871EA52.9000601-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
    2008-07-07 10:24                       ` [PATCH] ltp controllers: block device i/o bandwidth controller testcase (was: Re: [PATCH 0/3] cgroup: block device i/o bandwidth controller (v3)) Subrata Modak
         [not found]                         ` <1215426277.4764.13.camel-NRFfyExJdYpgXGGE5LP+UZlqa2bBAFbm0E9HWUfgJXw@public.gmane.org>
    2008-07-07 13:43                           ` [PATCH] ltp controllers: block device i/o bandwidth controller testcase Andrea Righi
         [not found]                             ` <48721D9D.30006-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
    2008-07-14 17:23                               ` Subrata Modak
    2008-06-20 10:05 [PATCH 0/3] cgroup: block device i/o bandwidth controller (v3) Andrea Righi
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox