Return-Path: Delivered-To: apmail-hadoop-core-dev-archive@www.apache.org Received: (qmail 31304 invoked from network); 22 Apr 2008 04:30:45 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Apr 2008 04:30:45 -0000 Received: (qmail 57478 invoked by uid 500); 22 Apr 2008 04:30:43 -0000 Delivered-To: apmail-hadoop-core-dev-archive@hadoop.apache.org Received: (qmail 57458 invoked by uid 500); 22 Apr 2008 04:30:43 -0000 Mailing-List: contact core-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: core-dev@hadoop.apache.org Delivered-To: mailing list core-dev@hadoop.apache.org Received: (qmail 57447 invoked by uid 99); 22 Apr 2008 04:30:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Apr 2008 21:30:43 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Apr 2008 04:30:08 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 2CB0B234C0F9 for ; Mon, 21 Apr 2008 21:27:22 -0700 (PDT) Message-ID: <248938983.1208838442182.JavaMail.jira@brutus> Date: Mon, 21 Apr 2008 21:27:22 -0700 (PDT) From: "stack (JIRA)" To: core-dev@hadoop.apache.org Subject: [jira] Commented: (HADOOP-3288) Serial streaming performance should be Math.min(ideal client performance, ideal serial hdfs performance) In-Reply-To: <94897957.1208758041505.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HADOOP-3288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12591195#action_12591195 ] stack commented on HADOOP-3288: ------------------------------- Intellectually, the notion of a read-ahead mode for DFS client is appealing. In our applications' case, I'd think that active serial Reads of files will commonly be less than the datanodes * drives. > Serial streaming performance should be Math.min(ideal client performance, ideal serial hdfs performance) > -------------------------------------------------------------------------------------------------------- > > Key: HADOOP-3288 > URL: https://issues.apache.org/jira/browse/HADOOP-3288 > Project: Hadoop Core > Issue Type: Improvement > Components: dfs > Affects Versions: 0.16.3, 0.18.0 > Environment: Mac OS X 10.5.2, Java 6 > Reporter: Sam Pullara > Fix For: 0.18.0 > > > I looked at all the code long and hard and this was my analysis (could be wrong, I'm not an expert on this codebase): > Current Serial HDFS performance = Average Datanode Performance > Average Datanode Performance = Average Disk Performance (even if you have more than one) > We should have: > Ideal Serial HDFS Performance = Sum of Ideal Datanode Performance > Ideal Datanode Performance = Sum of disk performance > When you read a single file serially from HDFS there are a number of limitations that come into play: > 1) Blocks on multiple datanodes will be load balanced between them - averaging the performance of the datanodes > 2) Blocks on multiple disks in a single datanode are load balanced between them - averaging the performance of the disks > I think that all this could be fixed if we actually prefetched fully read blocks on the client until the client can no longer keep up with the data or there is another bottleneck like network bandwidth. > This seems like a reasonably common use case though not the typical MapReduce case. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.