Keyword Generation for Search Engine Advertising using Semantic Similarity between Terms An important problem in search engine advertising is keyword 1 generation. In the past, advertisers have preferred to bid for keywords that tend to have high search volumes and hence are more expensive. An alternate strategy involves bidding for several related but low volume, inexpensive terms that generate the same amount of traffic cumulatively but are much cheaper. This paper seeks to establish a mathematical formulation of this problem and suggests a method for generation of several terms from a seed keyword. This approach uses a web based kernel function to establish semantic similarity between terms. The similarity graph is then traversed using a watershed algorithm to generate keywords that are related but cheaper. Sponsored search or Search Engine Marketing (SEM) is an advertising form on the internet wherein advertisers pay to appear alongside organic search results. The position of the ads is determined by an auction, where the bid by the advertiser is taken into consideration while computing the final position of the advertisement. The ads are served when a user searches for terms on which the advertiser has placed a bid. All the major search engines follow a pay per click model, where the advertiser pays only when a user clicks on the ads. These ads tend to be highly targeted and offer a much better return on investment for advertisers as compared to other marketing methods [18] . In addition the large audience it offers has lead to a widespread adoption of search engine marketing. The revenues from search engine marketing exceed billions of dollars and continues to grow steadily [6] .. The total number of distinct search terms is estimated to be over a billion [7] , though only a fraction of them are used 1 The term Keyword refers to phrases, terms and query term in general and these terms have been used interchangeably.. Copyright is held by the author/owner(s). May 8-12, 2007 , Banff, Canada. The approach outlined here combines technique from diverse fields and adapts them to solve the problem of keyword generation. The results show that the suggestions generated are extremely relevant and they are quite different from the starting keyword. Wordy is also capable of producing several such suggestions. It has been observed that as the corpus size grows the quality of suggestions improve. Furthermore increasing the number of documents retrieved while creating the dictionary as well as while computing the context vector increases the relevance of suggested keywords.. Since the proposed solution is heuristic in nature, future work would involve a more rigorous solution to optimize search engine advertising. A metric needs to be developed to measure the efficacy of the system. Currently, only single word terms are considered in this experiment. Extending it to phrases needs no change to the overall framework and is an obvious next step. Integration with systems like WordNet would significantly improve the semantic similarity between these keywords. A large number of relevant keyword suggestions can be generated using the technique. For the sake of brevity only the top 10 suggestions generated by Wordy have been listed here. Further, concatenation of many of these terms and appending them to the seed keyword can result in more keywords. The area of keyword generation is relatively new, though there has been considerable work in the area of query expansion in Information Retrieval (IR). The different techniques for keyword generation can be broadly clubbed under the following headings: query log and advertiser log mining, proximity searches and meta-tag crawlers.. The search engines use query-log based mining tools to generate keyword suggestions. They try to find out cooccurrence relationship between terms and suggest similar starting from an initial keyword. Google's Adword Tool [1] presents past queries that contain the search terms. It also mines advertisers' log to determine keywords they searched for while finalizing a specific keyword. Yahoo's Keyword Selection Tool [4] uses an approach similar to Adwords where it recommends frequent queries by users that contain the keyword. A new method [7] based on collaborative filtering has been proposed by Bartz that uses the relationship between the query terms in the log and the clicked URL to suggest new keywords. However, the terms suggested are ones occur frequently in the query logs and there is a high probability that they are expensive.. Most of the third party tools in the market use proximity based methods for keyword generation. They query the search engines for the seed keyword and appends it with words found in its proximity. Though this technique can generate a large number of suggestions it suffers from the same problem faced by the log mining techniques. It cannot produce relevant keywords that do not contain the original term.. Another method used by services like WordTracker [5] is meta-tag spidering. Many high ranked websites include relevant keywords in their meta-tags. The spider queries the search engine using the seed keyword and extracts metatags from the top ranked pages which are then presented as suggestions. Some tools also use the Metacrawler search network [2] to get a list of related keywords.. These methods tend to ignore semantic relationship between words. Recent work by Joshi and Motwani [11] presents a concept called TermsNet to overcome this problem. This approach is also able to produce less popular terms that would have been ignored by the methods mentioned above. The authors introduce the notion of directed relevance. Instead of considering the degree of overlap between the characteristic documents of the term, the relevance of a term B to A is measured as the number of times B occurs in the characteristic documents of term A. A directed graph is constructed using this measure of similarity. The outgoing and incoming edges for a term are explored to generate suggestions.. A considerable amount of work has been done in the IR community for query expansion and computation of semantic similarity. Kandola et al. [12] propose two methods for inferring semantic similarity from a corpus. The first one computes word-similarity based on document-similarity and viceversa, giving rise to a system of equations whose equilibrium point is used to obtain a semantic similarity measure. The other technique models semantic relationship using a diffusion process on a graph defined by lexicon and co-occurrence information. An earlier work by Fitzpatrick and Dent [9] measures term similarity using the normalized set overlap of the top 200 documents, though this does not generate a good measure of relevance. Given the large number of documents on the web, this intersection set is almost always empty.. Traditional query expansion techniques [8] augment a user query with additional terms to improve the recall of the retrieved task. Query expansion techniques like the one proposed by Shami and Heilman [16] are typically used to generate a few suggestions per query for the search task. Though keyword generation and query expansion seem to be similar problems, for keyword generation to be successful hundreds and sometimes thousands of keywords must be generated for the method to be effective. The task of keyword generation can be broken in three distinct steps, namely 1. Generate a large number of keywords starting from the website of the merchant 2. Establishing sematic similarity between these keywords 3. Suggest a large set of relevant keywords that might be cheaper than the query keyword This section addresses these steps in detail.. We begin the discussion by defining some terms.. Dictionary D -collection of candidate keywords that the advertiser might choose from.. Corpus C -set of documents from which the dictionary has been generated. The initial corpus consists of 96 documents crawled from websites of 3 spas and 1 dental clinic. The initial dictionary was created by taking top 10 words from each page, out of which 328 were distinct. After further pruning D contained 147 terms. A final dictionary is created by retrieving 10 documents for each word in D 0 using Yahoo Web Services (YWS) API. Finally D contains 1681 terms. For calculating semantic similarity in Section 5.2, 25 documents are retrieved to compute the context vector. The representative documents for all terms in D are acquired using YWS.

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


