Collective algorithms for sub-communicators Collective communication over a group of processors is an integral and time consuming component in many HPC applications. Many modern day supercomputers are based on torus interconnects. On such systems, for an irregular communicator comprising of a subset of processors, the algorithms developed so far are not contention free in general and hence non-optimal.In this paper, we present a novel contention-free algorithm to perform collective operations over a subset of processors in a torus network. We also extend previous work on regular communicators to handle special cases of irregular communicators that occur frequently in parallel scientific applications. For the generic case where multiple node disjoint sub-communicators communicate simultaneously in a loosely synchronous fashion, we propose a novel cooperative approach to route the data for individual subcommunicators without contention. Empirical results demonstrate that our algorithms outperform the optimized MPI collective implementation on IBM's Blue Gene/P supercomputer for large data sizes and random node distributions. MPI collective routines that perform one-to-many, many-to-one, and many-to-many communications among the processors are amongst the most important and time consuming components in most high performance computing applications. The performance of these MPI collectives is critical for improved scalability and efficiency of parallel scientific applications. With limited bandwith on most systems, for collectives on large messages, avoiding network contention is critical.. Many modern day supercomputers are based on interconnection networks with a k-ary n-cube topology, for example, the Blue Gene/P and Cray XT machines have a 3D torus topology. Applications on such architectures involve collective operations, not only on the entire processor partition (MPI COMM WORLD or the full-communicator in MPI) but also on sub partitions (i.e., subcommunicators in MPI). For example, in molecular dynamics, each processor communicates with other processors that contain atoms Copyright is held by the author/owner(s). PPoPP'12, February 25-29, 2012, New Orleans, Louisiana, USA. ACM 978-1-4503-1160-1/12/02. that interact with the atoms in the original processor, resulting in an arbitrary subset of processors forming a sub-communicator.. Optimizing MPI collectives has been a key topic of interest in high performance computing due to its importance in scaling parallel applications. Most of the existing algorithms are either generic algorithms which work well for most network topologies and a wide range of message sizes, or are specifically tailored for a particular class of collectives on a given network topology and typically large message sizes. The later outperform the generic algorithms for the specific target topologies and message sizes. For example, Van de Geijn et.al [3] proposed an algorithm for large message broadcast that has been shown to outperform the binomial algorithm. Optimization for 3D torus networks has been presented in [1] and [2] . However, most of these algorihms have focused on the cases involving full-communicator.. Our Contributions. In this paper, we propose algorithms for Broadcast, Reduce, and Allreduce based on the construction of novel edge disjoint spanning trees for a random sub-communicator. We make the following key contributions.. • We propose algorithms to construct contention free spanning trees for performing collective operations over a random subcommunicator on a 3D torus network. An SPI implementation of our approach shows an improvement of 2 -4× for Broadcast and Allreduce operations over an optimized MPI implementation available on Blue Gene/P.. • We extend earlier work by in [1] to handle special communicators such as the master/slave scenario where a single processor is excluded from the communicator, and the case where the communicator comprises of a random set of complete parallel 2D planes. An empirical evaluation of our approach demonstrates a speedup of 1.7 -5.8× using an SPI implementation.. • We also explore scenarios where multiple node disjoint irregular sub-communicators exist and communicate simultaneously. For such scenarios, with a moderate number of random subcommunicators we obtain a speedup in the range 1.6 -2.6×. Hardware: All the experiments were performed on Blue Gene/P which is IBM's massively parallel supercomputer. Each node in BGP supports 850 MBps bidirectional links to each of its nearest neighbors for a total of 5.1GB/s bidirectional bandwidth per node. Implementation Specifics: We present two versions of our algorithms; (i) an optimized version which uses a lower level API (SPI) and (ii) an MPI version by modifying the MPI stack. We refer to our Broadcast implementation using SPI as BC-SPI and the MPI stack implementation as BC-MPI. Similarly, we refer to our Allreduce implementations as AR-SPI and AR-MPI respectively. We compare our results against the IBM's product MPI referred to as BC-IBM Product MPI and AR-IBM Product MPI for Broadcast and Allreduce, respectively. We present the performance results of our Broadcast implementation for increasing message sizes in the range 512KB-512MB for a sparse (31/1024 nodes) random sub-communicator in Figure 1 . Similar results were obtained for Allreduce. Figure 2 shows the plot of throughput vs. message size for Broadcast and Allreduce on sub-communictor with one missing node. In Figure 3 , we show the plot of throughput vs. message size for Broadcast and Allreduce operations for sub-communicator with missing planes. The key new idea in our approach is to decouple the construction of edge-disjoint spanning trees from the collective operation which allows us to handle any arbitrary communicator and/or root. Our approach thus essentially consists of two steps. The first step is the construction of the edge-disjoint spanning trees. This is a one time operation that is extremely fast and is performed during the call to create the sub-communicator. The construction is based on two algorithms -the first one is a novel algorithm that we propose for constructing edge-disjoint spanning trees for arbitrary sub-communicators while the other one is a multi-color algorithm proposed by Faraj et at. [1] , which we extend to handle special cases of irregular communicators. The second step is the actual collective operation performed over the spanning tree. Construction of edge-disjoint spanning tree for an arbitrary subcommunicator in 2-D torus is done by carefully choosing a lin-earized (snake like) ordering of nodes which are part of the subcommunicator. The choice of communicating neighbors in this snake pattern ensures that no two communicating nodes use any common link for data transfer. The spanning tree for 3-D torus is obtained by a generalization of the 2-D case.

O B O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B O O O B O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O B O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O


