[
https://issues.apache.org/jira/browse/HADOOP-4035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12638574#action_12638574
]
Hemanth Yamijala commented on HADOOP-4035:
------------------------------------------
Some comments:
JobConf:
- I think it is OK to expose whether memory based scheduling is enabled as an
API.
CapacityTaskScheduler:
- {{jobFitsOnTT}}: if job has not requested for any memory, we promise it
atleast defaultMemoryPerSlot on TT. So, I think this method should still check
for that part.
- Since we already have a map/reduce based {{TaskSchedulingMgr}}, can we
implement {{jobFitsOnTT}} to not have checks based on whether it's map or
reduce task ? One way to do that would be to define an abstract
{{getFreeVirtualMemoryForTask()}} in {{TaskSchedulingMgr}} and implement it in
the {{MapSchedulingMgr}} to return
{{resourceStatus.getFreeVirtualMemoryForMaps()}} and so on.
- {{InAdequateResourcesException}} should be {{InadequateResourcesException}}.
Does it need to extend IOException ?
- {{updateResourcesInformation}}: If for any one TT there is
DISABLED_VIRTUAL_MEMORY_LIMIT, we don't need to proceed in the loop - a small
optimization ?
- Also, this need not be done if memory management is disabled.
- jip.isKillInProgress() -- I think this is going to be changed. Will this
trigger {{jobCompleted}} events ? This should be checked with the solution of
HADOOP-4053.
- Can we somehow avoid duplicating the following code between
{{CapacityTaskScheduler}} and {{JobQueueTaskScheduler}}:
-- jobFitsOnTT
-- updateResourcesInformation()
-- killing of jobs
It is significant logic and avoiding code duplication might help.
I need to review the changes to the testcases still.
> Modify the capacity scheduler (HADOOP-3445) to schedule tasks based on memory
> requirements and task trackers free memory
> ------------------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-4035
> URL: https://issues.apache.org/jira/browse/HADOOP-4035
> Project: Hadoop Core
> Issue Type: Bug
> Components: contrib/capacity-sched
> Affects Versions: 0.19.0
> Reporter: Hemanth Yamijala
> Assignee: Vinod K V
> Priority: Blocker
> Fix For: 0.19.0
>
> Attachments: 4035.1.patch, HADOOP-4035-20080918.1.txt,
> HADOOP-4035-20081006.1.txt, HADOOP-4035-20081006.txt, HADOOP-4035-20081008.txt
>
>
> HADOOP-3759 introduced configuration variables that can be used to specify
> memory requirements for jobs, and also modified the tasktrackers to report
> their free memory. The capacity scheduler in HADOOP-3445 should schedule
> tasks based on these parameters. A task that is scheduled on a TT that uses
> more than the default amount of memory per slot can be viewed as effectively
> using more than one slot, as it would decrease the amount of free memory on
> the TT by more than the default amount while it runs. The scheduler should
> make the used capacity account for this additional usage while enforcing
> limits, etc.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.