SURE-LET Multichannel Image Denoising: Interscale Orthonormal Wavelet Thresholding Abstract-We propose a vector/matrix extension of our denoising algorithm initially developed for grayscale images, in order to efficiently process multichannel (e.g., color) images. This work follows our recently published SURE-LET approach where the denoising algorithm is parameterized as a linear expansion of thresholds (LET) and optimized using Stein's unbiased risk estimate (SURE). The proposed wavelet thresholding function is pointwise and depends on the coefficients of same location in the other channels, as well as on their parents in the coarser wavelet subband. A nonredundant, orthonormal, wavelet transform is first applied to the noisy data, followed by the (subband-dependent) vector-valued thresholding of individual multichannel wavelet coefficients which are finally brought back to the image domain by inverse wavelet transform. Extensive comparisons with the state-of-the-art multiresolution image denoising algorithms indicate that despite being nonredundant, our algorithm matches the quality of the best redundant approaches, while maintaining a high computational efficiency and a low CPU/memory consumption. An online Java demo illustrates these assertions.Index Terms-Color image denoising, interscale dependencies, multichannel image denoising, nonredundant transforms, orthonormal wavelet transforms (OWTs), Stein's unbiased risk estimate (SURE). We have proposed an extension of our previous monochannel denoiser to properly handle multichannel images. The resulting interscale-interchannel wavelet estimator consists of a linear expansion of thresholding functions, whose parameters are solved for by minimizing an unbiased estimate of the expected mean squared error between the noise-free signal and the denoised one. This linear parametrization has two main benefits: first, thanks to the quadratic form of the MSE estimate, the parameters optimization amounts to resolve a linear system of equations, which makes our approach computationally light and fast; second, the optimized linear parameters act as an optimal-in the minimum SURE sense-transformation of the data. For color image denoising, the consequence is that the denoising performances are nearly insensitive to the color representation, contrary to most existing approaches. Compared to even the best multiresolution algorithms (which involve highly redundant transforms), the results confirm the efficiency of our approach, both from a computational and from a quality point of view. The gains may even become quite significant when the number of channels increases.. Preliminary investigations using an interchannel adaptation of the SURE-LET approach [12] within an undecimated wavelet transform indicate that substantial additional denoising gains can be achieved ( dB and often more). Of course, these are obtained at the expense of a higher computational cost and a worse memory management. His research interests mainly include multiresolution analysis and the restoration of biomedical images.

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


On the capacity of generalized write-once memory with state transitions described by an arbitrary directed acyclic graph Shamir is a q-ary information storage medium. Each storage cell is expected to store one of q symbols, and the legal state transitions are described by an arbitrary directed acyclic graph. This memory model can be understood as a generalization of the binary write-once memory which was introduced by Rivest and Shamir. During the process of updating information, the contents of a cell can be changed from a 0-state to a 1-state but not vice versa. We study the problem of reusing a generalized write-once memory for T successive cycles (generations).We determine the zero-error capacity region and the maximum total number of information bits stored in the memory for T consecutive cycles for the situation where the encoder knows and the decoder does not know the previous state of the memory. These results extend the results of Wolf, Wyner, Ziv, and Körner for the binary write-once memory. In this correspondence, we study the problem of how to reuse a generalized WOM for T successive cycles. When the encoder knows and the decoder does not know the previous state of the memory and different codes are allowed to be used in every cycle, we determine the zero-error capacity region and the maximum total number of information bits stored in the memory for T successive cycles. These results extend the results of Wolf, Wyner, Ziv, and Körner for the binary WOM to the generalized WOM. By considering the previous state of the memory as side-information available to the encoder and decoder, Wolf, Wyner, Ziv, and Körner [2] studied the binary WOM in the following cases:. (E+; D+) Both the encoder and decoder know the previous state of the memory. Using zero-error and "-error as performance criteria, they investigated the problem of determining the capacity region and the maximum total number of information bits stored in the memory for T successive cycles.. The generalized WOM can be studied in the same way as that considered by Wolf, Wyner, Ziv, and Körner [2] . Here we study the generalized WOM only in the case (E+; D0) with zero-error codes, because this case is the most interesting and natural one. It should be pointed out that some other results for the binary WOM in [2] can also be established for the generalized WOM. There are still some unsolved difficult problems for the generalized WOM, for example, in the cases (E 0 ; D 0 ) and (E 0 ; D + ) with "-error codes, the explicit formula for the maximum total number of information bits stored in the memory for T successive cycles is not known to us.

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


A General Framework for Sound and Complete Floyd-Hoare Logics This paper presents an abstraction of Hoare logic to traced symmetric monoidal categories, a very general framework for the theory of systems. Our abstraction is based on a traced monoidal functor from an arbitrary traced monoidal category into the category of pre-orders and monotone relations. We give several examples of how our theory generalises usual Hoare logics (partial correctness of while programs, partial correctness of pointer programs), and provide some case studies on how it can be used to develop new Hoare logics (run-time analysis of while programs and stream circuits). Under the general label of Hoare logic, the early work of Floyd [1967] and Hoare [1969] on axiom systems for flowcharts and while programs has been applied to various other domains, such as recursive procedures [Apt 1981 ], pointer programs [Reynolds 2002 ], and higher-order languages [Berger et al. 2005] . Our goal in this paper is to identify a minimal structure supporting soundness and (relative) completeness results, in the manner of Cook's presentation for while programs [Cook 1978 ]. This is achieved via an abstraction of Hoare logic to the theory of traced symmetric monoidal categories [Joyal et al. 1996 ], a very general framework for the theory of systems.. Traced symmetric monoidal categories precisely capture the intrinsic structure of both flowcharts and dynamical systems, namely: sequential and parallel 'composability', and feedback (unbounded iteration). In fact, traced symmetric monoidal categories are closely related to Bainbridge's work [1976] on the duality between flowcharts and networks. The scope of traced symmetric monoidal categories, how-ever, is much broader, being actively used, for instance, for modelling computation (e.g. [Simpson and Plotkin 2000] ) and in connection with Girard's geometry of interaction (e.g. [Haghverdi and Scott 2005] ).. The main feature of Hoare logic is the use of assertions P, Q specifying the inputoutput behaviour of a program. If A is a program, then the triple {P } A {Q} states that on inputs satisfying P the program A, if it terminates, will produce a result which satisfies property Q. An inherent ordering among assertions, given by the consequence relation, is also available, allowing for the properties of input/output to be refined or relaxed. In particular, if {P } A {Q} holds, and Q logically implies Q ′ , then we must also have that {P } A {Q ′ } holds. Abstractly, assertions can be viewed as objects of a pre-ordered set, with the logical implication as an instance of an ordering relation. The derived Hoare triple relation {·} A {·} can then be viewed as monotone binary relation between the points of the pre-order.. More precisely, let H be the category of pre-ordered sets and monotone relations (see Section 3 for formal definition). We first identify a particular class of functors -which we call verification functors -between traced symmetric monoidal categories and subcategories of H. We then give an abstract definition of Hoare triples, parametrised by a verification functor, and prove a single soundness and completeness (in the sense of Cook) theorem for such triples. In the particular case of the traced symmetric monoidal category of while programs (respectively, pointer programs) this embedding gives us back Hoare's original logic [1969] (respectively, O'Hearn and Reynolds logic [2002] ). In order to illustrate the generality of our framework, we also derive new sound and complete Hoare-logic-like rules for the verification of running-time (and hence termination) of programs, and the verification of linear dynamical systems (modelled via stream circuits).. The chief contributions of this paper are as follows: (i) The definition of the concept of a verification functor, between traced symmetric monoidal categories and the category H (Section 3). (ii) An abstraction of Hoare triples in terms of verification functors (Definition 3.3). In general, our abstraction of Hoare logic provides a 'categorical' recipe for the development of new (automatically) sound and complete Hoare-logic-like rules for any class of systems having the underlying structure of a traced symmetric monoidal category. Moreover, Hoare logic notions such as expressiveness conditions, relative completeness [Cook 1978 ] and loop invariants, have a clear cut correspondence to some of our abstract notions. (iii) Sound and complete rules for our abstract notion of Hoare triples, over a fixed verification functor (Theorem 3.4). (iv) Four concrete instances of our abstraction, namely: partial correctness of while programs, partial correctness of pointer programs (separation logic), run-time analysis of while programs, and stream circuits (Section 4). In Section 6, we discuss the link between our work and other abstractions of Hoare logic.

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


Efficient bootstrap with weakly dependent processes The e¢ cient bootstrap methodology is developed for overidenti…ed moment conditions models with weakly dependent observation. The resulting bootstrap procedure is shown to be asymptotically valid and can be used to approximate the distributions of t-statistics, J statistic for overidentifying restrictions, and Wald, Lagrange multiplier and distance statistics for nonlinear hypotheses.The asymptotic validity of the e¢ cient bootstrap based on a computationally less demanding approximate k-step estimator is also shown. The …nite sample performance of the proposed bootstrap is assessed using simulations in an intertemporal consumption based asset pricing model. This paper develops Brown and Newey's (2002) e¢ cient bootstrap methodology to possibly overidenti…ed moment conditions models with weakly dependent observations. The e¢ cient bootstrap di¤ers from the traditional one in that it uses as resampling probabilities those obtained by estimating the unknown distribution of the observations subject to the constraint implied by the moment conditions themselves. The resulting estimator is typically more e¢ cient than the empirical distribution function used in the traditional bootstrap as the nonparametric estimator of the distribution of the observation, hence the term e¢ cient, although sometimes in the statistical literature the same bootstrap methodology is called "biased" (Hall and Presnell, 1999) . In this paper the estimator we consider is the generalised empirical likelihood estimator of Newey and Smith (2004) . This estimator is very general and includes a number of well-known estimators including empirical likelihood (Owen, 1988) , exponential tilting (Efron, 1981) , and euclidean likelihood (Owen, 1991) .. In this paper we make two main contributions: …rst we generalise the e¢ cient bootstrap to weakly dependent observations. To be speci…c we prove the asymptotic validity of the e¢ cient bootstrap approximation to the true distribution of the generalised method of moment (GMM) estimator. We also consider testing and prove the asymptotic validity of the bootstrap approximation for t-statistics, Hansen's (1982) J statistic for overidentifying restrictions, and for Wald, Lagrange multiplier and distance statistics for nonlinear hypotheses. This extension is theoretically interesting and empirically relevant in economics and …nance where most of the observed time series exhibit some form of temporal dependence and most of the hypotheses of interest are typically composite. Second we provide Monte Carlo evidence about the …nite sample performance of the proposed bootstrap and compare it with that of the standard bootstrap. The results of the simulations are encouraging and suggest that the proposed bootstrap has competitive …nite sample properties compared to those 2 of the standard bootstrap.. The results of this paper complement those obtained by Flachaire (2005) and Godfrey and Tremayne (2005) among others. These authors recommend using wild (block) bootstrap in the context of (dynamic) heteroskedastic linear regression models. The wild bootstrap however cannot accommodate potential endogeneity of regressors, and, more generally, it requires a regression type of model. In contrast the method proposed in this paper applies to more general statistical models and can accommodate endogeneity; for example nonlinear instrumental variable estimation is allowed.. It is important to note that the results of this paper are related to those obtained by Allen, Gregory and Shimotsu (2005) . They propose to use the same type of e¢ cient bootstrap used in this paper. There are however a number of important di¤erences between their paper and ours. First, our e¢ cient bootstrap uses the estimated probabilities to resample the moment indicators, whereas Allen et al. (2005) use the estimated probabilities only to centre the resampled moment indicator. Thus our bootstrap method is the direct extension of that proposed by Brown and Newey (2002) . Second we consider e¢ cient bootstrap GMM inferences for possibly nonlinear statistical hypotheses. Third we consider k-step versions of the e¢ cient bootstrap GMM estimators. Finally we resample using the overlapping blocks scheme (the socalled moving block bootstrap) as opposed to nonoverlapping blocks scheme used by Allen et al. (2005) . On the other hand we consider stationary -mixing observations, instead of the more general possibly nonstationary near epoch dependent speci…cation used by Allen et al. (2005) .. The rest of the paper is structured as follows: Section 2 brie ‡y introduces the statistical model and GMM estimation and inference. Section 3 describes the e¢ cient bootstrap and develops the necessary asymptotic theory. Section 4 reports the results of the simulations and some concluding remarks. An appendix contains all the proofs and some details about the arti…cial data used in the simulations.

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


Multi-mass solvers for lattice QCD on GPUs Graphical Processing Units (GPUs) are more and more frequently used for lattice QCD calculations. Lattice studies often require computing the quark propagators for several masses. These systems can be solved using multishift inverters but these algorithms are memory intensive which limits the size of the problem that can be solved using GPUs. In this paper, we show how to efficiently use a memory-lean single-mass inverter to solve multi-mass problems. We focus on the BiCGstab algorithm for Wilson fermions and show that the single-mass inverter not only requires less memory but also outperforms the multi-shift variant by a factor of two. While most of the visible matter in the universe is made up of hadrons, particles that experience the strong nuclear force, their structure is still not completely understood. The current understanding is that hadrons are made of quarks that interact via gluons. Quantum chromodynamics (QCD) is the theory that describes their interactions [1, 2] . The structure of hadrons is determined by a quantum superposition of many quark-gluon configurations: there is no obvious hierarchy among the configurations and the standard perturbative approach is not useful. However, we can use numerical methods to compute hadron properties. These methods are based on a non-perturbative formulation of QCD, lattice QCD [3, 4] : the space-time is approximated by a four dimensional grid, the quarks are viewed as particles hopping between Figure 1: Schematic representation of the lattice discretization: the quark fields ψ a α are associated with the sites of the lattice and the gauge variables U µ are defined on the links connecting the sites.. the sites of this grid and the gluons are represented by parallel transporters that change the internal state of the quarks as they hop along the given link (see Fig. 1 for a schematic representation). The quantum fluctuations are taken into account by path integral methods in the Euclidean framework.. Formally, the problem is equivalent to a statistical mechanics problem where the observables can be expressed as correlation functions; we use Monte Carlo techniques to estimate these correlations. For definitiveness sake, we write down the equivalent partition function. After rotating to Euclidean times and discretizing the action we get [5] :. The measure DU ≡ n,µ dU µ (n) and DψDψ ≡ n,a,α dψ a α (n)dψ a α (n) represents an integral over all degrees of freedom: U µ (n) is the gauge link at site n and direction µ which represents the gluon field and ψ a α (n) is the quark field at site n with color index a and spinorial index α. The purely gluonic part of the action, S g (U ), includes the gluons' kinetic term and the gluon-gluon interaction. The quark contribution is given byψM (m; U )ψ where m is the mass of the quark. Since the quark action is quadratic in the quark fields we can integrate them out to get Z = DU e −Sg(U ) det M (m; U ).. The path integral is now expressed completely in terms of the gauge fields U , and the quark contribution is given by the determinant of the quark matrix M (m; U ); this matrix is the discretized version of a covariant derivative, and we will discuss its structure later in more detail. Most lattice QCD calculations are usually separated into two steps: gluonic links generation and correlator measurement. In the first step a set of gauge configurations are generated with a distribution given by the Euclidean action in Eq. 2; each configuration corresponds to a snapshot of the gluonic fields -the quark fields are present in this stage only implicitly by their contribution to the probability measure, det M (m; U ). In the second stage the hadron correlators are computed for each configuration, and then the ensemble average is calculated; the hadron correlators measure the hadron's ability to propagate through space-time. Their behavior allows us to determine the internal structure of hadrons and their masses. In both stages, the most time consuming part of the calculation relates to manipulating the quark matrix M (m; U ). The typical calculation involves computing M (m; U ) −1 b thousands of times for different vectors b and gauge links U . The calculation is done iteratively and most of the computation time is spent computing the product between M (m; U ) and intermediate vectors. This is referred to as the fermion-matrix multiplication routine.. Lattice calculations are numerically very expensive: the fermionic matrix is a square matrix with a few million rows. Fortunately, the matrix is very sparse and only a few non-zero elements need to be stored for every row. Since the matrix is sparse and local, the fermion-matrix multiplication routine can be efficiently parallelized; optimized implementations can run double precision calculations at a rate of 1-2 GFlops per processor core on modern CPUs [6] . The numerical requirements for lattice QCD calculations demand the use of large clusters: typically a few hundred to a few thousand processor cores are needed. A new direction in high performance computing has recently become available with the development of general purpose graphic processor units (GPUs). These devices have very good floating point performance, and more importantly for lattice QCD applications, very good memory bandwidth. While these devices are difficult to program, their raw performance is compelling. The advantage of using GPUs for Lattice QCD calculations was demonstrated very early [7] , and today we have efficient implementations of the fermion-matrix multiplication routine and of the iterative methods that allow us to compute M (m; U ) −1 b [8] . Lattice QCD simulations often requires the computation of quark propagators M (m i ; U ) −1 b for several quark masses m i . This is needed, for example, to study the dependence of physical observables on the quark mass which is required in order to extrapolate to the physical limit (direct simulations are still too expensive). This is also required when we evaluate functions of the quark matrix using rational approximations [9, 10] . The fermion matrices for different quark masses differ only by a multiple of the identity matrix. They are shifted versions of the same matrix. We can then use multi-shift inverters [11] , iterative methods that allow us to compute all quark propagators at once. The fermion-matrix multiplications are only performed once (for the smallest mass) and these results are used to compute all other propagators. The disadvantages of these methods are that they need more memory, require extra linear algebra operations and common acceleration techniques cannot be used.. In order to efficiently use GPUs we need to store most of the data required for computation in the GPU's own memory. This is typically a few gigabytes which is two orders of magnitude less than the memory usually available when running lattice QCD simulations on CPU clusters. Thus, for GPUs we are forced to use single-mass inverters, even when using parallel versions of our codes [12, 13] . For optimal performance we need to use as few GPUs as possible when parallelizing lattice QCD codes.. In this paper we show how to efficiently solve multi-mass problems for lattice QCD using optimized single-mass inverters. We will focus our attention on the Wilson version of the fermionic matrix [4] . The plan of the paper is the following: in Section 2 we describe the numerical properties of the Wilson fermion matrix, in Section 3 we describe the relevant GPU architectural details and in Section 4 and 5 we describe our GPU implementation of the Wilson-matrix multiplication, the optimizations we used and the challenges we have encountered. In Section 6 we discuss the single-mass and multi-shift versions of the BiCGstab algorithm [14] and the optimization techniques we used. In Section 7 we compare the GPU performance of these two solvers. We find that the solver based on the single-mass inverter, not only uses less memory, but also outperforms the multi-shift inverter by more than a factor of two. In this study, we have addressed the issue of developing memory lean multi-mass solvers for use in lattice QCD calculations on GPUs. Such algorithms are crucial in order to carry out lattice calculations for the typical lattice sizes used today. We restricted our attention to the commonly used Krylov inverter BiCGstab and its multi-mass variant BiCGstab-M. However, we believe that our findings are applicable to other Krylov solvers such as CG and its multi-mass variant CG-M.. We find that a single-mass inverter using a combination of even-odd preconditioning, mixed-precision and a starting guess based on a polynomial extrapolation, is the best multi-mass solver. All three optimizations give comparable gains, each being responsible for approximately a factor of two speed-up. Thus, even though the multi-shift inverter requires significantly fewer iterations to converge, our single-mass inverter actually outperforms it by more than a factor of two. Moreover, it uses significantly less memory.. It is worth pointing out that we only considered here mixed precision inverters based on single precision. It was shown that half-precision inverters can be designed that increase performance by an additional 50% [8] . This will make single-mass inverters outperform even more the multi-shift ones.. The motivation for our study was to develop inverters that perform well when constrained to fit in single GPU memory. Lattice QCD codes are being developed that run on multiple GPUs and the memory constraint would seem less relevant there. However, memory lean methods are also needed for multi-GPU codes due to scaling concerns. A memory lean solver requires fewer GPUs to accommodate a problem of the same size which results in a more efficient use of resources.. We conclude with a remark about the relevance of our findings for codes running on CPUs. Our conclusion should hold for all situations where the relative costs of different subroutines is the same. In the GPU case the timings are determined by the bandwidth requirements. If Wilson fermion inverters running on CPUs are bandwidth limited too, then the single-mass inverter will also perform better. Our main goal in this work was to create a single-mass inverter that performs comparably to its multi-shift counterpart on GPUs. The underlying Table 2 : The two sets of masses considered in this study. The values listed here are am, the masses in lattice units. For the ensemble used in this study, the zero quark mass corresponds to am c = −0.8173. The wide-ranged set corresponds to pion masses ranging from 500 MeV to 2200 MeV whereas the narrow-ranged set runs from 500 MeV to 600 MeV.. reason for this effort was the limited memory of GPUs. As will be demonstrated in the following, for the cases considered in this study, an optimized single-mass inverter not only requires less memory than its multi-shift counter part, but also outperforms it. For the single-mass and multi-shift inverters we use BiCGstab and BiCGstab-M, respectively.. In order to test the performance of the inverters, we use a small ensemble of 10 gauge configurations generated in the quenched approximation using the standard Wilson action. The lattice spacing for these configurations is a ≈ 0.1 fm. We use 24 4 lattices which insures that the Wilson kernel and the sequential vector operations run at full speed (see Sections 4 and 5) . Considering the number of masses in our test sets, this is also the largest lattice size that can be used with multi-shift inverters on the GPUs available to us. For larger lattices the required vectors will not fit in GPU memory. All results shown are averages taken with respect to this ensemble. The accuracy required for all solvers used in this section is = 10 −10 . We consider two sets of quark mass values: a wide-ranged set and a narrow-ranged set. The specific values can be found in Table 2 . The wideranged set is taken from a typical lattice QCD study [20] . To test the effectiveness of our solver we also used a narrow-ranged set where the multi-shift inverter should have a large advantage over the single-mass one.. We start by discussing the results for the initial guessing schemes. To quantify their effectiveness, we define the baseline to be the number of iterations required to solve the multi-mass system when taking the initial guess to be the null vector. We define the gain to be gain = Total # of iters. baseline. where the numerator represents the total number of iterations to solve the multi-mass system. As mention in Section 6.2, the mass values are assumed to be ordered such that m 1 < m 2 < · · · < m N , and the solutions are determined Table 2 : left panel is the wide-ranged set and right panel is the narrow-ranged one. Blue circles and yellow triangles correspond to polynomial extrapolation and solution space minimization, respectively.. in order starting with m N , the heaviest mass. We choose this order since we expect the guessing procedures to improve as the number of solutions increases. Since smaller masses require more iterations, better guesses for these masses will result in a larger reduction of the total number of iterations.. We first consider the polynomial extrapolation. If the true function ψ(m) which maps mass values to their solution is slowly changing over the range of masses considered, then it should be well approximated by a finite order polynomial. It seems then sensible to use all available solutions and build the highest order polynomial to extrapolate to the new mass. However, it is possible that using too high an order might lead to oscillatory behavior (Runge's phenomenon). To investigate this, we limit the order of the polynomial used in the extrapolation and measure the gain as we increase the polynomial order. The results are shown in Fig. 6 . From this figure, we see that the largest gain is achieved when using the highest possible degree polynomial. We conclude that Runge's phenomenon is not a concern and that we should use the highest polynomial order available.. The second guessing procedure considered is solution-space minimization. The results are presented in Fig. 6 . We see that the solution-space minimization is either comparable or worse than polynomial extrapolation. Moreover, polynomial extrapolation is simpler to implement. We therefore use the polynomial extrapolation method as our guessing strategy. Table 3 : Performance results for the two sets of masses. Here the speed-up is taken with regard to the multi-shift inverter.. Our single-mass inverter uses a combination of even-odd preconditioning and mixed precision. As expected, even-odd preconditioning reduces the number of iterations required for convergence by a factor of two. Similarly, using a mixed-precision solver reduces the time per iteration by a factor of two.. In the end, the important measure is the time-to-solution required by our solver. In Table 3 , we compare the overall performance of the solver based on single-mass inverter to the one using a multi-shift inverter. We see that the single-mass inverter is faster than the multi-shift inverter by a factor of roughly two. While the number of iterations is larger for the single-shift inverter, the total time per iteration is much smaller. On the one hand this is due to our using mixed-precision inverters. On the other hand, the multishift inverter needs to carry out more algebra per iteration which slows it down. This slowdown is reduced in the wide-range case because the shifted solutions converge quickly and we stop updating them after few iterations.. On a related note, it is worth pointing out that using an initial guess is more effective for the narrow-ranged set. This is hardly surprising since in that case the masses are closer and the extrapolation works better. The important fact is that using an initial guess helps the single-mass inverter exactly when this is at a disadvantage with respect to the multi-shift inverter. In fact, if we didn't use an initial guess, for the narrow-ranged set the singlemass inverter would be slower than the multi-shift one, whereas for the wideranged set the single-mass inverter would still outperform it. Coupled with the slowdown experienced by the multi-shift solver in the narrow-ranged case mentioned above, using an initial guess makes the single-mass inverter perform more uniformly across different scenarios.. We conclude that our single-mass solver is not just memory efficient but it actually outperforms the multi-shift inverter irrespective of the distribution of quark masses considered.

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


Duality gaps in nonconvex stochastic optimization Abstract. We consider multistage stochastic optimization models containing nonconvex constraints, e.g., due to logical or integrality requirements. We study three variants of Lagrangian relaxations and of the corresponding decomposition schemes, namely, scenario, nodal and geographical decomposition. Based on convex equivalents for the Lagrangian duals, we compare the duality gaps for these decomposition schemes. The first main result states that scenario decomposition provides a smaller or equal duality gap than nodal decomposition. The second group of results concerns large stochastic optimization models with loosely coupled components. The results provide conditions implying relations between the duality gaps of geographical decomposition and the duality gaps for scenario and nodal decomposition, respectively. Stochastic dynamic programs arise as optimization models of systems driven by some discrete-time stochastic process {ξ t : t = 1, 2, . . . }, defined on some probability space ( , F, P) with values in some finite-dimensional Euclidean space. Our modeling time horizon includes T time periods, and we make sequential decisions x t ∈ R r at every time interval t = 1, 2, . . . , T on the basis of the information available at that time. We shall denote the information available at time period t by ζ t := (ξ 1 , ξ 2 , . . . , ξ t ). The condition that x t may depend only on ζ t is known as nonanticipativity condition. This property is equivalent to the measurability of x t with respect to the σ -algebra F t ⊆ F, which is generated by ζ t . Clearly, the set {F t } forms a filtration, i.e., F t ⊆ F t+1 , and we assume that F 1 = {∅, } and F T = F. Nonanticipativity can be briefly expressed by the equality constraints x t = E[x t |F t ], t = 1, . . . , T , P − a.s.. (. The dynamics of the system is described by the inequalities

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


Location Verification and Trust Management for Resilient Geographic Routing In this paper, we consider the security of geographic routing (GR) protocols. In GR, neighbors exchange their location information. Based on the information, a node forwards packets to the neighbor that is closest to the destination. Although GR is widely used in ad hoc and wireless sensor networks, its security has rarely been studied; there are a number of attacks that are possible on GR. In one attack, misbehaving nodes can falsify their location information. Also, malicious nodes can drop packets that they need to forward towards the destination. The first contribution of the paper is to propose a location verification algorithm to address the attacks falsifying the location information. The second contribution of the paper is to propose approaches for trust-based multi-path routing, aiming to defeat attacks on GR. We discuss the proposed approaches in detail, outlining possible attacks and defenses against them. In addition, we show, via simulation, how trust-based route selection is able to circumvent and route against attackers. Wireless sensor networks (WSNs) hold the promise of revolutionizing sensing across a large number of disciplines. Geographic Routing (GR) such as GFG [2] , GPSR [20, 21] is an attractive approach for routing in WSNs because of its low overhead and localized interactions. In GR, nodes only interact with their neighbors making localized forwarding decisions. More specifically, nodes exchange the location information with their neighbors. Based on the location information, a node forwards a packet to a neighbor that is closer to the destination.. While a number of studies consider security in multi-hop wireless networks such as WSNs and ad hoc networks, they have mainly focused on conventional routing protocols. Very little work has studied the issue of securing GR and the underlying localization mechanisms. There are fundamental differences between GR and traditional routing algorithms. GR relies on an underlying localization mechanism that allows the sensor nodes to determine their geographic locations [6, 15, 32] . Further, the use of locations, rather than node IDs, introduces additional security concerns. For these reasons, there are a number of unique attacks that are possible on GR. In this paper, we outline some of these attacks and present solutions to them. In this paper, we outlined some of the security threats that arise in the context of Geographical Forwarding (GR). While security in multi-hop wireless networks such as WSNs and ad hoc networks has been well studied, most existing work have focused on traditional routing protocols. The nature of GR makes it vulnerable to a different set of attacks and require specialized solutions for securing them.. In this paper, we studied two areas of vulnerabilities in GR. First, GR trusts nodes to supply their location information and uses it in determining forwarding decisions. There is no protection against misbehaving nodes falsifying this information. We presented an approach for secure and validated localization. The key idea is to have more trusted anchors localize sensor nodes. This prevents nodes from fabricating location information. However, a number of possible attacks remain. We discussed these attacks and outlined solutions to them.. Another key contribution is resilient geographic routing. Even if location information is accurate, nodes may still misbehave, for example, by dropping or manipulating packets. To dynamically avoid untrusted paths and continue to route packets even in the presence of attacks, the proposed solution uses probabilistic multi-path routing combined with the trust-based route selection. We discussed the proposed approach in detail, outlining alternative choices. We considered possible attacks and defenses against them. In addition, we compared the performance of our resilient geographic routing protocol to a well-known geographic routing protocol.. There are a number of open research issues that remain to be addressed. First, the general problem of trust management in wireless ad hoc networks remains to be an open problem. Second, we did not consider the security implications of voids. Voids are typically bypassed by a secondary routing mechanism called face routing [20] . We did not consider possible attacks on this component of GR algorithms. We also did not pursue the implications of using proximity based localization algorithms [6] . Finally, virtual coordinate routing is a promising routing approach that virtualizes node locations. Overall, we believe these issues deserve separate studies due to their importance and related challenges. Wireless sensor networks are exposed to numerous security attacks. Karlof et al. [19] discuss the possible routing disruption attacks and countermeasures. They pointed out that false location claims can seriously disrupt a geographic routing protocol, while suggesting multi-path routing as a countermeasure against selective forwarding attacks. There are a number of challenging security problems related to location verification, localization, and routing that cannot be directly addressed by cryptography-based link layer security protocols such as [35, 18] .. Localization has been well studied [33, 39, 8, 1, 15, 30, 6, 32] ; however, most existing approaches do not address security. Sastry et al. [38] propose a secure location verification protocol. When a node claims its location, a single verifier can check whether or not the location claim can be trusted by leveraging the time difference between the radio and ultrasonic signal arrivals, which is hard for an adversary to subvert. We present a different approach for location verification that does not require an ultrasonic channel, while providing more accurate full location verification, rather than relying on the distance to a single verifier [38] . In addition, we have identified and addressed new attacks related to location verification. Lazos et al. [22] address a complementary problem−a secure range-independent localization problem. Their protocol can enable a sensor node to securely derive its location using trusted anchors. This protocol is concerned with attacks on the localization mechanism to cause nodes to have erroneous location information, but it does not prevent a misbehaving node from providing false estimates of its own location to its neighbors.. Geographic routing protocols such as Greedy Perimeter Stateless Routing (GPSR) [20] and Geographic and Energy Aware Routing (GEAR) [43] can leverage the geographic locations of the source and destination for efficient routing. In GPSR, a node greedily forwards a packet to the neighbor geographically closest to the destination. When there is a void in the network, GPSR routes packets around the hole. GEAR is an energy aware geographic routing protocol. To avoid quickly draining the energy of the node closest to the destination, it considers the remaining energy in addition to the geographic location when it selects the next node. Geographic Probabilistic Routing [37] assigns the packet forwarding probability to each neighbor based on its geographic location, residual energy, and link reliability to further optimize the performance and energy efficiency. However, these geographic routing protocols can be compromised by an adversary lying about its location. The adversary can attract a lot of traffic by claiming several geographic locations, a high energy level, and link quality, while selectively dropping the packets. We propose to prevent the Sybil attack by location verification, while monitoring the behavior of the neighbors to detect if a compromised or malicious node, if any, subverts our secure geographic routing protocol. In fact, our protocol can cooperate with a non-secure geographic routing protocol by supporting location verification and online detection of and tolerance against Sybil and blackhole/selective forwarding attacks.. Intrusion detection and secure routing in wireless networks have recently attracted a lot of attention [5, 42, 3, 4] . A novel intrusion detection scheme [5] has been proposed to detect frauds and immediately notify the users via neural network classification techniques. Our current work seeks to enable a node to estimate the trustworthiness of neighboring nodes via a lightweight approach considering the stringent resource constraints in wireless sensor networks. Lakshmi et al [42] extends AODV [34] for not only external attack prevention but also internal attack detection and correction. Their approach can significantly reduce the routing load as the percentage of the compromised nodes increases compared to the baseline approach without the attack detection and correction scheme. At the same time, the packet delivery ratio of their approach is similar to the baseline. Along the line, our work can be extended in the future to support more resilience against compromised beacons and sensor nodes. Boukerche et al [3] propose an efficient anonymous routing protocol for wireless ad hoc networks. It allows trustworthy intermediate nodes to take a part in the path construction, while supporting the anonymity of the communicating nodes to avoid a possible traffic analysis. Trust and reputation management is key to security in ad hoc networks; [4] proposes a trust and reputation management scheme in wireless sensor networks considering the system perspectives to reduce the energy, bandwidth consumption, and delay for trust and reputation management. We plan to adapt these techniques to extend our trust management scheme.. ARRIVE [17] is a robust routing protocol applicable to wireless sensor networks with a tree-like topology. It overhears the behavior of the neighboring nodes to make probabilistic packet forwarding decisions. To overcome the unreliability of wireless communications, a node forwards a packet to not only a parent but also its neighbors with the reputation higher than the threshold. Different from ARRIVE, we consider the geographic routing problem, while taking advantage of verified location information for routing. Further, we correlate the ACK and overhearing unlike ARRIVE, while allowing trustworthy nodes to exchange the trust information between them to derive a more global view. Several distributed algorithms [23] extend existing geographic routing protocols by supporting location-based multi-path routing. This work is complementary to our work in that we focus on the security aspect, while it focuses on the network performance.

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


Multi-mode resource-constrained project scheduling using RCPSP and SAT solvers This paper reports on a new solution approach for the well-known multi-mode resource-constrained project scheduling problem (MRCPSP). This problem type aims at the selection of a single activity mode from a set of available modes in order to construct a precedence and a (renewable and non-renewable) resource feasible project schedule with a minimal makespan. The problem type is known to be NP-hard and has been solved using various exact as well as (meta-)heuristic procedures. The new algorithm splits the problem type into a mode assignment and a single mode project scheduling step. The mode assignment step is solved by a satisfiability (SAT) problem solver and returns a feasible mode selection to the project scheduling step. The project scheduling step is solved using an efficient meta-heuristic procedure from literature to solve the resource-constrained project scheduling problem (RCPSP). However, unlike many traditional meta-heuristic methods in literature to solve the MRCPSP, the new approach executes these two steps in one run, relying on a single priority list. Straightforward adaptations to the pure SAT solver by using pseudo boolean non-renewable resource constraints has led to a high quality solution approach in a reasonable computational time. Computational results show that the procedure can report similar or sometimes even better solutions than found by other procedures in literature, although it often requires a higher CPU time.

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


Self-monitoring for sensor networks Local monitoring is an effective mechanism for the security of wireless sensor networks (WSNs). Existing schemes assume the existence of sufficient number of active nodes to carry out monitoring operations. Such an assumption, however, is often difficult for a large scale sensor network. In this work, we focus on designing an efficient scheme integrated with good self-monitoring capability as well as providing an infrastructure for various security protocols using local monitoring. To the best of our knowledge, we are the first to present the formal study on finding optimized self-monitoring topology for WSNs. We show the problem is NPcomplete even under the unit disk graph (UDG) model, and give the upper bound on the approximation ratio. We further propose two distributed polynomial algorithms with provable approximation ratio to address this issue. Through comprehensive simulations, we evaluate the effectiveness of this design. Wireless sensor networks (WSNs) are emerging as a promis- ing platform for many important applications such as military surveillance, homeland security, emergency response, forest fire monitoring, etc. Security is important for mission-critical applications which work in unattended and even hostile environment [1, 2] . One of the most severe security threats in sensor networks is node compromise. Once some nodes are compromised, the attackers can use them to mount a variety of attacks. It is rather challenging to provide effective security mechanisms against compromised nodes in resource-limited WSNs [3] . Based on local monitoring (or watchdog) technique [4] [5] [6] [7] , many approaches have been proposed to secure sensor networks in face of compromised nodes. The basic idea of local monitoring is illustrated in Fig. 1 . The dashed circle denotes the transmission range of a node. Node S, M 1 , M 2 monitor the link from S to R, since they are able to monitor the traffic that R receives from S and sends to others.. In WSNs, local monitoring is a promising security mechanism as an effective complement for cryptographic mechanisms. Existing local monitoring schemes assume the existence of sufficient nodes to carry out the monitoring function. Such a requirement is often practically difficult when we consider minimizing the number of monitoring nodes selected for a large scale WSN.. For example, as shown in Fig. 2 , the dots and lines denote the active sensor nodes and communication links between them. The circles denote the sleeping nodes. We desire that every communication link is monitored by two other nodes except for the end nodes of the link. Note that this requirement cannot be satisfied since there are not enough (two) active nodes neighboring to links. Hence, we have to select additional sleeping nodes and activate them. For independent selection for each link, the nodes are selected randomly among those that are able to monitor a link. Figure 2(a) shows the results of random selection, where 38 additional nodes are selected. As shown in Figure 2 (b), only 10 nodes are needed, if we adopt an optimal strategy. The nodes within box are the additional nodes selected to satisfy one communication link monitored by two nodes.. We focus on the fundamental problem of designing a selfmonitoring topology, where each communication link can be monitored by nodes within the network. We prove that finding an optimal self-monitoring topology is NP-complete even when we model the communication network as a unit disk graph (UDG) with a geometric representation. We provide the approximability results in centralized scenario, and prove the existence of polynomial-time approximation scheme (PTAS) for this problem when restricted in some specific graphs. We develop two efficient and distributed approximation algorithms with provable approximation ratio and time complexity guarantee for large scale sensor networks. Moreover, we conduct extensive simulations to demonstrate the effectiveness of this design.. The rest of the paper is organized as follows. Related work is presented in Section II, and problem definition is given in Section III. Hardness of the problem and approximability results are presented in Section IV. Distributed algorithms are presented in Section V. Performance evaluation is presented in Section VI. We have some discussions in VII, and conclude this work in Section VIII. We address the issue of the optimal topology integrated with self-monitoring capability to meet the local monitoring requirements. We present a formal study on the problem of adding the minimum number of monitoring nodes into a large scale sensor network, and show that the problem is NP-complete. We also provide the upper bounds on the approximation ratio in a centralized scenario. We further design two distributed algorithms with provable approximation ratio and time complexity guarantee. Through comprehensive simulations, we present the performance comparison of our distributed algorithms and show that the optimized selection of monitoring nodes can decrease the number of monitoring nodes significantly.. Future work will involve the followings. First is to design secure node selection protocols to prevent malicious nodes from joining set of patching monitoring nodes and colluding. Second, we will investigate how real radio models can affect the selection strategy of monitoring nodes. WSNs are vulnerable to a wide range of security attacks including wormhole, black hole, spoofed, altered, replayed routing information, selective forwarding, sybil attack, DoS, etc. [2, 3] . There have been many proposals using cryptography to ensure secure communication such as SPINS [1] , etc.. Cryptography provides an efficient mechanism to achieve data confidentiality, data integrity, node authentication, and secure routing. Nevertheless, cryptography alone is not sufficient for node compromise attacks and novel misbehaviors in sensor networks [6] . Researchers therefore attempt to use non-cryptographic techniques to solve the problems beyond the capability of cryptographic security [4] [5] [6] [7] .. Previous studies introduce the concept of watchdog or local monitoring to mitigate attacks in sensor and ad hoc networks [4] [5] [6] [7] [8] [9] . The idea of watchdog is first introduced by Marti et al. in ad hoc networks for detecting mischievous nodes [10] . Since then extensive efforts have been made in ad hoc [11] [12] [13] and sensor networks [4] [5] [6] [7] , falling into three categories: secure routing, reputation and trust systems, and intrusion detection.. For secure routing, a lightweight protocol called DICAS is proposed by Khalil et al. [4] , which mitigates the control and data traffic attacks in sensor networks with the help of local monitoring. They design a countermeasure for wormhole attacks, called LITEWORP [5] , which uses guard nodes to attest the source of each transmission. Neighbor watch [7] is employed by a hop-byhop resilient packet-forwarding scheme. For reputation and trustbased systems, neighbor watch is used as a component to monitor neighborhoods and collect information to build trust relationships among nodes in the network, such as RFSN [6] , CONFIDANT [11] , CORE [13] , etc. For intrusion detection systems, local monitoring is used to build decentralized protocols [9, 12] .. Local monitoring scheme places new requirement to a sensor connectivity topology. There are two existing topology control schemes: radio power control and wake/sleep schedule, including LEACH [14] , SPAN [15] , STEM [16] , etc. The main goal of those schemes, however, is to achieve energy efficient communication. They aim at extending network lifetime, enhancing network utilization and capacity, minimizing interference, reducing high end-to-end packet delays, and increasing the robustness to node failures. They do not construct and optimize topologies with local monitoring properties.. Recently, Khalil et al. [17] propose a on-demand sleep-wake protocol to shorten the time a node needs to be awake for the purpose of monitoring. They do not, however, consider the optimized selection of monitoring nodes in the network, but focusing on how to schedule nodes to meet the monitoring requirement for given communication links.. It is worth noting that the focus of the self-monitoring mechanism proposed by Hsin et al. [18] is completely different from this work. They pay more attention on the system-level fault diagnosis of the network, especially detecting node failures. They do not deal with malicious behaviors as what are considered in the works [4, 5, 7] . On the other hand, our study emphasizes the optimized node selection for the local monitoring scheme.

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


Using multirail networks in high-performance clusters AbstractUsing multiple independent networks (also known as rails) is an emerging System-interconnection networks have become a critical component of computing technology, with a direct impact on the design, architecture, and use of high-performance parallel computers. Indeed, not only the sheer computational speed distinguishes high-performance computers from desktop systems, but also the efficient integration of the computing nodes into tightly coupled multiprocessor systems. Network adapters, switches, device-drivers and communication libraries are increasingly becoming performance-critical components in modern supercomputers.. One approach to building large-scale supercomputers, with as many as thousands of processors, is to use shared memory multiprocessors (SMPs) as building blocks. In such machines, it is very important to keep the ratio between computing power and communication capability properly balanced. One solution to the issues of limited bandwidth availability in network connections, and of fault tolerance, is the use of multiple parallel networks or "rails." To the best of our knowledge, very little attention has thus-far been given in the literature to studies of communication protocols, performance characteristics, fault tolerance, and implementation of system software and libraries for multiple rails.. Aside from being a challenging scientific endeavor, the analysis of multirailed networks has direct practical implications as well. Los Alamos National Laboratory and Compaq are currently developing an extreme-scale, multirailed cluster of SMPs, the 30Tops ASCI Q machine 1 . The Qmachine is based on the Quadrics network (QsNet) 2 , which consists of two building blocks, a 64bit/66MHz PCI card with a programmable network interface called Elan [7] and a low-latency high-bandwidth communication switch called Elite [8] . Elites can be interconnected in a fat-tree topology [4] . A recent performance evaluation of the QsNet shows that the network performance is seriously limited by the PCI bus [5] . In fact, the network can deliver almost ¿ ¼ MB/sec at user-level ( ¼¼ MB/sec of raw bandwidth), but the PCI implementation can sustain only ¿¼¼ MB/sec, using the most efficient PCI chipset on the market. The presence of bidirectional traffic further degrades performance, limiting the aggregate communication bandwidth to ¼± of the unidi-rectional bandwidth on most PCI chipsets (Intel 840, Serverworks He and LE, Compaq Wildfire). Though the next generation of the PCI interface, called PCI-X, will double the nominal performance, the new generation of QsNet will also double its performance, so this issue will not disappear.. In this paper we present the basic properties of a multirailed network and analyze three approaches to multirail communication, with the constraint that bidirectional traffic cannot be efficiently supported by the I/O interfaces.. In [1] we have already shown that static rail allocation is not a feasible solution. With static allocation, each network interface can either send or receive messages, and its direction is determined at initialization time. Static allocation poses the problem of connectivity between nodes: we want to have a direct path in the network between any possible pair of nodes. The use of intermediate nodes could seriously degrade the latency achieved by zero-copy, userlevel communication protocols, a key feature of most highperformance networks. A high number of rails is required for statically allocated unidirectional traffic. A network with r rails can support no more than Ò Ö ¤ Ö ¾ ¥ nodes under these conditions. For example, a network of ½ nodes requires at least six rails with static allocation. Furthermore, static allocation performs poorly in terms of bandwidth and latency, compared to the methods presented in this paper. We first address these problems with the local-dynamic allocation. In this scheme, rails are allocated in both directions, using local information available on the sender side. Messages are sent over rails that are not sending or receiving other messages, potentially striping a message over multiple rails when possible. Since this algorithm uses only local information, there is no guarantee that on the receiving end the traffic will be unidirectional.. The dynamic allocation scheme tries to reserve both endpoints before sending a message. In its core is a sophisticated distributed algorithm that ensures unidirectional traffic at both ends and avoids deadlocks, potentially generated by multiple requests with a cyclic dependency. The implementation of this algorithm requires some processing power in the network interface card (NIC), which needs to process incoming control packets and perform the reservation protocol without interfering with the processors in the SMP. Fast response time in the NIC is essential to limit the overhead of this protocol for the protocol's overhead to be justified. This is the case of the QsNet [5] , which is equipped with a thread processor that can read an incoming packet, do some basic processing and send a reply in as few as ¾ ×.. Finally another dynamic allocation scheme is proposed, called hybrid, which allows bidirectionality for small messages, thus minimizing the protocol overhead for finegrained communication. In the presence of large messages, the algorithm reserves both endpoints, maintaining unidirectional transmission on both ends as much as possible.. The experimental results, obtained using a circuit-level simulator of the network and network interface, explore the performance of these allocation algorithms under several traffic loads and message sizes. These results shed new light into the benefit of using multiple network rails and expose several trade-offs in the design of the allocation algorithms. The rest of this paper is organized as follows: Section 2 presents the local-dynamic allocation and Section 3 offers a description of the dynamic and hybrid allocation approaches. The details of the experimental evaluation performed are described in Section 4 and the results obtained are presented in Section 5. Finally, we conclude in Section 6. One of the novel methods that can be used to increase communication performance and enhance fault tolerance in a cluster of workstations is to use parallel independent networks (rails). In this paper, we explored various aspects of multirail interconnects and presented several rail allocation algorithms for efficient usage of the rails. We have shown that the dynamic algorithm can perform relatively well in terms of bandwidth for sufficiently large message sizes, and can handle a relatively high load before saturating. Furthermore, it has been shown that this algorithm is scalable due to its adaptive nature -increasing the number of rails from one to seven increases the maximum relative bandwidth in a linear manner. Superlinearity is achieved for messages larger than KB. Furthermore, the bandwidth increases as the message size increases, unlike the case for other approaches. Incorporating protocol-free short message handling was shown to increase the maximum bandwidth by up to ± more than the pure dynamic algorithm, and up to ¿ ± and ± more than the basic and local-dynamic approaches respectively. We have also shown that striping a message over several rails can be used to obtain a significant reduction of latency in some cases.

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


Insertion of a random task in a schedule: a real-time approach Abstract -We consider the case of a single resource. A given schedule (possibly optimal) is evaluated by means of the sum of the delays of the tasks. A task appears in the system at a random time. The duration of this task is random, as well as its due date. The goal is to complete the task at the latest by its due date while increasing as little as possible the sum of the delays of the initial tasks. We have to find an algorithm that reduces as most as possible the amount of computation to be performed in real time at the expenses of the amount of computation to be performed off-line. Predicability is of outmost importance for solving real-time scheduling problems. In this paper, we present a scheduling problem that concerns a single resource, which is a radar in this case. The goal is to minimize the sum of the delays of the tasks. Previous research work showed that algorithm EDF (Earliest Deadline First) [7] , which schedules the tasks in the increasing order of their due dates, and the algorithm LL (last laxity) [l] , are optimal when independant and preemptive tasks performed on a single processor are concerned. More precisely, all the tasks will be completed on time if such a solution exists. Unfortunately, preemption is possible when the resource is a processor, but it is no more possible in most of the other situations, and in particular when the resource is a radar or a machine.. When the tasks to schedule are non-preemptives, that is when a task cannot be suspended before completion if it has started, two types of real-time algorithms are usually considered, that is the algorithms dedicated to static pr& lem and the algorithms dedicated to dynamic problems. A problem is said to be static when the tasks to be scheduled and the related constraints are known at the beginning of the process. The algorithms proposed in [GI and [3] are used in this case, when the real-time constraint applies. In the dynamic problems, the tasks enter the system randomly, and the next task when scheduling the current one may be known at the last instant only. The algorithms used to solve dynamic problems are of two types : the ones that apply when the resource capacity is able to perform the random tasks, and the others. In the first case, the EDF algorithm previously mentioned is optimal.. Another approach was recently proposed when the demands arrive randomly in a production system and must be scheduled immediatly, taking advantage of the idle time windows that have been let available by the demand previously scheduled. In this case, several resources are involved, and some of these resources may be able to perform the same operations. A real-time algorithm that aim at min- Let us come back t o the simple resource case, and consider the case when the resource capacity is too small or may be too small to face the required production. In this environment, the efficiency of EDF decreases very fast, and we use the Spring algorithm [8] that proceed as the previous approach by scheduling each task as soon as it arrives in the system.. The problem we introduce in this paper is fundamentaly different from the previous ones. We consider that tasks that should be performed periodically are already scheduled, and that the sum of the delays of these tasks is known. In the case of a radar, these tasks are, for instance, the searching tasks. We consider that an unexpected task arrives in the system at a random time. For instance, an object is detected in the sky and a task should be performed as soon as possible in order to evaluate the object, or to decide if the signal detected is a noise or not. The goal is to start this task so as to fit with its due date while increasing as few as possible the sum of the delays of the tasks already scheduled. We define the problem in section 2. The basic relations are presented in section 3. The ways to use these relations to develop algorithms that perform most of the computation off-line are presented in section 4. Section 5 is dedicated to the presentation of two algorithms. Numerical results and the comparison between the two algorithms presented in section 5 are given in section 6 . Section 7 is the conclusion. The goal of this paper was to insert a lethal deadlined random task in a given schedule, while minimizing the increase of the value of the criterion that is the sum of the delays of the previously scheduled tasks. This goal should be reached in real-time.. Our future research objective is twofold : Analyse the problem in which the deadline of the random task is no more lethal, but strongly penalized.. Analyse the problem in which the random task is composed with series of subtasks that are separated by periods. The periods may vary beetween strongly constrainted bounds.

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