In the last weeks, the kernel developer Neil Brown has been contributing a series of very in-depth articles about cgroups and hierarchies in the current kernel in general. Worth reading and worth paying LWN to access the content (and the associated discussions) as soon as it is published.<p><a href="https://lwn.net/Articles/604609/" rel="nofollow">https://lwn.net/Articles/604609/</a><p>* Control groups, part 1: On the history of process grouping — a look at the history of grouping processes, going back to the early days of Unix.<p>* Control groups, part 2: On the different sorts of hierarchies — a look at hierarchies, including some from inside Linux and some from outside.<p>* Control groups, part 3: First steps to control — a look at the more simple cgroup subsystems.<p>* Control groups, part 4: On accounting — hierarchical accounting in the remaining cgroup subsystems.<p>* Control groups, part 5: The cgroup hierarchy — options and implications for hierarchical structure.
I had no idea what a control group is, so here is a short summary for others in my position:<p>- cgroups (abbreviated from control groups) is a Linux kernel feature to limit, account, and isolate resource usage (CPU, memory, disk I/O, etc.) of process groups.<p>- Various projects are using cgroups as their basis, including Docker<p><a href="http://en.wikipedia.org/wiki/Cgroups" rel="nofollow">http://en.wikipedia.org/wiki/Cgroups</a>
Hearing about cgroups always reminds me of the resource metering/dispensing parts of the KeyKOS papers. <a href="http://www.cis.upenn.edu/~KeyKOS/" rel="nofollow">http://www.cis.upenn.edu/~KeyKOS/</a><p>Convergent evolution is fun. :)