7 research outputs found

    A New Characterization of Tree Medians with Applications to Distributed Algorithms

    Get PDF
    A new characterization of tree medians is presented: we show that a vertex m is a median of a tree T with n vertices iff there exists a partition of the vertex set into [n/2] disjoint pairs (excluding m when n is odd), such that all the paths connecting the two vertices in any of the pairs pass through m. We show that in this case this sum is the largest possible among all such partitions, and we use this fact to discuss lower bounds on the message complexity of the distributed sorting problem. This lower bound implies that, given a network of a tree topology, choosing a median and then route all the information through it is the best possible strategy, in terms of worst-case number of messages sent during any execution of any distributed sorting algorithm. We also discuss the implications for networks of a general topology and for the distributed ranking problem

    Scheduling And Cooperative Control Of Electric Vehicles\u27 Charging At Highway Service Stations

    Get PDF
    This is a re-print version of a publication for the 53rd IEEE Conference on Decision and Control, Los Angeles, California, USA, December 15-17, 2014Due to their limited ranges, electric vehicles (EVs)need to be periodically charged during their long-distance travels on a highway. Compared to the fossil-fuel powered vehicles, the charging of a single EV takes much more time(up to 30 mins versus 2 mins). As the number of EVs on highways increases, adequate charging infrastructure needs to be put in place. Nonetheless waiting times for EVs to get charged at service stations could still vary significantly unless an appropriate scheduling coordination is in place and individual EVs make correct decisions about their choice of charging locations. This paper attempts to address both the system-level scheduling problem and the individual control problem, while requiring only distributed information about EVs and their charging at service stations along a highway. Specifically, we first develop a higher-level distributed scheduling algorithm to optimize the operation of the overall charging network. The scheduling algorithm uses only local information of traffic flows measured at the neighboring service stations (nodes), and it aims at adjusting the percentage of the EVs to be charged at individual stations so that all the charging resources along the highway are well (uniformly) utilized and the total waiting time is minimized. Then, a lower level cooperative control law is designed for individual EVs to decide whether or not it should charge its battery when approaching a specific service station by meeting the published scheduling level while taking into account its own battery constraint. Analytical designs are presented and their performance improvement is illustrated using simulation

    Self-stabilizing sorting algorithms

    Full text link
    A distributed system consists of a set of machines which do not share a global memory. Depending on the connectivity of the network, each machine gets a partial view of the global state. Transient failures in one area of the network may go unnoticed in other areas and may cause the system to go to an illegal global state. However, if the system were self-stabilizing, it would be guaranteed that regardless of the current state, the system would recover to a legal configuration in a finite number of moves; The traditional way of creating reliable systems is to make redundant components. Self-stabilization allows systems to be fault tolerant through software as well. This is an evolving paradigm in the design of robust distributed systems. The ability to recover spontaneously from an arbitrary state makes self-stabilizing systems immune to transient failures or perturbations in the system state such as changes in network topology; This thesis presents an O(nh) fault-tolerant distributed sorting algorithm for a tree network, where n is the number of nodes in the system, and h is the height of the tree. Fault-tolerance is achieved using Dijkstra\u27s paradigm of self-stabilization which is a method of non-masking fault-tolerance embedding the fault-tolerance within the algorithm. Varghese\u27s counter flushing method is used in order to achieve synchronization among processes in the system. In the distributed sorting problem each node is given a value and an id which are non-corruptible. The idea is to have each node take a specific value based on its id. The algorithm handles transient faults by weeding out false information in the system. Nodes can start with completely false information concerning the values and ids of the system yet the intended behavior is still achieved. Also, nodes are allowed to crash and re-enter the system later as well as allowing new nodes to enter the system

    Self-stabilizing sorting on linear networks

    Full text link
    A self-stabilizing system has the ability to recover from an arbitrary (possibly faulty) state to a normal state without any manual intervention. A self-stabilizing algorithm does not require any initialization. Starting from an arbitrary state, it is guaranteed to satisfy its specification in finite number of steps; We propose a self-stabilizing distributed sorting algorithm on an oriented linear network with n nodes. Each node holds some initial value(s) drawn from an arbitrary set. We assume that we start with at most k items in the network. Each node has a local memory whose space is restricted to O(k * L ) where L is the maximum number of bits to store one item. A node may collect more than one value during the process of sorting. The stabilizing time for sorting is O(n) rounds where a round is the duration for all the enabled processes to execute at least one enabled step. We claim that our algorithm is self-stabilizing for the following reasons:;If any node starts in a faulty state (meaning its value is not sorted with respect to its neighbors), the algorithm guarantees that the node will reach the legitimate state (where a legitimate state is a state in which the values are in sorted order) in a finite amount of time, and will remain in the legitimate state until another fault occurs. Each node repeatedly communicates with its neighbors to check if the values of its neighbors are sorted with respect to its own value. If the values are not in order, either the node or one of its neighbors will eventually be enabled to execute so that in finite amount of time the values will be sorted

    Designing Efficient Algorithms for Distributed Systems.

    Get PDF
    Search for efficient algorithms for distributed systems has become an important area of computer science. This research is driven by the need to efficiently process and communicate information generated by the system. In distributed systems, topological information plays an important role in the design of fast algorithms for problems such as routing, broadcasting, and sorting. The central focus of this dissertation is the design and analysis of distributed algorithms for determining topological information in asynchronous communication networks. Specifically, we present distributed algorithms for two generic problems: distributed graph problems and network traversal problems. Network location and network recognition are two important graph problems in distributed systems. We present unified algorithms for locating centers and medians of asynchronous communication networks. Also, we present both the centralized and decentralized versions of the algorithm. Furthermore, this is the first decentralized algorithm reported in the literature. These results are further extended to weighted networks. In addition, the unified algorithm can also be used to determine other topological parameters such as the diameter, and centroids of distributed networks. Efficient algorithms for problems such as finding shortest paths, centers, and sorting could be designed if the network topology is known a priori. Towards this end, we solve an open problem of recognizing mesh (grid) structures. We formulate both centralized and decentralized algorithms for recognizing mesh networks. The time and message complexities of the algorithm are O(n\sp{1.6}) and O(e+nlogn), respectively, where n is the number of nodes and e is the number of edges of the graph underlying the network. Network traversal is a fundamental activity in a distributed system and it has been widely studied in the literature. We present efficient distributed algorithms for depth first traversal of an asynchronous communication network and show the usefulness of this algorithm in deriving efficient solutions to the problems related to network learning. Finally, we discuss application of some of these algorithms in distributed sensor networks

    Optimal Distributed Algorithms for Sorting and Ranking

    No full text
    We study the problems of sorting and ranking n processors that have initial values - not necessarily distinct - in a distrubuted system. Sorting means that the initial values have to move around in the network and be assigned to the processors according to their distinct identities, while ranking means that the numbers 1,2,...,n have to be assigned to the processors according to their initial values; ties between initial values can be broken in any chosen way. Assuming a tree network, and assuming that a message can contain an initial value, an identity or a rank, we present an algorithm for the ranking problem that uses, in the worst case, at most 1/2n^2 + O(n) such messages. The algorithm is them extended to perform sorting, using in the worst case at most 3/4n^2 + O(n) messages. Both algorithms are using a total of O(n) space. The algorithms are extended to general networks. The expected behavior of these algorithms for three classes of trees are discussed. Assuming that the initial values, identities and ranks can only be compared within themselves, lower bounds of 1/2n^2 and 3/4n^2 messages are proved for a worst case execution of any algorithm to solve the ranking and sorting problems, correspondingly
    corecore