Improving the anytime behavior of two-phase local search Abstract Algorithms based on the two-phase local search (TPLS) framework are a powerful method to efficiently tackle multi-objective combinatorial optimization problems. TPLS algorithms solve a sequence of scalarizations, that is, weighted sum aggregations, of the multi-objective problem. Each successive scalarization uses a different weight from a predefined sequence of weights. TPLS requires defining the stopping criterion (the number of weights) a priori, and it does not produce satisfactory results if stopped before completion. Therefore, TPLS has poor "anytime" behavior. This article examines variants of TPLS that improve its "anytime" behavior by adaptively generating the sequence of weights while solving the problem. The aim is to fill the "largest gap" in the current approximation to the Pareto front. The results presented here show that the best adaptive TPLS variants are superior to the "classical" TPLS strategies in terms of anytime behavior, matching, and often surpassing, them in terms of final quality, even if the latter run until completion. Two-phase local search (TPLS) [19] is a stochastic local search (SLS) method for tackling multi-objective combinatorial optimization problems in terms of Paretooptimality [20] . TPLS is an essential component of state-of-the-art algorithms for a number of problems such as the bi-objective traveling salesman problem (bTSP) [17] , its variant with three objectives [21] , and the bi-objective permutation flow-shop scheduling problem (bPFSP) [5, 8] . In these algorithms, the solutions obtained by TPLS are further improved by applying a Pareto Local Search [22] .. The central idea of TPLS is to start with a high quality solution for a single objective (first phase) and then to solve a sequence of scalarizations of the multiobjective problem (second phase). In TPLS, each successive scalarization uses a slightly different weight and starts from the best solution found by the previous scalarization. Originally, the set of weights and, hence, the number of scalarizations, is defined before the execution of TPLS in order to equally distribute the computational effort along the Pareto front [19] . This strategy implies that stopping TPLS at an arbitrary time before it has performed the predefined number of scalarizations would produce a poor approximation to the Pareto front in some regions. In this sense, TPLS does not have a good anytime behavior.. Anytime algorithms [24] aim at producing an as high as possible performance at any moment of their execution, without assuming a predefined termination criterion. Recently, we proposed two variants of TPLS that improve its anytime performance [6] . The first variant, Regular Anytime TPLS (RA-TPLS), uses a regular distribution of the weight vectors, equally distributing the effort in all directions of the objective space. We tested this variant on two bPFSPs, where the objectives result in a different algorithm behavior for the underlying single-objective algorithms. For these problems, we found that an adaptive TPLS, which adapts the weights in dependence of the shape of the Pareto front, performed better than a regular strategy.. In this paper, we re-examine RA-TPLS and the adaptive TPLS algorithms for the bTSP and the bPFSP. In addition, we propose new design alternatives of adaptive TPLS. First, we study the effect of performing one or two scalarizations per weight (with different seeds), and we give evidence when each approach may be beneficial. Second, we propose a new method to choose the region of the objective space where the search should be intensified, that is, how to define the largest gap in the current approximation of the Pareto front. Instead of using the Euclidean distance between solutions [6] , this new method is based on an optimistic estimate of the improvement in the hypervolume indicator. Our experimental results show that the new method further improves the results of the adaptive TPLS strategy in the bTSP, no matter the shape of the front.. The main conclusion of our study is that the adaptive TPLS variants show a much better anytime behavior than the original TPLS algorithms, and the best performing adaptive variants typically return better quality approximations to the Pareto front, as indicated by the hypervolume indicator.. The paper is structured as follows. In Section 2, we introduce some formal definitions on bi-objective optimization and we present the original TPLS algorithms. In Section 3, we present our first proposal to improve the anytime property of TPLS. In Section 4, we propose an adaptive TPLS framework that not only satisfies the anytime property, but that also adapts to the shape of the Pareto front to maximize the performance. We perform in Section 5 a detailed statistical analysis to compare all strategies. In Section 6, we propose the use of an optimistic estimation of the potential hypervolume contribution to direct the search of adaptive TPLS, and we show that it leads to further improvements in the bTSP. In Section 7, we graphically examine the differences in quality of the algorithms. We conclude in Section 8. TPLS is a key component of effective bi-objective optimization algorithms [5, 8, 17] . However, the originally proposed TPLS framework has an important drawback: it requires to know in advance the available computation time to distribute appropriately the computational effort and to reach high quality results. Stopping the algorithm earlier than scheduled would lead to poor performance, as we have shown in this paper. Therefore, the original TPLS framework has poor anytime behavior. In this paper, we have addressed this weakness. We have proposed new ways to define the weights used to start new scalarizations and the order in which these weights are considered.. Our first proposal, RA-TPLS, improves strongly the anytime behavior of classical TPLS strategies and, thus, outperforms these if they are stopped before completion. However, the final quality of the Pareto front approximations obtained by the classical TPLS strategies, for example D-TPLS, is better than that of RA-TPLS. Therefore, we have proposed adaptive TPLS variants that define the scalarizations adaptively in dependence of the solutions obtained in previous scalarizations.. Our adaptive TPLS variants are inspired by the dichotomic scheme proposed for exact algorithms [1] . Yet, exact algorithms require prohibitively high computation time for the problems considered here. We studied various variants of adaptive TPLS algorithms that differ in the number of initial solutions (one or two) that are used per weight, variants for focusing the search towards the center of a segment, and different ways of choosing the region of the objective space where to intensify the search. Our experimental results have unambiguously shown that (i) the adaptive TPLS variants have better anytime behavior than the non-adaptive anytime TPLS variant and (ii) the best adaptive TPLS variants typically also improve over the final quality of the approximations to the Pareto front reached by the best classical TPLS variants. Hence, our results suggest that the new adaptive TPLS variants should replace the classical variants in future TPLS applications.

O O O O O B I I O O O O O B I I 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 O O 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 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 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


