hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Chen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MAPREDUCE-1181) Enforce RSS memory limit in TaskMemoryManagerThread
Date Fri, 06 Nov 2009 18:58:32 GMT

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

Scott Chen commented on MAPREDUCE-1181:

Hi Vinod,

Thanks for the comment.

After investigating this and doing some experiments for the past few days. I agree with you.
It is more reliable to monitor tasks using virtual memory than using physical memory because
virtual memory is not as dynamic as RSS and we can stop the task before the physical memory
goes high.

And I also agree with your second point. It is better to use the total RSS usage in scheduling
rather than here.

Now I think this feature is not necessary. But it is still good to keep the feature that allows
the ProcfsBasedProcessTree collects RSS. It can be used for job profiling later. I will continue
working on that one. My plan is to make ProcfsBaedProcessTree collect RSS usage and number
of CPU jiffies for all tasks and submit through heartbeat by TaskTrackerStatus.taskReports.

> Enforce RSS memory limit in TaskMemoryManagerThread
> ---------------------------------------------------
>                 Key: MAPREDUCE-1181
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1181
>             Project: Hadoop Map/Reduce
>          Issue Type: New Feature
>          Components: tasktracker
>    Affects Versions: 0.20.1
>            Reporter: Scott Chen
>             Fix For: 0.20.1
>         Attachments: MAPREDUCE-1181.patch
> TaskMemoryManagerThread will periodically check the rss memory usage of every task. If
the memory usage exceeds the specified threshold, the task will be killed. Also if the total
rss memory of all tasks exceeds (total amount of memory - specified reserved memory). The
task with least progress will be killed to recover the reserved rss memory.
> This is similar to the virtual memory limit provided by TaskMemoryManagerThread. But
now the limit is for rss memory. This new feature allow us to avoid page swapping which is
prone to error.
> The following are the related configurations
> mapreduce.reduce.memory.rss.mb   // RSS memory allowed for a reduce task
> mapreduce.map.memory.rss.mb       // RSS memory allowed for a map task
> mapreduce.tasktracker.reserved.memory.rss.mb     // RSS memory reserved (not for tasks)
on a tasktracker

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message