Model Relaxations for the Fuel Cost Minimization of Steady-State Gas Pipeline Networks Natural gas, driven by pressure, is transported through pipeline network systems. As the gas ows through the network, energy and pressure are lost due to both friction between the gas and the pipes' inner wall, and heat transfer between the gas and its environment. The lost energy of the gas is periodically restored at the compressor stations which are installed in the network. These compressor stations typically consume about 3{5% of the transported gas. This transportation cost is signi cant because the amount of gas being transported worldwide is huge. These facts make the problem of how to optimally operate the compressors driving the gas in a pipeline network important.In this paper we address the problem of minimizing the fuel cost incurred by the compressor stations driving the gas in a transmission network under steady-state assumptions. In particular, the decision variables include pressure drops at each node of the network, mass ow rate at each pipeline leg, and the number of units to be operating within each compressor station. We present a mathematical model of this problem and an in-depth study of the underlying mathematical structure of the compressor stations. Then, based on this study, we propose two model relaxations (one in the compressor domain and another in the fuel cost function) and derive a lower bounding scheme. We also present empirical evidence that shows the e ectiveness of the lower bounding scheme. For the small problems, where we were able to nd optimal solutions, the proposed lower bound yields a relative optimality gap of around 15{20%. For a larger, more complex instance, it was not possible to nd optimal solutions, but we were able to compute lower and upper bounds, nding a large relative gap between the two. We show this wide gap is mainly due to the presence of nonconvexity in the set of feasible solutions, since the proposed relaxations do a very good job of approximating the problem within each individual compressor station.We emphasize that this is, to the best of our knowledge, the rst time such a procedure (lower bound) has been proposed in over thirty years of research in the natural gas pipeline area. Natural gas, driven by pressure, is transported through a pipeline network system. As the gas ows through the network, pressure (and energy) is lost due to both friction between the gas and the pipe inner wall, and heat transfer between the gas and its environment. To overcome this loss of energy and keep the gas moving, compressor stations are installed in the network, which consume part of the transported gas resulting in a fuel consumption cost. Principal concerns with both designing and operating a gas pipeline network are maximizing throughput and minimizing fuel cost. Numerical simulations based on either steady-state or transient models of the networks have been used to attempt to provide solutions to these problems. The problem we address in this paper is minimizing fuel cost for steady-state gas pipeline networks.. As the gas industry has developed, gas pipeline networks have evolved over decades into very large and complex systems. A typical network today might consist of thousands of pipes, dozens of stations, and many other devices, such as valves and regulators. Inside each station, there can be several groups of compressor units of various vintages that were installed as the capacity of the system expanded. Such a network may transport thousands of MMCFD (1 MMCFD = 10 6 cubic feet per day) of gas, of which 3{5% is used by the compressor stations to move the gas. It is estimated 12] that the global optimization of operations can save at least 20% of the fuel consumed by the stations. Hence, the problem of minimizing fuel cost is of tremendous importance.. With the aid of today's powerful digital computers, numerical simulation of gas pipeline networks can be very accurate. This opens the door to the development of optimization algorithms. Over the years many researchers have attempted this with varying degrees of success. The di culties of such optimization problems come from several aspects. First, compressor stations are very sophisticated entities themselves. They might consist of a few dozen compressor units with di erent con gurations and characteristics. Each unit could be turned on or o , and its behavior is nonlinear. Second, the set of constraints that de ne feasible operating conditions in the compressors along with the constraints in the pipes constitute a very complex system of nonlinear constraints. Sur ng on such a manifold to attempt to nd global optimal solutions demands an in-depth understanding of its structure. Finally, operations of the valves and regulators may introduce certain discontinuities to the problems as well.. The purpose of this paper is rst to provide an in-depth study of the underlying mathematical structure of the compressor stations. Then, based on this study, we present a mathematical model of the fuel cost minimization problem, and derive a lower bounding scheme based on two model relaxations: (i) relaxation of the fuel cost objective function and (ii) relaxation of the non-convex nonlinear compressor domain. Finally, we present empirical evidence that shows the quality of the proposed relaxations.. The results are promising. For the small instances, where we were able to nd both optimal solutions for the original problem (upper bound), and for the relaxed problem (lower bound) by an exhaustive approach, we found that the proposed relaxations yielded a relative optimality gap of around 15{20%. We also tested the procedure in a larger, more complex instance. For this instance, it was not possible to nd optimal solutions, but it was still possible to calculate lower and upper bounds. We found that the proposed relaxations were in fact doing a good job of approximating the cost function within each individual compressor station. However, when optimizing over the complete domain (including all compressors at once, and other system constraints), the overall bound was not good due mainly to the non-convexity of the set of feasible solutions and to the presence of multiple local optima in the fuel cost function g.. We would like to emphasize that, to the best of our knowledge, this is the rst time such a procedure (lower bound) has been proposed in over thirty years of research in the eld of natural gas pipelines.. The rest of the paper is organized as follows. In Section 2 we highlight the most relevant work related to optimal operation on steady-state gas transmission networks. The compressor unit and station models we have developed are presented in Section 3. In Section 4, we formally introduce the fuel cost minimization problem and present several relaxations that allows us to devise a lower bounding scheme. These procedures have been tested with a few numerical examples in Section 5. We end the paper in Section 6 with our conclusions and directions for future work. We have presented a study of the mathematical structure of compressor stations in natural gas transmission networks. We have analyzed several important properties of both the set of feasible operating conditions and the associated cost function.. The fuel cost minimization model has been presented. We have highlighted why this problem is di cult to solve (namely the nonlinearity, non-convexity, and discontinuity in the objective function, and the non-convexity of the feasible set). We have proposed and derived two model relaxations that allowed us to develop a lower bounding scheme. One relaxation consisted of developing linear supersets D of the feasible domains D. The other is the derivation of piecewise linear under-estimator functions g of the minimum fuel cost functions g for the compressor stations.. The proposed procedures have been tested on three test examples made from real-world data. For the rst two examples, we have found lower bounds with relative gaps of 23% and 15%, respectively. These gaps were with respect to optimal solutions of the problems. The results for the small problems show that the proposed relaxations are in fact good. For the third example, the relative gap was very wide. We observed that the convex under-estimator function was indeed a very good approximation to the function within each of the compressor stations. However, when optimizing over the complete domain, the overall bound was not good due mainly to the non-convexity of the set of feasible solutions and to the presence of multiple local optima in the fuel cost function g.. As is well known, techniques for nding global optimal solutions to non-convex problems, such as branch and bound, rely heavily on the capacity of generating good lower bounds. Further research in this area is needed for handling larger instances more e ectively. A transient, or time dependent, model is another important problem that to date has not been adequately addressed from the optimization perspective.. We should also mention the need for having a library of data sets, that would allow more uniform algorithm testing and benchmarking among researchers and practitioners working in this area. Numerical simulations of gas pipeline networks have been carried out through this century and results can now be very accurate, especially with the aid of powerful digital computers. Osiadacz book 6] stands as the best reference on this subject.. The earlier work on developing optimization algorithms for fuel cost minimization in steadystate gas transmission networks can be traced back to Wong and Larson's work 13] in 1968, which made use of dynamic programming (DP) techniques to solve problems with simple \gun-barrel" network structures. More recently, Lall and Percell 3] present a DP algorithm that handles topologies with diverging branches, and incorporates into the model decision variables for representing the number of units to be operated within each compressor station. More recently, Carter 2] develops a non-sequential DP algorithm to handle looped networks when the mass ow rate variables are xed. The main advantages of DP are that a global optimum is guaranteed to be found and that nonlinearity can be easily handled. Disadvantages of DP are that its application is practically limited to the networks with simple structures, such as \gun-barrel" or tree topologies, and that computation increases exponentially in the dimension of the problem, commonly referred as the curse of dimensionality. Percell and Ryan 10] addressed the problem by using the generalized reduced gradient (GRG) for nonlinear optimization. Advantages of the GRG method are that it avoids the dimensionality problem and that it may be applied to networks with loops. However, since the GRG method was based on a gradient search method, it is not theoretically guaranteed to nd a global optimum, especially in the presence of discrete decision variables, and it may stall at local minima.. In 15], Wu et al. present a mathematical model for the fuel cost minimization over a single unit compressor station. Some of the properties studied in that paper have been extended here to handle stations with multiple compressor units.. Optimization techniques have also been applied for transient (time dependent) models (e.g., Osiadacz 7] , and Osiadacz and Swierczewski 9]), and network design (e.g., Osiadacz and G orecki 8]), with modest success. It is important to mention that optimization approaches developed to date work well under some general assumptions; however, as the problems become more complex, the need arises for further research and e ective development of algorithms from the optimization perspective.

