[ 
https://issues.apache.org/jira/browse/MAPREDUCE-4334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13396261#comment-13396261
 ] 

Andrew Ferguson commented on MAPREDUCE-4334:
--------------------------------------------

ok, putting all of this in the ContainerExecutor is not the way to go, as it 
precludes use of secure Hadoop's Linux container-executor.

In my new design, ContainerMonitor will be a pluggable component, just as 
ContainerExecutor is now. Then, we can provide a ContainerMonitor which uses 
cgroups to control resource usage, rather than the existing ContainerMonitor 
(to be renamed as "DefaultContainerMonitor"). This has several advantages:
1) allows us to keep existing ContainerMonitor for users who can't use cgroups 
(eg, users without root access during Hadoop setup)
2) ContainerMonitor already receives an event when it's time to stop 
monitoring, which we can use as notification to delete the container's cgroup
3) ContainerMonitor receives the resource limits already; no need to calculate 
them based on the configs
4) A pluggable ContainerMonitor paves the way for ContainerMonitors on other 
platforms

I will first open a sub-task to make ContainerMonitor pluggable.

The only trouble spot with this design is that it's not possible to move 
another non-root user's process into a cgroup. I plan to extend the secure 
container-executor to be able to make such a move.

Please let me know if you have any feedback about this proposal.


thank you,
Andrew
                
> Add support for CPU isolation/monitoring of containers
> ------------------------------------------------------
>
>                 Key: MAPREDUCE-4334
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4334
>             Project: Hadoop Map/Reduce
>          Issue Type: Sub-task
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>
> Once we get in MAPREDUCE-4327, it will be important to actually enforce 
> limits on CPU consumption of containers. 
> Several options spring to mind:
> # taskset (RHEL5+)
> # cgroups (RHEL6+)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to