@misc{Kruber2009, type = {Master Thesis}, author = {Kruber, Nico}, title = {DHT Load Balancing with Estimated Global Information}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-11514}, school = {Zuse Institute Berlin (ZIB)}, year = {2009}, abstract = {One of the biggest impacts on the performance of a Distributed Hash Table (DHT), once established, is its ability to balance load among its nodes. DHTs supporting range queries for example suffer from a potentially huge skew in the distribution of their items since techniques such as consistent hashing can not be applied. Thus explicit load balancing schemes need to be deployed. Several such schemes have been developed and are part of recent research, most of them using only information locally available in order to scale to arbitrary systems. Gossiping techniques however allow the retrieval of fairly good estimates of global information with low overhead. Such information can then be added to existing load balancing algorithms that can use the additional knowledge to improve their performance. Within this thesis several schemes are developed that use global information like the average load and the standard deviation of the load among the nodes to primarily reduce the number of items an algorithm moves to achieve a certain balance. Two novel load balancing algorithms have then been equipped with implementations of those schemes and have been simulated on several scenarios. Most of these variants show better balance results and move far less items than the algorithms they are based on. The best of the developed algorithms achieves a 15-30\% better balance and moves only about 50-70\% of the number of items its underlying algorithm moves. This variation is also very robust to erroneous estimates and scales linearly with the system size and system load. Further experiments with self-tuning algorithms that set an algorithm's parameter according to the system's state show that even more improvements can be gained if additionally applied. Such a variant based on the algorithm described by Karger and Ruhl shows the same balance improvements of 15-30\% as the variant above but reduces the number of item movements further to 40-65\%.}, language = {en} } @misc{MoserHaridiShafaatetal.2009, author = {Moser, Monika and Haridi, Seif and Shafaat, Tallat and Sch{\"u}tt, Thorsten and H{\"o}gqvist, Mikael and Reinefeld, Alexander}, title = {Transactional DHT Algorithms}, issn = {1438-0064}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-11532}, number = {09-34}, year = {2009}, abstract = {We present a framework for transactional data access on data stored in a DHT. It allows to atomically read and write items and to run distributed transactions consisting of a sequence of read and write operations on the items. Items are symmetrically replicated in order to achieve durability of data stored in the SON. To provide availability of items despite the unavailability of some replicas, operations on items are quorum-based. They make progress as long as a majority of replicas can be accessed. Our framework processes transactions optimistically with an atomic commit protocol that is based on Paxos atomic commit. We present algorithms for the whole framework with an event based notation. Additionally we discuss the problem of lookup inconsistencies and its implications on the one-copy serializability property of the transaction processing in our framework.}, language = {en} } @misc{SchintkeReinefeldHaridietal.2009, author = {Schintke, Florian and Reinefeld, Alexander and Haridi, Seif and Sch{\"u}tt, Thorsten}, title = {Enhanced Paxos Commit for Transactions on DHTs}, issn = {1438-0064}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-11448}, number = {09-28}, year = {2009}, abstract = {Key/value stores which are built on structured overlay networks often lack support for atomic transactions and strong data consistency among replicas. This is unfortunate, because consistency guarantees and transactions would allow a wide range of additional application domains to benefit from the inherent scalability and fault-tolerance of DHTs. The Scalaris key/value store supports strong data consistency and atomic transactions. It uses an enhanced Paxos Commit protocol with only four communication steps rather than six. This improvement was possible by exploiting information from the replica distribution in the DHT. Scalaris enables implementation of more reliable and scalable infrastructure for collaborative Web services that require strong consistency and atomic changes across multiple items.}, language = {en} } @misc{Prollius2009, type = {Master Thesis}, author = {Prollius, Christian von}, title = {Ein Peer-to-Peer System mit Bereichsabfragen in PlanetLab}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-11492}, school = {Zuse Institute Berlin (ZIB)}, year = {2009}, abstract = {Aktuelle Entwicklungen zeigen, dass Peer-to-Peer (P2P) Anwendungen wie Skype oder Bittorrent im Internet immer mehr an Bedeutung gewinnen. In den letzten Jahren hat es einen explosionsartigen Anstieg an Nutzern und Daten in solchen Netzen gegeben. Dabei stellt der eigentliche Dateitransfer zwischen zwei Rechnern kein großes Problem mehr dar und auch der Speicherbedarf f{\"u}r die große Menge an Daten kann durch die Weiterentwicklung der Hardware gut gedeckt werden. Das eigentliche Problem liegt vielmehr darin, den Rechner zu finden, der die gew{\"u}nschten Daten hat. Client-Server Architekturen, wie zum Beispiel Napster, haben sich als ung{\"u}nstig herausgestellt. Wenige Server, die eine große Anzahl an Clients bedienen m{\"u}ssen, sind einerseits sehr anf{\"a}llig gegen{\"u}ber Angriffen und Ausf{\"a}llen (Single Point of Failure)und kommen auch nicht mit der st{\"a}ndig wachsenden Anzahl an Nutzern zurecht. Verteilte Hashtabellen (DHT) bieten hier einen guten L{\"o}sungsansatz, der mit einer großen Anzahl an Nutzern skaliert und ausfallsicher ist. Andere dezentrale L{\"o}sungen, wie zum Beispiel das P2P Netzwerk Gnutella haben zwar das Problem des Single Point of Failure gel{\"o}st, jedoch haben sie starke Nachteile bei der Suche nach Keys. Bei einer Suche wird ein Broadcast verwendet (jeder schickt die Anfrage an jeden weiter) und damit ein enormer Netzwerkverkehr erzeugt. In "Why Gnutella Can't Scale. No, Really" wird erkl{\"a}rt, dass eine Suchanfrage bei Standardeinstellungen in der Clientsoftware einen Netzwerkverkehr von 17MB erzeugt. Deswegen wird zus{\"a}tzlich eine L{\"o}sung ben{\"o}tigt, die Keys und Values geordnet verteilt, damit sie gezielt gesucht werden k{\"o}nnen. Aus diesem Grund besch{\"a}ftigt sich die folgende Arbeit mit einer v{\"o}llig dezentralen Architektur, die außerdem eine sinnvolle Platzierung der Keys vornimmt. Die dezentrale Architektur hat den Vorteil, dass die Endger{\"a}te den Hauptteil des Dienstes selbst erbringen und damit jeder zus{\"a}tzliche Teilnehmer seine eigenen Ressourcen beisteuert. Diese Arbeit pr{\"a}sentiert Chord\#, eine dezentrale, skalierbare und selbstorganisierende verteilte Hashtabelle. Chord\# wurde ausgew{\"a}hlt, da in dieser Arbeit auch Wert auf Bereichsabfragen gelegt wurde. Diese sind zum Beispiel bei dem Chord Algorithmus nicht m{\"o}glich, da dieser eine Hashfunktion f{\"u}r die Keys verwendet und somit die Daten zwar gleichm{\"a}ßig aber unsortiert auf die Teilnehmer verteilt. Es wird in dieser Arbeit gezeigt, dass mit Hilfe von Chord\# auch ohne die Hashfunktion gute Ergebnisse erzielt werden. Außerdem k{\"o}nnen durch den Verzicht auf die Hashfunktion Bereichsabfragen erm{\"o}glicht werden. Daf{\"u}r wird der Chord\# Algorithmus in Java implementiert (ca. 1500 Zeilen Code) und in dem Forschungsnetz PlanetLab ausf{\"u}hrlich auf Laufzeiten, Instandhaltungskosten und Skalierung getestet.}, language = {de} } @misc{Plantikow2007, type = {Master Thesis}, author = {Plantikow, Stefan}, title = {Transaktionen f{\"u}r verteilte Wikis auf strukturierten Overlay Netzwerken}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-10176}, school = {Zuse Institute Berlin (ZIB)}, year = {2007}, abstract = {Die Diplomarbeit pr{\"a}sentiert ein Transaktionsverfahren f{\"u}r strukturierte Overlay-Netzwerke, das an die Erfordernisse verteilter Informationssysteme mit relationalem Datenmodell angepasst ist. Insbesondere wird der Einsatz von Transaktionen f{\"u}r verteilte Wikis betrachtet, die moderne Funktionalit{\"a}ten, wie Metadaten und zus{\"a}tzliche Indexe f{\"u}r die Navigation, unterst{\"u}tzen. Konsistenz und Dauerhaftigkeit der gespeicherten Daten erfordert die Behandlung von Knotenausf{\"a}llen. Die Arbeit schl{\"a}gt daf{\"u}r das Zellenmodell vor: Das Overlay wird aus replizierten Zustandsmaschinen gebildet, um Verf{\"u}gbarkeit zu gew{\"a}hrleisten. Das Transaktionsverfahren baut darauf auf und verwendet Two-Phase-Commit mit Fehlererkennung und Widerherstellung von ausgefallenen Transaktionsmanagern. Anwendungen wird eine Auswahl an pessimistischen und hybrid-optimistischen Nebenl{\"a}ufigkeitskontrollverfahren geboten, die die Minimierung von Latenzeffekten und die schnelle Ausf{\"u}hrung von Nur-Lese-Transaktionen erm{\"o}glichen. F{\"u}r die Beispielanwendung Wiki wird der erforderliche Pseudocode angegeben und die verschiedenen Nebenl{\"a}ufigkeitskontrollverfahren hinsichtlich ihrer Nachrichtenkomplexit{\"a}t verglichen.}, language = {de} } @misc{Mueller2013, type = {Master Thesis}, author = {M{\"u}ller, Magnus}, title = {Flexible Routing Tables in a Distributed Key-Value Store}, url = {http://nbn-resolving.de/urn:nbn:de:0297-zib-42742}, school = {Zuse Institute Berlin (ZIB)}, pages = {118}, year = {2013}, abstract = {We present our implementation of Flexible Routing Tables (FRT) in the distributed key-value store Scalaris. Classic routing table generators like Chord structure routing tables by considering node identifiers only. Secondary requirements such as latency properties are considered after the general structure, eliminating potential performance gains. FRT aims to allow multiple requirements when creating routing tables. The concept is based on lazy routing table entries learning and filtering entries when a routing table is full. Entries are filtered such that the resulting table is best among all other possible tables where one node was filtered. FRT uses a total order to define which of the possible routing tables is best. We implemented two instances of FRT, namely FRT-Chord and grouped FRT-Chord (GFRT-Chord). We compare our implementation with the existing implementation of Chord in Scalaris and evaluate the advantages and disadvantages of more flexible routing schemes.}, language = {en} } @article{KruberHoegqvistSchuett2011, author = {Kruber, Nico and H{\"o}gqvist, Mikael and Sch{\"u}tt, Thorsten}, title = {The Benefits of Estimated Global Information in DHT Load Balancing}, volume = {0}, journal = {Cluster Computing and the Grid, IEEE International Symposium on}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, doi = {10.1109/CCGrid.2011.11}, pages = {382 -- 391}, year = {2011}, language = {en} } @phdthesis{Hoegqvist2012, author = {H{\"o}gqvist, Mikael}, title = {Consistent Key-Based Routing in Decentralized and Reconfigurable Data Services}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:11-100206145}, year = {2012}, language = {en} } @article{Schintke2013, author = {Schintke, Florian}, title = {XtreemFS \& Scalaris}, journal = {Science \& Technology}, number = {6}, publisher = {Pan European Networks}, pages = {54 -- 55}, year = {2013}, language = {en} } @masterthesis{Borgers2012, type = {Bachelor Thesis}, author = {Borgers, Philipp}, title = {Erweiterung eines verteilten Key-Value-Stores (Riak) um einen r{\"a}umlichen Index}, year = {2012}, language = {de} } @misc{Fischer2016, type = {Master Thesis}, author = {Fischer, Jens}, title = {Evaluating the Scalability of Scalaris}, year = {2016}, language = {en} }