Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 584C2200ACA for ; Thu, 9 Jun 2016 22:12:23 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 5700E160A29; Thu, 9 Jun 2016 20:12:23 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 9BE8C160A58 for ; Thu, 9 Jun 2016 22:12:22 +0200 (CEST) Received: (qmail 9618 invoked by uid 500); 9 Jun 2016 20:12:21 -0000 Mailing-List: contact yarn-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list yarn-issues@hadoop.apache.org Received: (qmail 9538 invoked by uid 99); 9 Jun 2016 20:12:21 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Jun 2016 20:12:21 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 6B08B2C1F76 for ; Thu, 9 Jun 2016 20:12:21 +0000 (UTC) Date: Thu, 9 Jun 2016 20:12:21 +0000 (UTC) From: "Subru Krishnan (JIRA)" To: yarn-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (YARN-4879) Enhance Allocate Protocol to Identify Requests Explicitly MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 09 Jun 2016 20:12:23 -0000 [ https://issues.apache.org/jira/browse/YARN-4879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15323233#comment-15323233 ] Subru Krishnan edited comment on YARN-4879 at 6/9/16 8:11 PM: -------------------------------------------------------------- There was a discussion regarding the implementation details with [~leftnoteasy], [~vinodkv], [~kasha] and [~asuresh]. The crux of the discussion was: * The request ID can be used for either identifying a single RR or a group of RRs. The latter is required if we want to encode the notion of relaxLocality - i.e. allocate a container in node N1, if not fallback to rack R1 and finally ANY. I will fix the RR API Javdocs in YARN-4887 accordingly. * The existing *AMRMClientImpl* is convoluted and has some vestigial behaviour that results in auto expansion of client RRs due to rack inference. Quite a bit of the complexity in *AMRMClientImpl* results from the matching logic which can be greatly simplified by using the request ID. So the consensus was to leave the existing *AMRMClientImpl* as-is for backward compatibility and start with a fresh version of *AMRMClientImpl (v2)* that will have a clean implementation using the request ID. I created YARN-5225 to track the first version of *AMRMClientImpl (v2)* was (Author: subru): There was a discussion regarding the implementation details with [~leftnoteasy], [~vinodkv], [~kasha] and [~asuresh]. The crux of the discussion was: * The request ID can be used for either identifying a single RR or a group of RRs. The latter is required if we want to encode the notion of relaxLocality - i.e. allocate a container in node N1, if not fallback to rack R1 and finally ANY. I will fix the RR API Javdocs in YARN-4887 accordingly. * The existing *AMRMClientImpl* is convoluted and has some vestigial behaviour that results in auto expansion of client RRs due to rack inference. Quite a bit of the complexity in *AMRMClientImpl* results from the matching logic which can be greatly simplified by using the request ID. So the consensus was to leave the existing *AMRMClientImpl* as-is for backward compatibility and start with a fresh version of *AMRMClientImpl (v2)* that will have a clean implementation using the request ID. > Enhance Allocate Protocol to Identify Requests Explicitly > --------------------------------------------------------- > > Key: YARN-4879 > URL: https://issues.apache.org/jira/browse/YARN-4879 > Project: Hadoop YARN > Issue Type: Improvement > Components: applications, resourcemanager > Reporter: Subru Krishnan > Assignee: Subru Krishnan > Attachments: SimpleAllocateProtocolProposal-v1.pdf, SimpleAllocateProtocolProposal-v2.pdf > > > For legacy reasons, the current allocate protocol expects expanded requests which represent the cumulative request for any change in resource constraints. This is not only very difficult to comprehend but makes it impossible for the scheduler to associate container allocations to the original requests. This problem is amplified by the fact that the expansion is managed by the AMRMClient which makes it cumbersome for non-Java clients as they all have to replicate the non-trivial logic. In this JIRA, we are proposing enhancement to the Allocate Protocol to allow AMs to identify requests explicitly. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org For additional commands, e-mail: yarn-issues-help@hadoop.apache.org