hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jian He (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-3361) CapacityScheduler side changes to support non-exclusive node labels
Date Fri, 10 Apr 2015 01:00:16 GMT

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

Jian He commented on YARN-3361:
-------------------------------

thanks for updating, looks good overall:
- fix SchedulingMode comments 
- simplify a bit,parametrize nodePartitionToLookAt into hasPendingResourceRequest method
{code}
    if (schedulingMode == SchedulingMode.RESPECT_PARTITION_EXCLUSIVITY) {
      return hasPendingResourceRequest(rc, usage, nodePartitionToLookAt,
          cluster);
    } else if (schedulingMode == SchedulingMode.IGNORE_PARTITION_EXCLUSIVITY) {
      return hasPendingResourceRequest(rc, usage, RMNodeLabelsManager.NO_LABEL,
          cluster);
    }
{code}

- Below two checks in two places are duplicated ? the first check will prevent the second
check’s unreserve to execute?
          
{code}
          // Is the node-label-expression of this offswitch resource request
          // matches the node's label?
          // If not match, jump to next priority.
          if (!SchedulerUtils.checkResourceRequestMatchingNodePartition(
              anyRequest, node.getPartition(), schedulingMode)) {
            continue;
          }


    // check if the resource request can access the label
    if (!SchedulerUtils.checkNodeLabelExpression(node.getLabels(),
        request.getNodeLabelExpression(), schedulingMode)) {
      return Resources.none();
    }
{code}
- revert FicaSchedulerApp change
- remove minimumSchedulingOpportunityForNonExclusive variable,
- looks like for each partitioned request on partitioned node, we are checking it twice. one
on partitioned_scheduling, the other on non_partitioned_scheduling; Probably we need a higher
level mapping for resource requests: (partition -> all requests) to avoid double checking
for partitioned requests.

> CapacityScheduler side changes to support non-exclusive node labels
> -------------------------------------------------------------------
>
>                 Key: YARN-3361
>                 URL: https://issues.apache.org/jira/browse/YARN-3361
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: capacityscheduler
>            Reporter: Wangda Tan
>            Assignee: Wangda Tan
>         Attachments: YARN-3361.1.patch, YARN-3361.2.patch, YARN-3361.3.patch, YARN-3361.4.patch,
YARN-3361.5.patch
>
>
> According to design doc attached in YARN-3214, we need implement following logic in CapacityScheduler:
> 1) When allocate a resource request with no node-label specified, it should get preferentially
allocated to node without labels.
> 2) When there're some available resource in a node with label, they can be used by applications
with following order:
> - Applications under queues which can access the label and ask for same labeled resource.

> - Applications under queues which can access the label and ask for non-labeled resource.
> - Applications under queues cannot access the label and ask for non-labeled resource.
> 3) Expose necessary information that can be used by preemption policy to make preemption
decisions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message