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 D0BA1200AC0 for ; Mon, 9 May 2016 22:55:14 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id CF65016099C; Mon, 9 May 2016 20:55:14 +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 2414D1609A8 for ; Mon, 9 May 2016 22:55:13 +0200 (CEST) Received: (qmail 28703 invoked by uid 500); 9 May 2016 20:55:13 -0000 Mailing-List: contact mapreduce-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list mapreduce-issues@hadoop.apache.org Received: (qmail 28622 invoked by uid 99); 9 May 2016 20:55:13 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 09 May 2016 20:55:13 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 09DD42C1F68 for ; Mon, 9 May 2016 20:55:13 +0000 (UTC) Date: Mon, 9 May 2016 20:55:13 +0000 (UTC) From: "Nathan Roberts (JIRA)" To: mapreduce-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (MAPREDUCE-6678) Allow ShuffleHandler readahead without drop-behind MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 09 May 2016 20:55:15 -0000 [ https://issues.apache.org/jira/browse/MAPREDUCE-6678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15277018#comment-15277018 ] Nathan Roberts commented on MAPREDUCE-6678: ------------------------------------------- bq. I recognize that it's difficult to produce a unit test for the patch. Would it be possible for you to post a very brief justification of that? The approach I took was to test it manually because it's invasive to determine whether or not the OS is actually doing the readahead from java. Rather than create a fragile test, I opted to use strace to verify the fadvise(WILL_NEED) occurs when the configured readahead size is >0, and does not occur when 0; regardless of whether mapreduce.shuffle.manage.os.cache is enabled. > Allow ShuffleHandler readahead without drop-behind > -------------------------------------------------- > > Key: MAPREDUCE-6678 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-6678 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: nodemanager > Affects Versions: 3.0.0, 2.7.2 > Reporter: Nathan Roberts > Assignee: Nathan Roberts > Attachments: YARN-4964.001.patch > > > Currently mapreduce.shuffle.manage.os.cache enables/disables both readahead (POSIX_FADV_WILLNEED) and drop-behind (POSIX_FADV_DONTNEED) logic within the ShuffleHandler. > It would be beneficial if these were separately configurable. > - Running without readahead can lead to significant seek storms caused by large numbers of sendfiles() competing with one another. > - However, running with drop-behind can also lead to seek storms because there are cases where the server can successfully write the shuffle bytes to the network, BUT the client doesn't want the bytes right now (MergeManager wants to WAIT is an example) so it ignores them and asks for them again a bit later. This causes repeated reads of the same data from disk. > I'll attach a simple patch that enables/disables readahead based on mapreduce.shuffle.readahead.bytes==0, leaving mapreduce.shuffle.manage.os.cache controlling only the drop-behind. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: mapreduce-issues-unsubscribe@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-help@hadoop.apache.org