Ram Venkatesh commented on YARN-2190:

[~chliu] There are two changes here:
1. Memory limit enforcement at the OS layer using the JobObject in addition to 
the functionality in ContainerMonitorImpl.
2. CPU limit enforcement

The memory limit enforcement via JobObject lets process like the CLR respond to 
memory pressure events from the OS, thus preventing them from being killed if 
they voluntarily bring their resource usage under the limit. To me this makes 
it a valuable change independent of CPU scheduling.

Should this patch be reworked to:
1. Under a flag enable memory enforcement through JobObject
2. Under a different flag turn on CPU limit enforcement, which will be used 
when CPU scheduling and CPU isolation enforcement are in use.

> Provide a Windows container executor that can limit memory and CPU
> ------------------------------------------------------------------
>                 Key: YARN-2190
>                 URL: https://issues.apache.org/jira/browse/YARN-2190
>             Project: Hadoop YARN
>          Issue Type: New Feature
>          Components: nodemanager
>            Reporter: Chuan Liu
>            Assignee: Chuan Liu
>         Attachments: YARN-2190-prototype.patch, YARN-2190.1.patch, 
> YARN-2190.2.patch, YARN-2190.3.patch, YARN-2190.4.patch, YARN-2190.5.patch, 
> YARN-2190.6.patch, YARN-2190.7.patch, YARN-2190.8.patch
> Yarn default container executor on Windows does not set the resource limit on 
> the containers currently. The memory limit is enforced by a separate 
> monitoring thread. The container implementation on Windows uses Job Object 
> right now. The latest Windows (8 or later) API allows CPU and memory limits 
> on the job objects. We want to create a Windows container executor that sets 
> the limits on job objects thus provides resource enforcement at OS level.
> http://msdn.microsoft.com/en-us/library/windows/desktop/ms686216(v=vs.85).aspx

This message was sent by Atlassian JIRA

Reply via email to