O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I B O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O B I B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


A New Replica Placement Algorithm for Improving the Performance in CDNs With the advent of services and applications over the Internet, speed and reliability have become critical issues for clients, and the Internet currently is not well suited for the purpose of the emerging new service delivery contemplated by today's applications. In response to these challenges, commercial Content Distribution Network (CDN) deploys a set of proxy servers called replicas and improves the content delivery performance by replicating the content to multiple replicas in the Internet.These issues motivate us to do research in how to efficiently place replicas in the network, and then propose a cost-based replica placement algorithm which selects replica locations using a greedy fashion iteratively. We evaluated that it can yield close to optimal performance at low management and computation cost among several replica placement strategies.The key contributions of this paper are threefold:1. A practical cost function from the game theoretic perspective is designed, and is limited by various parameters and constraints. It can minimize either its clients' latency or its total bandwidth consumption. 2. A cost-based replica placement integrating a greedy algorithm is proposed, which can provide CDNs with the performance close to optimal. 3. The performance of the diversified replica placement algorithms is evaluated by simulating their behavior on synthetic and real network topologies. To the best of our knowledge, there are few studies on this subject.In summary, we study the online problem of placing web replicas in CDNs to minimize the cost for clients to access data replicated from the original web servers. The novel cost-based replica placement is designed combining with the minimum k-median heuristic greedy algorithm. We evaluate the performance of the different replica placement algorithms by simulating their behavior on both synthetic and real network topologies. Based upon simulation results, we conclude that our cost-based greedy algorithm for web server replica placement can provide CDNs with performance that is close to optimal. Although the greedy algorithm depends upon estimation, we find it is a viable and practical algorithm to use in the general Internet environment. As for future work, we are interested in exploring incremental versions of the placement algorithms that also take into account the cost of changing the set of replica sites. Ideally, for placement strategies with similar performance, we prefer the one that incurs the least amount of perturbation to the system.

O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Analysis of state-independent importance-sampling measures for the two-node tandem queue We investigate the simulation of overflow of the total population of a Markovian two-node tandem queue model during a busy cycle, using importance sampling with a state-independent change of measure. We show that the only such change of measure that may possibly result in asymptotically efficient simulation for large overflow levels is exchanging the arrival rate with the smallest service rate. For this change of measure, we classify the model's parameter space into regions of asymptotic efficiency, exponential growth of the relative error, and infinite variance, using both analytical and numerical techniques. Since the end of the 1980s, there has been a steady interest in the problem of estimating rare event probabilities in queueing models, particularly in networks of queues. This interest derives mainly from applications in the field of telecommunications where buffers in routers and switches should be dimensioned so that overflow is a rare event.. One rare-event simulation method that has received much attention is importance sampling (IS). In this method, the target event is artificially made less rare by changing the probability distributions (also called change of measure or tilting) in the model; this is compensated for by keeping track of the so-called likelihood ratio. This method can give very large simulation speedup, but the difficulty is finding an appropriate change of measure.. • In this article, a detailed analysis of simulating a Markovian two-node tandem queue using importance sampling with a state-independent change of measure has been presented. The main conclusion is that the only such change of measure that may be asymptotically efficient is the one proposed in Parekh and Walrand [1989] . Furthermore, the performance of this change of measure • P. T. de Boer has been characterized further, thus extending the results from Glasserman and Kou [1995] . Although these results have been obtained for one particular model, they do have implications for research in the general area of efficient simulation of queueing models as follows.. First, the results emphasize the importance of state-dependent tilting. It is now certain that no state-independent tilting can be asymptotically efficient for the two-node tandem model at certain parameter values; given the model's simplicity, this is presumably also true for almost any other nontrivial queueing model. This means that methods for finding a state-independent tilting have limited applicability (although when they do work, they still may be preferable due to their simplicity), which strongly motivates further research into statedependent tilting.. Second, results from this article are useful for evaluating other importance sampling measures. The complete characterization of P&W for the two-node tandem queue allows one to select the most interesting parameter settings for testing a newly proposed importance sampling measure. Furthermore, the techniques introduced in this article (for proving the absence of asymptotic efficiency and for numerically characterizing an importance sampling estimator's performance) may also be used to characterize other importance sampling measures.. Future extensions of this work could be the following. It would be of interest to see whether a stronger version of Theorem 3.1 could be proved, asserting that P&W is the only possibly asymptotically efficient state-independent change of measure for a larger class of models. Also, analysis of state-independent exponential tilting of a non-Markovian queueing network would be an interesting extension. The result of a scan of the entire μ, ν parameter space for the two-node tandem queue with P&W tilting is shown in Figure 3 . Note that, in contrast to other results in this article, this scan also covers the case in which the first queue is the bottleneck (i.e., μ < ν). At every point in a grid with a stepsize of 0.0025 (and 0.0008333 in the magnified area), the value of r as defined previously was calculated and indicated in the graph using a shade of gray. Points having r = 0 got the darkest gray (labeled as "bounded RE", although actually any r < 1 corresponds to bounded RE); points having r = 2 got middle gray (exponential growth); points having r values in between got a proportional intermediate shade. Points at which the calculation of the second moment was not possible, so for which the variance was apparently infinite as discussed earlier, got the lightest shade. The overflow level K used for each of these points varies, from K = 160 for most points up to K = 1280 for a few. The higher overflow levels were used at points where a lower K yielded an r value that was not close to 0 or 2; in such cases, r indeed became closer to 0 or 2 (or infinite variance occurred) at higher K , suggesting that the asymptotic behavior was not yet dominant at the lower K .. • P. T. de Boer Fig. 3 . Behavior of the two-node tandem queue simulation under P&W tilting.. Theorems 4.1 and 5.1 provide sufficient conditions for exponential growth and infinite variance; these curves (i.e., curves C' and D from Figure 2 ) have also been drawn in the figure for comparison with the numerical results. Clearly, these curves are pretty close to the actual boundaries of the respective regions, but there are some points with infinite variance that are outside the areas delineated by the curves (some of these points were verified as discussed at the end of Section 7.1, so it seems very unlikely that this is due to numerical inaccuracies). Thus, the conditions in Theorems 4.1 and 5.1 are indeed only sufficient and not necessary conditions. However, outside the infinite variance area, the curve from Theorem 4.1 does seem to be the true boundary between the areas of asymptotic efficiency and exponential growth, although this has not been formally proven.. Furthermore, note that, although the proofs only imply bounded relative error above line B in Figure 2 , the numerical results suggest that wherever the Fig. 4 . A closer look at the infinite variance region: black points in the center: infinite variance for K = 7; light gray: infinite variance for K = 10 but not for K = 7; medium: infinite variance for K = 20 but not for K = 10; dark: infinite variance for K = 160 but not for K = 20. simulation is asymptotically efficient, it also has a bounded relative error. In other words, r ≈ 1 was never observed.. It is remarkable that the figure has a partial symmetry under exchange of μ and ν (i.e., making the first or the second queue the bottleneck): the infinite variance region seems to be symmetric, while the asymptotically efficient region clearly is not symmetric. Since the problem is not symmetric under exchange of μ and ν, it is in principle not to be expected that the behavior should be symmetric. One can verify that for every cyclic path sufficiently far away from the absorbing states (n 1 + n 2 = 0 and n 1 + n 2 = K ), a cyclic path with the same probability and likelihood ratio exists in the system obtained by exchanging μ and ν; and since infinite variance is related to cyclic paths (see Lemma 3.2 in Randhawa and Juneja [2004] ), this makes it plausible that the infinite variance region should indeed be symmetric. Furthermore, note that the asymmetry of the exponential growth region confirms the empirical observation of Parekh and Walrand [1989] that importance sampling simulating with ν < μ performs better than with ν > μ.. Finally, it should be noted that the classification in Figure 3 is purely based on the asymptotic behavior for high overflow levels. Thus, equal shades in the figure do not mean equal simulation performance at a given value of K . For example, infinite variance already occurs for all K ≥ 7 in the center of the infinite variance region near μ = ν = 0.416; but the closer to the boundary of the region one gets, the higher K can be without infinite variance, as illustrated in Figure 4 . Similarly, the exponential growth rate can be very different among points within the exponential growth area.

