Computer Science > Distributed, Parallel, and Cluster Computing
[Submitted on 20 Jul 2022 (v1), last revised 16 Feb 2023 (this version, v2)]
Title:Fault-Tolerant Distributed Directories
View PDFAbstract:A distributed directory is an overlay data structure on a graph $G$ that helps to access a shared token $t$. The directory supports three operations: publish, to announce the token, lookup, to read the contents of the token, and move, to get exclusive update access to the token. The directory is built upon a hierarchical partition of the graph using either weak or strong clusters. The main mechanism is the maintenance of a directory path that starts at the root node in the hierarchy and points to the current owner of the token. In the literature, there are known directory algorithms based on hierarchical graph structures, but none of them have considered failures. Given a hierarchical partition, we consider the impact of $f$ edge failures on the functionality and performance of the distributed directory. The edge failures may result in the splitting of clusters into up to $f+1$ connected components and an increase in the number of levels in the hierarchy. To recover the hierarchical partition after failures, we maintain spanning trees in the clusters and their connected components. If $G$ remains connected, we show that each level of the directory path is dilated by only a factor $f$. We also show that the performance of the publish and lookup operations is affected in the worst case by a factor $f$ with respect to the message complexity. The message complexity of the move operation increases by an $f$ factor and the number of additional layers in the hierarchy.
Submission history
From: Judith Beestermöller [view email][v1] Wed, 20 Jul 2022 14:35:06 UTC (436 KB)
[v2] Thu, 16 Feb 2023 15:42:10 UTC (107 KB)
References & Citations
Bibliographic and Citation Tools
Bibliographic Explorer (What is the Explorer?)
Connected Papers (What is Connected Papers?)
Litmaps (What is Litmaps?)
scite Smart Citations (What are Smart Citations?)
Code, Data and Media Associated with this Article
alphaXiv (What is alphaXiv?)
CatalyzeX Code Finder for Papers (What is CatalyzeX?)
DagsHub (What is DagsHub?)
Gotit.pub (What is GotitPub?)
Hugging Face (What is Huggingface?)
Papers with Code (What is Papers with Code?)
ScienceCast (What is ScienceCast?)
Demos
Recommenders and Search Tools
Influence Flower (What are Influence Flowers?)
CORE Recommender (What is CORE?)
arXivLabs: experimental projects with community collaborators
arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.
Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.
Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.