<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
>

  <channel rdf:about="http://lwn.net/headlines/94573/">
    <title>LWN: Comments on "Kernel Summit: Class-based Kernel Resource Management"</title>
    <link>http://lwn.net/Articles/94573/</link>
    <description>
This is a special feed containing comments posted
to the individual LWN article titled &quot;Kernel Summit: Class-based Kernel Resource Management&quot;.

    </description>

    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>2</syn:updateFrequency>
    <items>
      <rdf:Seq>
	<rdf:li resource="http://lwn.net/Articles/95636/rss" />
      
      </rdf:Seq>
    </items>

  </channel>
    <item rdf:about="http://lwn.net/Articles/95636/rss">
      <title>This would be INCREDIBLE</title>
      <link>http://lwn.net/Articles/95636/rss</link>
      <dc:date>2004-07-29T11:14:34+00:00</dc:date>
      <dc:creator>ringerc</dc:creator>
      <description>
      I'm the sysadmin of a small to medium business network. We run a dual Xeon &lt;br&gt;server to host file services (NetATalk, Samba, and NFS), intranet web &lt;br&gt;services, LTSP thin clients, and mail services. As you can imagine, this &lt;br&gt;does not always go smoothly ... but it works OK overall, and it could go a &lt;br&gt;lot more smoothly than it does now. &lt;br&gt; &lt;br&gt;I'm going to present a wishlist that attempts to briefly explain what I'd &lt;br&gt;find useful and why I think it'd be good. I'm not claiming that any of it &lt;br&gt;is easy, or even that it's a good idea in the interests of the system as a &lt;br&gt;whole - I lack the knowledge to evaluate that. All I can say is &amp;quot;I think &lt;br&gt;this would be very useful...&amp;quot; &lt;br&gt; &lt;br&gt;It would be very helpful to be able to control resource allocation to &lt;br&gt;processes in a more flexible and CONSISTENT way than provided by `nice` &lt;br&gt;and `ulimit`. In particular: &lt;br&gt; &lt;br&gt;	- Disk I/O QoS, so we could (say) configure &amp;quot;user&amp;quot; applications to &lt;br&gt;get priority for quick, brief disk access while limiting the IO ops/second &lt;br&gt;and throughput of file services to just below the disk's ability. Another &lt;br&gt;example might be limiting the disk throughput and IO/sec usage of a large, &lt;br&gt;low priority copy operation like archiving an LVM snapshot to removable &lt;br&gt;storage or cloning an experimental version of a database. &lt;br&gt; &lt;br&gt;	- Per-process disk usage monitoring. &amp;quot;Dammit, why is the /home &lt;br&gt;array thrashing...&amp;quot; &lt;br&gt; &lt;br&gt;	- Memory limits that start paging processes out instead of killing &lt;br&gt;them if they exceed the limit, so it's possible to say (for example) that &lt;br&gt;the group 'users' may collectively consume no more than 50% of system &lt;br&gt;memory. &lt;br&gt; &lt;br&gt;	- Making CPU and memory limitatation consistent. I'm not convinced &lt;br&gt;the CPU time ulimit makes any sense in a modern computing environment, and &lt;br&gt;while I find the 'kill when exceeded' memory ulimit great for limiting the &lt;br&gt;damage done by crashing processes it'd be nice to be able to have less &lt;br&gt;drastic control over the system resources they use as well. See above &lt;br&gt;point. &lt;br&gt;	 &lt;br&gt;	- Memory priorities for processes. &amp;quot;If you have to free up some &lt;br&gt;space, get rid of the database cache first, please DO NOT page out the &lt;br&gt;binaries of my interactive applications, my thin client users happen to be &lt;br&gt;using those...&amp;quot; &lt;br&gt; &lt;br&gt;	- The ability to do large, one-off copies without driving &lt;br&gt;everything remotely useful out of the in-memory disk cache. This is a &lt;br&gt;MAJOR problem in my experience. It is nigh impossible to do any seriously &lt;br&gt;large copies on an active Linux server (in my experience) if there are any &lt;br&gt;reasonably interactive tasks. Even if the interactive tasks don't normally &lt;br&gt;even touch the disk(s) you're using for the big copy, they'll quickly get &lt;br&gt;sluggish and start swapping or having to repeatedly load parts of &lt;br&gt;libraries and files from disk. This appears to be because all the &lt;br&gt;previously cached data - silly things like glibc and the program binaries &lt;br&gt;- are being pushed out of the disk cache in favour of data from the copy &lt;br&gt;operation that will never be re-used. This issue makes things like backups &lt;br&gt;of live servers a much higer impact affair than they could be, especially &lt;br&gt;combined with the apparent lack of any way of rate-limiting copy &lt;br&gt;operations. &lt;br&gt; &lt;br&gt;	- The ability to configure and control disk, memory, CPU access, &lt;br&gt;and other forms of resource limitation and QoS from a single consistent &lt;br&gt;interface (say, sysfs). Ideally policies might be applied to a group of &lt;br&gt;related proceses (as `ulimit` and friends do currently) or to all &lt;br&gt;processes owned by a particular user or group. Imagine &amp;quot;No single user may &lt;br&gt;use more than 80% of the network bandwidth&amp;quot; or &amp;quot;This group of virtual &lt;br&gt;machines is limited to 50% of physical system memory (and will begin &lt;br&gt;paging out instead of crashing if it exceeds it) &lt;br&gt; &lt;br&gt;Currently, it seems very hard to get different sorts of services to play &lt;br&gt;well together on the same server. For good utilisation and to limit the &lt;br&gt;number of servers that need to be managed, it would be nice to change &lt;br&gt;this. Many of the things needed to make (say) a thin client server andm &lt;br&gt;mail server live acceptably well on the same box will no doubt also &lt;br&gt;benefit virtualisation schemes like LVS and UML. After all, they, too, &lt;br&gt;want ways to prevent different VMs that might be doing different things &lt;br&gt;from treading on each other too badly. &lt;br&gt; &lt;br&gt;In fact, I'd eventually love to be able to move my thin client services &lt;br&gt;into one virtual space (think BSD Jail, LVS, UML, etc), mail into another, &lt;br&gt;etc with minimal resource overheads. The management benefits would be &lt;br&gt;pleasant - upgrade your terminal server environment reguarly to get shiny &lt;br&gt;new GUI improvements, while keeping your mail server environment unchanged &lt;br&gt;for as long as humanly possible. &lt;br&gt; &lt;br&gt;I think Linux is already ahead of some contenders when it comes to many &lt;br&gt;things efficiently sharing one system, but in my opinion there's still a &lt;br&gt;lot of room for improvement. &lt;br&gt; &lt;br&gt;Of course, I'm just a lowly sysadmin and probably don't understand the &lt;br&gt;complexity of what I'm talking about. What the heck - these are wants and &lt;br&gt;needs, and I'm interested in how they translate into anything that could &lt;br&gt;make its way into reality outside an IBM mainframe.  &lt;br&gt; &lt;br&gt;Comments appreciated. &lt;br&gt; &lt;br&gt;-- &lt;br&gt;Craig Ringer &lt;br&gt;craig &amp;lt;at&amp;gt; postnewspapers [dot] com &amp;gt;d0t&amp;lt; au 
      
      </description>
    </item>
</rdf:RDF>

