Approximation and Heuristic Algorithms for Minimum Delay Application-Layer Multicast Trees

Size: px
Start display at page:

Download "Approximation and Heuristic Algorithms for Minimum Delay Application-Layer Multicast Trees"

Transcription

1 THE IBY AND ALADAR FLEISCHMAN FACULTY OF ENGINEERING Approximation and Heuristic Algorithms for Minimum Delay Application-Layer Multicast Trees A thesis submitted toward the degree of Master of Science in Electrical and Electronic Engineering by Eli Brosh October 2003

2 THE IBY AND ALADAR FLEISCHMAN FACULTY OF ENGINEERING Approximation and Heuristic Algorithms for Minimum Delay Application-Layer Multicast Trees A thesis submitted toward the degree of Master of Science in Electrical and Electronic Engineering by Eli Brosh This research was carried out in the Department of Electrical Engineering - Systems, under the supervision of Dr. Yuval Shavitt October 2003

3 Abstract In this thesis we investigate the problem of finding minimum delay applicationlayer multicast trees, such as the trees constructed in overlay networks. It is widely accepted that shortest path trees are not a good solution for this problem since such trees can have nodes with very large degree, termed high load nodes. The load on these nodes makes them a bottleneck in the distribution tree, due to computation load and access link bandwidth constrains. Many previous solutions limited the maximal degree of the nodes by introducing arbitrary constraints. In this work, we show how to directly map the node load to delay penalty at the application host, and create a new model that captures the trade offs between the desire to select shortest path trees and the need to constrain the load on the hosts. Our model enables the evaluation of multicast performance using a single delay cost. In this model the problem is shown to be NP-hard. Therefore, we present a logarithmic approximation algorithm and a heuristic solution with a Ω( n) approximation ratio where n is the size of the multicast group. Both algorithms generate minimum delay trees that intrinsically balance short latency with small degree, and thus avoid an external trial-and-error type of balancing between the two, i.e., our solutions do not impose a maximum degree on the multicast trees. For overlay networks with homogenous costs, we show that the heuristic algorithm is optimal and analyze the convergence rate of a family of non-lazy multicast algorithm. Our work addressed the issue of minimum delay multicasting in the context of fully connected networks and structured topologies used by many peer-2- peer systems. We show that the heuristic scheme achieves an optimal solution for grid graphs, and provide performance bounds for multicasting in grid and tree topologies. Finally, we use a simulation study to evaluate the average performance of the suggested algorithms. The simulations show that the heuristic solution is scalable for large group sizes, and produces results that are very close to optimal. The proposed solution is most useful for delay-sensitive applications, such as real-time media streaming, and can be used to provide an efficient routing infrastructure for group communication applications. i

4 Contents 1 Preface Introduction Background Overlay Communication Network Model 6 3 The Optimal Multicast Tree Problem Problem formulation The optimal recursive computation NP-Completeness Multicast Algorithms Approximation algorithms The postal approximation algorithm The general postal approximation algorithm The MDM approximation algorithm The heuristic algorithm The homogenous case Analysis of Specific Topologies Motivation Trees Spiders Grids A Simulation Study Schemes compared Simulation results Clique topologies Power-law topologies Conclusions Summary 40 ii

5 List of Symbols c(u, v) Communication delay of an edge (u, v) p(v) Processing delay of host v l(p) The cost of a path p T Multicast tree V [T ] Set of nodes in tree T M DM Minimal Delay Multicast M Multicast group set s Source host t T (v) Reception delay of host v using a multicast scheme T M(v) Optimal cost of multicasting from a subtree rooted at v λ uv Communication latency of edge (u, v) in the Postal model s v Switching delay of node v in the Postal model U Terminal set of multicast recivers T Optimal multicast tree for the postal multicasting problem T Maximal generalized degree of tree T L T Weighted diameter of tree T γ Switching to communication ratio γ 0 Maximal value between γ and 1 U i Core subset of terminals computed in the ith iteration OP T Cost of the optimal solution for the MDM problem n Multicast group size GHP Generalized heterogeneous postal model I GHP GHP configuration instance OP T GHP Cost of the optimal solution for the GHP multicasting problem t GHP T Reception delay of host v using a GHP multicast scheme T t[v] Ready time attribute for host v m[v] The mate host of v w u;v Weight of edge (u, v) d u;v Weight of the shortest path from u to v π u;v Predecessor of v on the shortest path from i N(t) Maximal number of hosts that can be reached in the interval (0, t] R (t) Maximal number of messages received in the interval (t τ, t] G m;n Grid graph with size m n D Maximal distance in a grid graph b(v) Optimal broadcast time from v in a grid graph d(v) Additional delay of host v iii

6 List of Figures 1.1 Examples of multicast trees Example of an ordered multicast tree Approx-MDM cost transformation example Greedy tree construction for the MDM problem n approximation ratio of the heuristic tree SPT examples for grid topology Heuristic tree examples for grid topology Examples of B 1 and B 2 structures The multicast delay for a clique topology with random network costs from [1, 10] The multicast delay for a clique topology with random processing costs from [1, 10] and unit communication costs The multicast delay for a clique topology with random communication costs from [1, 10] and unit processing costs The multicast delay for a clique topology with near homogenous random costs selected from [0.75, 1.25] The multicast delay for a power-law topology with random network costs from [1, 10] iv

7 Chapter 1 Preface 1.1 Introduction Multicast is a key component in the design of group communication applications which require efficient data delivery to multiple destinations. However, IP multicast which implements multicast functionality at the network layer is still not widely deployed in current IP networks. To alleviate this problem, several recent proposals [1] have advocated an alternative approach, termed application layer multicast or end-host multicast, which implements multicast functionality at the application layer using unicast network level services only, forming an overlay network between end hosts. The goal of application layer multicast [2] is to construct and maintain efficient distribution trees between the multicast session participants, minimizing the performance penalty involved with application-layer processing. Many proposals attempt to optimize the cost of the multicast delivery tree using application level performance metrics such as delay or throughput. The systems which aim at reducing the overall delay [2, 3, 4, 5, 6, 7] construct a minimum height (or minimum diameter) tree with constrained degrees. The degree constraints are used to control the network resource usage, i.e., available bandwidth or stress on the physical links. However, this solution stipulates the usage of a dual cost optimization objective which mixes network level and application level costs to characterize applications performance. In this thesis we advocate an application-centric approach which quantifies system performance using application level costs only. We claim that the conventional overlay network model and its corresponding delay measure are designed to characterize multicast systems which assume network-level data distribution capabilities. Unfortunately, message processing by end-hosts involves an additional delay penalty which is not captured by such models and is related to application-layer implementations of packet duplication and routing. In particular, the shift of multicast functionality to the upper level influences the simultaneous distribution capabilities of end-hosts, implying a communi- 1

8 CHAPTER 1. PREFACE 2 cation model with sequential message distribution. This constraint stems from the fundamental change in the characteristics of the routing infrastructure assumed by the overlay network, attributed to the difference between message distribution speeds of routing nodes (i.e., end-hosts) in overlay networks and packet distribution speeds of routers in conventional physical networks. For example, consider the simple network of Figure 1.1A, composed of three hosts H 1, H 2, and H 3 and two routers R 1 and R 2 connected using a high speed backbone, where host H 1 uses a low-bandwidth access link for network connectivity, e.g., modem access, and H 2, H 3 use high-bandwidth LAN access connectivity. Assume that the goal of the overlay system is to devise a multicast tree that provides minimal distribution delay from H 1 to H 2 and H 3. Clearly, a multicast system must be careful to avoid delegating large degree to the low bandwidth host H 1 in order to eliminate unnecessary bottleneck due to its low-speed data distribution capabilities. Figure 1.1B depicts the corresponding optimal multicast tree. Now, consider the conventional routing algorithm used by many application-layer multicast architectures that optimize tree delay, namely the shortest path tree algorithm. In this case the shortest path multicast tree reduces to a star topology (Figure 1.1C), which ignores the performance penalty at the star center. Hence, serialized message distribution which is irrelevant to IP multicast schemes must be accounted for in the evaluation of overlay multicast architectures. Surprisingly, however, many application-layer architectures which optimize tree delay have neglected these implications on the overall performance of group communication applications. Another factor which constrains parallel message distributions in overlay networks is the processing capacity of end-host machines. For instance, consider a server which implements router like functionality at the application layer and therefore may not have enough CPU power to handle message processing at the full speed of its network interfaces. Hence, the effective message distribution rate of an end-host is shaped by two factors, the bandwidth of the access link connecting the host or its local area network to the physical network, and the processing power and the computational load on the host machine. A recent study [8] that measured the actual end-host heterogeneity of popular p2p overly systems showed that the bandwidth and latency parameters can vary by several orders of magnitude across different hosts in the system. In this paper, we present an overlay network model which captures the realistic costs involved with application-layer multicast. The model is a mathematical generalization of a communication model developed by Cidon et al. [18] for high-speed networks, and similarly it incorporates two separate delay measures. The processing delay measure, which is a reciprocal of the effective message distribution speed of an end-host application, and the communication delay measure, which represents the delay of traversing an overlay link. This framework enables us to characterize the performance of multicast trees using

