Return-Path: X-Original-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-common-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2EAC711B03 for ; Tue, 1 Jul 2014 02:31:26 +0000 (UTC) Received: (qmail 70380 invoked by uid 500); 1 Jul 2014 02:31:25 -0000 Delivered-To: apmail-hadoop-common-issues-archive@hadoop.apache.org Received: (qmail 70336 invoked by uid 500); 1 Jul 2014 02:31:25 -0000 Mailing-List: contact common-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-issues@hadoop.apache.org Delivered-To: mailing list common-issues@hadoop.apache.org Received: (qmail 70323 invoked by uid 99); 1 Jul 2014 02:31:25 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Jul 2014 02:31:25 +0000 Date: Tue, 1 Jul 2014 02:31:25 +0000 (UTC) From: "Chris Li (JIRA)" To: common-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HADOOP-10281) Create a scheduler, which assigns schedulables a priority level MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HADOOP-10281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chris Li updated HADOOP-10281: ------------------------------ Attachment: HADOOP-10281-preview.patch Hi [~arpitagarwal], I've attached a preview of a new scheduler, the DecayRpcScheduler. This patch contains both schedulers, but presumably the decay scheduler would supplant the historyscheduler in the final patch. Performance tests show that the historyscheduler doesn't add statistically significant overhead (on my laptop) compared to both the decayscheduler and no scheduler. Next step is to measure performance on a real cluster. > Create a scheduler, which assigns schedulables a priority level > --------------------------------------------------------------- > > Key: HADOOP-10281 > URL: https://issues.apache.org/jira/browse/HADOOP-10281 > Project: Hadoop Common > Issue Type: Sub-task > Reporter: Chris Li > Assignee: Chris Li > Attachments: HADOOP-10281-preview.patch, HADOOP-10281.patch, HADOOP-10281.patch, HADOOP-10281.patch > > > The Scheduler decides which sub-queue to assign a given Call. It implements a single method getPriorityLevel(Schedulable call) which returns an integer corresponding to the subqueue the FairCallQueue should place the call in. > The HistoryRpcScheduler is one such implementation which uses the username of each call and determines what % of calls in recent history were made by this user. > It is configured with a historyLength (how many calls to track) and a list of integer thresholds which determine the boundaries between priority levels. > For instance, if the scheduler has a historyLength of 8; and priority thresholds of 4,2,1; and saw calls made by these users in order: > Alice, Bob, Alice, Alice, Bob, Jerry, Alice, Alice > * Another call by Alice would be placed in queue 3, since she has already made >= 4 calls > * Another call by Bob would be placed in queue 2, since he has >= 2 but less than 4 calls > * A call by Carlos would be placed in queue 0, since he has no calls in the history > Also, some versions of this patch include the concept of a 'service user', which is a user that is always scheduled high-priority. Currently this seems redundant and will probably be removed in later patches, since its not too useful. -- This message was sent by Atlassian JIRA (v6.2#6252)