Return-Path: X-Original-To: apmail-zookeeper-user-archive@www.apache.org Delivered-To: apmail-zookeeper-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 42DAC7DA2 for ; Sat, 24 Sep 2011 21:44:26 +0000 (UTC) Received: (qmail 33205 invoked by uid 500); 24 Sep 2011 21:44:25 -0000 Delivered-To: apmail-zookeeper-user-archive@zookeeper.apache.org Received: (qmail 33144 invoked by uid 500); 24 Sep 2011 21:44:25 -0000 Mailing-List: contact user-help@zookeeper.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@zookeeper.apache.org Delivered-To: mailing list user@zookeeper.apache.org Received: (qmail 33134 invoked by uid 99); 24 Sep 2011 21:44:25 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 24 Sep 2011 21:44:25 +0000 X-ASF-Spam-Status: No, hits=2.9 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: 216.145.54.173 is neither permitted nor denied by domain of fpj@yahoo-inc.com) Received: from [216.145.54.173] (HELO mrout3.yahoo.com) (216.145.54.173) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 24 Sep 2011 21:44:19 +0000 Received: from [192.168.1.102] (vpn-client-20-1.corp.ukl.yahoo.com [10.76.20.1]) by mrout3.yahoo.com (8.14.4/8.14.4/y.out) with ESMTP id p8OLh5QA064439; Sat, 24 Sep 2011 14:43:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=yahoo-inc.com; s=cobra; t=1316900589; bh=mIWFgyoPVL9MwSe8/0/weLfOYyIyQAcCfDFAR+IXtg0=; h=Cc:Message-Id:From:To:In-Reply-To:Content-Type:Mime-Version: Subject:Date:References; b=XFVRs6fApdYNbyEjx98OeK1wI3cuHU5ANp3ZvsdT8ESYjVCYemlN+MXMxR3BxLAJ0 +9Hw94Y7f+bnH8QmNP0TpWQqP+vKJv2+vFLJAQRlLKrEXRPa5Rt61PvJDu6e8XoQXd MrrAugen2avsQViS4+w9YfuDiSD6LjQeU/sivdzQ= Cc: "user@zookeeper.apache.org" , MORITA Kazutaka Message-Id: <5ED73FD9-E5B5-4E3C-A794-139DA2E282B3@yahoo-inc.com> From: Flavio Junqueira To: "user@hbase.apache.org" In-Reply-To: <4E7C9640.8080808@lab.ntt.co.jp> Content-Type: multipart/alternative; boundary=Apple-Mail-13--709031160 Mime-Version: 1.0 (Apple Message framework v936) Subject: Re: [announce] Accord: A high-performance coordination service for write-intensive workloads Date: Sat, 24 Sep 2011 23:43:05 +0200 References: <4E7C9640.8080808@lab.ntt.co.jp> X-Mailer: Apple Mail (2.936) X-Virus-Checked: Checked by ClamAV on apache.org --Apple-Mail-13--709031160 Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Thanks for sending this reference to the list, it sounds very interesting. I have a few questions and comments, if you don't mind: 1- I was wondering if you can give more detail on the setup you used to generate the numbers you show in the graphs on your Accord page. The ZooKeeper values are way too low, and I suspect that you're using a single hard drive. It could be because you expect to use a single hard drive with an Accord server, and you wanted to make the comparison fair. Is this correct? 2- The previous observation leads me to the next question: could you say more about your use of disk with persistence on? 3- The limitation on the message size in ZooKeeper is not a fundamental limitation. We have chosen to limit for the reasons we explain in the wiki page that is linked in the Accord page. Do you have any particular use case in mind for which you think it would be useful to have very large messages? 4- If I understand the group communication substrate Accord uses, it enables Accord to process client requests in any server. ZooKeeper has a leader for a few reasons, one being the ability of managing client sessions. Ephemeral nodes, for example, are bound to sessions. Are there similar abstractions in Accord? If the answer is positive, could you explain it a bit? If not, is it doable with the substrate you're using? 5- I'm not sure where we say that 8 bytes is a typical value in the documentation. I actually remember writing in one of our papers that a typical value is around 1k bytes. -Flavio On Sep 23, 2011, at 4:22 PM, OZAWA Tsuyoshi wrote: > Hi, > > Sending zookeeper-users and hbase-users ml since there may be some > cluster developers interested in participating in this project there. > > I am pleased to announce the initial release of Accord, yet another > coordination service like Apache ZooKeeper. > ZooKeeper is a de facto standard coordination kernel as you know at > present. > Accord provides ZK-like features as a coordination service. Concretely > speaking, it features: > - Accord is a distributed, transactional, and fully-replicated (No > SPoF) > Key-Value Store with strong consistency. > - Accord can be scale-out up to tens of nodes. > - Accord servers can handle tens or thousands of clients. > - The changes for a write request from a client can be notified to the > other clients. > - Accord detects events of client's joining/leaving, and notifies > joined/left client information to the other clients. > > There are some problems in ZK, however, as follows: > - ZK cannot handle write-intensive workloads well. ZK forwards all > write > requests to a master server. It may be bottleneck in write-intensive > workload. > - ZK is optimized for disk-persistence mode, not for in-memory mode. > ZOOKEEPER-866 shows that ZK has the other bottleneck outside disk > persistence, though there are some needs of a fully-replicated storage > with both strong consistency and low latency. > https://issues.apache.org/jira/browse/ZOOKEEPER-866 > - Limited Transaction APIs. ZK can only issue write operations (write, > del) in a transaction(multi-update). > > These restriction limit the capability of the coordination kernel. > Accord solves such problems. > 1. Accord uses Corosync Cluster Engine as a total-order messaging > infrastructure instead of Zab, an atomic broadcast protocol ZK uses. > The > engine enable any servers to accept and process requests. > 2. Accord supports in-memory mode. > 3. More flexible transaction support. Not only write, del operations, > but also cmp, copy, read operations are supported in transaction > operation. > > These differences of the core engine (1, 2) enable us to avoid master > bottleneck. Benchmark demonstrates that the write-operation throughput > of Accord is much higher than one of ZooKeeper > (up to 20 times better throughput at persistent mode, and up to 18 > times > better throughput at in-memory mode). > > The high performance kernel can extend the application ranges. Assumed > applications are as follows, for instance : > - Distributed Lock Manager whose lock operations occur at a high > frequency from thousands of clients. > I assume that the lock manager for Hbase in particluar. The > coordination > service enables HBase to update multiple rows with ACID properties. > Hbase acts as distributed DB with ACID properties until the > coordination > service becomes the bottleneck. The new coordination kernel, Accord, > can > handle 18 times better throughput than ZK. As a result, Accord can > dramatically improve the scalability of Hbase with ACID properties. > - Metadata management service for large-scale distributed storage, > including HDFS, Ceph and Sheepdog etc. > Replicated-master can be implemented easily. > - Replicated Message Queue or logger (For instance, replicated > RabbitMQ). > and so on. > > The other distributed systems can use Accord features easily because > Accord provides general-purpose APIs (read/write/del/more flexible > transaction). > > More information including getting started, benchmarks, and API docs > are > available from our project page : > http://www.osrg.net/accord > > and all code is available from: > http://github.com/collie/accord > > Please try it out, and let me know any opinions or problems. > > Best regards, > OZAWA Tsuyoshi > > flavio junqueira research scientist fpj@yahoo-inc.com direct +34 93-183-8828 avinguda diagonal 177, 8th floor, barcelona, 08018, es phone (408) 349 3300 fax (408) 349 3301 --Apple-Mail-13--709031160--