9 CHAPTER 1. PREFACE 3 H1 H1 H1 R1 H2 H 2 H 3 R 2 H3 H2 H 3 Low-Speed Access Link High-Speed Access Link Backbone Link (A) (B) (C) Figure 1.1: Comparison between application-layer multicast and network-layer multicast in a simple heterogeneous overlay network a single cost, the overall delay of message distribution. We use the proposed framework to develop heuristic and approximation algorithms for the problem of constructing delay optimized multicast trees. Both the heuristic and the approximation generate minimum delay trees that intrinsically balance short latency with small degree, and thus avoid an external trial-and-error type of balancing between the two, i.e., we do not impose a maximum degree on our trees. Our heuristic algorithm constructs such trees efficiently and thus can scale to large multicast groups, which is a known problem [2]. Note that the suggested solution works both for fully connected topologies, and for structured topologies, used in some p2p overlay networks [9]. Therefore, we address the issue of multicasting in partially connected networks, and provide performance bounds for tree and grid graphs. The presented algorithmic solutions can be effectively used to implement centralized overlay systems, such as p2p and server based systems. The heuristic algorithm is particularly useful in the context of two-tier server based architectures [5, 10, 3] which construct a virtual tree among the servers to provide an efficient content and data delivery services to end-users. Each end-user registers to a server in order to receive multicast services, and the server handles the dissemination of the aggregated traffic. Such semi-static architectures employ reliable servers to provide high-availability service, stipulating a simple implementation with low computational overhead due to minor topology changes. Furthermore, a centralized approach is capable of providing quick

10 CHAPTER 1. PREFACE 4 and efficient session management services by sharing the computational load among several overlay servers [4]. The main applicability of our algorithms is in the context of delay-sensitive multicast applications, which require tight bounds on the end-to-end delays due to jitter and timing constrains. Applications which belong to this category include audio conferencing, real-time media streaming, content distribution services, and multi-player distributed games. The rest of the thesis is organized as follows. The next chapter formulates the overlay communication model. In Chapter 3 we discuss the problem of optimal multicast tree construction and show that this problem is NP-Complete. In Chapter 4 we develop approximation and heuristic algorithms for solving this problem. Chapter 5 deals with performance analysis of the heuristic algorithm for several overlay topologies. An experimental evaluation of our solutions is presented at Chapter 6. Finally, Chapter 7 concludes our work. 1.2 Background Broadcast and multicast are important communication primitives which have many applications in distributed and parallel systems. The problem of designing efficient broadcast and multicast algorithms under the assumption of sequential message distribution have been extensively studied in the context of several communication models. One model which was widely investigated is the telephone model [11], which assumes a synchronous communication model where each node can either send or receive a single message per communication round. Some telephone model studies have focused on the problem of designing optimal broadcast schemes for specific classes of graphs (see [12] for a comprehensive survey), while others have suggested approximations which support efficient broadcasting in general graphs ([13, 14, 20, 15]). Cidon et al. [18] presented a homogenous communication model for highspeed networks which captures communication costs using two parameters transmission delay and computation delay. In this model, the network is represented by an undirected graph G = (V, E). Each node is associated with a processing delay cost P, and each edge is associated with a communication delay cost C. The model assumes sequential processing of messages, such that the time needed for a node to handle the transmission of i messages is ip. In addition, they proposed an optimal tree-based broadcast algorithm [18] for complete graphs, and showed that such trees achieve a broadcast delay which is logarithmic in the size of V. Raz and Shavitt [19] presented a general version of this model which supports IP-like routing, and considered efficient multicasting algorithm (based on balanced trees) for line topologies. The postal model, introduced by Bar-Noy et al. [11], is a similar homogenous model which captures network communication costs by incorporating a latency

11 CHAPTER 1. PREFACE 5 parameter λ. It assumes a fully connected communication model where each host can either transmit or receive a single message per time unit. More specifically, this model assumes that a message originator, u, spends one unit of time preparing and sending a message to its destination. After the transmission u is free to perform other functions including sending other messages. The destination completes the reception λ units of time after the initial preparation of the message by the originator. LogP [16] is a similar homogenous model which uses an extended set of parameters to characterize communications costs. Optimal broadcast schemes for these homogenous models can be found in [11, 17]. The heterogeneous postal model [20] extends the postal model by assuming that the communication costs are not uniform. In addition the model incorporates a switching time measure which represents the minimal gap between message transmissions. This model represents the communication network using an undirected graph G = (V, E), a switching time function which associates a sending time s v with each node v V, and a communication latency function which associates a length λ uv with each pair of nodes (u, v) E. A log k approximation algorithm is given in [20] for the problem of optimal multicast where k is the size of the multicast group.

12 Chapter 2 Overlay Communication Network Model In this chapter we define the overlay communication model and the corresponding delay measures which characterize the performance of application-layer multicast solutions. An overlay network is a fully connected virtual network formed by hosts which communicate with each other using a physical network, such as the Internet. The physical network is composed of routing nodes (i.e., routers) and communication links. Hosts are connected to the routing nodes using access links (for example, see Figure 1.1A). The underlying assumption is that backbone links have abundant bandwidth, while access links may impose system bottlenecks due to potential bandwidth limitations. The overlay network utilizes the regular unicast services of the physical network to provide communication among hosts, and do not require any special support at the network level. The delay experienced by a message that travels between hosts is composed of two elements: I. Communication delay, which represents the delay of traversing the unicast path between the hosts. This component includes the accumulated propagation and queuing delays of the physical links on the unicast path, and the message reception overhead at the receiver host. II. Processing delay, which represents the delay of processing a message at the sender host. This element includes the overhead of preparing a message for transmission and the transmission delay through the physical access link. Although current operating systems and their communication services have mechanisms which allow applications to perform simultaneous (or near simultaneous) message transmissions, the simultaneous effect is overridden by the 6

13 CHAPTER 2. OVERLAY COMMUNICATION NETWORK MODEL 7 inherent serialization involved with message transmission through a physical access link. This type of serialization is typically performed at the hardware level by the access equipment. Furthermore, the sequential distribution prohibits the usage of unrealistic application design schemes which relies on simultaneous message transmissions. We define an overlay network model based on a generalization of a communication model developed by Cidon et al. [18]. The overlay network is modeled by a directed complete graph G = (V, E), where V is a set of vertices representing hosts, and E is the set of edges representing the communication paths in the overlay topology. We use the terms host and link to refer to the vertexes and edges in the overlay graph. Each overlay edge (u, v) E is associated with a communication delay cost, c(u, v), and each host v V is associated with a bounded and finite processing delay cost, p(v). The original model of Cidon et al. [18] assumes homogenous processing and communication costs, i.e., p(v) = P, v V, and c(u, v) = C, (u, v) E The direct communication between hosts is characterized as follows. Assume that at time t, host u initiates processing of a message targeted to host v. Then host u is busy processing this message during the time interval [t, t+p(u)], and the message arrives at host v at time t + p(u) + c(u, v). After this processing period (i.e., [t, t + p(u)]), host u is free to handle the following messages. Therefore, the processing delay represents the minimum time interval between consecutive message transmissions. It is important to note that in our model, the delay costs between pairs of hosts do not necessarily satisfy the triangle inequality. This is a known phenomenon in the Internet, stemming in part from policy routing. For example, Jamin et al. [21, Figures 2 and 3] show that about 30-50% of the triangles in the Internet do not obey the triangle inequality. Given a pair of hosts v 1 and v k which are connected by a path p v1,v k =< v 1,..., v k > of length k 1, the cost of the path from v 1 to v k, denoted by l(p v1,v k ), is defined as the sum of the communication delays of the overlay links in this path and the processing delays of the traversed hosts (the processing delay of v k is excluded since it doesn t consume processing resources for further delivery). Therefore k 1 l(p v1,v k ) = p(v i ) + c(v i, v i+1 ) (2.1) i=1 where v i, 1 i k denotes the ith host on the path p v1,v k. One may view this cost as a measure of the minimum distribution delay (using the specified path) from v 1 to v k. We believe that this model captures the heterogeneity of current overlay networks, and provides a realistic framework for evaluating the performance of multicast algorithms.

