<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Distributed Hash Tables | Aqualab - Northwestern University</title><link>https://aqualab.cs.northwestern.edu/tag/distributed-hash-tables/</link><atom:link href="https://aqualab.cs.northwestern.edu/tag/distributed-hash-tables/index.xml" rel="self" type="application/rss+xml"/><description>Distributed Hash Tables</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Thu, 01 Sep 2005 00:00:00 +0000</lastBuildDate><image><url>https://aqualab.cs.northwestern.edu/media/logo_hu_8646b2b27455bd.png</url><title>Distributed Hash Tables</title><link>https://aqualab.cs.northwestern.edu/tag/distributed-hash-tables/</link></image><item><title>NUPastry and NUScribe</title><link>https://aqualab.cs.northwestern.edu/project/nupastry-nuscribe/</link><pubDate>Thu, 01 Sep 2005 00:00:00 +0000</pubDate><guid>https://aqualab.cs.northwestern.edu/project/nupastry-nuscribe/</guid><description>&lt;div class="article-style"&gt;
&lt;h2 id="context"&gt;Context&lt;/h2&gt;
&lt;p&gt;The work was motivated by delivering high-quality streaming media to an
effectively unlimited number of peers over a purely cooperative model. Multicast
suits that class of application because it decouples the size of the receiver
set from the state kept at any single node, and avoids redundant transmission.
Application-level approaches put all the multicast functionality in end systems
configured into an overlay, keeping most of the benefit of network-layer
multicast while avoiding IP multicast&amp;rsquo;s deployment and scalability problems.&lt;/p&gt;
&lt;p&gt;Trees are the natural structure for timely delivery, and they scale well in link
stress, overhead and latency. But pushed onto autonomous, unpredictable end
systems they suffer three specific problems:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Transiency.&lt;/strong&gt; End systems leave far more readily than routers, and trees
depend on their interior nodes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bandwidth constraints near the root.&lt;/strong&gt; Available bandwidth decreases as one
ascends from the leaves, so high-level paths become the bottleneck under load.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unfair load distribution.&lt;/strong&gt; A small fraction of interior nodes do all the
replication and forwarding while leaves contribute nothing — awkward in a
system premised on every peer contributing in exchange for the service.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;We proposed three generic techniques against these: &lt;strong&gt;co-leaders&lt;/strong&gt;, alternative
leaders that remove single-node dependencies and provide alternative forwarding
paths; &lt;strong&gt;fat-trees&lt;/strong&gt;, imported from parallel computing to relieve the bandwidth
constraint near the root; and &lt;strong&gt;multiple performance-centric balanced trees&lt;/strong&gt;,
which allow fair resource contribution without sacrificing performance.&lt;/p&gt;
&lt;p&gt;Those became three reference implementations: &lt;strong&gt;Nemo&lt;/strong&gt;, a structurally resilient
overlay; &lt;strong&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/fatnemo/"&gt;FatNemo&lt;/a&gt;&lt;/strong&gt;, a fat-tree overlay for
high-bandwidth multicast; and &lt;strong&gt;Magellan&lt;/strong&gt;, a performance-centric multi-tree
overlay maximizing fair load distribution against stated performance
expectations.&lt;/p&gt;
&lt;h2 id="what-was-released"&gt;What Was Released&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NUPastry&lt;/strong&gt; — reference implementation of a resilient distributed hash table&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NUScribe&lt;/strong&gt; — DHT-based multicast, with a work-in-progress &lt;strong&gt;NUSplitStream&lt;/strong&gt;
providing many of the proposed SplitStream features&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;They came with documentation for the supporting pieces: a DHT API, the Heimdall
network library, a multicast API, and a common API layer.&lt;/p&gt;
&lt;p&gt;Software was distributed to users who registered on the lab site, on the
condition that any paper using it cite the corresponding publication and that a
copy be sent to us on publication. It is no longer available. Wide-area
experiments were run with &lt;a href="https://aqualab.cs.northwestern.edu/project/nixes/"&gt;the Nixes tool set&lt;/a&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="papers"&gt;Papers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2004/sbirrer-nca04/"&gt;Resilient Peer-to-Peer Multicast from the Ground Up&lt;/a&gt; — NCA 2004&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2004/sbirrer-wcw04/"&gt;FatNemo: Building a Resilient Multi-Source Multicast Fat-Tree&lt;/a&gt; — WCW 2004&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer05mmcn/"&gt;Nemo: Resilient Peer-to-Peer Multicast without the Cost&lt;/a&gt; — MMCN 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer-nsdi05-poster/"&gt;FatNemo: Multisource Multicast Overlay Fat-Trees&lt;/a&gt; — NSDI 2005 (poster)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer05mpcm/"&gt;Magellan: Performance-based, Cooperative Multicast&lt;/a&gt; — WCW 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2005/sbirrer-mascots05/"&gt;The Feasibility of DHT-based Streaming Multicast&lt;/a&gt; — MASCOTS 2005&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/publication/2006/sbirrer-mascots06/"&gt;Resilience in Overlay Multicast Protocols&lt;/a&gt; — MASCOTS 2006&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="people"&gt;People&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Lead &amp;amp; PI&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/fabian-e.-bustamante/"&gt;Fabián E. Bustamante&lt;/a&gt; (Northwestern University)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Students&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/stefan-birrer/"&gt;Stefan Birrer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/author/yi-qiao/"&gt;Yi Qiao&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Collaborators&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Peter Dinda (Northwestern University)&lt;/li&gt;
&lt;li&gt;Dong Lu (Northwestern University)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="related-links"&gt;Related Links&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://aqualab.cs.northwestern.edu/project/resilient-overlays/"&gt;Resilient Overlays and Multicast&lt;/a&gt; — the project these implementations belong to&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description></item></channel></rss>