New Connectivity and MSF Algorithms for Shuffle-Exchange Network and PRAM
IEEE Transactions on Computers
An O(n2 log n) parallel max-flow algorithm
Journal of Algorithms
New models and algorithms for future networks
PODC '88 Proceedings of the seventh annual ACM Symposium on Principles of distributed computing
Designing broadcasting algorithms in the postal model for message-passing systems
SPAA '92 Proceedings of the fourth annual ACM symposium on Parallel algorithms and architectures
LogP: towards a realistic model of parallel computation
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
Purely functional data structures
Purely functional data structures
Resource discovery in distributed networks
Proceedings of the eighteenth annual ACM symposium on Principles of distributed computing
Chord: A scalable peer-to-peer lookup service for internet applications
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
Viceroy: a scalable and dynamic emulation of the butterfly
Proceedings of the twenty-first annual symposium on Principles of distributed computing
Replication strategies in unstructured peer-to-peer networks
Proceedings of the 2002 conference on Applications, technologies, architectures, and protocols for computer communications
Asynchronous resource discovery
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Fast construction of overlay networks
Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures
Tapestry: a resilient global-scale overlay for service deployment
IEEE Journal on Selected Areas in Communications
Hi-index | 0.00 |
The resource discovery problem arises in the context of peer to peer (P2P) networks, where at any point of time a peer may be placed at or removed from any location over a general purpose network (e.g., an Internet site). A node (peer) can communicate with another node directly if and only if it knows a certain routing information to that other node. Hence, a critical task is for the peers to convey this routing information to each other. The problem was formalized by Harchol-Balter et al. and the specific P2P application they had in mind was the logical networks G0 of servers placed by Akamai at various Internet sites. The routing information needed for a node to reach another peer is that peer's identifier (e.g., IP address). A logical directed edge represents the fact that the peer at the tail of the edge knows the IP address of the one at its head. The problem is to compute the connected components in the underlying graph of G0 (namely, the undirected graph obtained from G0 by removing edge directionality). A number of algorithms were developed in Harchol-Balter et al. for this problem in the model of a synchronous network over a weakly connected directed graph. That is, the assumption was that some clock delivers pulses to every node every time unit at the same time, and a message delivery takes one time unit. The best of these algorithms was randomized. Subsequently, a deterministic algorithm for the problem on synchronous networks with improved complexity was presented in a paper by Kutten et al. The current paper extends the deterministic algorithm of Kutten et al. to the environment of asynchronous networks, where no clock pulses are assumed, and the message delivery time may vary and is not known. We managed to maintain complexities similar to those of the synchronous algorithm of Kutten et al. (translated to the asynchronous model). These are lower than the complexities that would be needed to synchronize the system. The main technical difficulty in a directed, weakly connected system is to ensure that nodes take steps that are consistent with each other, even if their knowledge about each other is not symmetric. Here, this task is further complicated by the fact that there is no timeout mechanism (which does exist in synchronous systems) to assist in ensuring consistency. In particular, as opposed to the case in synchronous systems, an asynchronous algorithm cannot first transform every directed edge to be bidirectional and second, apply an algorithm for bidirectional graph. Thus, our result takes another step towards representing the actual setting in a realistic manner.