[P2PSIP] Answers to feedback on the Self-tuning DHT draft
Jouni Mäenpää <jouni.maenpaa@ericsson.com> Mon, 11 May 2009 10:12 UTC
Return-Path: <jouni.maenpaa@ericsson.com>
X-Original-To: p2psip@core3.amsl.com
Delivered-To: p2psip@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DAE323A6904 for <p2psip@core3.amsl.com>; Mon, 11 May 2009 03:12:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.729
X-Spam-Level:
X-Spam-Status: No, score=-5.729 tagged_above=-999 required=5 tests=[AWL=0.220, BAYES_00=-2.599, HELO_EQ_SE=0.35, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6XdOCXoa3uvM for <p2psip@core3.amsl.com>; Mon, 11 May 2009 03:12:41 -0700 (PDT)
Received: from mailgw3.ericsson.se (mailgw3.ericsson.se [193.180.251.60]) by core3.amsl.com (Postfix) with ESMTP id E9A373A688C for <p2psip@ietf.org>; Mon, 11 May 2009 03:12:40 -0700 (PDT)
X-AuditID: c1b4fb3c-b7b7fae0000015ab-1a-4a07fa7166d9
Received: from esealmw126.eemea.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw3.ericsson.se (Symantec Mail Security) with SMTP id 5B.CE.05547.17AF70A4; Mon, 11 May 2009 12:14:09 +0200 (CEST)
Received: from esealmw126.eemea.ericsson.se ([153.88.254.174]) by esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Mon, 11 May 2009 12:14:09 +0200
Received: from mail.lmf.ericsson.se ([131.160.11.50]) by esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Mon, 11 May 2009 12:14:09 +0200
Received: from nomadiclab.lmf.ericsson.se (nomadiclab.lmf.ericsson.se [131.160.33.3]) by mail.lmf.ericsson.se (Postfix) with ESMTP id 0AAEF25A5; Mon, 11 May 2009 13:14:09 +0300 (EEST)
Received: from nomadiclab.lmf.ericsson.se (localhost [127.0.0.1]) by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id C6990219F7; Mon, 11 May 2009 13:14:08 +0300 (EEST)
Received: from [127.0.0.1] (localhost [127.0.0.1]) by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id 62681219CF; Mon, 11 May 2009 13:14:08 +0300 (EEST)
Message-ID: <4A07FA75.5040300@ericsson.com>
Date: Mon, 11 May 2009 13:14:13 +0300
From: Jouni Mäenpää <jouni.maenpaa@ericsson.com>
User-Agent: Thunderbird 2.0.0.17 (X11/20080925)
MIME-Version: 1.0
To: "p2psip@ietf.org" <p2psip@ietf.org>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: ClamAV using ClamSMTP
X-OriginalArrivalTime: 11 May 2009 10:14:09.0189 (UTC) FILETIME=[392EC550:01C9D221]
X-Brightmail-Tracker: AAAAAA==
Subject: [P2PSIP] Answers to feedback on the Self-tuning DHT draft
X-BeenThere: p2psip@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Peer-to-Peer SIP working group discussion list <p2psip.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/p2psip>, <mailto:p2psip-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/p2psip>
List-Post: <mailto:p2psip@ietf.org>
List-Help: <mailto:p2psip-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/p2psip>, <mailto:p2psip-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 May 2009 10:12:42 -0000
Hi, We presented the draft "Self-tuning DHT for RELOAD" (http://tools.ietf.org/id/draft-maenpaa-p2psip-self-tuning-00.txt) in the P2PSIP session of the previous IETF meeting in San Francisco. We would now like to address the feedback we received during the presentation. First, it was asked whether the self-tuning algorithm could be made more compatible with the algorithm in RELOAD base. The self-tuning draft follows closely the original Chord DHT specified in [Stoica 2003] whereas the Chord algorithm specified in the RELOAD base draft is a modified version of the original Chord algorithm. The major difference is that the algorithm in RELOAD base uses reactive stabilization for the neighborhood set (neighborhood set consists of the successors and predecessors of a peer on the Chord ring) whereas the self-tuning draft uses periodic stabilization. To make the self-tuning algorithm and the algorithm in RELOAD base more compatible, we would either need to make the self tuning algorithm use reactive stabilization or make the algorithm in RELOAD base use periodic stabilization. If the self-tuning algorithm was modified to use reactive stabilization, then it would no longer be able to handle large-scale and high-churn overlays, as was discussed above. Consequently, keeping both approaches as two different topology plugins seems to make sense. There was also some discussion on reactive versus periodic stabilization. It has been shown in [Rhea 2004] that reactive stabilization works well for small overlays and moderate churn. However, in large-scale (e.g., 1000 peers or more) or high-churn overlays, reactive stabilization runs the risk of creating a positive feedback cycle, which can eventually result in congestion collapse. In [Rhea 2004], it is shown that a 1000-peer overlay under churn uses significantly less bandwidth and has lower latencies when periodic stabilization is used than when reactive stabilization is used. Although in the experiments carried out in [Rhea 2004], reactive stabilization performed well when there was no churn, its bandwidth use was observed to jump dramatically under churn. At higher churn rates and larger scale overlays, periodic stabilization uses less bandwidth and the resulting lower contention for the network leads to lower latencies. For this reason, most DHTs use periodic stabilization. Third, there was a question whether introducing self-tuning behavior will make the overlay unstable, since there may be a delay between getting information from the overlay and adapting the DHT parameters. In a self-tuning DHT, each peer collects statistical data from the overlay and then uses this data to adjust the DHT parameters. Each peer maintains of history of the collected data (e.g., a failure history). Thus, the best trade-off between accuracy and responsiveness to changed network conditions can be achieved by selecting an appropriate size for the history. Guidelines for choosing an appropriate size for the history are given for instance in [Ghinita 2006, Mahajan 2003]. A DHT becomes unstable if peers use DHT parameters that are inappropriate for the prevailing operating conditions. Self-tuning behavior does not make a DHT unstable since peers try to adapt the DHT parameters when the operating conditions change. It has been shown that a self-tuning DHT outperforms a DHT using a fixed stabilization interval [Ghinita 2006]. Fourth, there was a question on how well the self-tuning algorithm performs in a small-scale overlay. As described in [Rhea 2004], if a fixed stabilization interval is used, periodic stabilization is wasteful in a low-churn small-scale network because if configured inappropriately, it executes the stabilization routines more often than is actually necessary. However, a self-tuning DHT avoids this problem since it adjust the stabilization interval by making it longer if it observes that the churn rate becomes lower. Because of this, a self-tuning DHT can perform well also in low-churn small-scale overlays. Fifth, there was a question on how well the algorithm tolerates churn. As explained above, a DHT using reactive stabilization can overload the network with messages under high churn rates. On the other hand, a DHT with periodic stabilization uses a fixed stabilization interval. The problem with this is that if the churn rate becomes higher than expected, the stabilization interval may be too infrequent and as a result, the network becomes partitioned. The idea in a self-tuning DHT is that if the churn rate is observed to increase, peers will adjust the stabilization interval by making it shorter. This allows a self-tuning DHT to tolerate high churn rates. Finally, someone asked what happens if different peers have different views of the network conditions. Each peer in the DHT uses only local information to adjust the stabilization interval. A peer adjusts the stabilization interval based on the failures it detects in its routing table and also based on the session times of peers in the routing table. Thus, each peer attempts to adjust the stabilization interval so that it is appropriate for the observed network conditions. Because only local information is used, each peer may not necessarily end up using exactly the same stabilization interval. This does not matter, however, because every peer uses a stabilization interval that is sufficient for the local conditions. Due to the length of this email, people answering something about one topic should probably change the subject and start a new thread. Best Regards, Jouni Maenpaa [Ghinita 2006] Ghinita, G. and Y. Teo, "An adaptive stabilization framework for distributed hash tables", 20th International Parallel and Distributed Processing Symposium April 2006. [Mahajan 2003] Mahajan, R., Castro, M., and A. Rowstron, "Controlling the cost of reliability in peer-to-peer overlays", In Proceedings of the 2nd International Workshop on Peer-to-Peer Systems Feb. 2003. [Rhea 2004] Rhea, S., Geels, D., Roscoe, T., and J. Kubiatowicz, "Handling churn in a DHT", In Proc. of the USENIX Annual Techincal Conference June 2004. [Stoica 2003] Stoica, I., Morris, R., Liben-Nowell, D., Karger, D., Kaashoek, M., Dabek, F., and H. Balakrishnan, "Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications", IEEE/ACM Transactions on Networking Volume 11, Issue 1, 17-32, Feb 2003.
- [P2PSIP] Answers to feedback on the Self-tuning D… Jouni Mäenpää