Return-Path: X-Original-To: apmail-hadoop-mapreduce-dev-archive@minotaur.apache.org Delivered-To: apmail-hadoop-mapreduce-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6F535705D for ; Thu, 8 Sep 2011 14:41:50 +0000 (UTC) Received: (qmail 47104 invoked by uid 500); 8 Sep 2011 14:41:50 -0000 Delivered-To: apmail-hadoop-mapreduce-dev-archive@hadoop.apache.org Received: (qmail 47033 invoked by uid 500); 8 Sep 2011 14:41:49 -0000 Mailing-List: contact mapreduce-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: mapreduce-dev@hadoop.apache.org Delivered-To: mailing list mapreduce-dev@hadoop.apache.org Received: (qmail 47025 invoked by uid 99); 8 Sep 2011 14:41:49 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Sep 2011 14:41:49 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of sharad.apache@gmail.com designates 209.85.216.43 as permitted sender) Received: from [209.85.216.43] (HELO mail-qw0-f43.google.com) (209.85.216.43) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 08 Sep 2011 14:41:42 +0000 Received: by qwm42 with SMTP id 42so610837qwm.2 for ; Thu, 08 Sep 2011 07:41:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=references:message-id:from:to:in-reply-to:content-type :content-transfer-encoding:x-mailer:mime-version:subject:date:cc; bh=dPnMj0CpqB5E3l7wueusaAUDTcGgV8fTepVvL6jwlnc=; b=MDnPLOZNfZbm4xlDgRqnVRSjpD6DAwZGFiUoNsg8gzzwpyzddh4zuDEZuJfTTg4L1D I3z4uLS4CGgRO4QIm3qy2Y2IEyo4CsUpLTZNpU7WuLC44Xglc7UVyRHott6dD3YlDPxK ZqCCWoJe0BCvmEud1xkEWCU9OEyxAdmzV6JZg= Received: by 10.68.1.104 with SMTP id 8mr1270606pbl.91.1315492881085; Thu, 08 Sep 2011 07:41:21 -0700 (PDT) Received: from [223.177.38.149] ([223.177.38.149]) by mx.google.com with ESMTPS id i4sm13455873pbr.4.2011.09.08.07.41.15 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 08 Sep 2011 07:41:20 -0700 (PDT) References: <000601cc6e2c$5bc909a0$135b1ce0$%kotha@huawei.com> Message-Id: <59767724-8BD1-4994-943E-153A2E9E21FB@gmail.com> From: Sharad To: "mapreduce-dev@hadoop.apache.org" In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Mailer: iPhone Mail (7E18) Mime-Version: 1.0 (iPhone Mail 7E18) Subject: Re: Rationale behind Event based design of Next Gen Mapreduce components. Date: Thu, 8 Sep 2011 20:11:05 +0530 Cc: "mapreduce-dev@hadoop.apache.org" , "venugopalarao.kotha@huawei.com" X-Virus-Checked: Checked by ClamAV on apache.org Thanks vinod. Just to add it also gives better parallelism and hence scalability. OTOH with sync model with so many moving parts it is really very hard to design and maintain fine-grained locking. Sent from my iPhone On Sep 8, 2011, at 7:33 PM, Vinod Kumar Vavilapalli wrote: > This question needs a long answer and a bit of documentation+wiki > pages > explaining the whole thing which I am working on. > > For now, I'll give you a short answer. > > If you have worked long enough on MRV1, particularly JobTracker and > TaskTracker, you will know the complexity of the code w.r.t component > interactions, synchronization, method calls in and out, management > of state > via ENUMs etc. That was quite some maintenance nightmare if you ask > me. > > The event model along with the state machines are an effort to > manage that > complexity better. > > There is one slide "Event Model in YARN" in Sharad's presentation > attached > on MAPREDUCE-279: > https://issues.apache.org/jira/secure/attachment/12485267/hadoop_contributors_meet_07_01_2011.pdfthat > can be served as a starter. > > Thanks, > +Vinod > > On Thu, Sep 8, 2011 at 7:06 PM, Venu Gopala Rao < > venugopalarao.kotha@huawei.com> wrote: > >> Hi All, >> >> >> >> I am going through the Next Gen mapReduce code base. Unlike MRV1 >> all the >> components work based on event dispatching/consumption. Some times >> I see it >> is a long list of events :) . >> >> >> >> I would like to understand, is there any specific reason behind this >> event based design? >> >> >> >> Regards >> >> Venu >> >> >> >> >> >> >> >>