O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Full-chip multilevel routing for power and signal integrity Abstract Power distribution network and signal network are two major resource consumers for wire-limited deep sub-micron (DSM) designs, and are designed separately in a conventional physical design flow. The power network is designed first to respect the power integrity, and then signal network is routed with the remaining routing budgets. The separated design flow has the following two drawbacks: (1) the power network tends to over-design to satisfy power integrity constraints because of the lack of knowledge about the following signal routing; (2) the remaining resource budgets after However, there are very limited previous works on this subject. The reason is that both signal routing and power network design are computationally intensive, and combining them results in a problem with even higher complexity. To the best of our knowledge, there are only two works in literature that addressed a similar problem [12, 10] . The authors in [12] added a feedback loop between the power network design and signal routing to resolve the resource contention problem. Because of the iterative nature of feedback, design convergence is very slow and only results on small benchmarks were reported 1 . The authors in [10] addressed the problem in three steps: signal routing, power network routing, and then signal routing. Because their first routing stage was not aware of the following power routing, iterations may still be possible. Nevertheless, [10] did provide a new perspective to the conventional physical design flow, and such a three-step solution has been successfully applied to real industrial practices.. In this work, we propose a one-pass solution to the codesign of power network and signal routing under integrity constraints . The major motivation for this work is our awareness that the design convergence problem can only be solved by a correct-by-construction methodology rather than a trial-and-error approach. The rest of the paper is organized as follows: we discuss the preliminary and design constraints in Section 2 and our problem formulation in Section 3. We present the power net estimation formula in Section 4, algorithm details in Section 5, and experiment results in Section 6. We conclude this paper with discussion of our future work in Section 7.