14 Chapter 3 The Optimal Multicast Tree Problem 3.1 Problem formulation In this chapter we state our design objective formally and show that the optimal multicast tree problem is NP-Complete. We use the term multicast scheme to refer to the task of distributing a message from a source host to a subset of hosts M in the overlay network. Since one cannot relay on the cooperation of non-participating hosts (i.e., hosts which do not belong to the multicast group M), we assume that only the hosts in M are allowed to participate in the distribution. Thus, a multicast scheme in the graph G = (V, E) can be viewed as a broadcast scheme, i.e., the task of distributing a message to the entire network, in the subgraph induced by the host set M V. We formulate the optimal multicast tree problem, also denoted as minimal delay multicast (MDM) problem, as follows. Definition 3.1. The optimal multicast tree problem (MDM): Given a directed complete graph G = (V, E), a multicast group M V, a source host s M, a non-negative real processing delay p(v) for each vertex v V, and a non-negative real communication cost c(u, v) for each edge (u, v) E, find a multicast scheme which minimizes the delay by which all the hosts in M receive a message from s, namely a scheme which minimizes the arrival time of the last message. Our goal is to devise a multicast scheme which minimizes the distribution delay. Therefore, we restrict this study to non-lazy multicast schemes, in which a host that has already received a message does not delay message distribution by becoming idle (this term was introduced in [20]). Such schemes correspond to an ordered directed tree T, rooted at s and spanning M. The root of the tree corresponds to the source host s, and the 8

15 CHAPTER 3. THE OPTIMAL MULTICAST TREE PROBLEM s 1 1 v1 v v3 v4 v5 v6 Figure 3.1: Example of an ordered multicast tree rest of the nodes corresponds to the rest of the hosts in the multicast group M. Each non-leaf node u has an ordered list of k children u 1,..., u k which correspond to the ordered set of k hosts u 1,..., u k to which host u sends the multicast message. That is, the ith outgoing edge of node u corresponds to the ith transmission from u. The reception delay of host v M, denoted by t T (v), is defined to be the time at which v receives a message from the source host, s. The reception delay of s is by definition 0. The reception delay of node v at depth k which is connected to the tree root using a unique directed path, p v0,v k =< v 0,..., v k > such that v 0 = s and v k = v, is computed by summing the communication delays of the path edges and the processing delays of the traversed hosts. Therefore we have k 1 t T (v) = (c(v i, v i+1 ) + p(v i ) g(v i, v i+1 )) (3.1) i=0 where g(v i, v i+1 ) denotes the index of the transmission from v i to v i+1, 0 i k 1 (i.e., the processing round number used to prepare and deliver the message from v i to v i+1 ). The cost of a multicast tree T is defined as the earliest time at which all the hosts have been notified, i.e., this cost is max v M t T (v). For example, consider the ordered tree in Figure 3.1. The communications costs are located near the edges, and the processing costs near the nodes. The edges of this tree are depicted from left to right according to increasing transmission order. By applying equation (3.1) we get that the reception delay of v 1 is = 3. Observe that s distributes the message to v 2 after two processing rounds, and therefore the reception delay of v 2 is = 3. Similarly, the reception delays of v 3, v 4, v 5, v 6 are 7, 8, 9, 11, respectively, and the cost of the tree is 11. Given a multicast tree we can easily calculate the optimal ordering using

16 CHAPTER 3. THE OPTIMAL MULTICAST TREE PROBLEM 10 a recursive computation, working bottom-up. This recursion is presented in the following section. In the rest of the thesis we neglect the ordering and concentrate on finding the optimal tree. 3.2 The optimal recursive computation Given a tree T = (V, E) rooted at s with associated processing and communication costs p and c, respectively, we need to compute the optimal cost and optimal ordering of T. We employ a bottom-up recursive computation approach. For each node v V, v s with parent u we compute the quantity M(v). This quantity represents optimal cost of the subtree rooted at v, i.e., the minimal multicast delay from v to the nodes in its subtree. We use the quantity m(v) to incorporate the communication cost from u to v: m(v) = M(v) + c(u, v) (3.2) Given a non leaf node v with k children v 1,..., v k, we denote by r(v, i) a rank function that returns a child node of v with the ith largest m quantity. Therefore, the recursive formulation of the optimal cost of a tree rooted at a non-leaf node v is M(v) = max {m(r(v, i)) + i p(v)} (3.3) 1 i k The optimal cost of a tree rooted at a leaf node v is by definition m(v) = 0. The optimal multicast delay of tree T is simply M(s). The corresponding optimal ordering is computed according to the rank function, such that the ith child of a non-leaf node v is r(v, i). The time complexity of this computation is Θ( V ). The correctness follows from the fact that in a tree graph any multicast scheme is characterized only by the message distribution order of non-leaf hosts. The following lemma provides a simple proof for the optimality of the recursive computation. Lemma 3.1. The recursive computation provides an optimal solution for minimum delay multicast in a tree graph T = (V, E). Proof. Assume to the contrary, that there exists an optimal multicast scheme in which host u V distributes a message to child hosts u i and u j in processing rounds k and l, k < l, respectively, whereas m(u i ) < m(u j ). By swapping the transmissions order to these child nodes, the multicast delay may be reduced by at most (l k) p(u), which contradicts the assumption that this multicast scheme outperforms the distribution order of the recursion.

