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.
翻译:分布式目录是图$G$上的一种覆盖数据结构,用于协助访问共享令牌$t$。该目录支持三种操作:发布(publish),用于宣布令牌;查找(lookup),用于读取令牌内容;以及移动(move),用于获取令牌的独占更新权限。该目录基于图的层次化分区构建,分区采用弱聚类或强聚类方式。其核心机制是维护一条从层次结构根节点指向令牌当前持有者的目录路径。现有文献中存在基于层次图结构的目录算法,但均未考虑故障场景。给定层次化分区,我们研究$f$条边故障对分布式目录功能与性能的影响。边故障可能导致聚类分裂为最多$f+1$个连通分量,并增加层次结构的层数。为在故障后恢复层次化分区,我们在聚类及其连通分量中维护生成树。若图$G$保持连通性,我们证明目录路径的每一层仅被扩展$f$倍。我们还证明,在最坏情况下,发布和查找操作的性能在消息复杂度上受$f$倍影响;移动操作的消息复杂度增加$f$倍,并受层次结构中新增层数的影响。