O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Polynomial and APX-hard cases of the individual haplotyping problem SNP haplotyping problems have been the subject of extensive research in the last few years, and are one of the hottest areas of Computational Biology today. In this paper we report on our work of the last two years, whose preliminary results were presented at the European Symposium on Algorithms (Proceedings of the Annual European Symposium on Algorithms (ESA), Vol. 2161. Lecture Notes in Computer Science, Springer, 2001, pp. 182-193.) and Workshop on Algorithms in Bioinformatics (Proceedings of the Annual Workshop on Algorithms in Bioinformatics (WABI), Vol. 2452. Lecture Notes in Computer Science, Springer, 2002, pp. 29-43.). We address the problem of reconstructing two haplotypes for an individual from fragment assembly data. This problem will be called the Single Individual Haplotyping Problem. On the positive side, we prove that the problem can be solved effectively for gapless data, and give practical, dynamic programming algorithms for its solution. On the negative side, we show that it is unlikely that polynomial algorithms exist, even to approximate the solution arbitrarily well, when the data contain gaps. We remark that both the gapless and gapped data arise in different real-life applications. One of the biggest scientific conquests of the last decades has certainly been the sequencing of the human genome [18, 13] . To achieve this result, thousands of people from all over the world, with different scientific backgrounds, have been involved at various levels. This milestone result is one more step, from Mendel's experiments with cross-breeding some varieties of peas, to Watson and Crick's discovery of DNAs double helix structure, which brings us closer to a real understanding of the secret of life.. Being able to look at the genetic makeup of humans (as well as other species), a striking discovery was made: we are all almost identical at DNA level (99% and more identity). Hence, genomic differences located in relatively small regions must be responsible for the observed diversities in our phenotypes (e.g., for the way we look). The smallest possible variation is at the level of a single nucleotide and is called Single Nucleotide Polymorphism or SNP (pronounced "snip"). It is believed that SNPs are the predominant form of human genetic variation, so that their importance cannot be overestimated for medical, drug-design, diagnostic and forensic applications.. Broadly speaking, a polymorphism is a trait, common to everybody, whose value can be different but drawn in a limited range of possibilities, called alleles (for a simple example, think of the blood group). A SNP is a specific nucleotide, placed in the middle of a DNA region which is otherwise identical for all of us, whose value varies, in a statistically significant way, within a population. In particular, for some reasons that are still unclear, each SNP usually shows a variability of only two possible alleles (i.e., two possible bases out of four). These alleles can be different for different SNPs.. Since DNA of diploid organisms is organized in pairs of chromosomes, for each SNP one can either be homozygous (same allele on both chromosomes) or heterozygous (different alleles). The values of a set of SNPs on a particular chromosome copy define a haplotype. Haplotyping an individual consists of determining a pair of haplotypes, one for each copy of a given chromosome. The pair provides full information of the SNP fingerprint for that individual at the specific chromosome.. There exist different combinatorial versions of haplotyping problems. For instance, the problem of haplotyping a population (i.e., a set of individuals) has been extensively studied, under many objective functions, in recent years [1, 4, 6, 10, 11] . The problem of haplotyping a single individual has been first formalized as an optimization problem by these authors [14, 17] . A statistical approach for this problem has been recently proposed by Li et al. [15] .. Given the full DNA sequence of an individual, haplotyping would consist of the trivial check of the value of some nucleotides. Unfortunately, in reality the situation is not so simple. In fact, although in principle the problem of sequencing a genome is considered to have been solved, at a more practical level there are still many issues, which force the use of computer algorithms and proper optimization models to come up with the "best" possible sequence from the data. The same holds for haplotyping: given genomic data, there is a computational haplotyping problem, consisting of determining the "best" (i.e., most likely to be correct) pair of haplotypes, which can be inferred from the data. In this paper we formally define this problem, deriving conditions under which it is solvable in polynomial time and others for which it is NP-hard. We remark that both situations are likely to occur in real-life contexts, depending on the type of data available and the methodology used for sequencing. For the polynomial version of the problem we also describe practical effective algorithms based on dynamic programming, while, for the NP-hard versions, we show that they are in fact difficult even to approximate (i.e., APX-hard). Despite the biological origin of the problem, the model turns out to be purely combinatorial, and has many nice mathematical properties.. We will introduce a few needed biological concepts in Section 2. The mathematical model of the problems, together with the notation and two useful reductions, are described in Section 3. In Section 4 we describe dynamic programming-based polynomial algorithms for the gapless versions of the problem, while in Section 5 we extend these results to boundedlength gaps. Section 6 is devoted to discussing APX-hardness results for the general versions of the problem. Some conclusions are drawn in Section 7. In this paper we have considered the problem of reconstructing two haplotypes from a set of fragments in the presence of data errors.. All of our positive results can be easily generalized to the weighted version of the problem. In the weighted version of MFR (MSR) each fragment (respectively, SNP) i has associated a nonnegative weight w i , and the objective function requires to remove a minimum-weight set of fragments (respectively, SNPs), where the cost of removing a set X is x∈X w x .. The time complexity given in Theorems 1, and 3 remain valid in this more general model. Another, albeit somewhat artificial, extension of our results is the following. We say that a matrix has the consecutive-1 property (is C1P) if the columns can be rearranged so as to obtain a gapless matrix. Note that determining if such a rearrangement exists is a wellknown polynomial problem [2] . As an immediate consequence, all of our positive results for gapless matrices can be extended to C1P matrices.

