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 C7D99200CA8 for ; Thu, 1 Jun 2017 07:10:09 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C6BE1160BE2; Thu, 1 Jun 2017 05:10:09 +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 224F2160BCB for ; Thu, 1 Jun 2017 07:10:08 +0200 (CEST) Received: (qmail 55102 invoked by uid 500); 1 Jun 2017 05:10:08 -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 55078 invoked by uid 99); 1 Jun 2017 05:10:07 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Jun 2017 05:10:07 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 46465C00EF for ; Thu, 1 Jun 2017 05:10:07 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id hG77g0b0ocrZ for ; Thu, 1 Jun 2017 05:10:06 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 1104860DA2 for ; Thu, 1 Jun 2017 05:10:06 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 53900E0DBB for ; Thu, 1 Jun 2017 05:10:05 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id CF59F21B58 for ; Thu, 1 Jun 2017 05:10:04 +0000 (UTC) Date: Thu, 1 Jun 2017 05:10:04 +0000 (UTC) From: "daemon (JIRA)" To: yarn-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (YARN-6320) FairScheduler:Identifying apps to assign in updateThread MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 01 Jun 2017 05:10:10 -0000 [ https://issues.apache.org/jira/browse/YARN-6320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16032452#comment-16032452 ] daemon commented on YARN-6320: ------------------------------ I think I have solved the problem and in my test environment the scheduler can assign over 5000 containers per second. > FairScheduler:Identifying apps to assign in updateThread > -------------------------------------------------------- > > Key: YARN-6320 > URL: https://issues.apache.org/jira/browse/YARN-6320 > Project: Hadoop YARN > Issue Type: Bug > Reporter: Tao Jie > > In FairScheduler today, we have 1)UpdateThread that update queue/app status, fairshare, starvation info, 2)nodeUpdate triggered by NM heartbeat that do the scheduling. When we handle one nodeUpdate, we will top-down from the root queue to the leafqueues and find the most needy application to allocate container according to queue's fairshare. Also we should sort children at each hierarchy level. > My thought is that we have a global sorted {{candidateAppList}} which keeps apps need to assign, and move the logic that "find app that should allocate resource to" from nodeUpdate to UpdateThread. In UpdateThread, we find candidate apps to assign and put them into {{candidateAppList}}. In nodeUpdate, we consume the list and allocate containers to apps. > As far as I see, we can have 3 benifits: > 1, nodeUpdate() is invoked much more frequently than update() in UpdateThread, especially in a large cluster. As a result we can reduce much unnecessary sorting. > 2, It will have better coordination with YARN-5829, we can indicate apps to assign more directly rather than let nodes find the best apps to assign. > 3, It seems to be easier to introduce scheduling restricts such as nodelabel, affinity/anti-affinity into FS, since we can pre-allocate containers asynchronously. > [~kasha], [~templedf], [~yufeigu] like to hear your thoughts. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org For additional commands, e-mail: yarn-issues-help@hadoop.apache.org