17 CHAPTER 3. THE OPTIMAL MULTICAST TREE PROBLEM 11 Consider the example depicted in Figure 3.1. Using the recursive computation we get that M(v 1 ) = max{1 + 3, } = 5 and M(v 2 ) = max{2 + 4, } = 8. The optimal cost of the tree is achieved when s distributes the first message to v 2, such that the overall multicast delay, M(s), is max{1 + 9, 2 + 7} = 10. We further discuss tree graphs in Section 5.2, where we develop worst case performance bounds for multicasting in such graphs. 3.3 NP-Completeness We now show that the MDM problem is NP-complete using a simple reduction from the telephone broadcast (TB) problem. In the Telephone model (see [11]) communication is synchronous, i.e., at each time unit a node may send a message to at most one other node. The TB problem seeks an optimal broadcast scheme which distributes a message from a source node to all the nodes in a given graph in a minimal number of time units. The TB problem is known to be NP-Hard [22, ND49] for arbitrary graphs. Theorem 3.1. The decision version of the MDM problem, finding a multicast tree with a delay bound K, is NP-complete. Proof. The problem is in NP since we can verify in polynomial time whether a certificate multicast scheme satisfies the delay bound. We prove that it is NP-Hard by a reduction from TB. Let G = (V, E) be an instance of the TB problem, and let n denote the number of nodes in V. We construct an instance of the MDM problem as follows. We form a complete graph G = (V, E ), where E = {(u, v), u, v V }, and we define the processing cost function as p(v) = 1, v V, and the communication cost function as { 0 if (u, v) E, c(u, v) = n if (u, v) / E. We let M = V. It is easy to verify that the TB instance, represented by G, has a broadcast scheme which completes within K time units iff the MDM instance, represented by (G,p,c), has a multicast scheme with a delay of K time units. Note that the problem is shown to be NP-Hard when a uniform set of processing costs is considered. That is, the problem still remains hard even when using homogenous processing costs, implying that the processing cost measure is a true bottleneck for designing efficient multicast algorithms.

18 Chapter 4 Multicast Algorithms Since the problem of finding the optimal multicast tree is NP-complete, we seek to devise approximations and heuristics described as follows. We begin with developing approximation algorithm based on a modified version of the postal approximation algorithm. This algorithm accepts an undirected overlay graph input, implying that its domain is limited to overlay networks with symmetric links. This restriction is in many cases unrealistic due to the widespread deployment of asymmetric access links, such as ADSL and cable-modem connections. Furthermore, the approximation needs to solve multiple linear programs and therefore its running time is at least Θ(n 7 ) (see [15]). We therefore devise an alternative cost-effective heuristic tree construction algorithm that supports directed overlay networks, and evaluate its performance. Finally, we analyze homogenous overlay networks where the processing and communication costs are uniform, and show that non-lazy trees achieve logarithmic multicast delay. We also discuss the extensions of these algorithms to support shared tree solutions. In the shared tree approach [23] a single tree is constructed for the purpose of multi-source multicast, such that the shared tree is used by all the group members. Our analysis show that the presented algorithms can be easily modified to support shared trees without major impact on the performance. Of course, using multiple single source multicast trees will always achieve lower delay, but at the expense of the management and resource usage overhead. 4.1 Approximation algorithms We base our approximation on the algorithm of Bar-Noy et al. [20] originally designed for the heterogeneous postal model. The postal model represents the communication network using an undirected graph G = (V, E), a switching time function which associates a sending time parameter s v with each node v V, and a communication latency function which associates a length parameter λ uv with each pair of nodes (u, v) E. In this model, the direct communication between nodes is characterized as follows [20]: assume node u sends a message 12

19 CHAPTER 4. MULTICAST ALGORITHMS 13 to node v at time 0 and the message arrives at v at time λ u,v. The assumption is that u is free to send a new message at time s u (i.e., u is considered busy engaged only with the current transmission in the first s u time units following the previous transmission time). By definition, s u is smaller than λ u,v, i.e., the delay λ u,v takes into account the sending time at u (and the receiving time at v). Although both models (postal and overlay) have common properties, the postal model differs from the overlay model in the following aspects. In the postal model the communication latency of a link incorporates the sending time, while in the overlay model the sending time is incorporated in the processing delay of the sender host. Thus, the cost (i.e., delay) of delivering the ith message from u to v is the sum of the cost of (u, v) and i 1 times the cost of u in the case of the postal model, and the sum of the cost of (u, v) and i times the cost of u in the case of the overlay model. The postal model requires that s u < λ uv, (u, v) E. Therefore, we need to adapt the postal approximation algorithm before applying it to the overlay model. We do this in three steps: 1. We define the generalized heterogeneous postal (GHP) model which eliminates the restriction on the values of the communication and switching (sending) measures. 2. The original postal approximation algorithm is adapted to support GHP models. This adaptation, termed general postal approximation, increases the approximation ratio by a multiplicative factor γ = max (v,w) E { s v λ vw } 3. We construct a cost preserving transformation from the overlay model to the GHP model and apply the general postal approximation to compute the multicast tree. This process results in an approximation algorithm, Approx-MDM, which increases the original approximation ratio by an additive factor. We now proceed to define the GHP model. Definition 4.1. The GHP model is a heterogeneous postal model which excludes the restriction on the network costs, such that the edge length parameter in the GHP model is finite and positive, i.e., λ uv > 0, (u, v) E. Therefore, in the GHP model the communication latency between nodes can have any finite positive real value, providing a framework that includes nodes with switching time which is larger than the communication latency to the neighbors. The following measure captures the proportion between switching and communication times.

20 CHAPTER 4. MULTICAST ALGORITHMS 14 Definition 4.2. Given a GHP model with graph G = (V, E), switching time function s, and a communication latency function λ, define γ = max (v,w) E { s v λ vw } as the switching to communication ratio of the graph G. Before proceeding to the general postal approximation we provide an outline of the postal approximation algorithm. The interested reader is directed to [20] for the full details. In the context of the postal model the multicast problem is defined as follows. Given a configuration of an undirected graph with associated communication and switching cost functions (G = (V, E), s, λ), a set of terminals U V, and a source node r U, find the minimal time (i.e., delay) scheme that distributes a message from r to the terminal set U, where all the nodes in V may participate in the distribution. Observe that we preserve the notations of [20] which denote the multicast group by U The postal approximation algorithm The basic idea of the algorithm is to find a multicast tree T which minimizes the quantity T + L T, where T denotes the maximum generalized degree (the actual degree multiplied by the corresponding switching time) of T, and L T denotes the maximum distance (in T ) from r to any of the nodes in U The algorithm computes a multicast tree, which approximates the cost of the optimal tree, T, iteratively using l rounds. Let U i denote the terminal set in the ith round. The algorithm starts with the initial set U 0 = U and terminates when U l = {r}. In the ith round the algorithm uses the core procedure to compute the following, for any i l: 1. a core subset U i U i 1 of size at most 3 4 U i 1 where r U i 2. a multicast scheme from U i to U i 1, such that the obtained multicast time is linear in the optimal multicast time from r to U i 1. The computation of core(u i ) involves the following steps: 1. Solve a linear program, variant of a multicommodity flow. The resulting set of fractional paths is rounded [20, Theorem 4] producing a set of U i integral paths, one for each terminal. The length and congestion properties of the integral paths are linear in T + L T. The congestion property is the generalized degree of the graph spanned by a set of paths. 2. Transform the set of paths into a set of spider graphs, which are graphs where at most one node has a degree larger than two. The resulting spiders span at least half of the nodes in U i. Each spider contains at least two terminals, and its generalized degree and diameter is linear in T + L T.

21 CHAPTER 4. MULTICAST ALGORITHMS Select an arbitrary terminal from each spider together with nodes which are not spanned by any spider to be included within the resulting core. This selection ensures that the chosen spider terminal is able to distribute a message to the remaining spider nodes in O( T + L T ). In [20] it is shown that the resulting tree has a O(log U ) multiplicative approximation factor. The postal approximation algorithm cannot be directly applied to the GHP model due to the particular selection of the coefficients of the rounding matrix. The following section describes the new rounding matrix used to derive the general postal approximation algorithm The general postal approximation algorithm We now describe the GHP rounding matrix which enables the support of networks with γ 1, i.e., GHP models. We preserve the notations of [20], P 1, P 2,... denotes the length bounded fractional flow paths, and V (P i ) and E(P i ) denotes the set of nodes and edges in a path P i, respectively; f(p i ) denotes the amount of flow pushed on path P i, and P j denotes the set of all paths that carry flow of the jth commodity. To simplify the presentation of the results we define γ = max{1, γ}. In the general postal approximation, the following rounding matrix (termed GHP rounding matrix) is used for rounding the fractional solution of step (1) in the core computation. for each v s v f(p i ) 6 T for all j 4L T γ i: v V (P i ) i: P i P j f(p i ) = 4L T γ The sum of positive entries in the ith column is: s v λ vw γ + s tj 4L T γ. v V (P i ) (v,w) E(p i ) where the second part of the equation follows from the definition of γ. The sum of the negative entries at each column is at most 4L T γ. By invoking the rounding theorem [20, Theorem 4] we get a set of integral paths such that their congestion is at most 6 T + 4L T γ and the length of each path is at most 4L T γ. The general postal approximation algorithm. The general postal approximation algorithm is a postal approximation algorithm which employees a GHP rounding matrix instead of the original one.

22 CHAPTER 4. MULTICAST ALGORITHMS 16 The correctness of the modified algorithm follows from the fact the algorithm structure and its underling theorems and lemmas are not related to the specific switching and communication cost values, except of the constrained selection of the rounding coefficient which we handle appropriately. Therefore it remains to show the approximation ratio. The transformation performed on the rounded paths, step (2) in the core procedure, yields a set of spiders, such that the diameter of each spider is at most 4 γ ( T + L T ) and the generalized degree (of the center) of a spider is at most 6 γ ( T + L T ). Since the algorithm invokes O(log U ) iterations of the core procedure and the cost of the optimal tree T is at least 0.5 ( T + L T ) [20, Lemma 1], we have that the multicast time from the root r to a set of terminals U is at most O(log U max{1, γ}) times the optimal multicast time The MDM approximation algorithm The following is a polynomial algorithm that approximates the minimum multicast delay. The algorithm accepts as an input an overlay network configuration, (G, c, p), which consists of an undirected graph G = (M, E ) with associated processing and communication cost functions, p and c, respectively, and a source host s M. Given an overlay network graph (V, E), the input graph, G, is the subgraph induced by the multicast group set M V (see Section 3.1). Algorithm Approx-MDM( s, G, p, c) 1. Construct a GHP configuration instance I GHP = (G, s, λ), from the graph G, switching time function s v = p(v), v M and communication latency function λ u,v = c(u, v) + (p(u) + p(v))/2, (u, v) E. 2. Invoke the general postal approximation to compute a multicast tree using I GHP, source host s, and multicast group U which spans M, i.e., U = M. 3. Return the computed multicast tree An example of the cost transformation performed in step (1) of the Approx- MDM algorithm is presented in Figure 4.1. The input instance (see Figure 4.1A) is a simple overlay network with three hosts. The corresponding GHP network is presented in Figure 4.1B. The algorithm runs in polynomial time due to the polynomial time construction performed is step (1) and the polynomial execution time of the approximation algorithm in step (2). The correctness of the algorithm follows immediately from the correctness of the general postal approximation algorithm.

23 CHAPTER 4. MULTICAST ALGORITHMS 17 p 1 p 1 = s 1 c 1 c 2 p 1 + p 3 l 1 = + c 2 1 c 2 + p 1 + p 2 2 = l 2 p 3 p 2 c 3 p 3 = s 3 p 2 = s 2 p c p 2 = l 2 3 (A) (B) Figure 4.1: Example that illustrates the cost transformation of the Approx- MDM algorithm (A) The overlay instance (B) The resulting GHP instance The following lemma shows the approximation ratio of the algorithm. Let OP T denote the multicast delay of the optimal tree and let n denote the size of M. Let p max = max v M p(v) and p min = min v M p(v) be the maximal and minimal processing costs of the hosts in M. Theorem 4.1. The multicast delay of the Approx-MDM algorithm is at most (OP T + (p max p min )) O(log n) Proof. Given a multicast tree T which spans M and a host v M, let t GHP (v) T be the reception delay of v assuming GHP timing. Similarly to equation (3.1), the GHP reception delay of v is k 1 t GHP (v) = (λ T vi,v i+1 + s vi (g(v i, v i+1 ) 1)) (4.1) i=0 where v i, 0 i k 1, v 0 = s and v k = v, denotes the ith host on the unique directed path in T from s to v, and g(v i, v i+1 ) denotes the index of the transmission from v i to v i+1. Observe that, due to the definition of the postal model (see Section 4.1), there is a delay gap of a single processing round (per each traversed host) between the message delivery delays in the postal and overlay models. By substituting the computed switching and communications costs of I GHP with the corresponding overlay input costs, i.e., s v = p(v), λ u,v = c(u, v) + (p(u) + p(v))/2, we get the following relationship between the reception delay costs. p(s) p(v) t GHP (v) = + t T 2 T (v) (4.2) Now, consider the following quantities which are computed assuming GHP timing model. Let OP T GHP be the multicast delay of an optimal tree TGHP for

24 CHAPTER 4. MULTICAST ALGORITHMS 18 the I GHP configuration. Let u M be the node with the maximal reception delay in TGHP. Therefore we have that OP T GHP OP T + p(u) p(s) 2 OP T + p max p min 2 (4.3) where the first inequality follows from Equation (4.2) and the second one follows from the substitution of p(u), p(s) in equation(4.3) with p max, p min. The constructed I GHP instance satisfies γ < 2, since p(v) 0.5 (p(v) + p(w)) + c(v, w) < 2, (v, w) E (4.4) The constant bound on γ implies that the multicast delay of the resulting tree is at most OP T GHP O(log n). Substituting OP T GHP according to equation (4.3) gives the requested upper bound for the multicast delay. When the processing costs are all equal, it improves our approximation for the MDM problem to O(log n). We do not restrict the communication costs to be homogeneous. The following theorem handles this case. Theorem 4.2. Consider an overlay model with homogenous processing costs, i.e., p(v) = p, v V. The multicast delay of Approx-MDM algorithm for this case is at most OP T O(log n) Theorem 4.2 can be obtained by substituting p max = p min = p in Theorem 4.1. Given a network with symmetric communication costs, a multicast tree T rooted at s can be easily adapted to support multicasting from multiple sources. To enable the multicast from a host v M, v s, we reverse the direction of the edges on the path from s to v. This modification results in a multicast scheme with a delay which at most p(v) p(s) + 2 C (4.5) where C denotes the cost of T. Therefore, the undirected version of T can be used as a shared tree such that the multicast delay of any host v s is at most 2 (OP T s + (p max p min )) O(log n) (4.6) where OP T s denotes the optimal multicast delay from s.

25 CHAPTER 4. MULTICAST ALGORITHMS The heuristic algorithm We introduce a heuristic tree construction algorithm which solves the directed variant of the MDM problem. The proposed algorithm computes the multicast tree incrementally using a greedy approach; for each host not yet included in the tree, the algorithm computes its minimum reception delay, and the host with the maximal delay quantity is selected. The tree is extended with the hosts on a minimum delay path between the selected host and a notified host. Figure 4.2 shows the steps of the algorithm. The input to this algorithm is the same as the input to the Approx-MDM, except for the source host which is denoted by s. The algorithm maintains a ready time attribute t[v] for each host v M which records the minimal time at which the host is free to initiate processing of a new message. The ready time is set to infinity to indicate non notified host. The constructed tree is denoted by T and the corresponding set of notified hosts by V [T ]. In each iteration, the algorithm determines for each host u M V [T ] its mate host m[u] V [T ] by selecting a path which minimizes the ready time attribute of u, setting v to indicate the host with the maximal reception delay. Then, it updates the ready time of the hosts on the path from m[v] to v to reflect the processing time involved with delivering a message to a newly notified host v, and it adds the path hosts to the constructed tree T. The variable w indicates the current updated host. The algorithm terminates when all the hosts are notified. To be able to calculate the connection cost between a non notified host and a notified host, a preprocessing phase of computing all pairs shortest path using the Floyd-Warshall algorithm [24] is implemented. Given a pair of hosts v 1 and v k connected by a path < v 1,..., v k > of length k 1, the cost of this path is defined as k 1 i=1 p(v i) + c(v i, v i+1 ), where v i, 1 i k denotes the ith host on this path, i.e., this cost represent the minimal distribution delay (along the specified path) from v 1 to v k. A shortest path from host u to host v is defined as any path between these hosts with minimum cost. Therefore, the input to the Floyd-Warshall computation is an n n weight matrix W = (w vi,v j ) defined as: { p(vi ) + c(v w vi,v j = i, v j ) if v i v j, (4.7) 0 otherwise. where n denotes the size of M. The output of the all pairs shortest path computation is composed of two n n matrices; all pairs distance matrix D = (d vi,v j ) and predecessor matrix Π = (π vi,v j ); where d vi,v j stores the weight of the shortest path from v i to v j, and π vi,v j stores the predecessor of v j on its shortest path to v i assuming that such a path exists, otherwise π vi,v j stores a null pointer. Observe that the shortest path from the source s to any host v is a lower bound on the cost of the optimal tree. This algorithm can be extended to support a shared tree solution using

26 CHAPTER 4. MULTICAST ALGORITHMS 20 Algorithm Heuristic-MDM(G, p, c, s) 1. t[s] = 0, set s as the root of a tree T 2. for each v M {s} 3. do t[v] 4. for each (u, v) E 5. do w u,v = c(u, v) + p(u) 6. for each (u, v) / E 7. do if v = u then w u,v = 0 else w u,v = 8. D, Π All-Pairs-Shortest-Path(G, W ) 9. while M V [T ] 10. for each host u M V [T ] do 11. m[u] arg min v:v V [T ] {t[v] + d v,u } 12. v arg max u:u M V [T ] {t[m[u]] + d m[u],u } 13. w v 14. while w m[v] do 15. t[w] t[m[v]] + p(w) + d m[v],w 16. add w to T as a child of π m[v],w 17. w π m[v],w 18. t[m[v]] t[m[v]] + p(m[v]), t[v] t[v] p(v) 19. return T Figure 4.2: Greedy tree construction for the MDM problem

27 CHAPTER 4. MULTICAST ALGORITHMS 21 the following modification. At the initialization phase the longest path in the graph G is computed using the weight matrix W, and the hosts on this path are used as the initial set of notified hosts in T. The shared tree variant uses this initial selection instead of the original one and proceeds with normal tree construction as in the original algorithm. The complexity analysis of this algorithm is straightforward. The all pairs shortest path computation requires Θ(n 3 ) time. Each iteration requires O(n) time to find a single mate host, and O(n) time to extend the tree. The total time per iteration is therefore O(n 2 ), and the total running time of the heuristic algorithm is Θ(n 3 ). We conjecture this time complexity cannot be improved since any algorithm should at least calculate the all pair shortest path. We show using an example (see Figure 4.3A) a lower bound on the approximation ratio of the heuristic tree. Consider the following complete undirected graph G = (V, E) with n + 1 hosts denoted by v 0,..., v n, with processing costs defined as p(v) = 1, v V, and communication costs c(v i, v j ) defined as c(v i, v j ) = 0 if i = 0, j = 1,... n, δ if 1 i n 1, j = i + 1, n otherwise. (4.8) where δ 0. For the simplicity of presentation Figure 4.3A omits the edges with cost n. Assume that the source host is v 0 and that M = V. Therefore, the heuristic scheme would have v 0 distribute the message to the rest of the hosts using n processing rounds, such that the tree cost is n (see Figure 4.3B). On the other hand, consider an improved scheme in which v 0 distributes the message to k hosts, and the last host in the graph receives the message in k + mδ time units, where m is a positive integer. Let p i denote the length (i.e., the number of edges) of path p i. Such a scheme can be obtained by a tree composed of k paths p 1,..., p k which share only single host, v 0 (i.e., only v 0 has an out-degree more than two), and the lengths of these paths form the following non increasing sequence: p i 1 = p i+1,1 i k 1, whereas for a single index j in this set we may have p j = p j+1. Figure 4.3C depicts such a tree when n = k (k+1). Assume that v 2 0 distributes the message to these paths (i.e., to its k children in the tree) according to a decreasing path length order. Therefore, the cost of the optimal tree is less than (1 + δ) k. Since the set of paths span all the hosts in V we have that k = O( n), and therefore we get Ω( n) approximation ratio for the multicast delay. We conjecture that this example represents the worst case, namely that our heuristic algorithm is an n-approximation. 4.3 The homogenous case Consider a fully connected overlay network with homogeneous processing and delay costs, i.e., p(v) = p, v V, c(u, v) = c, (u, v) E. We denote this

Approximation and Heuristic Algorithms for Minimum Delay Application-Layer Multicast Trees

Approximation and Heuristic Algorithms for Minimum Delay Application-Layer Multicast Trees Approximation and Heuristic Algorithms for Minimum Delay Application-Layer Multicast Trees Eli Brosh and Yuval Shavitt 1 Abstract In this paper we investigate the problem of finding minimum delay application-layer

More information

FUTURE communication networks are expected to support

FUTURE communication networks are expected to support 1146 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 13, NO 5, OCTOBER 2005 A Scalable Approach to the Partition of QoS Requirements in Unicast and Multicast Ariel Orda, Senior Member, IEEE, and Alexander Sprintson,

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Application Layer Multicast Algorithm

Application Layer Multicast Algorithm Application Layer Multicast Algorithm Sergio Machado Universitat Politècnica de Catalunya Castelldefels Javier Ozón Universitat Politècnica de Catalunya Castelldefels Abstract This paper presents a multicast

More information

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1

Communication Networks I December 4, 2001 Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page 1 Communication Networks I December, Agenda Graph theory notation Trees Shortest path algorithms Distributed, asynchronous algorithms Page Communication Networks I December, Notation G = (V,E) denotes a

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Λέων-Χαράλαμπος Σταματάρης

Λέων-Χαράλαμπος Σταματάρης Λέων-Χαράλαμπος Σταματάρης INTRODUCTION Two classical problems of information dissemination in computer networks: The broadcasting problem: Distributing a particular message from a distinguished source

More information

Approximability Results for the p-center Problem

Approximability Results for the p-center Problem Approximability Results for the p-center Problem Stefan Buettcher Course Project Algorithm Design and Analysis Prof. Timothy Chan University of Waterloo, Spring 2004 The p-center

More information

CS521 \ Notes for the Final Exam

CS521 \ Notes for the Final Exam CS521 \ Notes for final exam 1 Ariel Stolerman Asymptotic Notations: CS521 \ Notes for the Final Exam Notation Definition Limit Big-O ( ) Small-o ( ) Big- ( ) Small- ( ) Big- ( ) Notes: ( ) ( ) ( ) ( )

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

On The Complexity of Virtual Topology Design for Multicasting in WDM Trees with Tap-and-Continue and Multicast-Capable Switches

On The Complexity of Virtual Topology Design for Multicasting in WDM Trees with Tap-and-Continue and Multicast-Capable Switches On The Complexity of Virtual Topology Design for Multicasting in WDM Trees with Tap-and-Continue and Multicast-Capable Switches E. Miller R. Libeskind-Hadas D. Barnard W. Chang K. Dresner W. M. Turner

More information

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Ewa Kusmierek and David H.C. Du Digital Technology Center and Department of Computer Science and Engineering University of Minnesota

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

In this lecture, we ll look at applications of duality to three problems:

In this lecture, we ll look at applications of duality to three problems: Lecture 7 Duality Applications (Part II) In this lecture, we ll look at applications of duality to three problems: 1. Finding maximum spanning trees (MST). We know that Kruskal s algorithm finds this,

More information

13 Sensor networks Gathering in an adversarial environment

13 Sensor networks Gathering in an adversarial environment 13 Sensor networks Wireless sensor systems have a broad range of civil and military applications such as controlling inventory in a warehouse or office complex, monitoring and disseminating traffic conditions,

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

Implementation of Near Optimal Algorithm for Integrated Cellular and Ad-Hoc Multicast (ICAM)

Implementation of Near Optimal Algorithm for Integrated Cellular and Ad-Hoc Multicast (ICAM) CS230: DISTRIBUTED SYSTEMS Project Report on Implementation of Near Optimal Algorithm for Integrated Cellular and Ad-Hoc Multicast (ICAM) Prof. Nalini Venkatasubramanian Project Champion: Ngoc Do Vimal

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn Graphs Extremely important concept in computer science Graph, : node (or vertex) set : edge set Simple graph: no self loops, no multiple

More information

Data Caching under Number Constraint

Data Caching under Number Constraint 1 Data Caching under Number Constraint Himanshu Gupta and Bin Tang Abstract Caching can significantly improve the efficiency of information access in networks by reducing the access latency and bandwidth

More information

Worst-case Ethernet Network Latency for Shaped Sources

Worst-case Ethernet Network Latency for Shaped Sources Worst-case Ethernet Network Latency for Shaped Sources Max Azarov, SMSC 7th October 2005 Contents For 802.3 ResE study group 1 Worst-case latency theorem 1 1.1 Assumptions.............................

More information

Constructing Communication Subgraphs and Deriving an Optimal Synchronization Interval for Distributed Virtual Environment Systems

Constructing Communication Subgraphs and Deriving an Optimal Synchronization Interval for Distributed Virtual Environment Systems Constructing Communication Subgraphs and Deriving an Optimal Synchronization Interval for Distributed Virtual Environment Systems John CS Lui Department of Computer Science & Engineering The Chinese University

More information

Algorithm 23 works. Instead of a spanning tree, one can use routing.

Algorithm 23 works. Instead of a spanning tree, one can use routing. Chapter 5 Shared Objects 5.1 Introduction Assume that there is a common resource (e.g. a common variable or data structure), which different nodes in a network need to access from time to time. If the

More information

35 Approximation Algorithms

35 Approximation Algorithms 35 Approximation Algorithms Many problems of practical significance are NP-complete, yet they are too important to abandon merely because we don t know how to find an optimal solution in polynomial time.

More information

Bipartite Roots of Graphs

Bipartite Roots of Graphs Bipartite Roots of Graphs Lap Chi Lau Department of Computer Science University of Toronto Graph H is a root of graph G if there exists a positive integer k such that x and y are adjacent in G if and only

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks

Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks Approximating Node-Weighted Multicast Trees in Wireless Ad-Hoc Networks Thomas Erlebach Department of Computer Science University of Leicester, UK te17@mcs.le.ac.uk Ambreen Shahnaz Department of Computer

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

Chapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path. Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the

More information

OPTIMAL LINK CAPACITY ASSIGNMENTS IN TELEPROCESSING AND CENTRALIZED COMPUTER NETWORKS *

OPTIMAL LINK CAPACITY ASSIGNMENTS IN TELEPROCESSING AND CENTRALIZED COMPUTER NETWORKS * OPTIMAL LINK CAPACITY ASSIGNMENTS IN TELEPROCESSING AND CENTRALIZED COMPUTER NETWORKS * IZHAK RUBIN UCLA Los Angeles, California Summary. We consider a centralized network model representing a teleprocessing

More information

Chapter 8 DOMINATING SETS

Chapter 8 DOMINATING SETS Chapter 8 DOMINATING SETS Distributed Computing Group Mobile Computing Summer 2004 Overview Motivation Dominating Set Connected Dominating Set The Greedy Algorithm The Tree Growing Algorithm The Marking

More information

Integrated t Services Digital it Network (ISDN) Digital Subscriber Line (DSL) Cable modems Hybrid Fiber Coax (HFC)

Integrated t Services Digital it Network (ISDN) Digital Subscriber Line (DSL) Cable modems Hybrid Fiber Coax (HFC) Digital Local Loop Technologies Integrated t Services Digital it Network (ISDN) Handles voice and data Relatively l high h cost for low bandwidth (Skip) Digital Subscriber Line (DSL) Cable modems Hybrid

More information

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems Benjamin Grimmer bdg79@cornell.edu arxiv:1508.05567v2 [cs.ds] 20 Jul 2017 Abstract We consider a variety of NP-Complete network

More information

Centralized versus distributed schedulers for multiple bag-of-task applications

Centralized versus distributed schedulers for multiple bag-of-task applications Centralized versus distributed schedulers for multiple bag-of-task applications O. Beaumont, L. Carter, J. Ferrante, A. Legrand, L. Marchal and Y. Robert Laboratoire LaBRI, CNRS Bordeaux, France Dept.

More information

Routing algorithms. Jan Lönnberg, 51101M. October 2, Based on G. Tel: Introduction to Distributed Algorithms, chapter 4.

Routing algorithms. Jan Lönnberg, 51101M. October 2, Based on G. Tel: Introduction to Distributed Algorithms, chapter 4. Routing algorithms Jan Lönnberg, 51101M October 2, 2002 Based on G. Tel: Introduction to Distributed Algorithms, chapter 4. 1 Contents Introduction Destination-based routing Floyd-Warshall (single processor)

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 29 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/7/2016 Approximation

More information

MOST attention in the literature of network codes has

MOST attention in the literature of network codes has 3862 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 8, AUGUST 2010 Efficient Network Code Design for Cyclic Networks Elona Erez, Member, IEEE, and Meir Feder, Fellow, IEEE Abstract This paper introduces

More information

Chapter 8 DOMINATING SETS

Chapter 8 DOMINATING SETS Distributed Computing Group Chapter 8 DOMINATING SETS Mobile Computing Summer 2004 Overview Motivation Dominating Set Connected Dominating Set The Greedy Algorithm The Tree Growing Algorithm The Marking

More information

Direct Routing: Algorithms and Complexity

Direct Routing: Algorithms and Complexity Direct Routing: Algorithms and Complexity Costas Busch, RPI Malik Magdon-Ismail, RPI Marios Mavronicolas, Univ. Cyprus Paul Spirakis, Univ. Patras 1 Outline 1. Direct Routing. 2. Direct Routing is Hard.

More information

1 Random Walks on Graphs

1 Random Walks on Graphs Lecture 7 Com S 633: Randomness in Computation Scribe: Ankit Agrawal In the last lecture, we looked at random walks on line and used them to devise randomized algorithms for 2-SAT and 3-SAT For 2-SAT we

More information

CS 204 Lecture Notes on Elementary Network Analysis

CS 204 Lecture Notes on Elementary Network Analysis CS 204 Lecture Notes on Elementary Network Analysis Mart Molle Department of Computer Science and Engineering University of California, Riverside CA 92521 mart@cs.ucr.edu October 18, 2006 1 First-Order

More information

Optimization I : Brute force and Greedy strategy

Optimization I : Brute force and Greedy strategy Chapter 3 Optimization I : Brute force and Greedy strategy A generic definition of an optimization problem involves a set of constraints that defines a subset in some underlying space (like the Euclidean

More information

Clustering Using Graph Connectivity

Clustering Using Graph Connectivity Clustering Using Graph Connectivity Patrick Williams June 3, 010 1 Introduction It is often desirable to group elements of a set into disjoint subsets, based on the similarity between the elements in the

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

Queue Length Stability in Trees Under Slowly Convergent Traffic Using Sequential Maximal Scheduling

Queue Length Stability in Trees Under Slowly Convergent Traffic Using Sequential Maximal Scheduling University of Pennsylvania ScholarlyCommons Departmental Papers (ESE) Department of Electrical & Systems Engineering November 2008 Queue Length Stability in Trees Under Slowly Convergent Traffic Using

More information

8 Supervised Overlay Networks

8 Supervised Overlay Networks 8 Supervised Overlay Networks Every application run on multiple machines needs a mechanism that allows the machines to exchange information. An easy way of solving this problem is that every machine knows

More information

( ) n 3. n 2 ( ) D. Ο

( ) n 3. n 2 ( ) D. Ο CSE 0 Name Test Summer 0 Last Digits of Mav ID # Multiple Choice. Write your answer to the LEFT of each problem. points each. The time to multiply two n n matrices is: A. Θ( n) B. Θ( max( m,n, p) ) C.

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

Algorithms for Provisioning Virtual Private Networks in the Hose Model

Algorithms for Provisioning Virtual Private Networks in the Hose Model IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 10, NO 4, AUGUST 2002 565 Algorithms for Provisioning Virtual Private Networks in the Hose Model Amit Kumar, Rajeev Rastogi, Avi Silberschatz, Fellow, IEEE, and

More information

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions Dr. Amotz Bar-Noy s Compendium of Algorithms Problems Problems, Hints, and Solutions Chapter 1 Searching and Sorting Problems 1 1.1 Array with One Missing 1.1.1 Problem Let A = A[1],..., A[n] be an array

More information

6 Randomized rounding of semidefinite programs

6 Randomized rounding of semidefinite programs 6 Randomized rounding of semidefinite programs We now turn to a new tool which gives substantially improved performance guarantees for some problems We now show how nonlinear programming relaxations can

More information

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost

Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R + Goal: find a tour (Hamiltonian cycle) of minimum cost Traveling Salesman Problem (TSP) Input: undirected graph G=(V,E), c: E R

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

Algorithms Exam TIN093/DIT600

Algorithms Exam TIN093/DIT600 Algorithms Exam TIN093/DIT600 Course: Algorithms Course code: TIN 093 (CTH), DIT 600 (GU) Date, time: 22nd October 2016, 14:00 18:00 Building: M Responsible teacher: Peter Damaschke, Tel. 5405 Examiner:

More information

Steiner Trees and Forests

Steiner Trees and Forests Massachusetts Institute of Technology Lecturer: Adriana Lopez 18.434: Seminar in Theoretical Computer Science March 7, 2006 Steiner Trees and Forests 1 Steiner Tree Problem Given an undirected graph G

More information

Centralized versus distributed schedulers for multiple bag-of-task applications

Centralized versus distributed schedulers for multiple bag-of-task applications Centralized versus distributed schedulers for multiple bag-of-task applications O. Beaumont, L. Carter, J. Ferrante, A. Legrand, L. Marchal and Y. Robert Laboratoire LaBRI, CNRS Bordeaux, France Dept.

More information

Precomputation Schemes for QoS Routing

Precomputation Schemes for QoS Routing 578 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 11, NO. 4, AUGUST 2003 Precomputation Schemes for QoS Routing Ariel Orda, Senior Member, IEEE, and Alexander Sprintson, Student Member, IEEE Abstract Precomputation-based

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

7 Distributed Data Management II Caching

7 Distributed Data Management II Caching 7 Distributed Data Management II Caching In this section we will study the approach of using caching for the management of data in distributed systems. Caching always tries to keep data at the place where

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

EE/CSCI 451: Parallel and Distributed Computation

EE/CSCI 451: Parallel and Distributed Computation EE/CSCI 451: Parallel and Distributed Computation Lecture #11 2/21/2017 Xuehai Qian Xuehai.qian@usc.edu http://alchem.usc.edu/portal/xuehaiq.html University of Southern California 1 Outline Midterm 1:

More information

4 Fractional Dimension of Posets from Trees

4 Fractional Dimension of Posets from Trees 57 4 Fractional Dimension of Posets from Trees In this last chapter, we switch gears a little bit, and fractionalize the dimension of posets We start with a few simple definitions to develop the language

More information

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007 CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Local Search: Max-Cut, Facility Location Date: 2/3/2007 In previous lectures we saw how dynamic programming could be

More information

From Routing to Traffic Engineering

From Routing to Traffic Engineering 1 From Routing to Traffic Engineering Robert Soulé Advanced Networking Fall 2016 2 In the beginning B Goal: pair-wise connectivity (get packets from A to B) Approach: configure static rules in routers

More information

On Minimizing Packet Loss Rate and Delay for Mesh-based P2P Streaming Services

On Minimizing Packet Loss Rate and Delay for Mesh-based P2P Streaming Services On Minimizing Packet Loss Rate and Delay for Mesh-based P2P Streaming Services Zhiyong Liu, CATR Prof. Zhili Sun, UniS Dr. Dan He, UniS Denian Shi, CATR Agenda Introduction Background Problem Statement

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

An Optimal Bound for the MST Algorithm to Compute Energy Efficient Broadcast Trees in Wireless Networks. Qassem Abu Ahmad February 10, 2008

An Optimal Bound for the MST Algorithm to Compute Energy Efficient Broadcast Trees in Wireless Networks. Qassem Abu Ahmad February 10, 2008 An Optimal Bound for the MST Algorithm to Compute Energy Efficient Broadcast Trees in Wireless Networks Qassem Abu Ahmad February 10, 2008 i Contents 1 Introduction 1 2 Main Results 2 3 An Optimal bound

More information

7.3 Spanning trees Spanning trees [ ] 61

7.3 Spanning trees Spanning trees [ ] 61 7.3. Spanning trees [161211-1348 ] 61 7.3 Spanning trees We know that trees are connected graphs with the minimal number of edges. Hence trees become very useful in applications where our goal is to connect

More information

Graph Algorithms Using Depth First Search

Graph Algorithms Using Depth First Search Graph Algorithms Using Depth First Search Analysis of Algorithms Week 8, Lecture 1 Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Graph Algorithms Using Depth

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

More information

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3) COMPSCI 632: Approximation Algorithms September 18, 2017 Lecturer: Debmalya Panigrahi Lecture 7 Scribe: Xiang Wang 1 Overview In this lecture, we will use Primal-Dual method to design approximation algorithms

More information

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19:

CS270 Combinatorial Algorithms & Data Structures Spring Lecture 19: CS270 Combinatorial Algorithms & Data Structures Spring 2003 Lecture 19: 4.1.03 Lecturer: Satish Rao Scribes: Kevin Lacker and Bill Kramer Disclaimer: These notes have not been subjected to the usual scrutiny

More information

Quality of Service Routing

Quality of Service Routing Quality of Service Routing KNOM Tutorial 2004, Jeju, Korea, Nov. 4-5, 2004. November 5, 2004 Kwang-Hui Lee Communication Systems Lab, Changwon National University khlee@changwon.ac.kr Contents Introduction

More information

What is Multicasting? Multicasting Fundamentals. Unicast Transmission. Agenda. L70 - Multicasting Fundamentals. L70 - Multicasting Fundamentals

What is Multicasting? Multicasting Fundamentals. Unicast Transmission. Agenda. L70 - Multicasting Fundamentals. L70 - Multicasting Fundamentals What is Multicasting? Multicasting Fundamentals Unicast transmission transmitting a packet to one receiver point-to-point transmission used by most applications today Multicast transmission transmitting

More information

Lecture 7: Asymmetric K-Center

Lecture 7: Asymmetric K-Center Advanced Approximation Algorithms (CMU 18-854B, Spring 008) Lecture 7: Asymmetric K-Center February 5, 007 Lecturer: Anupam Gupta Scribe: Jeremiah Blocki In this lecture, we will consider the K-center

More information

Multicast EECS 122: Lecture 16

Multicast EECS 122: Lecture 16 Multicast EECS 1: Lecture 16 Department of Electrical Engineering and Computer Sciences University of California Berkeley Broadcasting to Groups Many applications are not one-one Broadcast Group collaboration

More information

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.

NP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions. CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT

More information

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2017 CS 6820: Algorithms Lecture notes on the simplex method September 2017 1 The Simplex Method We will present an algorithm to solve linear programs of the form maximize subject

More information

Coloring 3-Colorable Graphs

Coloring 3-Colorable Graphs Coloring -Colorable Graphs Charles Jin April, 015 1 Introduction Graph coloring in general is an etremely easy-to-understand yet powerful tool. It has wide-ranging applications from register allocation

More information

Algorithm Design (8) Graph Algorithms 1/2

Algorithm Design (8) Graph Algorithms 1/2 Graph Algorithm Design (8) Graph Algorithms / Graph:, : A finite set of vertices (or nodes) : A finite set of edges (or arcs or branches) each of which connect two vertices Takashi Chikayama School of

More information

DOUBLE DOMINATION CRITICAL AND STABLE GRAPHS UPON VERTEX REMOVAL 1

DOUBLE DOMINATION CRITICAL AND STABLE GRAPHS UPON VERTEX REMOVAL 1 Discussiones Mathematicae Graph Theory 32 (2012) 643 657 doi:10.7151/dmgt.1633 DOUBLE DOMINATION CRITICAL AND STABLE GRAPHS UPON VERTEX REMOVAL 1 Soufiane Khelifi Laboratory LMP2M, Bloc of laboratories

More information

Algorithm Analysis. (Algorithm Analysis ) Data Structures and Programming Spring / 48

Algorithm Analysis. (Algorithm Analysis ) Data Structures and Programming Spring / 48 Algorithm Analysis (Algorithm Analysis ) Data Structures and Programming Spring 2018 1 / 48 What is an Algorithm? An algorithm is a clearly specified set of instructions to be followed to solve a problem

More information

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Lecture 16, Spring 2014 Instructor: 罗国杰 gluo@pku.edu.cn In This Lecture Parallel formulations of some important and fundamental

More information

2 The Fractional Chromatic Gap

2 The Fractional Chromatic Gap C 1 11 2 The Fractional Chromatic Gap As previously noted, for any finite graph. This result follows from the strong duality of linear programs. Since there is no such duality result for infinite linear

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

A Genetic Algorithm Framework

A Genetic Algorithm Framework Fast, good, cheap. Pick any two. The Project Triangle 3 A Genetic Algorithm Framework In this chapter, we develop a genetic algorithm based framework to address the problem of designing optimal networks

More information

val(y, I) α (9.0.2) α (9.0.3)

val(y, I) α (9.0.2) α (9.0.3) CS787: Advanced Algorithms Lecture 9: Approximation Algorithms In this lecture we will discuss some NP-complete optimization problems and give algorithms for solving them that produce a nearly optimal,

More information

1 Non greedy algorithms (which we should have covered

1 Non greedy algorithms (which we should have covered 1 Non greedy algorithms (which we should have covered earlier) 1.1 Floyd Warshall algorithm This algorithm solves the all-pairs shortest paths problem, which is a problem where we want to find the shortest

More information

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Given a simple directed graph G = (V, E), a cycle cover is a set of vertex-disjoint directed cycles that cover all vertices of the graph. 1. Show that there

More information

Solutions for the Exam 6 January 2014

Solutions for the Exam 6 January 2014 Mastermath and LNMB Course: Discrete Optimization Solutions for the Exam 6 January 2014 Utrecht University, Educatorium, 13:30 16:30 The examination lasts 3 hours. Grading will be done before January 20,

More information

Chapter 7 CONCLUSION

Chapter 7 CONCLUSION 97 Chapter 7 CONCLUSION 7.1. Introduction A Mobile Ad-hoc Network (MANET) could be considered as network of mobile nodes which communicate with each other without any fixed infrastructure. The nodes in

More information

Storage Allocation Based on Client Preferences

Storage Allocation Based on Client Preferences The Interdisciplinary Center School of Computer Science Herzliya, Israel Storage Allocation Based on Client Preferences by Benny Vaksendiser Prepared under the supervision of Dr. Tami Tamir Abstract Video

More information

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur Lecture : Graphs Rajat Mittal IIT Kanpur Combinatorial graphs provide a natural way to model connections between different objects. They are very useful in depicting communication networks, social networks

More information

IP Multicast Technology Overview

IP Multicast Technology Overview IP multicast is a bandwidth-conserving technology that reduces traffic by delivering a single stream of information simultaneously to potentially thousands of businesses and homes. Applications that take

More information