O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Defining and evaluating network communities based on ground-truth Nodes in real-world networks, such as social, information or technological networks, organize into communities where edges appear with high concentration among the members of the community. Identifying communities in networks has proven to be a challenging task mainly due to a plethora of definitions of a community, intractability of algorithms, issues with evaluation and the lack of a reliable gold-standard ground-truth.We study a set of 230 large social, collaboration and information networks where nodes explicitly define group memberships. We use these groups to define the notion of ground-truth communities. We then propose a methodology which allows us to compare and quantitatively evaluate different definitions of network communities on a large scale. We choose 13 commonly used definitions of network communities and examine their quality, sensitivity and robustness. We show that the 13 definitions naturally group into four classes. We find that two of these definitions, Conductance and Triad-participation-ratio, consistently give the best performance in identifying ground-truth communities. Networks are a natural way to represent social [27, 18] , biological [21] , technological [15] , and information [6] systems. Nodes in such networks organize into densely linked groups that are commonly referred to as network communities, clusters or modules [9] . There are many reasons why networks organize into densely linked communities. For example, society is organized into groups, families, villages and associations [5, 10] . On the World Wide Web, topically related pages link more densely among themselves [6] . And, in metabolic networks, densely linked clusters of nodes are related to functional units, such as pathways and cycles [21] .. Identifying community structure in networks [13, 4, 23, 7] has proven to be a challenging task [8, 11, 17, 16] due to three reasons: There exist multiple definitions of network communities [3, 22] ; Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. The 2nd MDS Workshop '12 (MDS'12) , August 12, 2012 , Beijing, China. Copyright 2012 ACM X-XXXXX-XX-X/XX/XX ...$5.00.. Even if we would agree on a single common definition, the formalizations of community detection lead to NP-hard problems [23] ; And, the lack of reliable "ground-truth" makes evaluation extremely difficult.. Currently the performance of community detection methods is evaluated by manual inspection. For each detected community an effort is made to interpret it as a "real" community by identifying a common property or external attribute shared by all the members of the community. For example, when examining communities in a collaboration network of scientists, we might discover that such communities correspond to sets of scientists working in various areas of science [20] . Communities in social networks organize around social circles, work places, common hobbies, interests and affiliations [5, 10, 27] . Obviously, such anecdotal evaluation procedure requires extensive manual effort, is non-comprehensive and is limited to small networks as one cannot examine and attempt to interpret all the extracted communities of a large network.. Defining an appropriate notion of gold-standard ground-truth addresses the above issues. Using the ground-truth communities allows for quantitative and large-scale evaluation and comparison of different community detection methods. Such ability represents a significant step forward as the field can move beyond the current standard of anecdotal evaluation of communities to comprehensive evaluation of the performance of community detection methods.. The contributions of the present work are two fold. First, we describe a set of 230 large social, information and collaboration networks where we have a reliable notion of ground-truth communities. Second, based on the ground-truth we quantitatively evaluate 13 commonly used definitions of network communities by examining their robustness and sensitivity.. In [16] , we evaluated definitions of network communities on a large scale real-world networks. However, there are two crucial differences in our work here. First, [16] used detected communities by the Local Spectral method [1] for the evaluation. Using communities detected by a specific community detection method would introduce a bias introduced by the detection method. In this paper, our evaluation is free from such bias as we adopt ground-truth communities which are explicitly declared by individual nodes. Second, [16] provides qualitative evaluation by showing the Network Characteristic Plot [17] for each definition of communities. Here we aim to quantify the robustness and sensitivity of the definitions of communities to compare which definitions are better than others. Present work: Ground-truth communities. Next we describe our notion of ground-truth communities and argue why it corresponds to "real" communities.. Generally, after communities are identified in a given network, the essential next step is to interpret them by identifying a common external property that all the members share and around which the community organizes [5] . Thus, the goal of network community detection is to identify sets of nodes with a common (often external/latent/unobserved) property based only the network connectivity structure. A "common property" can be common attribute, affiliation, role, property, or function [10, 27] . We use such common properties of nodes to define ground-truth communities. In our work we distinguish between network communities and groups. A community is defined structurally (i.e., a set of nodes extracted by the community detection algorithm), while a group is defined based on nodes sharing a property around which the nodes organize in the network (e.g., belonging to a common interest based group, sharing common affiliation) [5, 10] . Present work: Networks with ground-truth. We gathered 230 networks from a number of different domains and research areas where nodes explicitly state their ground-truth community memberships. The size of the networks ranges from hundreds of thousand to hundreds of millions of nodes and edges. The networks represent a wide range of edge densities, numbers of explicitly defined communities, as well as sizes and amounts of community overlap. Our collection consists of social, collaboration and information networks, where we consider various notions of ground-truth.. For example, in online social networks (like, Orkut, LiveJournal, Friendster and 225 different Ning networks) we consider explicitly defined interest based groups (e.g., fans of Lady Gaga, members of a group on knitting, students of the same high school) as groundtruth communities. Such groups serve as organizing principles of nodes in social networks. They are created on specific topics, interests, hobbies, affiliations, and geographical regions. Each node can belong to zero, one or more groups. We also consider the Amazon product co-purchasing network where groups are defined by hierarchically nested product categories. Here all members of the same ground-truth community share a common function or purpose. Last, in the scientific collaboration network of DBLP we use publication venues as proxies for ground-truth research communities. Thus, for each of these datasets, we have both a network and a set of ground-truth communities. Note that we are careful to define ground-truth communities based on common affiliation, social circle, role, activity, interest, function, or some other property around which networks organize into communities [5, 10] . Present work: Methodology and findings. Communities are often studied structurally based on the connectivity patterns between members. Ground-truth communities allow us to examine how well various structural definitions of network communities correspond to real groups (i.e., ground-truth communities). A good structural definition of a network community would be such that it would detect connectivity patterns that correspond to real groups. This means that we can evaluate different structural definitions based on their ability to identify connectivity structure of ground-truth communities.. We choose 13 commonly used definitions of network communities and examine their quality, sensitivity and robustness. Each such definition corresponds to a scoring function that scores a set of nodes based on the connectivity pattern between them. A higher score means that a set of nodes more closely resembles the connectivity pattern of a community. By comparing correlations of scores that different definitions assign to ground-truth communities, we find that the 13 definitions naturally group into four distinct clusters. We distinguish definitions that consider: (1) only internal community connectivity, (2) only external connectivity of the nodes to the rest of the network; (3) both internal and external community connectivity, and (4) network modularity. We then consider an axiomatic approach and define four intuitive properties of good communities. Intuitively, a "good" community is cohesive, compact, and internally well connected while being also well separated from the rest of the network. This allows us to characterize what connectivity patterns of ground-truth communities a given definition detects and which ones it misses. We also measure the robustness of community scoring functions based on four different types of randomized perturbations of ground-truth communities. Overall, our results show that notions of network community that are based on triadic closure [26] and the conductance [24] best capture the structure of ground-truth communities.. To the best of our knowledge our work is the first to use social and information networks with explicit community memberships to define evaluation methodology for comparing network community detection algorithms based on their accuracy on real data. We believe that the present work will bring more rigor and improve the standard for the evaluation of community detection methods. The lack of reliable ground-truth gold-standard communities has made network community detection a very challenging task. In this paper, we studied a set of 230 different large social, collaboration and information networks in which we defined the notion of ground-truth communities by nodes explicitly stating their group memberships. The size of the networks ranges from hundreds of thousand to hundreds of millions of nodes and billions of edges. The networks represent a wide range of edge densities, numbers of explicitly defined communities, as well as sizes and amounts of community overlap.. We then developed an evaluation methodology for comparing network community detection algorithms based on their accuracy on real data and compared different definitions of network communities and examined their robustness. Our results demonstrate large differences in behavior of community scoring functions. We find that Conductance and Triad participation ratio perform best, while the Modularity score gives relatively poor results.. Our work here and the availability of ground-truth communities allows for a range of interesting future directions. For example, it would be interesting to investigate network community detection as a supervised (rather than an unsupervised) problem. The challenge here is that a network is a single object, which we cannot simply split into a training and a test dataset. Similarly, further examining the connectivity structure of ground-truth communities could lead to novel insights, models and algorithms for network community detection. Overall, we believe that the present work will bring more rigor and increase the standards for the evaluation of network community detection methods, and the datasets publicly released as a part of this work will benefit the research community.

O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O


Submersive rational difference systems and their accessibility The paper describes an algebraic construction of the inversive difference field associated with a discrete-time rational nonlinear control system under the assumption that the system is submersive. We prove that a system is submersive iff its associated difference ideal is proper, prime and reflexive. Next, we show that Kähler differentials of the above inversive field define a module over the corresponding ring of Ore operators, and relate its torsion submodule to the vector space of autonomous one-forms, introduced elsewhere. The above results allow us to check accessibility property and simplify transfer functions with computer algebra techniques. Many algebraic concepts such as Ore (skew) polynomial rings, modules over skew polynomial rings, difference fields and ideals play a prominent role in (nonlinear) control theory. Their applications, in general, require the help of computer algebra software. In Maple there exists a built-in package, OreTools [1] , that addresses the computations with Ore polynomials. Unfortunately, this package, though being a good starting point for control applications, cannot handle the Ore polynomials associated to nonlinear control systems without further extension. The reason is that one cannot describe the relations between control system variables explicitly and references therein. We show that Kähler differentials of the elements of the inversive field, associated with Σ, define a module over the corresponding ring of Ore (pseudo-linear) operators, and relate its torsion submodule to the vector space of autonomous oneforms, introduced in [2, 19] . Finally, we apply these constructions to check accessibility (controllability) and simplify transfer functions. Similar results are obtained for an input-output system description: y(t + n)= f (u(t),...,u(t + n − 1), y(t),...,y(t + n − 1)), where f is a rational function.. The rest of this paper is organized as follows. In Section 2, we define the submersivity property of rational difference systems, and connect submersivity with algebraic independence. In Section 3, we prove that a rational difference system is submersive iff its associated ideal is proper, prime and reflexive, and define its associated field whose inversive closure is constructed explicitly in Section 4. Kähler differentials are described in module-theoretic language in Section 5. Similar results for rational difference equations of any order are given in Section 6. We discuss how to define and check accessibility property, and simplify transfer functions in Section 7.

O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O


