-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/8108/
-----------------------------------------------------------

(Updated Nov. 19, 2012, 11:03 p.m.)


Review request for mesos, Benjamin Hindman and Vinod Kone.


Changes
-------

-Only allow one of the {cpu, cpuset} subsystems to be enabled.
-Read the cpuset.cpus from the mesos cgroup in order to ensure we don't 
allocate to cpus outside our cpuset.
-Addressed comments from vinod.

I do not write to cpuset.mems, since we're not going to consider memory 
affinity. Note that any cgroups created will have cpuset.mems copied from the 
parent (see cgroups::cloneCpusetCpusMems).


Description
-------

This is the first pass at adding cpuset isolation for pinning cgroups to cpus.

We decided to start with a simplistic grow/shrink allocation technique, as such 
this initial technique:
  -Does not take cache locality into account.
  -Does not actively fight fragmentation*, but does a good job at preventing it 
in many cases, given it's simplicity.
  -Note that when cpus resource requests are integral (non-fractional), then 
fragmentation does not occur.

*By fragmentation, I'm referring to the case where we've spread a cgroup over 
more cpus than necessary, due to other cgroups sharing the same cpus.
High fragmentation would mean a lot of shared cpus across cgroups.
No fragmentation would mean each cgroup has a unique set of cpus.

I've punted on documenting the pitfalls of this technique, wiring up the 
handler, and adding tests for now.

Note that this is diffed off of benh's changes:
https://reviews.apache.org/r/8058/
https://reviews.apache.org/r/8059/


Diffs (updated)
-----

  src/linux/proc.hpp 27e15bf8695aa694b0d5bdb6881b9fa55a447528 
  src/slave/cgroups_isolation_module.hpp 
9f80fc5a969b959b34eaea4cac40700662d7f8b2 
  src/slave/cgroups_isolation_module.cpp 
8211618d7729350654e2d17946c5b912ed9dda6a 
  third_party/libprocess/include/stout/stringify.hpp 
dcc5b95a54e6f34f93867e015d8c855fd7d6f950 
  third_party/libprocess/include/stout/strings.hpp 
914c280a994733764957d19f37b48d151bb93778 

Diff: https://reviews.apache.org/r/8108/diff/


Testing
-------

None as of yet.


Thanks,

Ben Mahler

Reply via email to