A framework for multi-valued reasoning over inconsistent viewpoints In requirements elicitation, different stakeholders often hold different views of how a proposed system should behave, resulting in inconsistencies between their descriptions. Consensus may not be needed for every detail, but it can be hard to determine whether a particular disagreement affects the critical properties of the system. In this papel; we describe the Xbel framework for merging and reasoning about multiple, inconsistent state machine models. Xbel permits the analyst to choose how to combine information from the multiple viewpoints, where each viewpoint is described using an underlying multi-valued logic. The different values of our logics typically represent digerent levels of agreement. Our multi-valued model checker, Xchek, allows us to check the merged model against properties expressed in a temporal logic. The resulting framework can be used as an exploration tool to supeort requirements negotiation, by determining what properties are preserved for various combinations of inconsistent viewpoints. Requirements Engineering (RE) is significantly complicated by the inconsistent and incomplete nature of the information available early in the software lifecycle. Different stakeholders often use different vocabularies, talk about different aspects of the problem, have different ways of structuring their descriptions, and may have conflicting goals. For these reasons, information gathered from different stakeholders can be difficult to consolidate. It can be hard just to distinguish which things the various stakeholders agree about, and which things they disagree about.. Viewpoints-based approaches have been proposed as a way of managing inconsistent and incomplete information gathered from multiple sources [ 103. These approaches separate the descriptions provided by different stakeholders, and concentrate on identifying and resolving conflicts between them. A key advantage to the use of viewpoints is that inconsistencies between viewpoints can be tolerated [91.. The work on viewpoints has inspired a number of tools for managing inconsistent descriptions during requirements modeling (e.g. [ 11, 18, 203) .. Given an inconsistent set of viewpoints, it would be useful to determine how the inconsistencies affect critical system properties. Some inconsistencies may be of little consequence, and do not need to be resolved, while others may be the result of fundamental disagreements about how a system should behave. For example, if the stakeholders' descriptions are modeled as state machines, they may disagree about the details of some states and transitions, without affecting the values of global temporal properties. If the models were consistent and complete, they could be verified using model-checking [6] . Unfortunately, existing model checkers are based on classical logic, and so cannot cope with inconsistent (and incomplete) models.. Reasoning based on classical logic cannot solve the problem because the presence of a single contradiction results in uivialization-anything follows from A A TA, and so all inconsistencies are treated a$ equally bad. Furthermore, we cannot rely on reasoning about the properties of individual viewpoints and comparing the results, because these properties may change depending on how the viewpoints are combined. Worse still, we may not even be able to express global properties over individual viewpoints, because each viewpoint is only a partial model of the system. Hence, faced with an inconsistent set of viewpoints, if we want to perform automated reasoning, we must either remove information until consistency is achieved again, or adopt a non-classical, paraconsistent logic. The problem with the former approach is that we may be forced to make premature decisions about which information to discard [121. Paraconsistent logics permit some contradictions to be true, without the resulting trivialization of classical logic. For example, multi-valued logics use additional truth values to represent different types of contradiction. Multi-valued logics are particularly interesting, as they can handle both inconsistency and incompleteness. For example, Belnap proposed a simple 4-valued logic for incrementally adding information to a database without enforcing consistency [3] . Belnap The framework is intended as a way of exploring inconsistencies. Hence, we do not restrict the analyst to any particular way of merging information from multiple viewpoints, or any particular way of handling disagreement.. Rather, we provide tools for defining suitable multi-valued logics and for defining different types of interconnection between viewpoints. For example, viewpoints may describe different features of the same system, give different descriptions of the same functionality, or specify individual processes that need to be composed in parallel. We also provide guidance on how to choose suitable analysis strategies for a given set of viewpoints.. The paper is organized as follows. Section 2 surveys recent work on specifying and reasoning in the presence of inconsistency in software engineering. Section 3 give an overview of the Xbel framework. Section 4 gives a formal foundation for multi-valued reasoning. Section 5 describes the modeling process, showing how we merge viewpoints, and analyze them using the model checker Xchek. Section 6 demonstrates the framework with a telephony example. Section 7 presents our conclusions. The ability to reason about inconsistent and incomplete models is often needed when modeling requiremen$. However, this cannot be done effectively using classical logic.. Multi-valued logics allow such reasoning, although no single multi-valued logic is sufficient to represent the many different ways in which multiple descriptions of the system may be inter-related. Any framework for combining inconsistent models of a system to reason about them needs to be flexible enough to support different types of merge and different forms of analysis. In this paper we described the Xbel framework for reasoning about a set of inconsistent state machines using multi-valued logic. The framework includes support for specifying appropriate multi-valued logics as quasi-boolean lattices, vocabulary maps for explicitly unifying the namespaces of the individual descriptions, and value maps for mapping tuples of values of individual lattices onto values of a combined lattice. System properties can then be specified in XCTL and analyzed using our multi-valued modelchecker Xchek.. The framework provides flexibility in the choice of the logic and the type of the merge, and thus can serve a s an effective exploration tool for reasoning about different combinations of information from multiple viewpoint$. Although the framework is very flexible, we have found that most of the interesting merges of viewpoints fall into one of a small number of categories, and we have defined merge templates to provide guidance in using these merge types.. In order to make the framework truly useful, we plan to continue our work in defining the library of templates and proving properties about them. We also plan to explore the implications of different approaches for treating undefined values during merges, and believe that viewpoint invariants may provide a powerful means of expressing these. Further, we plan to explore the issues related to merging models at different levels of abstraction.. Further work on the model-checker is also required. At present, it only handles synchronous parallelism. We are planning to extend it to reasoning about asynchronous parallelism and real-time.

O B O O B 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 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 B O B 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 B O O B 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 B B O O B O O O O O B B O O B 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 B 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 B 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 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 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 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 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 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 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 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 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 O O O O O B O O O O B 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 B O O O O O O O O O O O B O O O O B O B O O O O O O O O O B 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 O B 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 B O O O O O O O O O O O O O O B B 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 O O O O O 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 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


Hard Problems in Similarity Searching The Closest Substring Problem is one of the most important problems in the field of computational biology. It is stated as follows: given a set of Ø sequences We motivate the introduction of these problems, and we show that while SCCS is very close to Closest Substring, BCCS is a non-trivial restriction of Closest Substring more suitable to use in certain practical applications. We then concentrate on BCCS and show that all the hardness results available for Closest Substring remain valid for BCCS even when the parameter Ô is restricted to a certain range. Finding similar regions in several sequences has many applications in computational biology (search for potential generic drug sequence [10] , creating diagnostic probes for bacterial infection etc. [9] ). There is no (and probably there cannot be any) universal definition of what "similar" means, but two classical types of definitions include, on the one hand, the direct similarity between the concerned regions (that is, regions are compared to each other and a global mesure taking into account these results is defined -see, for instance, the sum-of-pairs measure in the next section) and, on the other hand, the similarity of each of the concerned regions with an external pattern called consensus. The first type of similarity can appear in sequences which carry out, in some biological process, a common function (see in [13] the example of trypsin proteins of mouse and crayfish); or in sequences which share a common evolutionary history although the function has changed during evolution (see in [13] , the example of human zeta-cristallin and E. coli quinone oxidoreductase). The second type of similarity intends to express the common origin of the sequences during the evolution process. It is tempting to use a high degree of (direct or indirect) similarity between two or more sequences in order to try to infer biological truths, but this formal, computational approach must remain hypothetical until tested experimentally.. The Closest Substring Problem is one of the formal approaches which received much attention, both from an algorithmical viewpoint (see [14] , [12] , [5] ) and with concern to the (parameterized) computational complexity. It is based on the similarity with an external pattern, and is stated as follows:

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Throughput Behavior in Multihop Multiantenna Wireless Networks Abstract-Multiantenna or MIMO systems offer great potential for increasing the throughput of multihop wireless networks via spatial reuse and/or spatial multiplexing. This paper characterizes and analyzes the maximum achievable throughput in multihop, MIMOequipped, wireless networks under three MIMO protocols, spatial reuse only (SRP), spatial multiplexing only (SMP), and spatial reuse and multiplexing (SRMP), each of which enhances the throughput, but via a different way of exploiting MIMO's capabilities. We show via extensive simulation that as the number of antennas increases, the maximum achievable throughput first rises and then flattens out asymptotically under SRP, while it increases "almost" linearly under SMP or SRMP. We also evaluate the effects of several network parameters on this achievable throughput, and show how throughput behaves under these effects.Index Terms-End-to-end network throughput, MIMO systems, multihop wireless networks. M ULTIANTENNA or MIMO (multiple-input multiple-output) systems have great potential for increasing the throughput of multihop wireless networks through spatial spectrum reuse by allowing multiple simultaneous communications in the same neighborhood and/or through spatial division multiplexing by achieving high data rates. Therefore, MIMO systems are considered as a key technological solution to next-generation wireless networking and communication problems, such as the bandwidth-shortage problem [1] , [2] .. From the physical layer's standpoint, the potential benefits of MIMO are already well understood and characterized for the single, point-to-point communication link [3] , [4] , [5] , [6] , [7] . How to realize these benefits at higher layers has also been studied recently [8] , [9] , [10] , [11] , [12] , [13] . These studies focused on the development of MAC protocols for wireless networks that exploit MIMO to increase the overall network throughput via spatial reuse [12] , [13] and/or spatial multiplexing [9] , or reduce power consumption via beam-forming and interference suppression [8] . However, how much throughput MIMO can offer multihop wireless networks has been studied much less [14] . Yi et al. [14] extended the work in [15] to wireless networks using directional antennas. The focus in [14] is, however, on the switched multibeam technique. Albeit simple, the switched multibeam technique works only in a near line-of-sight environment, and may increase the capacity only through spatial reuse. In this paper, we characterize and analyze the maximum achievable throughput in multihop wireless MIMO networks when the adaptive array technique is used. Unlike the switched multibeam technique, the adaptive array technique can exploit multiple antennas to increase the capacity in both line-of-sight and multipath environments [16] via not only spatial reuse but also spatial multiplexing.. In this paper, we make the following contributions:. 1. Design and modeling of interference and radio constraints on multihop wireless MIMO networks under three MIMO protocols and two interference avoidance models that we propose. 2. Characterization and analysis of the maximum achievable throughput in multihop wireless MIMO networks. Via extensive simulations, we show that as the number of antennas increases, the maximum achievable throughput flattens out asymptotically under spatial reuse only protocol (SRP) and increases "almost" linearly under spatial multiplexing only protocol (SMP) or spatial reuse and multiplexing protocol (SRMP). 3. Evaluation of the effects of several network parameters on the achievable network throughput. We show how the network throughput performance behaves under the effects of such parameters. The rest of this paper is organized as follows: Section 8 discusses the related work, putting our work in a comparative perspective. Section 2 overviews MIMO and illustrates its potential benefits. We model the network under study and state our objectives in Section 3. Section 5 models the packet-level constraints, while Section 6 formulates the multicommodity flow routing problem. Throughput characterization and analysis are provided in Section 7. Finally, we conclude the paper in Section 9. Due to its capabilities and promises, MIMO has been the focus of so many researchers for many years. As a result of this research effort, the limits and capabilities of MIMO in terms of throughput/capacity gain are now very well understood [13] , [4] , [7] , [24] , [25] , [6] , [3] , [26] , [27] , [28] , but for the single, point-to-point, communication paradigm. The study of how much throughput/capacity MIMO can offer multihop wireless networks is, however, more recent and still in its infancy [29] , [30] , [31] . In [29] , Yu et al. introduced a new communication scheme for wireless ad hoc networks, where each MIMO-equipped node uses exactly one antenna when it transmits and uses all the antennas when it receives, and derived an upper bound on the average capacity that a single cell can achieve. In this new paradigm, a receiver uses its antennas to receive and decode multiple data streams from multiple different senders simultaneously. Jaafar et al. [30] investigated the per-node capacity in wireless mesh MIMO networks by studying the effect of the number of antennas that a node uses to transmit. The study, however, considers and evaluates the maximal achievable throughput in a chainlike topology. The work in [31] used a similar, LP-based method to also study throughput in multihop MIMO networks. It does not, however, account for cross-layer couplings effects, nor does it show how the total throughput behaves under different network scenarios and parameters. Unlike [31] , our work 1. accounts for cross-layer effects through the modeling and use of effective degrees of freedom; 2. models and studies two different interference avoidance approaches; 3. investigates and studies throughput behavior for three different MIMO protocols; and 4. provides a thorough simulation-based study of endto-end throughput behavior under the effect of several network parameters, such as node density, transmission range, and MIMO size. There have also been numerous studies on throughput/ capacity characterization of wireless networks when nodes are equipped with single antennas [15] , [32] , [33] , [34] , [35] . Gupta and Kumar [15] derived the asymptotic capacity of multihop wireless networks of static nodes, each equipped with a single omnidirectional antenna. The work in [32] shows that per-user throughput can increase dramatically when nodes are mobile rather than fixed by exploiting a form of multiuser diversity via packet relaying. Several other studies have also focused on characterizing the capacity in multichannel wireless networks [33] , [34] , [35] . The work in [15] has been extended in [33] to multichannel wireless networks where nodes, each equipped with multiple interfaces, cannot have a dedicated interface per channel. Their results show that the capacity of such networks depends on the ratio of the number of channels to the number of interfaces. Alicherry et al. [34] developed a solution for routing in multichannel, multi-interface wireless mesh networks that maximizes the overall throughput of the network subject to fairness and interference constraints. Along the same line, the work in [35] provides necessary conditions for the feasibility of rate vectors in multichannel wireless networks with multiple interfaces, and use them to find upper bounds on throughput via a fast primal-dual LP algorithm. In this work, we adapt the LP constraint relaxation technique from [35] to characterize and analyze the maximum throughput that multihop wireless networks can achieve when equipped with MIMO links.

O O O O O O O O O B I 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 I I 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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


ECN verbose mode: a statistical method for network path congestion estimation Abstract-This article introduces a simple and effective methodology to determine the level of congestion in a network with an ECN-like marking scheme. The purpose of the ECN bit is to notify TCP sources of an imminent congestion in order to react before losses occur. However, ECN is a binary indicator which does not reflect the congestion level (i.e. the percentage of queued packets) of the bottleneck, thus preventing any adapted reaction. In this study, we use a counter in place of the traditional ECN marking scheme to assess the number of times a packet has crossed a congested router. Thanks to this simple counter, we drive a statistical analysis to accurately estimate the congestion level of each router on a network path. We detail in this paper an analytical method validated by some preliminary simulations which demonstrate the feasibility and the accuracy of the concept proposed. We conclude this paper with possible applications and expected future work. While dropping packets to prevent congestion was considered as a paradox, many studies have shown the undeniable assets of the Explicit Congestion Notification flag [11] . The story starts in 1994 when Sally Floyd shows that this notification allows to increase TCP performances [2] and later in [7] , where the authors reach similar conclusion concerning the web traffic. At last, Aleksandar Kuzmanovic in "The Power of Explicit Congestion Notification" [6] investigates the pertinence of ECN and demonstrates once again, that ECN's users will obtain better performances even if all the Internet is not fully ECN-capable.. The following study [8] published in 2004 precises that ECN is only used by 2,1% of computers and that this low percentage can be partly explained by firewall, NAT and other middle-boxes of the Internet which reset (without any justification) the ECN flag. However, this is definitely not the main reason. Indeed, although this flag is currently implemented both in end-hosts (GNU/Linux, Mac OSX and Windows Vista) and inside the core network (Cisco IOS implements a RED/ECN variant called WRED/ECN), ECN remains surprisingly disabled by default for all these systems. Concerning end-hosts, this might appear paradoxical. While today CUBIC and Compound TCP variants are enabled by default (respectively in GNU/Linux and Windows Vista) and are still under debate concerning their friendliness with the current Newreno TCP version, a proved mechanism as ECN is not.. We believe this trend has two main reasons: firstly, this is partly due to the behaviour of TCP face to ECN marked packets. Indeed, the goal of the ECN bit is to notify TCP sources of an imminent congestion but this binary indicator does not reflect the real network congestion level. Intuitively, CUBIC and Westwood protocols might better perform than TCP Newreno/ECN due to the nature of the information returned by the ECN binary signal which does not provide any quantitative estimation of the congestion level allowing TCP to efficiently adapt its sending rate 1 . In other words, whatever the number of ECN marked, the TCP reaction is to halve the congestion window and this action is not well adapted to all cases. Secondly, CUBIC and Westwood are pure end-to-end solutions and as a result, are much more easier to deploy while TCP/ECN must involve both the core network and the end-hosts. However, several research work demonstrate that the design of a mechanism to optimally manage network congestion and capacity while being fair with other flows cannot be done without network collaboration [3] , [5] , [10] . Unfortunately and to the best of our knowledge, the major barrier is that we do not have today a solution, that do not involve complex computation inside the core routers (such as BMCC [10] or XCP [5] ), able to assess at the sender side the exact congestion level of the bottleneck of the path allowing a transport protocol such as TCP to correctly react to this congestion. For instance, BMCC introduces complex mechanisms inside the router and is only compliant with IPv4 (due to the use of the 16 bits IPid field of the IPv4 header) while XCP involves large architectural changes.. This fact motivates the present study which proposes a statistical algorithm to assess the congestion level at the endhosts side (i.e. receiver or sender sides) without involving complex computation inside the core network. In particular, we aim at providing a practical solution to return concrete congestion measurements to the sender in order to avoid blind, approximate or excessive reaction from the source. The only modification deals with the marking method which is changed from a binary field to a count field similar to the TTL field from the IP packet. Practically, we do not have to extend the IP headers as the DiffServ Codepoint field is large enough to enable our proposal. We could argue, as in [10] , whether such modification involves or not heavy IETF standardization process, however we claim that it would be much more complex and uncertain to convince networking companies to add complex estimation method inside their own routers. Furthermore, this solution is generic enough to consider, as for ECN, this flag either as a simple binary indicator or as a counter. Finally, we point out that a recent IETF group named ConEx (Congestion Exposure) [9] , attempts to enable congestion to be exposed within the network layer of the Internet. The main candidate solution is to date re-ECN [1] and propose the use of a second bit inside the IP header in order to differentiate the congestion upstream and downstream from an observation point inside the network. Internet service providers are pushing this idea as this would provide an essential tool (currently missing) to better manage and control their traffic 2 . If this solution is adopted, we could assist to a larger deployment of the ECN field that would facilitates the deployment of our proposal.. Following this new marking scheme, we propose a simple method which permits an accurate estimation of the congestion level experienced inside the routers of a given path. We present in a first part the mathematical basis of our proposition then, we develop in a second part our simulations and the practical analysis to evaluate the congestion level. Finally, we conclude about the possibility offered by this solutions and detail the remaining work.. II. MARKING PROPOSAL The ECN bit, as defined in RFC 3168, is a binary field of the IP header. This field can only contain a boolean value which informs a sender whether if a packet has crossed at least one congested router. Thus, it is impossible to distinguish a packet marked one time from those marked several times and which would have crossed several congested routers. This prevents any accurate metrology analysis of the link observed for the sake, for instance, of an adapted reaction from the source. In fact, a packet ECN-capable crossing a link composed by two routers and respectively marking at 30% and 40% will have a probability to be marked of 58% (i.e. 1 − (1 − 0.4)(1 − 0.3)). Obviously, this does not reflect the level of congestion of the network bottleneck (in this example: 40%) and could lead to an excessive reaction from the source. Thus, we propose to enhance the information returned with an incremental field (denoted ECN*) to count how many times a packet is marked. The marking scheme, as for RED/ECN, strictly follows the RED algorithm [4] . We will use this new metric (i.e. how many times a packet is marked) to determine the level of congestion of the bottleneck. A RED/ECN* router will increment this counter instead of simply setting the ECN field to one. Through the analysis of the data received, a source can build the distribution of the marked packets.Obviously, we cannot use this metric as it stands, in the following, we present the analytical method to interpret the data collected. In this article, we have proposed to increase the level of congestion information returned by TCP feedback messages with an ECN* marking scheme. ECN* enables the ECN field to count how many times a packet has crossed a congested router. We define an algorithm able to estimate the congestion level of each queue of a given path through the analysis of the data collected. These preliminary results suggest that this method is reliable and robust to cross traffics. In this study, we demonstrate the existing relationship between this ECN* marking rate and the filling level of each routers' queue.. However, several others investigations need to be driven in the context of dynamic networks and concerning the size of the sample statistic set. This method is not complete and we are currently investigating an extension of this algorithm robust to the dynamic changing of the network, based on a novel way to determine the areas of root, to allow a faster convergence to the solution. Finally the ultimate step is obviously to determine how to interact with TCP congestion control and how TCP should take into account this new congestion feedback information.

B 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 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 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 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 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 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 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 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 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 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 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 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 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 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 B 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 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


A vision based human robot interface for robotic walkthroughs in a biotech laboratory. Both Robots and Personal Computers established new markets about 30 years ago and were enabling factors in Automation and Information Technology. However, while you can see Personal Computers in almost every home nowadays, the domain of Robots in general still is mostly restricted to industrial automation. Due to the physical impact of robots, a safe design is essential, which most robots still lack of and therefore prevent their application for personal use, although a slow change can be noticed by the introduction of dedicated robots for specific tasks, which can be classified as service robots. Moreover, as more and more robots are designed as service robots, their developers face the challenge of reducing the machines' complexity and providing smart user interface methods. Ideally the robot would be able to cooperate with a human, just like another human would. Our approach to service robots was driven by the idea of supporting lab personnel in a biotechnology laboratory. That resulted in the combination of a manipulator with a mobile platform, extended with the necessary sensors to carry out a complete sample management process in a mammalian cell culture plant [1, 4] . After the initial development in Germany, the mobile manipulator was shipped to Bayer HealthCare in Berkeley, CA, USA, a global player in the sector of biopharmaceutical products, located in the San Francisco bay area. The platform was installed and successfully tested there in a pilot plant to carry out a robust and repetitive sample management process as we showed on the well known ESACT meeting [5] . Figure 1 shows the robot, as it arrived on site with laser range finders to monitor the environment and to localize itself and a manipulator with an attached gripper tool, a force/torque sensor and a camera to observe and interact with the environment while figure 2 shows the robot in the pilot plant with a bioreactor, different types of sample vials and analysis devices.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Computing a Compact Spline Representation of the Medial Axis Transform of a 2D Shape We present a full pipeline for computing the medial axis transform of an arbitrary 2D shape. The instability of the medial axis transform is overcome by a pruning algorithm guided by a user-defined Hausdorff distance threshold. The stable medial axis transform is then approximated by spline curves in 3D to produce a smooth and compact representation. These spline curves are computed by minimizing the approximation error between the input shape and the shape represented by the medial axis transform. Our results on various 2D shapes suggest that our method is practical and effective, and yields faithful and compact representations of medial axis transforms of 2D shapes. The notion of the medial axis transform was first introduced by Blum [1] as an intrinsic shape representation. The medial axis of an object O is the set of interior points having at least two closest points on the boundary ∂O of O. In the 2D space, each point on the medial axis is the center of a circle, namely a medial circle, which is the maximal inscribed circle contained in O and tangent to ∂O in at least two points. To encode the complete shape information of the object, each point on the medial axis is assigned with the radius, which could be 0, of its associated medial circle. Therefore, a radius function could be defined on the medial axis. The medial axis coupled with a radius function is referred to as the medial axis transform (MAT). Each point in the MAT, called medial point, has three dimensions, which indicates its 2D position and the radius. The MAT is a complete shape representation in the sense that the object boundary can be reconstructed exactly from its MAT as the envelope of all the medial circles.. The MAT encodes rich information of a shape, such as local thickness, symmetry and its part structure, which is not possessed by alternative boundary surface representations. Therefore the MAT has been used extensively in a wide spectrum of applications, including shape analysis [2] , shape deformation [3] and artistic rendering [4] . Detailed discussions on properties and applications of the MAT can be found in the book [5] .. The MAT, on the other hand, is well-known suffering from the instability problem: small variations of the shape boundary may yield a large change to its MAT. While boundary noise is ubiquitous in data acquisition due to errors introduced in scanning, sampling and other numerical processing, the medial axis thus often has excessive geometric complexity and pathological topology, rendering it generally useless in practice unless it is cleaned up. A lot of existing algorithms have been developed to resolve the instability issue. As a common practice, unstable branches of the MAT induced by boundary noise are pruned based on certain measures [6, 7, 8] . Different criteria have been introduced to characterize the difference between the original shape and the reconstructed shape, or describe the remaining stable MAT with some intrinsic measures [9] . These methods focus on simplifying the topology of the MAT by pruning unstable branches, producing a topologically clean MAT which is nevertheless still represented by a large number of sample medial points. This is partially due to the prevailing choice taking the union of the sample medial circles (or medial spheres in 3D) as an approximation when evaluating the approximation error during both pruning stage and shape reconstruction stage. As a consequence, a large number of medial circles are often necessary to attain a good approximation to the MAT [10, 11] .. To achieve a smooth representation and further reduce the geometric complexity of the MAT, we propose to represent the MAT as spline curves. See Fig. 1 for a comparison of the two shape representations. The medial axis also possesses piecewise C 2 continuity in each medial branch. Although a similar smooth representation of the MAT has been used for modeling and segmentation purposes [12] , a fully automatic way of obtaining a smooth MAT for an arbitrary shape is still missing.. In this work, we propose a complete pipeline which automatically computes a stable and compact medial axis Figure 1 : Given a shape swept by a moving circle, its medial axis transform is approximated as a sample set of 57 medial circles. (a) The approximate shape is the union of the medial circles. (b) On the other hand, to achieve the same accuracy with spline medial axis approximation, we need only 5 control points. The control polygon of the spline curve is shown in red.. transform which accurately approximates an arbitrary 2D shape. Given an error thresholdε, our algorithm guarantees that the Hausdorff distance between the boundary of the original shape and the boundary of the reconstructed shape is at mostε. Our method involves the pruning of unstable medial branches with an error-driven filtering process and the computation of a compact and accurate spline approximation to the MAT.. Compared to other works on medial axis computation, our algorithm possesses the following advantages:. • Topological filtering with error control: Our filtering process is guided by a user-defined error thresholdε to ensure approximation accuracy while removing noisy, unstable branches as much as possible.. • Computing a compact geometric representation: We use spline curves to approximate the MAT, resulting in a highly compact representation. An optimization process is developed to make sure that the reconstructed boundary best fits the input shape, meeting a user specified error tolerance.. This paper is organized as follows. We start with a brief review of the previous work related to medial axis computation in Section 2. We then define the piecewise smooth medial representation in Section 3. In Section 4, we introduce our main algorithm; the implementation details are then provided in Section 5. We present experimental results in Section 6 and finally conclude the paper in Section 7. We propose a framework for computing an accurate and compact medial axis transform for an arbitrary 2D shape. The approximation quality of the medial axis transform is guaranteed to be less than a user specified threshold. Moreover, users have the freedom to choose different types of splines to represent the medial axis transform according to their requirements and applications. A noise pruning algorithm for the medial axis transform is also proposed and integrated in the framework. This noise pruning algorithm filters noise in the medial axis transform robustly, and provides a good initial medial axis transform for optimization in our framework. Experimental results confirm the effectiveness of our algorithm. In future, we plan to study how to apply the new spline-based representation of the medial axis transform in shape deformation and shape matching, and extend the framework for the computation of the medial axis transform of a 3D volume. There is a vast amount of research studies about medial axis computation and representation. Here, we will review only those which are in close relation to our work.

O O O B O O O B I I O O O O O O O O O O O O B I I 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 B I I 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 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 B I I 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 B I I 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 B I I 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 B I I 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


A new algorithm for regularizing one-letter context-free grammars Constructive methods for obtaining regular grammar counterparts for some sub-classes of context-free grammars (CFGs) have been investigated by many researchers. An important class of grammars for which this is always possible is the one-letter CFG. We show in this paper a new constructive method for transforming an arbitrary one-letter CFG to an equivalent regular expression of star-height 0 or 1. Our new result is considerably simpler than a previous construction by Leiss, and we also propose a new normal form for a regular expression with only a single-star occurrence. Through an alphabet factorization theorem, we show how to go beyond the one-letter CFG in a straight-forward way. The subclass of one-letter alphabet languages has been studied for many years. The result "Each context-free one-letter language is regular" was ÿrst proven in [13] and re-published in [14] using Parikh mappings. A second method based on the "pumping" lemma for context-free languages (CFLs) was presented in [10] . Systems of equations based on ∪, · and * operators were used in [15] to prove that the star-height of every one-letter alphabet language is equal to 0 or 1. Later, the ÿrst constructive method was proposed in [12] by developing a theory of language equations over an one-letter alphabet. Several key theorems were proven and tied together to provide an algorithm which solves any equation of that type.. In this paper, we shall present a new simpler method using only a single result, called the Regularization Theorem. Like Auteberg et al. [3] , Chomsky et al. [7] , Ginsburg et al. [10] , we will use systems of equations to denote context-free grammars (CFGs). It is known that for a arbitrary CFG, it is undecidable whether its least ÿxed point can be expressed as a regular expression [4] . We deÿne a new normal form for one-letter equations and a new theorem for solving them. Algorithm A (Section 3) will use this normal form to determine precisely the least ÿxed point, expressed as a regular expression. By considering the classes of one-letter/one-variable factorizable, we enlarge slightly the class of CFGs for which the construction of a regular expression remains decidable. While one-letter CFGs are somewhat specialised grammars, much research interests have been devoted to obtain e cient methods and properties for exploiting their usages. They often occur as sublanguages within mainstream CFGs, where e cient procedures for handling them could be pivotal.. Let us give a brief review of some interesting work related to one-letter CFGs. One of the earliest work in this area is the work of [5] which investigated e cient pushdown automata (with counters) for handling one-letter sublanguages. Later Chrobak [8] showed that the problem of converting from non-deterministic to deterministic ÿnite-state automata remains a hard problem even for one-letter languages.. More recently, Domaratzki et al. [9] even investigated e cient methods for the converse problem of converting from ÿnite-state automaton over an one-letter alphabet to its equivalent context-free grammar in the Chomsky normal form. One-letter languages have also been used recently in [16] to aid in the decomposition of ÿnite languages.. Our work has advanced the frontier of research on regularizing one-letter CFGs. We provided a much simpler constructive method for transforming one-letter CFGs into regular expressions using the one-letter normal form. We also introduced a factorization result that enabled us to go beyond one-letter languages in a straightforward way. The results of this paper is part of a larger e ort to provide e cient constructive methods that could be used to enlarge the class of CFGs that can be regularized.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Option valuation model with adaptive fuzzy numbers In this paper, we consider moment properties for a class of quadratic adaptive fuzzy numbers defined in Dubois and Prade A numerical example is presented based on the Black-Scholes option pricing formula with quadratic adaptive fuzzy numbers for the characteristics such as volatility parameter, interest rate and stock price. Our approach hinges on a characterization of imprecision by means of fuzzy set theory. Most stochastic models involve uncertainty arising mainly from lack of knowledge or from inherent vagueness. Traditionally those stochastic models are solved using probability theory and fuzzy set theory. There exist many practical situations where both types of uncertainties are present. For example, if the price of an option depends upon the nature of the volatility which changes randomly, then the volatility of the stock price movement which is estimated from the sample data is a random variable as well as a fuzzy number. Recently there has been a growing interest in using fuzzy numbers to deal with impreciseness (see Appadoo et al. [3] and Thavaneswaran et al. [4] for more details). Viewing the fuzzy numbers as random sets Dubois and Prade [5] introduced the mean value as a closed interval bounded by the expectations calculated from its upper and lower distribution functions. In this section we provide a literature survey of some of the research done on fuzzy option pricing. Many authors have tried to deal fuzziness along with randomness in option pricing models. For example, recently, Cherubini [6] determined the price of a corporate debt contract and provided a fuzzified version of the Black and Scholes model by means of a special class of fuzzy measures. On the other hand, Ghaziri et al. [7] introduced artificial intelligence approach to price the options, using neural networks and fuzzy logic. They compare the result of artificial intelligence approach to that of Black-Scholes model, using stock indexes. Since the Black-Scholes option pricing formula is only approximate, which leads to considerable errors, Trenev [8] obtained a refined formula for pricing options. Due to the fluctuation of the financial markets from time to time, some of the input parameters in the Black-Scholes formula cannot always be expected in the precise sense. As a result, Wu [9] applied fuzzy approach to the Black-Scholes formula. Zmeskal [10] applied Black-Scholes methodology of appraising equity as a European call option. He used the input data in a form of fuzzy numbers in his approach to option pricing. Carlson and Fuller [11] use possibility theory to fuzzy real option valuation. Applications of fuzzy sets theory to volatility models have been studied by Thavaneswaran et al. [12] and Thiagarajah and Thavaneswaran [13] .. Fuzzy set theory has attracted considerable interest in other fields as well. As an illustration, in an attempt to introduce an element of uncertainty or vagueness into conventional actuarial models, Ostaszewski [14] proposed fuzzy set theory as an alternative approach to stochastic methods for modeling uncertainty. Also, in [14] several applications of fuzzy set theory to Actuarial Science are discussed, for example, fuzzy net single premium for term insurance.. The famous formula of Black and Scholes [15] for the fair prices of European options follows from several assumptions, which are discussed in Merton [16] . Asset prices S t are assumed to follow geometric Brownian motion and are represented by the equation. where the process W t is a standard Brownian motion, µ is the drift and σ is the volatility of the underlying stock. Generally, a call (put) option is the right to buy (sell) a particular asset for a specified amount at the strike price K at a specified time in the future with the expiration time T . If the option is of such a type that it can be exercised only on the expiration date itself, then it is called a European option. Let S T be the price of the underlying asset at expiration time T . Then the payoff, g, of a European style call option at time T is given by. This means that the call option is exercised if S T > K and is abandoned otherwise. The above mentioned call and put options are sometimes called plain vanilla or standard options. Let r be the risk-free interest rate. Then a probability measure Q is called an equivalent martingale measure to the probability measure P for the discounted price process S t = e −r t S t if. for each s ≤ t ≤ T and Q ∼ P, where F t is the history of the process up to time t. This is the discounted price process (S t ) which is a martingale under the probability measure Q. According to the Fundamental Theorem of Asset Pricing, an arbitrage-free price C t of an option at time t is given by the conditional expectation of the discounted payoff under an equivalent martingale measure Q,. Together with this equivalent martingale approach one needs a so-called equivalent portfolio (a combination of other traded assets). Then the price of the option has to coincide with the price of the corresponding equivalent portfolio. For a general overview on financial derivatives from a mathematical and an economic point of view, we refer readers to Hull [17] . Following the results of Black and Scholes [15] , we take a geometric Brownian motion as a stochastic process for modeling the stock price. This model is based on the assumption that the log-returns. are normally distributed. Now Eq. (1.1) becomes. with 0 ≤ t ≤ T . Using Itos lemma the model can equivalently be described as. For this model, there exists a unique martingale measure Q which is given by Girsanov's theorem. Some calculations yield the Black-Scholes formula as, 9) where Φ denotes the cumulative distribution function of a standard normal variable, and τ = T − t denotes the time to expiration. In the literature two different ways of calculating volatility have been discussed. The first method is the empirical estimation from the historical data. The second is to calculate the implied volatility by equating the theoretical call price from the Black-Scholes formula with the market price.. In the literature, nonconstant volatility had been modeled by GARCH processes and for calculation purpose, volatility σ t in the Black-Scholes formula had been replaced by Eσ t .. In this paper we use adaptive fuzzy numbers to model the uncertainty of σ in the Black-Scholes model. The plan of the paper is as follows. In Section 2, we summarize some basic results of fuzzy set theory. In Section 3, we derive the moments properties for a class of quadratic adaptive fuzzy numbers. Finally, in Section 4 the valuation of European call option with quadratic adaptive fuzzy numbers for some characteristics such as volatility parameter, interest rate and stock price is illustrated through a numerical example. The fuzzy assisted Black-Scholes option pricing model is practical and useful. Without introducing fuzzy financial option models it may not be possible to incorporate this genuine uncertainty. In the literature only the linear fuzzy numbers have been used to model the parameter uncertainty in option pricing applications (see for example Carlson [11] ), Cherubini [6] , Ghaziri [7] , Trenev [8] , Wu [9] and Zmeskal [10] ). In this paper we have used adaptive nonlinear fuzzy numbers to modeled parameter uncertainty in the option pricing model (see Fig. 2 for illustration). This will allow the financial analyst to choose any European option price with a reasonable certainty for investor's decision making.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Extremal sizes of subspace partitions A subspace partition Π of V = V (n, q) is a collection of subspaces of V such that each 1-dimensional subspace of V is in exactly one subspace of Π. The size of Π is the number of its subspaces. Let σ q (n, t) denote the minimum size of a subspace partition of V in which the largest subspace has dimension t, and let ρ q (n, t) denote the maximum size of a subspace partition of V in which the smallest subspace has dimension t. In this paper, we determine the values of σ q (n, t) and ρ q (n, t) for all positive integers n and t. Furthermore, we prove that if n ≥ 2t, then the minimum size of a maximal partial t-spread in V (n + t − 1, q) is σ q (n, t). Let V = V (n, q) denote a vector space of dimension n over a finite field with q elements. A subspace partition Π of V is a collection of subspaces of V such that each 1-dimensional subspace of V is in exactly one subspace of Π. A subspace partition Π is also called a vector space partition (or simply a partition) of V . There is a rich literature about vector space partitions, see e.g. [1, 3, 5, 14, 23] and the references therein.. The size of Π is the number of its subspaces. Let σ q (n, t) denote the minimum size of a subspace partition of V in which the largest subspace has dimension t, and let ρ q (n, t) denote the maximum size of a subspace partition of V in which the smallest subspace has dimension t. The purpose of this study is to find these numbers. Since σ q (n, n) = ρ q (n, n) = 1, and σ q (n, 1) = ρ q (n, 1) = (q n − 1)/(q − 1), we will focus on the case 1 < t < n. Moreover, if t divides n, then σ q (n, t) = ρ q (n, t) is the size of a t-spread in V , i.e., a subspace partition of V in which all the subspaces have dimension t.. We will prove the following theorem:. Theorem 1 Let n, k, t, and r be integers such that 0 ≤ r < t, k ≥ 2, and n = kt + r. Then ρ q (n, t) = q t+r k−2 i=0 q it + 1 , and if furthermore 1 ≤ r < t, then. This theorem improves a result of Beutelspacher [2] who in 1980 proved that. We must also remark that the last two authors of this paper recently found the value of σ q (2t + 1, t), see [21] . They used some equations for subspace partitions derived by the first two authors in [17] . Furthermore, our derivation of the value of σ q (n, t) uses arguments quite similar to those used in [21] . After some preliminary results in Section 2, we will prove our theorem in Section 3 and Section 4. Finally, in Section 5, we combine our result on σ q (n, t) with a construction of P. Govaerts [13] to show that the minimum size of a maximal partial t-spread in V (n+t−1, q) is σ q (n, t) for any integer n ≥ 2t.

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 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 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 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 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 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


Performance modeling and automatic ghost zone optimization for iterative stencil loops on GPUs Iterative stencil loops (ISLs) are used in many applications and tiling is a well-known technique to localize their computation. When ISLs are tiled across a parallel architecture, there are usually halo regions that need to be updated and exchanged among different processing elements (PEs). In addition, synchronization is often used to signal the completion of halo exchanges. Both communication and synchronization may incur significant overhead on parallel architectures with shared memory. This is especially true in the case of graphics processors (GPUs), which do not preserve the state of the per-core L1 storage across global synchronizations. To reduce these overheads, ghost zones can be created to replicate stencil operations, reducing communication and synchronization costs at the expense of redundantly computing some values on multiple PEs. However, the selection of the optimal ghost zone size depends on the characteristics of both the architecture and the application, and it has only been studied for message-passing systems in a grid environment. To automate this process on shared memory systems, we establish a performance model using NVIDIA's Tesla architecture as a case study and propose a framework that uses the performance model to automatically select the ghost zone size that performs best and generate appropriate code. The modeling is validated by four diverse ISL applications, for which the predicted ghost zone configurations are able to achieve a speedup no less than 98% of the optimal speedup. Iterative stencil loops (ISL) [23] are widely used in image processing, data mining, and physical simulations. ISLs usually operate on multi-dimensional arrays, with each element computed as a function of some neighboring elements. These neighbors comprise the stencil. Multiple iterations across the array are usually required to achieve convergence and/or to simulate multiple time steps. Tiling [18, 28] is often used to partition the stencil loops among multiple processing elements (PEs) for parallel execution, and we refer to a workload partition as a tile in this paper. Similar tiling techniques also help localize computation to optimize cache hit rate for an individual processor [13] . Tiling across multiple PEs introduces a problem because stencils along the boundary of a tile must obtain values that were computed remotely on other PEs, as shown in Figure 1(a) . This means that ISL algorithms may spend considerable time stalled due to inter-loop communication and synchronization delays to exchange these halo regions. Instead of incurring this overhead after every iteration, a tile can be enlarged to include a ghost zone. This ghost zone enlarges the tile with a perimeter overlapping neighboring tiles by multiple halo regions, as shown in Figure 1 (b). The overlap allows each PE to generate its halo regions locally [31] for a number of iterations proportional to the size of the ghost zone. As Figure 1 (b) demonstrates, ghost zones group loops into stages, where each stage operates on overlapping stacks of tiles, which we refer to as trapezoids. Trapezoids still produce non-overlapping data at the end, and their height reflects the ghost zone size.. Ghost zones pose a tradeoff between the cost of redundant computation and the reduction in communication and synchronization among PEs. This tradeoff remains poorly understood. Despite the ghost zone's potential benefit, an improper selection of the ghost zone size may negatively impact the overall performance. Previously, optimization techniques for ghost zones have only been proposed in messagepassing based grid environment [31] . These techniques no longer fit for modern chip multiprocessors (CMPs) for two reasons. First, communication in CMPs is usually based on shared memory and its latency model is different from that of message-passing systems. Secondly, the optimal ghost zone size is commonly one on a grid environment [1] , allowing for a reasonably good initial guess for adaptive methods. However, this assumption may not hold on some shared memory CMPs, as demonstrated by our experimental results later in the paper. As a result, the overhead of the adaptive selection method may even undermine performance. This paper presents the first technique that we know of to automatically select the optimal ghost zone size for ISL applications executing on a shared-memory multicore chip multiprocessor (CMP). It is based on an analytical model for optimizing performance in the presence of this tradeoff between the costs of communication and synchronization versus the costs of redundant computation.. As a case study for exploring these tradeoffs in manycore CMPs, we base our analysis on the architectural considerations posed by NVIDIA's Tesla GPU architecture [26] . We choose GPUs because they contain so many cores and some extra complexity regarding the L1 store and global synchronization. In particular, the use of larger ghost zones is especially valuable in the Tesla architecture, because unlike the grid environment where a tile's data may persist in its PE's local memory, data in all PEs' local memory has to be flushed to the globally shared memory and reloaded again after the inter-loop communication. Our performance model and its optimizations are validated by four diverse CUDA applications consisting of dynamic programming, an ordinary differential equation (ODE) solver, a partial differential equation (PDE) solver, and a cellular automaton. The optimized ghost zone sizes are able to achieve a speedup no less than 98% of the optimal configuration. Our performance model for local-store based memory systems can be extended for cache hierarchies given appropriate memory modeling such as that proposed by Kamil et al [19] .. Our performance model can adapt to various ISL applications. In particular, we find that ghost zones benefit more for ISLs with narrower halo widths, lower computation/communication ratios, and stencils operating on lower-dimensional neighborhood. Moreover, although the Tesla architecture limits the size of thread blocks, our performance model predicts that the speedup from ghost zones tends to grow with larger tiles or thread blocks.. Finally, we propose a framework template to automate the implementation of the ghost zone technique for ISL programs in CUDA. It uses explicit code annotation and implicitly transforms the code to that with ghost zones. It then performs a one-time profiling for the target application with a small input size. The measurement is then used to estimate the optimal ghost zone configuration, which is valid across different input sizes.. In short, the main contributions of this work are a method for deriving an ISL's performance as a function of its ghost zone, a gradient descent optimizer for optimizing the ghost zone size, and a method for the programmer to briefly annotate conventional ISL code to automate finding and implementing the optimal ghost zone. We establish a performance model for ISL applications programmed in CUDA and study the benefits and limitations of ghost zones. The performance modeling based on the Tesla architecture is validated using four distinct ISL applications and it is able to estimate the optimal trapezoid configuration. The trapezoid height selected by our performance model is able to achieve a speedup no less than 98% of the optimal speedup for our benchmarks. Our performance model can be extended and generalized to other shared memory systems. Several application-and architecture-characteristics that can leverage the usage of ghost zones are identified. Finally, we propose a framework template that can automatically incorporate ghost zones to ISL applications in normal CUDA code and optimize it with the selection of trapezoid configurations. An immediate step in our future work will be to port our infrastructure to the OpenCL standard once suitable tools are available. Extensions can be implemented for CMPs with cache-based memory systems. It will also be interesting to study how the benefit from ghost zones is effected by cache prefetching and cache blocking optimizations. Tiling is a well-known technique to optimize ISL applications [18, 20, 27, 28, 32] . In some circumstances, compilers are able to tile stencil iterations to localize computation or/and exploit parallelism [3, 13, 34] . Some attempt to reduce redundant computation for specific stencil operations [10] . On the other hand, APIs such as OpenMP are able to tile stencil loops at run-time and execute the tiles in parallel [8] . Renganarayana et al. explored the best combination of tiling strategies that optimizes both cache locality and parallelism [29] . Researchers have also investigated automatic tuning for tiling stencil computations [9, 23] . Specifically, posynomials have been widely used in tile size selection [30] . However, these techniques do not consider the ghost zone technique that reduces the inter-tile communication. Although loop fusion [25] and time skewing [35] are able to generate tiles that can execute concurrently with improved locality, they cannot eliminate the communication between concurrent tiles if more than one stencil loops are fused into one tile. This enforces bulk-synchronous systems, such as NVIDIA's Tesla architecture, to frequently synchronizes computation among different PEs, which eventually penalizes performance.. Ghost zones are based on tiling and they reduce communication further by replicating computation, whose purpose is to replicate and distribute data to where it is consumed [12] . Krishnamoorthy et al. proposed overlapped tiling that employs ghost zones with time skewing and they studied its effect in reducing the communication volume [21] . However, their static analysis does not consider latencies at run-time and therefore the optimal ghost zone size cannot be determined to balance the benefit of reduced communication and the overhead of redundant computation.. Ripeanu et al. constructed a performance model that can predict the optimal ghost zone size [31] , and they conclude the optimal ghost zone size is usually one in grid environment. However, the performance model is based on message-passing and it does not model shared memory systems. Moreover, their technique is not able to make case-bycase optimizations -it predicts the time spent in parallel computation using time measurement of the sequential execution. This obscures the benefit of optimization -an even longer sequential execution is required for every different input size even it is the same application running on the same platform.. Alternatively, Allen et al. proposed adaptive selection of ghost zone sizes which sets the ghost zone size to be one initially and increases or decreases it dynamically according to run-time performance measurement [1] . The technique works fine in grid environment because the initial guess of the ghost zone size is usually correct or close to the optimal. However, our experiments on NVIDIA's Tesla architecture show that the optimal ghost zone size varies significantly for different applications or even different tile sizes. Therefore an inaccurate initial guess may lead to long adaptation overhead or even performance degradation, as demonstrated in Section 5.4. Moreover, the implementation of the adaptive technique is application-specific and it requires nontrivial programming effort.. The concept of computation replication involved in ghost zones is related to data replication and distribution in the context of distributed memory systems [4, 22] , which are used to wisely distribute existing data across processor memories. Communication-free partitioning has been proposed for multiprocessors as a compiling technique based on hyperplane, however, it only covers a narrow class of stencil loops [16] . To study the performance of 3-D stencil computations on modern cache-based memory systems, another performance model is proposed by Kamil et al. [19] which is used to analyze the effect of cache blocking optimizations. Their model does not consider ghost zone optimizations.. An implementation of ghost zones in CUDA programming is described by Che et al. [5] . The same technique can be used in other existing CUDA applications ranging from fluid dynamics [14] to image processing [36] .. Another automatic tuning framework for CUDA programs is CUDA-lite [33] . It uses code annotation to help programmers select what memory units to use and transfer data among different memory units. While CUDA-lite performs general optimizations and generates code with good performance, it does not consider the trapezoid technique which serves as an ISL-specific optimization. We validate our performance model using four distinct ISL applications that fall in the categories of dynamic programming, ODE and PDE solvers, and cellular automata. We compare their performance predicted by the model with their actual performance on the GeForce GTX 280 graphics card, whose architectural parameters are summarized in Table 1 and are used in our performance model for optimizations. These parameters are retrieved using device query and some are obtained literally through the GTX 280 specifications [6] . We then use the performance model to select the optimal trapezoid height and evaluate its accuracy.. While the major workload is carried out by the GPU, the benchmarks are launched on a host machine with an Intel Core2 Extreme CPU X9770 with a clock rate of 3.2 GHz. The CPU connects to the GPU through NVIDIA's MCP55 PCI bridge. The actual time measurement only includes the computation performed on the GPU. Table 1 : Architecture parameters used in our performance model.

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 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 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 B I 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 O O O O O O O O O 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 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 B I 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 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 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 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 B O O O O O O O O O O


Workload-ahead-driven online energy minimization techniques for battery-powered embedded systems with time-constraints This article proposes a new online voltage scaling (VS) technique for battery-powered embedded systems with real-time constraints. The VS technique takes into account the execution times and discharge currents of tasks to further reduce the battery charge consumption when compared to the recently reported slack forwarding technique [Ahmed and Chakrabarti 2004] , while maintaining low online complexity of O(1). Furthermore, we investigate the impact of online rescheduling and remapping on the battery charge consumption for tasks with data dependency which has not been explicitly addressed in the literature and propose a novel rescheduling/remapping technique. Finally, we take leakage power into consideration and extend the proposed online techniques to include adaptive body biasing (ABB) which is used to reduce the leakage power. We demonstrate and compare the efficiency of the presented techniques using seven real-life benchmarks and numerous automatically generated examples. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or direct commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY 10121-0701 USA, fax +1 ( In this article, we have presented a workload-ahead-driven voltage scaling technique which explicitly takes the discharge current and execution times into account to make battery-aware scaling decisions. To further improve the battery charge consumption, we have presented an online rescheduling/remapping technique that aims to reduce the waste of online slack when using static schedules and mappings. To the best of our knowledge, this is the first online approach that addresses voltage scaling as well as rescheduling/remapping in conjunction. All presented techniques are of constant time complexity, making them suitable for applications with hard real-time systems. The efficiency of the proposed techniques have been experimentally validated using automatically generated as well as real-life benchmarks. It has been demonstrated that significant savings of up to 36% in the battery charge can be obtained when compared to approaches that delay the slack utilization as late as possible. All proposed online techniques are extended to combine the adaptive body biasing with dynamic voltage scaling so that the leakage power can also be effectively reduced.

O O O O O O O B I 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 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 O O 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 O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O 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 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 I I O B I I O O O O O O O O O O