Advanced delivery of sensitive multimedia content for better serving user expectations in Virtual Collaboration applications Abstract A major challenge when accessing protected multimedia content in heterogeneous usage environments is the ability to provide acceptable levels of quality of experience to all involving users. Additionally, different levels of protection should be possible to be addressed when manipulating the content towards the quality of experience maximization. This paper describes the use of a context-aware and Digital Rights Management (DRM)-enabled content Multimed Tools Appl (2012) The audiovisual media landscape is facing important changes driven by the digital convergence phenomena together with the enthusiastic acceptance of emergent technologies and of the "online" paradigm by the general public. In parallel, technology has continued to evolve and new multimedia-enabled devices and gadgets have been made available, largely contributing to increase heterogeneity. As a consequence, a growing number of consumers, equipped with different devices and having diverse interests and preferences, navigate through some network looking for different types of multimedia information every day.. An access to content that meets users' expectations must take into account all the different aspects of this heterogeneous scenario. Additionally, some applications exchange sensitive or confidential content, to which different levels of protection may need to be applied. Dynamic monitoring of the context of usage conditions should be observed for the whole duration of a service to allow for reacting to changes and thus maintaining an acceptable level of quality of the service while assuring the required level of protection. One form of reaction is to adapt the content in a smart way, i.e., to automatically sense contextual conditions, including user preferences and accordingly modify the content characteristics while minimizing the quality degradation. Figure 1 illustrates this situation assuming a Virtual Collaboration (VC) environment with multiple heterogeneous users participating in a VC session and introduces the need for an intelligent control of such a session.. With this goal in view, within the framework of the VISNET II Network of Excellence, the context-aware and Digital Rights Management (DRM)-enabled content adaptation platform illustrated in Fig. 2 was designed. The platform encompasses four main building blocks that enable to deliver the functionality suitable to monitor and understand the constraints of the consumption environment (or context) of each VC session participant, as depicted in Fig. 1 , which is then used to control the access to protected or sensitive content and to adapt the content according to those constraints and permissions.. Although applicable to a range of different networked multimedia applications, the platform incorporates mechanisms customized to VC environments. These impose specific requirements while providing specific set of characteristics. Typically, in these environments, the type of exchanged video content consists of a mixture of views of persons with drawings or written material in a whiteboard for example, with close plans of pieces of equipment, documents or pictures, etc. Also, some of this content may be sensitive, which means that different levels of permission may need to be applied depending on the user or on the physical location the user is in when receiving it. Moreover, it is common to find multiple heterogeneous participants in each VC session, meaning that each one is likely to assume a distinct role and may present different constraints, capabilities and access rights.. The main focus of this paper is to describe the utilization of the developed platform in use cases within those typical VC environments. These use cases impose specific requirements such as simultaneous users with diverse context constraints (many-to-many heterogeneous communications) and distribution of content with different levels of confidentiality. Accordingly, a detailed description is made of specific usage scenarios where the platform is utilized, within VC applications, to exchange sensitive multimedia content in an advanced way. The goal is to illustrate how the content adaptation platform can serve the user expectations by delivering the content adapted, in the best way that is permissible, to the dynamic conditions of the usage environment. Results of adapting the content are presented, highlighting the benefits to users when compared to an operation without the use of the platform. The types of admissible content adaptation operations offered by the system are especially convenient for typical VC application scenarios, taking into consideration the type of content exchanged. Likewise, the decision-making mechanisms use knowledge specific to this kind of applications in addition to general knowledge capable of characterizing generic usage contexts. Moreover, in relation to other published work on content adaptation, our system addresses many-to-many communications (such as the ones in VC sessions) where the context of usage of each participant can be very different, dealing also with different levels of protection of content. Finally, our system incorporates entities designated as "Context Providers (CxPs)" which dynamically sense modifications in the usage context conditions and accordingly notify the decisionmaking mechanisms of the platform. The CxPs encapsulate the sensed context into standardized descriptions, namely MPEG-21 [20] and MPEG-7 Multimedia Description Scheme (MDS) [21] , with the aim of promoting interoperability. The decision mechanism collects this information and uses it to populate an ontology, which enables to capture the semantics and enrich the knowledge about the situation the user is in.. An overview of the functionality of the platform modules is also provided in this paper. However, interested readers are kindly invited to find further in-depth information in previous publications [4, 5, 32] . As referred above, the main goal of this paper is to describe the use and benefits of the platform under real-world situations, providing a detailed and quantitative characterization of contextual conditions that would affect the quality of experience of the user. To that aim, even though not being the central objective of the paper, the description of the platform architecture, more specifically its ontology-based context aware decision module, provides additional details when comparing to those previous publications and to the other platform modules. It thus provides deeper insights on the mechanisms that specifically enable the system to gain consciousness of contextual conditions that characterize the described use cases, which in turn empowers the system to adapt the content in the most satisfying way. The utilization and advantages of the platform in those situations in clear contrast with when the proposed platform is not used are therefore described and analyzed in this paper.. The remainder of this paper is organized as follows. A brief review of relevant research work is presented in Section 2, highlighting the advances and benefits brought in by the work described here. Section 3 provides an overview of the functional architecture of the context-aware adaptation platform, briefly describing the role of each module. Section 4 describes the selected use cases, providing a set of walks-through together with the sequence of interactions to illustrate the use of the developed platform in typical VC scenarios. Section 5 presents results of performing a number of different content adaptations according to varying contextual conditions. Finally, Section 6 draws the conclusions. The work described in this paper has illustrated a series of walks-through of the contextaware and DRM-enabled content adaptation platform, highlighting the benefits of Fig. 15 Adaptation results for party P1 at time t 3 : a) 25% scaled version after encoding the sequence for 109 kbit/s bit rate b) non-scaled version of the frame after adaptation Fig. 16 Adaptation results for party P2 at time t 2 : a) 25% scaled version of a selected frame before performing any adaptation b) 50% scaled version of the frame as seen at the AE output after adaptation c) 50% scaled version of the frame as seen by P2 if non-adapted version of the bit stream is received through the congested network d) 50% scaled version of the frame as seen by P2 if the adapted version of the bit stream is received through the network introducing content adaptation within VC scenarios in a number of different situations. Accordingly, it has demonstrated the applicability and usefulness of the developed platform in multimedia networked applications. The results presented here, which were obtained using typical VC video test sequences, clearly show the improvement in received video quality when conditions deteriorate.. The use of a context ontological model to drive the adaptation decision taking process enables the platform to selectively decide specific types of adaptations adequate to specific conditions of the context of usage taking into consideration the kind of application. The integration of adaptation authorization and licenses' management allows supporting this kind of operations while accessing particularly the protected content. A suite of adaptation algorithms, which are able to respond to the adaptation decisions made in a very flexible and comprehensive way, completes the platform. Globally, this platform is able to fulfill the objective of offering a service without disruption and with a minimum guaranteed level of quality, regardless of the conditions of the consumption environment, while also ultimately enhancing the users' satisfaction of the multimedia services.. The main advantage of the platform comparing to the existing solutions are best described by its ability to combine a number of unique features: 1) adaptations are dynamically selected in a transparent way according to the varying usage conditions; 2) manipulation of different levels of content protection, which directly influence the adaptation decisions; 3) use of emergent standards with ontologies, thus promoting interoperability and enriching the decision process with knowledge-based mechanisms; 4) built in a modular way such that common requirements usually found in all types of networked multimedia applications constitute the core of the system, whereas specific requirements of different applications can be incorporated or plugged as needed. This modular concept applies both to context and content descriptions and related knowledge through the use of different sets of MPEG-7 and MPEG-21 and of the core and extended ontologies, as well as to admissible content adaptation operations: new extended ontologies and new types of content adaptation suiting specific requirements of other applications can be easily plugged-in; 5) suitable for operation in many-tomany communications. In this section, the results of performing the different selected adaptation operations, as described in the previous section, are compared against those of not performing any adaptation. This allows assessing the benefits in terms of serving user expectations through utilizing the platform in VC applications. During the described excerpt of this VC session, context conditions have suffered from variations, which have been sensed by the system, triggering the necessary content adaptation operations. In these specific use cases, four distinct adaptation operations have been performed at instants t 0 , t 1 , t 2 and t 3 . The corresponding adaptation alternatives and associated service parameters passed to the AEs are indicated in Table 8 . Figures 13, 14, 15 and 16 allow comparison of the results of performing the listed adaptations against not performing any content adaptation at all, at each of the instants when the context of usage conditions change. Thus, the results focus on presenting the adapted and non-adapted videos, which were obtained using the common VISNET II audiovisual database created during the lifetime of the project. The adapted versions in Figures 13, 14 and 15 represent the signal as visualized by participant P1, who is using the smart phone, whereas the adapted version of Fig. 16 is the image as experienced by participant P2 on her tablet PC.. Figures 13 (a) and 16 (a) present a selected frame of the original video sequence. This frame has been scaled down to the same real spatial dimensions of the adapted versions for presentation purposes only. In these figures, the average bit rate of the original sequence is 948 kbit/s, as indicated in Table 4 . As such, Figs. 13 and 16 provide a comparison between the high-quality original frame and adapted versions of it, suitable to the sensed context constraints.. Figures 14 and 15 present a comparison between different adaptation possibilities, all of which match the prevailing contextual constraints. Figure 13 illustrates the adaptation that is performed at instant t 0 (temporal and spatial scaling, as indicated in Table 8 ). With this adaptation, the bit rate of the bit stream delivered to P1 is decreased by a factor of 1:43.. Figures 14 and 15 present a comparison of different adaptation possibilities, suitable to the contextual constraints experienced at time instants t 1 and t 3 . Figures 14 (a) and 15 (a) show simple bit rate adaptation, enabling to decrease the bit rate of a factor of approximately 1:9, suitable to the network constraints observed at instants t 1 and t 3 respectively. Their corresponding versions depicted in (b) figures show alternative adaptation, clearly more suitable to be applied in VC applications, namely ROI-based adaptation. The different bit rates of all of the adapted versions are listed in Table 8 . Figure 16 illustrates the case when there is network congestion occurring at time instant t 2 experienced by participant P2. Figure 16 (a) presents a frame of the original video sequence at the output of the encoder, whereas (c) shows the same frame as visualized by participant P2 after it has traversed the congested network. Figure 16 (b) presents a spatially and SNR adapted version of the original bit stream at the output of the AES, whereas (d) shows the corresponding adapted frame as received by P2 after transmission through the congested network. This experiment and the associated figures provide the means to demonstrate the negative impact of packet losses on the former setup, which in turn leads to significant image quality degradation. A direct comparison between Fig. 16 (c) and (d) clearly highlights the benefits of performing adaptation from the user's perspective.. Since the Joint Scalable Video Model (JSVM) decoder is not capable of decoding a scalable bit stream with four spatial resolution layers when there are packet losses, the highest resolution layer of the lossy bit stream (i.e., 960×512 pixels) is discarded before decoding it. Hence the resulting image shown in Fig. 16 (c) has a spatial resolution of 480×256 pixels. Moreover, it should be noted that the congestion is effectively reduced when the adaptation operation is performed, since less data is transmitted through the network. Accordingly, in order to obtain Fig. 16 (d) , it is assumed that the packet drop rate is reduced to 0.10 (from 0.20 originally). To perform the above simulations, an Internet Protocol (IP) channel model was implemented using the Advanced Video Coding/Scalable Video Coding (AVC/SVC) loss simulator described in [8] and the ITU-T Video Coding Experts Group (VCEG) [35] .. Subjective evaluation has been carried out with the assistance of a heterogeneous audience of 20 people, including both expert and non-expert male/female volunteer viewers. Double stimulus technique was used in these subjective experiments. We started by showing the reference material (original sequences) to the viewers, followed by one of the video sequences as received by the participants (adapted and non-adapted versions). Each viewer compared the processed one with the reference and provided his/her comparative opinion score according to the Mean Opinion Score (MOS) scale (an opinion score with 5 points, where 1 corresponds to the lowest quality and 5 to the highest quality when compared to the original). The results of this evaluation to assess the usefulness of the bit rate adaptation in use case 2 ("Poor terminal connectivity") and the ROI cropping adaptation in use case 3 ("ROI selection") are presented in Tables IX and X, respectively. Table 9 provides the average score obtained for the relative quality of non-adapted and bit rate adapted versions of the original sequence in a lossy communication channel condition. Table 10 shows the average scores for a simple bit rate Fig. 13 Adaptation results for party P1 at time t 0 : a) 25% scaled version before adaptation b) non-scaled version of the frame after adaptation Fig. 14 Adaptation results for party P1 at time t 1 : a) 25% scaled version after encoding the sequence for 109 kbit/s bit rate b) non-scaled version of the frame after adaptation adapted version and an ROI cropped version. According to the experimental results presented, it is clear that the viewers in this sample tend to prefer the adapted versions and, among the adapted, a version that is adapted in a way specific to the VC application. Assessing the quality improvement from the objective perspective would not be very straightforward, since the existing objective quality metrics only compare contents of similar spatio-temporal resolutions. In addition its value would be minimal, given that in some cases we would be comparing different sequences (particularly while performing a ROI-based or a spatial adaptation).

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O B O O O O O O O B O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B