[ https://issues.apache.org/jira/browse/YARN-3?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13508411#comment-13508411 ]
Andrew Ferguson commented on YARN-3: ------------------------------------ hi everyone, sorry for the delay on this patch -- the east coast hurricane & other events set me behind schedule. I have attached a new version of this work to YARN-147 (v8); it is based on the latest version of trunk. as always, you can see my github tree for exact changes: https://github.com/adferguson/hadoop-common/ this patch has been tested (and confirmed to work) as follows: - default executor, no cgroups - Linux executor, no cgroups - Linux executor, with cgroups - Linux executor, mount cgroups automatically - Linux executor, cgroups already mounted & asked to mount - error condition: cgroups already mounted & cannot write to cgroup - error condition: asked to mount cgroups, but cannot mount both error conditions result in the NodeManager halting, as we have discussed above. [~bikassaha], to answer your first question: mountCgroups is a function in LinuxContainerExecutor because that class is simply a Java wrapper for the functions provided by the LCE. [~bikassaha], to answer your second question: if we use cgroups to limit CPU and there is only one container running on the machine, the current design will allow the container to access all of the CPU resources until other tasks start running (a work-conserving design). this design is using the CPU weights feature of cgroups, rather than the cpu bandwidth feature (or the entirely separate cpusets controller) to limit the bandwidth (a non-work-conserving design). thank you, Andrew > Add support for CPU isolation/monitoring of containers > ------------------------------------------------------ > > Key: YARN-3 > URL: https://issues.apache.org/jira/browse/YARN-3 > Project: Hadoop YARN > Issue Type: Sub-task > Reporter: Arun C Murthy > Assignee: Andrew Ferguson > Attachments: mapreduce-4334-design-doc.txt, > mapreduce-4334-design-doc-v2.txt, MAPREDUCE-4334-executor-v1.patch, > MAPREDUCE-4334-executor-v2.patch, MAPREDUCE-4334-executor-v3.patch, > MAPREDUCE-4334-executor-v4.patch, MAPREDUCE-4334-pre1.patch, > MAPREDUCE-4334-pre2.patch, MAPREDUCE-4334-pre2-with_cpu.patch, > MAPREDUCE-4334-pre3.patch, MAPREDUCE-4334-pre3-with_cpu.patch, > MAPREDUCE-4334-v1.patch, MAPREDUCE-4334-v2.patch, YARN-3-lce_only-v1.patch > > -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira