Mining Concept Sequences from Large-Scale Search Logs for Context-Aware Query Suggestion Query suggestion plays an important role in improving usability of search engines. Although some recently proposed methods provide query suggestions by mining query patterns from search logs, none of them models the immediately preceding queries as context systematically, and uses context information effectively in query suggestions. Context-aware query suggestion is challenging in both modeling context and scaling up query suggestion using context. In this article, we propose a novel context-aware query suggestion approach. To tackle the challenges, our approach consists of two stages. In the first, offline model-learning stage, to address data sparseness, queries are summarized into concepts by clustering a click-through bipartite. A concept sequence suffix tree is then constructed from session data as a context-aware query suggestion model. In the second, online query suggestion stage, a user's search context is captured by mapping the query sequence submitted by the user to a sequence of concepts. By looking up the context in the concept sequence suffix tree, we suggest to the user context-aware queries. We test our approach on large-scale search logs of a commercial search engine containing 4.0 billion Web queries, 5.9 billion clicks, and 1.87 billion search sessions. The experimental results clearly show that our approach outperforms three baseline methods in both coverage and quality of suggestions. The effectiveness of a user's information retrieval from the Web largely depends on whether the user can raise queries properly describing the information need to search engines. Writing queries is never easy, partially because queries are typically expressed in a very small number of words (two or three words on average) [Jansen et al. 1998 ] and many words are ambiguous [Cui et al. 2002] . To make the problem even more complicated, different search engines may respond differently to the same query. Therefore, there is no "standard" or "optimal" way to raise queries to all search engines, and it is well recognized that query formulation is a bottleneck issue in the usability of search engines. Recently, most commercial search engines such as Google, Yahoo!, and Bing provide query suggestions to improve usability. That is, by guessing a user's search intent, a search engine can suggest queries which may better reflect the user's information need. A commonly used query suggestion method [Baeza-Yates et al. 2004; Beeferman and Berger 2000; Wen et al. 2001 ] is to find similar queries in search logs and use those queries as suggestions for each other. Another approach [Huang et al. 2003; Jensen et al. 2006 ] mines pairs of queries which are adjacent or co-occur in the same query sessions.. Although the existing methods may suggest good queries in some scenarios, none of them models the immediately preceding queries as context systematically, and uses context information effectively in query suggestions. Context-aware query suggestion is challenging in both modeling context and scaling up query suggestion using context. Example 1.1 (Search Intent and Context) . Suppose a user raises a query "gladiator". It is hard to determine the user's search intent, that is, whether the user is interested in the history of gladiator, famous gladiators, or the film Gladiator. Without looking at the context of search, the existing methods often suggest many queries for various possible intents, and thus result in a low accuracy in query suggestion.. If we find that the user submits a query "beautiful mind" before "gladiator", it is very likely that the user is interested in the film Gladiator. Moreover, the user is probably searching the films played by Russell Crowe. The query context which consists of the search intent expressed by the user's recent queries can help to better understand the user's search intent and make more meaningful suggestions.. In this article, we propose a novel context-aware approach for query suggestion by mining concept sequences from click-through data and session data. When a user submits a query q, our context-aware approach first captures the context of q, which is reflected by a short sequence of queries issued by the same user immediately before q. The historical data are then checked to find out what queries many users often ask after q in the same context. Those queries become the candidates of suggestion.. There are two critical issues in the context-aware approach. First, how should we model and capture contexts well? Users may raise various queries to describe the same information need. For example, to search for Microsoft Research Asia, queries "Microsoft Research Asia", "MSRA" or "MS Research Beijing" may be formulated. Directly using individual queries to describe context cannot capture contexts concisely and accurately.. To tackle this problem, we propose summarizing individual queries into concepts, where a concept consists of a small set of queries that are similar to each other. Using concepts to describe contexts, we can address the sparseness of queries and interpret users' search intent more accurately.. To mine concepts from queries, we use the URLs clicked by users as the features of the corresponding queries. In other words, we mine concepts by clustering queries in a click-through bipartite. Moreover, to cover new queries not in the click-through bipartite, we represent each concept by a URL feature vector and a term feature vector. We will describe how to mine concepts of queries and build feature vectors for concepts in Section 3.. With the help of concepts, a context can be represented by a short sequence of concepts corresponding to the queries asked by a user in the current session. The next issue is that, given a particular context, what queries many users often ask in the following.. It is infeasible to search a huge search log online for a given context. We propose a context mining method which mines frequent contexts from historical sessions in search logs. The frequent contexts mined are organized into a concept sequence suffix tree structure which can be searched quickly. The previous mining process is conducted offline. In the online stage, when a user's input is received, we map the sequence of queries into a sequence of concepts as the user's search context. We then look up the context in the concept sequence suffix tree to find out the concepts to which the user's next query most likely belongs, and suggest the most popular queries in those concepts to the user. The details about mining sessions, building a concept sequence suffix tree, and making query suggestions are discussed in Section 4. Figure 1 shows the framework of our context-aware approach, which consists of two stages. The offline model-learning stage mines concepts from a click-through bipartite constructed from search logs, creates feature vectors for the concepts, and builds a concept sequence suffix tree from the sessions in the logs. The online query suggestion stage maps user query sequences into a concept sequence, looks up the concept sequence against the concept sequence suffix tree, finds the concepts that the user's next query may belong to, and suggests the most popular queries in the concepts. The major contributions of this work are summarized as follows.. First, instead of mining patterns of individual queries which may be sparse, we summarize queries into concepts. A concept is a group of similar queries. Although mining concepts of queries can be reduced to a clustering problem on a bipartite graph, the very large data size and the "curse of dimensionality" pose great challenges. To tackle these challenges, we develop a novel and effective clustering algorithm in linear time complexity. We further increase the scalability of the clustering algorithm through two approaches.. Second, there are often a huge number of patterns that can be used for query suggestion. Mining those patterns and organizing them properly for online query suggestion 17:4 Z. Liao et al. is far from trivial. We develop a novel concept sequence suffix tree structure to address this challenge.. Third, users raise new queries to search engines everyday. Most log-based query suggestion methods cannot handle novel queries that do not appear in the historical data. To tackle this challenge, we represent each concept derived from the log data by a URL feature vector and a term feature vector. New queries can thus be recognized as belonging to some concepts through the two types of feature vectors.. Fourth, we conduct extensive studies on a large-scale search log dataset which contains 4.0 billion Web queries, 5.9 billion clicks, and 1.87 billion query sessions. We explore several interesting properties of the click-through bipartite and illustrate several important statistics of the session data. The data set in this study is several magnitudes larger than those reported in previous work.. Last, we test our approach on the search log data. The experimental results clearly show that our approach outperforms three baseline methods in both coverage and quality of suggestions.. The rest of the article is organized as follows. We first review the related work in Section 2. The clustering algorithm and the query suggestion method are described in Sections 3 and 4, respectively. We report an empirical study in Section 5. The article is concluded in Section 6. In this article, we proposed a novel approach to query suggestion using click-through and session data. Unlike previous methods, our approach groups similar queries into concepts and models context information as sequences of concepts. The experimental results on a large-scale dataset containing billions of queries and URLs clearly show our approach outperforms three baselines in both coverage and quality.. In the future, we will extend our context-aware approach to other search applications, such as query expansion, query substitution, query categorization, and document ranking. Moreover, we will explore a uniform framework which summarizes context patterns and support various context-aware applications at the same time. A great challenge for search engines is to understand users' search intent behind queries. Traditional approaches to query understanding focus on exploiting information such as users' explicit feedbacks (e.g., Magennis and van Rijsbergen [1997] ), implicit feedbacks (e.g., Terra and Clarkem [2004] ), user profiles (e.g., Chirita et al. [2007] ), thesaurus (e.g., Liu et al. [2004] ), snippets (e.g., Sahami and Heilman [2006] ), and anchor texts (e.g., Kraft and Zien [2004] ). Several recent studies have used search logs to mine "the wisdom of crowds" for query suggestions. In general, those methods can be divided into session-based approaches and document-click-based approaches.. In session-based approaches, query pairs which are often adjacent or co-occurring in the same sessions are mined as candidates for query suggestion. For example, Huang et al. [2003] mined co-occurring query pairs from session data and ranked the candidates based on their frequency of co-occurrence with the user input queries. Jensen et al. [2006] considered not only the co-occurrence frequency of the candidates, but also their mutual information with the user input queries. To address the sparseness of the data, the authors treated query suggestions at phrase level instead of query level. Moreover, to further improve the coverage of the query suggestion method, the authors manually mapped query terms to topics and then aggregated the co-occurrence patterns at topic level. Boldi et al. [2008] built a query-flow graph where each node represents a distinct query and a directed edge from query q i to query q j means that at least one user submitted query q j immediately after submitting q i in the same session. An edge (q i , q j ) is also associated with some weight to indicate how likely a user moves from q i to q j . To generate query suggestions, the edge weights were estimated by the frequency of observed transitions from q i to q j in search logs, and a straightforward method is to return the queries q j which have the largest weights of edges (q i , q j ). Other methods conduct random walks starting from either the given query q i or the last k queries visited before q i in the same session.. Several studies extended the work in Boldi et al. [2008] along various directions. For example, the study in Boldi et al. [2009] suggested labeling the edges in a query-flow graph into four categories, namely, generalization, specialization, error correction, and parallel move, and only using the edges labeled as specialization for query suggestion. Anagnostopoulos et al. [2010] argued that providing query suggestions to users may change user behavior. They thus modeled query suggestions as shortcut links on a query-flow graph and considered the resulted graph as a perturbed version of the original one. Then the problem of query suggestion was formalized as maximizing the utility function of the paths on the perturbed query-flow graph. Sadikov et al. [2010] extended the query-flow graph by introducing the clicked documents for each query. The queries q j following a given query q i are clustered together if they share many clicked documents.. Unlike the preceding session-based methods which only focus on query pairs, we model various-length context of the current query, and provide context-aware suggestions. Although Boldi et al. [2008] and Huang et al. [2003] used the preceding queries to prune the candidate suggestions, they did not model the sequential relationship between the preceding queries in a systematic way. Moreover, most existing sessionbased methods focused on individual queries in context modeling and suggestion generation. However, as mentioned in Section 1 (Introduction), user queries are typically sparse. Consequently, the generated query suggestions could be very similar to each other. For example, it is possible in a query-flow graph that two very similar queries q j1 and q j2 are both connected to query q i with high weights. When q j1 and q j2 are both presented to users as suggestions for q i , the user-perceived information would be redundant. Although the method by Sadikov et al. [2010] grouped similar queries in candidate suggestions, it cannot handle the sparseness of context. Our approach summarizes similar queries into concepts and uses concepts in both context modeling and suggestion generation. Therefore, it is more effective to address the sparseness of queries.. The document-click-based approaches focus on mining similar queries from a clickthrough bipartite constructed from search logs. The basic assumption is that two queries are similar to each other if they share a large number of clicked URLs. For example, Mei et al. [2008] performed a random walk starting from a given query q on the click-through bipartite to find queries similar to q. Each similar query q i is labeled with a "hitting time," which is essentially the expected number of random walk steps to reach q i starting from q. The queries with the smallest hitting time were selected as the query suggestions. Different from our method, the "hitting time" approach does not summarize similar queries into concepts. Moreover, it does not consider the context information when generating query suggestions. Other methods applied various clustering algorithms to the click-through bipartite. After the clustering process, the queries within the same cluster are used as suggestions for each other. For example, Beeferman and Berger [2000] applied a hierarchical agglomerative method to obtain similar queries in an iterative way. Wen et al. [2001] combined query content information and click-through information and applied a density-based method, DBSCAN [Ester et al. 1996] , to cluster queries. These two approaches are effective to group similar queries. However, both methods have high computational cost and cannot scale up to large data. Baeza-Yates et al. [2004] used the efficient k-means algorithm to derive similar queries. However, the k-means algorithm requires a user to specify the number of clusters, which is difficult for clustering search logs.. There are some other efficient clustering methods such as BIRCH [Zhang et al. 1996 ] though they have not been adopted in query clustering. In BIRCH, the algorithm constructs a Clustering Feature (CF for short) vector for each cluster. The CF vector consists of the number N of data objects in the cluster, the linear sum − → LS of the N data objects, and the squared sum SS of the N data points. The algorithm then scans the data set once and builds a hierarchical CF tree to index the clusters. Although the BIRCH algorithm is very efficient, it may not handle high 17:6 Z. Liao et al. dimensionality well. As shown in previous studies (e.g., Hinneburg and Keim [1999] ), when the dimensionality increases, BIRCH tends to compress the whole dataset into a single data item. In this article, we borrow the CF vector from BIRCH. However, to address the "curse of dimensionality" caused by the large number of URLs used as dimensions for queries in logs, we do not build CF trees. Instead, we develop the novel dimension array to leverage the characteristics of search log data.. The approach developed in this article also clusters similar queries using the click-through bipartite. However, different from the previous document-click-based approaches which suggest queries from the same cluster of the current query, our approach suggests queries that a user may ask in next step, which are more interesting than queries simply replaceable to the current query.. To a broader extent, our method for query suggestion is also related to the methods for query expansion and query substitution, both of which also target at helping search engine users to formulate good queries.. Query expansion involves adding new terms to the original query. Traditional IR methods often select candidate expansion terms or phrases from pseudorelevance feedbacks. For example, Lavrenko and Croft [2001] created language models from the pseudorelevance documents and estimated the joint distribution P(t, q 1 , . . . , q l ), where t is a candidate term for expansion and q 1 , . . . , q l are the terms in the given query. Several other studies used machine learning approaches to integrate richer features in addition to term distributions. For example, Metzler and Croft [2007] applied a Markov Random Field model and employed a Support Vector Machine. Both approaches considered the co-occurrence as well as the proximity between query terms and candidate terms. In recent years, several studies mined search logs for query expansion. For example, Cui et al. [2002] showed that queries and documents may use different terms to refer to the same information. They built correlations between query terms and document terms using the click-through information. When the system receives a query q, all the document terms are ordered by their correlation to the terms in q, and the top terms are used for query expansion. Fonseca et al. [2005] proposed a method for concept-based interactive query expansion. For a query q, all the queries which are often adjacent with q in the same sessions are mined as the candidates for query expansion.. Query substitution alters the original query into a better form, for example, correcting spelling errors in the original query. In Guo et al. [2008] , Jones et al. [2006] , Lau and Horvitz [1999] , Rieh and Xie [2001] , and Silverstein et al. [1999] , the authors studied the patterns how users refine queries in sessions and explored how to use those patterns for query substitution. In Rieh and Xie 2001, the authors categorized session patterns into three facets, that is, content, format, and resource. For each facet, they further defined several subfacets. For example, within the content facet, the subfacets include specification, generalization, replacement with synonyms, and parallel movement. In Jones et al. [2006] , the authors extracted candidates for query substitution from session data and built a regression model to calculate the confidence score for each candidate. Guo et al. [2008] associated the query refinement patterns with particular operations. For example, for spelling correction, possible operations include deletion, insertion, substitution, and transposition. The authors then treated the task of query substitution as a structure prediction problem and trained a conditional random field model from session data. Although many previous studies for query expansion and query substitution are related to our work in the sense that they also use click-through bipartite and session data, those methods have the following two essential differences with our method. First, the methods for query expansion and query substitution aim at finding better formulation of the current query. In other words, they try to find queries replaceable to the current one. On the contrary, our query sug-gestion method may not necessarily provide candidate queries which carry the same meaning with the current one. Instead, it may provide suggestions that a user intends to ask in the next step of the search process. Second, almost all the existing methods for query expansion and query substitution only focus on the current query pairs, while our methods provide query suggestions depending on the context of the query. While conducting context-aware query expansion and substitution is an interesting research problem, we focus on on the problem of context-aware query suggestion in this article.. Another line of related work explored the effectiveness of using context information for predicting user interests. For example, White et al. [2010] assigned the topics from the taxonomy created by the Open Directory Project 1 to three types of contexts. The first type considered the preceding queries only, while the second and third types added clicked and browsed documents by the user. The authors confirmed that user interests are largely consistent within a session, and thus context information has good potential to predict the users short-term interests. In White et al. [2009] , the authors explored various sources of contexts in browsing logs and evaluated their effectiveness for the prediction of user interests. For example, besides the preceding pages browsed within the current session, the authors also considered the pages browsed in a long history, the pages browsed by other users with the same interests, and so on. They found a combination of multiple contexts performed better than a single source. Mei et al. [2009] proposed using query sequences in sessions for four types of tasks, including sequence classification, sequence labeling, sequence prediction, and sequence similarity. They found that many tasks, such as segmenting queries in sessions according to use interests, can benefit from context information. Although those previous studies showed the effectiveness of context information, none of them targeted at the particular problem of query suggestion. Therefore, the techniques in those studies cannot be applied or directly extended for our problem. We extract a large-scale search log from a commercial search engine as the training data for query suggestion. To facilitate the interpretation of the experimental results, we only focus on the Web searches in English from the US market. The dataset contains 3,957,125,520 search queries, 5,918,834,722 clicks, and 1,872,279,317 search sessions, which involves 28,354,317 unique queries and 40,909,657 unique URLs.

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


Hardware architecture and FPGA implementation of a type-2 fuzzy system This paper presents an architectural proposal for a hardware-based interval type-2 fuzzy inference system. First, it presents a computational model which considers parallel inference processing and type reduction based on computing inner and outer bound sets. Taking into account this model, we conceived a hardware architecture with several pipeline stages for full parallel execution of type-2 fuzzy inferences. The architectural proposal is used for specifying a type-2 fuzzy processor with reconfigurable rule base, which is implemented over FPGA technology. Implementation results show that this processor performs more than 30 millions of type-2 fuzzy inferences per second. Type-2 fuzzy logic is an emergent research field. It has been demonstrated that type 2 fuzzy systems are capable of dealing with noisy training data, noisy measurements and multiple meanings of linguistic categories [1] . As a matter of fact, type-2 fuzzy logic is a better choice than traditional fuzzy logic for handling phenomena which are both non linear and stochastic [1, 2] .. Several applications of type-2 fuzzy logic have been recently addressed [3, 4] . Some of them require high processing speed so as to operate in real-time. In this sense, it is convenient to implement hardware-based type-2 fuzzy systems.. To the best of our knowledge, currently there is no hardware realization of type-2 fuzzy systems. It has been proposed a computational model and a hardware architecture for an Interval Type-2 Fuzzy Logic System (IT2FLS) [12] . This architecture includes the typical stages of an IT2FLS [1] : fuzzification, inference engine and type reduction, which is based on the computation of inner and outer bound sets, the so called WuMendel closed forms [5] .. In this paper, several methodological aspects related to hardware implementation of digital type-1 fuzzy systems are revised [6, 7, 9] in order to conceive the architecture of the fuzzification and the inference engine stages. For type-reduction, we propose the use of Distributed Arithmetic (DA) to compute the Wu-Mendel closed forms [13] . Due to the inherently parallel nature of an IT2FLS, we consider pipelined parallel organization in order to guarantee the speed performance of the final implementation.. A type-2 fuzzy processor is designed based on the proposed architecture. It is conceived to have up to eight type-2 fuzzy sets per input and nine type-2 singletons sets at the output. It is implemented onto an FPGA (Field Programmable Gate Array). This paper is organized as follows: Section 2 describes the considered computational model. Our architecture is explained in Section 3. Implementation results are presented in Section 4. We draw conclusions in Section 5. We have presented an architectural proposal intended to implement a type-2 fuzzy inference system using reconfigurable hardware. In a first methodological step, the analysis of an interval type-2 fuzzy system led us to the definition of an inference execution model, whose main features are: (1)division of the inference process in several phases that can be executed concurrently and (2) adoption of the Wu-Mendel closed forms for type reduction, which can be cost-effectively implemented in hardware. Then, we conceived our architectural proposal taking into account the aforementioned execution model. This architecture has several pipeline stages in which inference processing phases are performed in parallel. We proposed the use of Distributed Arithmetic for implementing type reduction in hardware. A type-2 fuzzy co-processor was then successfully synthesized and tested over a FPGA target technology. Its processing speed reaches 30 millions of type-2 fuzzy inferences per second.

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


Computing

specified

generators

of

structured

matrix

inverses

The

asymptotically

fastest

known

divide-and-conquer

methods

for

inverting

dense

structured

matrices

are

essentially

variations

or

extensions

of

the

Morf/Bitmead-Anderson

algorithm.

Most

of

them

must

deal

with

the

growth

in

length

of

intermediate

generators,

and

this

is

done

by

incorporating

various

generator

compression

techniques

into

the

algorithms.

One

exception

is

an

algorithm

by

Cardinal,

which

in

the

particular

case

of

Cauchy-like

matrices

avoids

such

growth

by

focusing

on

well-specified,

already

compressed

generators

of

the

inverse.

In

this

paper,

we

extend

Cardinal's

method

to

a

broader

class

of

structured

matrices

including

those

of

Vandermonde,

Hankel,

and

Toeplitz

types.

Besides,

some

first

experimental

results

illustrate

the

practical

interest

of

the

approach.

Since

a

classical

way

of

exploiting

the

structure

of

dense

matrices

is

via

the

displacement

rank

approach:

typically,

n

n

matrices

are

represented

by

pairs

(G,

H)

of

n

α

matrices

such

that

L(A)

GH

T

for

some

linear

operator

L

called

a

displacement.

Classical

choices

for

L

are

Stein's

displacement

∆[M,

N]

A

A

MAN

and

Sylvester's

displacement

∇[M,

N]

A

MA

AN.

With

respect

to

a

given

displacement,

(G,

H)

is

called

a

generator

of

length

α

for

A,

and

A

is

considered

to

be

structured

when

α

is

"small"

(in

with

D(x)

the

diagonal

matrix

whose

entry

(i,

i)

is

the

ith

coefficient

xi

of

vector

x,

and

Zn,ϕ

the

n

n

unit

ϕ-circulant

matrix

having

a

ϕ

in

position

n),

ones

in

positions

(i

i),

and

zeros

everywhere

else..

When

a

structured

matrix

A

K

n×n

is

invertible,

its

inverse

A

−1

is

known

to

be

structured

too,

and

some

asymptotically

fast

algorithms

are

available

for

computing

length-α

generators

for

A

−1

and

linear

system

solutions,

whose

costs

in

terms

of

operations

in

K

are

in

O˜(α

n)

(see

and

the

references

therein)

and,

since

more

recently,

in

O˜(α

ω−1

n)

(see

(Here

and

hereafter

the

O˜notation

hides

logarithmic

factors,

and

ω

denotes

a

feasible

exponent

for

matrix

multiplication

over

K.)

Such

algorithms

are

essentially

variations

or

extensions

of

the

Morf/Bitmead-Anderson

(MBA)

divide-and-conquer

approach

In

practice,

they

apply

to

important

types

of

structures

like

those

of

However,

most

of

these

algorithms

must

deal

with

the

growth

in

length

of

intermediate

generators,

and

this

is

done

by

recursively

using

a

generator

compression

stage

which,

given

matrices

G,

H

K

n×β

such

that

GH

T

has

rank

α

β,

computes

matrices

Gc,

Hc

that

satisfy

GcH

T

c

GH

T

but

now

have

exactly

α

columns;

see

and

One

exception

is

a

variant

of

MBA

due

to

Cardinal

assuming

Sylvester's

displacement

equation

Cost

functions.

Our

algorithms

in

the

next

sections

will

essentially

require

the

ability

to

efficiently

evaluate

products

of

the

form

AB

and

A

T

B,

where

A

has

one

of

the

three

basic

structures

above,

and

B

consists

of

one

or

several

vectors..

In

order

to

relate

the

costs

of

our

algorithms

in

Section

to

the

costs

of

such

products,

we

introduce

the

following

functions.

For

the

Cauchy-like

structure

let

MM

C

R

≥0

be

such

that,

for

A

K

n×n

given

by

the

right

hand-side

of

and

B

K

n×β

the

products

AB

and

A

T

B

can

be

computed

using

at

most

MM

C

(α,

n,

β).

operations

in

K.

We

define

the

functions

MM

V

and

MM

H

in

a

similar

way

for,

respectively,

the

Vandermonde-like

and

Hankel-like

structures.

Also,

when

β

α

we

shall

simply

write

MM

(α,

n),

for

C,

V,

H.

Following

p.

we

write

M(n)

for

the

cost

of

multiplying

two

polynomials

of

degree

less

than

n

over

K[x],

and

we

assume

that

M(n)

is

"superlinear,"

that

is,

M(n)/n

is

nondecreasing..

It

is

known

(see

for

example

that

C(x,

y)

T

is

−C(y,

x)

and

that

multiplying

C(x,

y),

V(x,

n),

or

V(x,

n).

T

by

a

vector

can

be

done

in

time

O(M(n)

log(n))

via

(transposed)

multipoint

evaluation.

Hence

by

a

straightforward

application

of

the

summation

formulas

and

one

has.

We

shall

also

use

the

three

properties

given

below:.

and,

for

C,

V,

H,.

Indeed,

one

can

evaluate

our

sum

of

α

k

products

by

adding

the

first

α

terms

and

the

last

k

terms

separately,

and

then

combining

the

two

intermediate

results.

Since

moreover

MM

(k,

n,

α)

αMM

(k,

n,

and

follow

from

the

complexities

of

MM

V

(α,

n)

and

MM

H

(α,

n)

mentioned

above.

To

establish

notice

that

a

sum

of

kα

terms

for

α

vectors

can

be

evaluated

via

k

sums

of

α

terms

for

α

vectors

plus

a

final

sum

in

O(α

n),

repeated

times..

Finally,

we

assume

as

for

M(n)

that

the

functions

MM

n)

are

superlinear.

This

assumption

will

allow

us

to

simplify

the

cost

bounds

of

the

algorithms

of

Section

and

can

be

easily

supported

by

"naive"

implementations

in

O˜(α

n)

as

those

used

in

Section

In

this

paper,

we

have

extended

Cardinal's

compressionfree

algorithm

to

a

broader

class

of

structured

matrices,

including

not

only

the

Cauchy-like

type

but

also

the

Vandermonde-,

Hankel-,

and

Toeplitz-like

types.

Our

main

conclusion

is

that

this

approach

yields

variants

of

the

MBA

algorithm

that

are

simpler

to

analyze

and

implement,

and,

according

to

our

first

experiments,

significantly

faster

in

practice.

However,

this

study

calls

for

a

number

of

extensions:.

On

the

practical

side,

we

should

first

study

the

impact

of

stopping

recursive

calls

(and

reconstructing

A

−1

explicitly

via

fast

dense

linear

algebra)

when

n

α.

It

would

also

be

interesting

to

measure

the

memory

gains

brought

by

Cardinal's

extended

approach

over

MBA..

On

the

algorithmic

side,

although

we

have

focused

only

on

O˜(α

n)

versions

of

MBA,

it

would

be

interesting

to

incorporate

the

matrix

multiplication

techniques

of

We

should

also

study

the

impact

of

multiplicities

in

x

and

y

on

the

cost

bounds

and

adapt

our

work

to

structures

like

those

of

the

Toeplitz+Hankel-like

type.

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


Local-in-time adjoint-based method for design optimization of unsteady flows We present a new local-in-time discrete adjoint-based methodology for solving design optimization problems arising in unsteady aerodynamic applications. The new methodology circumvents storage requirements associated with the straightforward implementation of a global adjoint-based optimization method that stores the entire flow solution history for all time levels. This storage cost may quickly become prohibitive for large-scale applications. The key idea of the local-in-time method is to divide the entire time interval into several subintervals and to approximate the solution of the unsteady adjoint equations and the sensitivity derivative as a combination of the corresponding local quantities computed on each time subinterval. Since each subinterval contains relatively few time levels, the storage cost of the local-in-time method is much lower than that of the global methods, thus making the time-dependent adjoint optimization feasible for practical applications. Another attractive feature of the new technique is that the converged solution obtained with the local-in-time method is a local extremum of the original optimization problem. The new method carries no computational overhead as compared with the global implementation of adjoint-based methods. The paper presents a detailed comparison of the global-and local-in-time adjoint-based methods for design optimization problems governed by the unsteady compressible 2-D Euler equations. The continuous growth of computer power and the development of efficient and accurate computational tools now attract more attention to design optimization of unsteady flows. The time-dependent optimization problems arise in many aerodynamic applications including optimal design of helicopter rotors and turbomachinery blades, flutter and vibration control, noise reduction, active and passive flow control, etc. These problems can be formulated as minimization/maximization of appropriate cost functionals (e.g., lift, drag, torque, etc.) and can be solved by utilizing optimal control theory.. Among various optimization techniques available in the literature, adjoint-based gradient methods have recently grown in popularity, rapidly becoming one of the most widely used algorithms for solving a variety of steady and unsteady optimization problems. The adjoint methodology is particularly attractive for aerodynamic shape/design optimization problems that are characterized by the presence of a large number of design variables, yet relatively few constraints. In contrast to a classical forward mode differentiation approach whose computational cost is directly proportional to the number of design 0021-9991/$ -see front matter Ó 2010 Elsevier Inc. All rights reserved. doi:10.1016/j.jcp.2010. 03.045 variables, the adjoint methodology has the advantage of computing the cost functional gradients at a fixed expense independent of the number of design variables. Although the adjoint-based methods have been successfully used for problems of optimal design within the steady-state aerodynamics [1] [2] [3] [4] , applications of the adjoint formulation to timedependent optimal design problems are still lacking. One of the main reasons why the time-dependent optimization has not been practically used in real-life aerodynamic applications is the storage cost involved. Straightforward global implementations of the discrete unsteady adjoint formulation require that the entire flow solution history should be available during the reverse time integration of the adjoint equations. For realistic 3-D design optimization problems, these storage requirements can quickly become prohibitive. For example, the storage cost of a typical discretization of the 3-D unsteady Reynolds Averaged Navier-Stokes (URANS) equations on a grid with 10 5 points per processor, which are integrated over 1000 time steps, is of the order of O(10) Gb. Note that the storage cost may be significantly higher if a finer grid and more time levels are required to resolve the unsteady flow dynamics, and one stores not only the flow variables and grid coordinates, but also the grid velocities, face normals, control volumes, etc.. Several strategies aimed at circumventing these storage requirements have been developed and reported in the literature. All these methods can be divided into two groups. The first group of methods is ''exact" in the sense that the primal and adjoint solutions computed using these methods exactly satisfy the corresponding equations of the original adjoint formulation. The most straightforward exact approach is to store the entire flow solution history to a hard disk (e.g., see [5] [6] [7] ) and then use it during the reverse time integration of the adjoint equations. Note that for large-scale problems that are nonperiodic in time and require a very large number of time steps to integrate the governing equations, the storage and input/output costs may become prohibitively expensive. Another technique that provides a partial remedy to the storage problem is based on various checkpointing procedures which are performed either statically [8] or dynamically [9] . For this class of methods, the flow variables are stored only at so-called checkpoints whose number is much smaller than the total number of time steps required for integration of the primal and adjoint equations. During the backward-in-time integration of the adjoint equations, the required flow solution on each time subinterval between (k À 1)th and kth checkpoints is recomputed by using the previously stored flow solution at the (k À 1)th checkpoint as an initial condition. As a result, the flow solution should be stored only over a small time subinterval [T kÀ1 , T k ] and at all checkpoints, thus significantly reducing the overall storage cost. However, as mentioned in [8, 9] , the computational cost increases by a factor of 2-3 because of the additional solves of the primal equations.. The key idea of the second group of methods is to reduce the storage cost by constructing sufficiently accurate approximations of either the original optimization problem or the corresponding governing equations. As a result, a solution obtained using these approximate techniques is suboptimal, i.e., not necessarily an extremum of the original time-dependent optimization problem. Among various suboptimal techniques, we would like to mention receding horizon control [10] [11] [12] , system reduction [13] [14] [15] [16] [17] , and nonlinear frequency domain methods [18, 19] . The receding horizon techniques replace the original time-dependent optimization problem formulated on the entire time interval (the full time horizon) with a sequence of local optimal control problems defined on each time subinterval. Each of the subinterval problems, which are solved sequentially, consists of only a few (possibly one) time steps, so that its storage cost is much lower than that of the original unsteady optimization problem. This approach has been successfully used for optimal control problems governed by the 2-D incompressible Navier-Stokes equations. In [10] , the receding horizon method is used for controlling the unsteady flow around a cylinder. Bewley et al. [11] use the receding horizon technique to re-laminarize the turbulent flow in a channel. In [12] , Hou and Yan prove that the receding horizon method with distributed controls is stable for problems with a tracking-type functional governed by the 2-D incompressible Navier-Stokes equations. Note that the receding horizon techniques cannot be directly used for solving shape/design optimization problems. These methods compute only the local sensitivity derivative, while the global sensitivity derivative over the entire time interval of interest, which is required for solving the optimal design problems, is not available.. Another suboptimal approach that can significantly reduce the storage and computation costs is based on reduced-order or low-dimensional models of the original high-fidelity approximation of the Euler/Navier-Stokes equations. In [13] , Tang et al. use a proper orthogonal decomposition (POD) reduced-order model based on a snapshot basis to control the unsteady wake flow around a cylinder. Hinze and Kunisch [14] present a POD-based boundary control technique that iteratively updates the low-order model and apply it to control the unsteady flow near a cylinder. In [15] , two POD-based design optimization methods are used for inverse design of various airfoil shapes. POD modes and their Lagrangian sensitivities with respect to the shape variables are used to derive the POD basis to approximate a class of solutions over a range of design parameter values in [16] . This POD-based methodology is then applied to solving the two-dimensional flow past a square over a range of incidence angles. Modifications to the conventional POD procedure based on nonlinear projection for computing flow solutions are presented and demonstrated on several inverse design problems in [17] . Though POD-based reduced-order models can in principle drastically reduce the overall storage and CPU costs, their accuracy and consequently efficiency strongly depend on how well the POD basis represents the designed set of solutions. This problem associated with a proper selection of snapshots becomes a real challenge for essentially nonlinear compressible flows with shocks and contact discontinuities.. For periodic or quasi-periodic flows, the dimensionality of the corresponding unsteady discrete optimization problem can be reduced by expanding the flow solution in a Fourier series in time, thus reformulating the original optimization problem in the frequency domain. In [18] , a gradient method based on the discrete adjoint equations and the corresponding boundary conditions in the frequency domain has been developed. This approach significantly reduces the storage and computation costs of the shape optimization of a 3-D wing oscillating at a constant frequency. An adjoint-based optimization procedure based on the time-spectral formulation is developed and used for the analysis and shape design of helicopter rotors in forward flight in [19] . Similar to optimization techniques based on the POD reduced-order models, the time-spectral methods are suboptimal. Moreover, these methods are applicable only to time-periodic problems, and their efficiency strongly depends on the number of Fourier modes required to accurately approximate the solution of the unsteady governing equations.. In this paper, we present a new local-in-time discrete adjoint-based optimization methodology that combines the best features of both groups of methods outlined above. Similar to the suboptimal techniques, the new methodology tremendously reduces the overall storage cost by approximating the original adjoint equations on a set of local time subintervals, so that each subinterval involves only a few (possibly one) time steps. The distinctive features of the new local-in-time adjoint-based optimization algorithm are (1) the ability of the new method to converge to a local minimum of the original unsteady optimization problem; and (2) the fact that there is no additional computational overhead as compared with the global-in-time methods. Furthermore, since the global sensitivity derivative is evaluated at each optimization iteration of the new technique, it can be directly used for solving both optimal control and design optimization problems.. The rest of the paper is organized as follows. In Section 2, we present the discrete time-dependent optimization problem. Section 3 presents the conventional global-in-time adjoint-based method. The new local-in-time adjoint-based optimization method is introduced in Section 4. In Section 5, we validate the proposed time-dependent optimization methodology and evaluate its efficiency for three design optimization problems governed by the 2-D compressible Euler equations. We draw conclusions in Section 6. The new local-in-time adjoint-based method for design optimization of unsteady flows has been developed. In contrast to the global-in-time (GT) algorithm that stores the flow solution for all time levels, the new algorithm sequentially solves the local adjoint equations on each time subinterval to form the global sensitivity derivative. Two different implementations of the local-in-time method have been considered. The first, simplified (SLT) implementation neglects the coupling between neighboring time subintervals. Since each set of local adjoint equations is integrated backward in time over only a small time subinterval, the storage cost of the SLT method is of the order of O(N/K) flow variables, where N is the total number of time intervals and K is the number of time subintervals. In the limit, each time subinterval can consist of a single time step, thus, the storage cost can be reduced to the level of the steady state adjoint formulation. For the second, more general implementation of the local-in-time (LT) method, the term that couples the local sets of adjoint equations defined on neighboring time subintervals is retained and taken from the previous optimization iteration. The feature of the LT algorithm is that its solution is a local minimum of the original optimization problem, which is not necessarily the case for the SLT method. Furthermore, for the LT method, the number of operations per optimization cycle is equal to that of the GT algorithm, thus leading to the same CPU cost. For all test problems considered, the GT, LT, and SLT methods provide practically the same convergence rate and converge to the same local minimum of the original time-dependent optimization problem. These properties of the LT method open new avenues for solving a broad spectrum of realistic large-scale design optimization problems arising in various unsteady aerodynamic applications.

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


Synthesis of Predictable Networks-on-Chip-Based Interconnect Architectures for Chip Multiprocessors Abstract-Today, chip multiprocessors (CMPs) that accommodate multiple processor cores on the same chip have become a reality. As the communication complexity of such multicore systems is rapidly increasing, designing an interconnect architecture with predictable behavior is essential for proper system operation. In CMPs, general-purpose processor cores are used to run software tasks of different applications and the communication between the cores cannot be precharacterized. Designing an efficient network-on-chip (NoC)-based interconnect with predictable performance is thus a challenging task. In this paper, we address the important design issue of synthesizing the most power efficient NoC interconnect for CMPs, providing guaranteed optimum throughput and predictable performance for any application to be executed on the CMP. In our synthesis approach, we use accurate delay and power models for the network components (switches and links) that are obtained from layouts of the components using industry standard tools. The synthesis approach utilizes the floorplan knowledge of the NoC to detect timing violations on the NoC links early in the design cycle. This leads to a faster design cycle and quicker design convergence across the high-level synthesis approach and the physical implementation of the design. We validate the design flow predictability of our proposed approach by performing a layout of the NoC synthesized for a 25-core CMP. Our approach maintains the regular and predictable structure of the NoC and is applicable in practice to existing NoC architectures.

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


Organic electronic device modeling at the nanoscale Electronic devices with nanoscale features (~ 100 nm or smaller) are becoming increasingly important in electronics technology. While nanoscale electronic devices comprise a variety of different material sets and structures, many of the nanoscale devices developed in the last decade employ organic materials. In this talk, we discuss the modeling of organic electronic thin film devices. In our approach, analysis of such devices begins on the molecular scale, and device level behavior is then derived from the combination of individual molecular properties and physical models of intermolecular interactions. We present a general purpose Monte Carlo simulator based on molecular-scale physical models and employ this simulator to analyze device behavior. Analysis of the optical and electronic behavior of organic electronic devices requires development of molecular (nanometer) scale physical models. In this work we present an approach to a complete organic electronic device simulator, and demonstrate application of the simulator to modeling the physical behavior of organic electronic devices.. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. The rapid growth of organic electronics technology has to some extent outpaced the development of accurate physical models of device behavior. The approach described here, in which we combine Monte Carlo simulation techniques with molecular-scale physical models, shows great promise as a tool for organic electronic device analysis.

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


An HMM-Based Algorithm for Content Ranking and Coherence-Feature Extraction Abstract-In this paper, we propose an algorithm called coherence hidden Markov model (HMM) to extract coherence features and rank content. Coherence HMM is a variant of HMM and is used to model the stochastic process of essay writing and identify topics as hidden states, given sequenced clauses as observations. This study uses probabilistic latent semantic analysis for parameter estimation of coherence HMM. In coherence-feature extraction, support vector regression (SVR) with surface features and coherence features is used for essay grading. The experimental results indicate that SVR can benefit from coherence features. The adjacent agreement rate and the exact agreement rate are 95.24% and 59.80%, respectively. Moreover, this study submits high-scoring essays to the same experiment and finds that the adjacent agreement rate and exact agreement rate are 98.33% and 64.50%, respectively. In content ranking, we design and implement an intelligent assisted blog writing system based on the coherence-HMM ranking model. Several corpora are employed to help users efficiently compose blog articles. When users finish composing a clause or sentence, the system provides candidate texts for their reference based on current clause or sentence content. The experimental results demonstrate that all participants can benefit from the system and save considerable time on writing articles.Index Terms-Coherence-feature extraction, hidden Markov model (HMM), input devices and strategies, natural language processing (NLP), predictive content. R ECENTLY, essays have become central to a formal education, and exams require good writing. However, while writing is important for a literary education, it is costly for human raters to grade essays. Automated essay scoring (AES) is the ability of computer technology to evaluate and score written prose. AES was first proposed in 1966, and its capability has been proven through application to large-scale essay exams. Companies such as Vantage Learning and Educational Testing Service (ETS) Technologies have published research results demonstrating strong correlations and insignificant differences between AES and human scoring [1] . AES systems are de-signed to simulate grading by a human rater and are usable only if they can grade as accurately as human raters. Thus, if more features that are able to identify grading criteria are available, AES can increase the accuracy and reliability of essay grading. In this paper, we propose a novel algorithm, a variant of hidden Markov model (HMM) called coherence HMM, to extract coherence features.. Essay writing can be viewed as a temporal process, in which each clause is completed over time. This study employs coherence HMM to model the stochastic process of essay writing and identify topics as the hidden states while providing sequenced clauses as observations. The parameter estimation of HMM relies on expectation and maximization (EM) algorithm [2] to obtain the maximum-likelihood estimate of the parameters. The coherence HMM employs probabilistic latent semantic analysis (LSA) (PLSA) [3] , a statistical technique for analyzing cooccurrence data, to estimate parameters. Essentially, PLSA is based on a mixture decomposition derived from a latent class model. Similarly, the maximum-likelihood estimation (MLE) in PLSA employs the EM algorithm for parameter estimation. When the parameters of PLSA are obtained, coherence HMM employs the topic and term-topic distribution information from PLSA for parameter estimation. Each hidden state of coherence HMM corresponds to a PLSA topic. The observed clauses are generated or emitted by these hidden states, where the clause emission probability can be calculated from the topic and term-topic distributions of PLSA. Each article is comprised of numerous clauses, each of which can be transformed into a corresponding topic using maximum a posteriori (MAP). Thus, each training article can be transformed into a sequence of topics. The initial state probability and state transition probabilities can be estimated from the collection of topic sequences.. Essay scoring and writing are related to coherence, explaining why we develop a coherence-HMM algorithm to extract coherence features from essays and rank online content. In the ranking model, coherence HMM can rank next clauses or sentences based on the results inferred from observed clauses. Moreover, blog has become a topic of significant recent interest due to the emergence and growth of social networks [4] , [5] . Based on the ranking model, we design and implement an intelligent assisted blog writing system to help users compose blog articles. The system employs the Web as a corpus and issues a query to Google to obtain candidate texts. These candidate texts are then ranked according to coherence HMM with user-finished sentences or clauses. Besides text prediction, stylus is used for input. Terms are selected from predictive texts by crossing [6] , [7] ; that is, the user draws a stroke over one of the prediction results, tracing the desired words in the list.. In coherence-feature extraction, the topic transitions between clauses are viewed as coherence features. Support vector regression (SVR) [8] , [9] with surface features and coherence features is used for essay grading. The experimental results demonstrate that coherence features can effectively improve AES accuracy. In the ranking model, the intelligent assisted blog writing system ranks online content to help the user compose a blog article. The experimental results indicate that all participants can benefit from the system and save time on article composition. The feedback shows that the predictive texts provided by the system can also inspire the participants to devise new ideas. The main contributions include the following.. 1) Proposing a coherence-HMM model to extract coherence features and rank text content. 2) Employing SVR with surface and coherence features for essay grading. The experimental results indicate that coherence features can improve grading accuracy. 3) Design and implementation of an intelligent assisted blog writing system, which uses stylus input and ranks online content for user reference. The remainder of this paper is organized as follows. Section II surveys the research on human-computer interaction (HCI) design, assisted writing systems, and AES systems. Section III describes the coherence-HMM model, and Section IV introduces the system design. Section V then presents conducted experiments to evaluate the system design. Finally, Section VI presents conclusions. We have proposed an algorithm called coherence HMM to extract coherence features and rank content. Central to coherence HMM is the topic-based representation of clause, which, we argue, captures important patterns of clause transitions. We view the coherence extraction process as a learning task and show that the proposed algorithm is well suited in essay-scoring tasks. The experimental results indicate that the extracted coherence features can help an AES system grade essays more accurately. Basically, the coherence features can be considered as semantic features, which may discover latent semantic information of an article. Many computational linguistic problems such as text summarization, readability assessment, and machine translation may use the proposed approach to obtain coherence features. Additionally, we design and implement an intelligent assisted blog writing system based on the coherence-HMM ranking model, which ranks the content obtained from search engines and provides candidate texts for user reference. This paper demonstrates that the corpus-based approach can enhance the assisted blog writing system. Besides the corpora, the incorporation of crossing techniques in the design of interface also helps users compose desired content. The feedback shows that the predictive texts provided by the system can sometimes inspire the participants to devise new ideas. The experimental results indicate that all participants can benefit from the system and can save significant time on writing articles. The results of the first experiment show that participants write articles faster using the system. One purpose of the system is to help users compose blog articles more efficiently. The assisted blog writing system employs several corpora to accelerate writing. The analysis and processing of various types of corpora are also the subject of much work in computational linguistics, speech recognition, and machine translation. This paper demonstrates that the corpus-based approach can enhance the assisted blog writing system. Besides the corpora, the incorporation of crossing techniques in the design of user interface also helps users compose desired content. Practically, intellectual property should be considered, since users may use extensive content from the same Web site. To resolve this problem, a Web site weighting mechanism can be enforced in the system design to avoid taking most content from specific Web sites. The source URL information for snippets is available when issuing queries to Google. If users use content from specific Web sites, the system can reduce the weightings of those sites to avoid the system repeatedly providing content coming from the same Web site. Fig. 6 shows that participants can achieve roughly 30% time savings when writing article on the food and sport categories. This is due to the fact that most blog articles in the food and sport categories describe appetizing food, sports activities, and the health benefits of sport. Many Internet blogs in the two categories appear to share similar content, and thus, the system can provide more accurate predictions.. In contrast, people have different life experiences. Thus, the content of the mood category varies significantly, but the system still helps participants achieve time savings of approximately 20%. As for the movie and travel categories, most articles deal with reviews and traveling experiences, respectively, which involve highly subjective personal feelings and opinions. Consequently, participants cannot benefit significantly from the system but can still save time in composing blog articles.. The participants were asked to provide feedback on their experiences of the system. The feedback shows that the elementary school student and junior high school student were interested in the recommended texts provided by the system and enjoyed using these texts to compose new sentences. Additionally, most participants thought that the recommended texts provided by the system can sometimes inspire them to develop new ideas. We also found that most participants could write Chinese words using the input method but forgot how to write them by hand. One reason for this phenomenon is that people are increasingly accustomed to using computers for writing. However, despite the popularity of computers, it remains important for people to be able to write an article manually.. The second experiment assesses the effect of coherence features on the essay-grading application. Table I shows the adjacent agreement rate and exact agreement rate under different weight ratios between surface and coherence features. The system performs best when the weight ratio between surface and coherence features is "0.6:0.4" and achieves adjacent rate of 95.24% and agreement rate of 59.80%. The experimental results indicate that combining surface features and coherence features can generally improve system performance. Basically, the surface features only consider words, but the word-level features cannot capture the latent semantic information of essays. IEA [12] adopted LSA [45] to analyze essay semantics. The main advantage of this approach is that LSA captures transitivity relations and collocation effects among vocabulary terms and thus can accurately judge the semantic relatedness of two documents regardless of their vocabulary overlap [46] . This study employs PLSA, which stems from a statistical view of LSA, to estimate the topics behind the essay clauses and employs the transitivity relation among clauses to represent coherence features. The experimental results show that the coherence features can capture latent semantic information of essays.. High-scoring essays may involve carefully selected creative expressions to convey the thoughts of the writer, making them more difficult for AES systems to grade high-scoring essays [47] . If AES systems can extract semantic features of essays and apply the features to classification models, it is likely for the systems to grade high-scoring essays more accurately. Thus, we conduct further experiments on high-scoring essays to determine whether their scoring can benefit from coherence features. Table I shows that the exact agreement rate is 64.50% and the adjacent agreement rate is 98.33%, when the weight ratio between surface and coherence features is "0.6:0.4." Consequently, the combination of surface and coherence features can help an AES system grade high-scoring essays more accurately.

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


Highly acyclic groups, hypergraph covers, and the guarded fragment We construct finite groups whose Cayley graphs have large girth even with respect to a discounted distance measure that contracts arbitrarily long sequences of edges from the same color class (subgroup), and only counts transitions between color classes (cosets). These groups are shown to be useful in the construction of finite bisimilar hypergraph covers that avoid any small cyclic configurations. We present two applications to the finite model theory of the guarded fragment: a strengthening of the known finite model property for GF and the characterization of GF as the guarded bisimulation invariant fragment of first-order logic in the sense of finite model theory. Although degrees of acyclicity-of Cayley groups and of finite hypergraph coversform the technical backbone of this article, it is motivated in the broader sense by the study of structural transformations and model constructions that are compatible with certain forms of bisimulation equivalence (hypergraph bisimulation and guarded bisimulation). Such constructions have their place in the combinatorial exploration of hypergraphs and relational structures. In particular, they play an important role in the model theoretic analysis of modal and guarded logics, whose semantics is preserved under these equivalences and transformations. We therefore start this introduction with an informal discussion of these bisimulation equivalences-as interesting and natural notions from the point of view of discrete mathematics, of model theory and logic, and of certain application domains in computer science, where the associated logics also play an important role. 1 1 The rest of this introduction will then be devoted to informal encounters with more specific technical themes in sections devoted to hypergraph acyclicity (Section 1.1) and an introduction to the guarded fragment 5:2

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


Tractor pulling on data warehouses Robustness of database systems under stress is hard to quantify, because there are many factors involved, most notably the user expectation to perform a job within certain bounds of the user requirements. Nevertheless, robustness of database system is very important to end users. In this paper we develop a database benchmark suite, inspired by tractor pulling, where robustness is measured as a system's ability to process data despite a continuous increase in system load, as defined in terms of data volume, query volume and complexity. A functional evaluation is performed against several systems to highlight the benchmark capabilities. Its roots dating back to the 1860's, tractor pulling is a contemporary motorsport competition that requires a farm tractor to pull a heavy sledge along a 100 meter (about 300 feet) track. As the sledge is pulled down the track over a prepared soil the sledge weight, which is linked to the sledge wheels, is transferred from its rear axles towards its front axles. A pan, which essentially is a metal plate, is located in front of the rear wheels of the sledge. As the weight moves toward the front pan the resistance builds. The further the tractor pulls the sledge, the harder it gets. The winner is the tractor that can pull the sledge the farthest without blowing up. Besides the pure horse power of the tractor the success of a tractor pulling team depends on the team mechanics to prepare the tractor for a specific track, and on the driver to steer the tractor.. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. DBTest '11 June 13, 2011 Athens, Greece Copyright 2011 ACM 978-1-4503-0655-3/11/06 ...$10.00.. Database Management Systems (DBMSs) are like tractors when it comes to supporting large information systems. Users demand database systems to lift a heavy weight for a long time without breaking down. As tractors they come in several brands, allow for adjustments of the software and hardware to deal with the soil specifics, and are expected to provide proper service for a long time. However, not all DBMSs are the same in performing their task. The service provided differs considerably in many details and user satisfaction is at stake due to hickups in the engine itself. As the driver of a tractor often has to go under the hood to remove dust, stones, dirt, and use the oil can to make sure the system is up to the job, database administrators have to maintain the data warehouse continuously to guarantee service level agreements.. These differences make the selection of a DBMS for a particular task difficult. In many cases this is tackled by calling for proof-of-concept implementations at the client site by vendors, to rerun user workloads, or to extrapolate from public benchmarks. Such benchmarks, such as TPC-H [2] for analytical workloads and TPC-C [1] for transactional workloads, have been used for decades to stress test products as well as to compare systems and system configurations. However, it is a well-known fact that either approach tells little about the robustness of the system for the task at hand. A slight change in environment may render a system useless, or at least not behave as expected.. System robustness is a leading criteria in the design of modern information systems. It comes in many flavors, which share the semantics that a) a system behaves as expected, and b) minor changes in the system parameters, the query workload, or the database content do not lead to large response time variances among identical jobs. The former is often hard to quantify in practice, unless one focuses on a system component for which a theoretical model could be identified to capture the intended behavior. For example, checking the robustness of a cost-based optimizer can be described by a mathematical model.. To improve our knowledge about system robustness we designed a novel way to exercise database systems against the functional requirements of large data warehouses inspired by the tractor pulling game. Compared to simple stress tests and performance benchmarks the Tractor Pulling suite takes a more holistic approach, where the robustness follows the variance analysis to quantify objectively robustness. Therefore, an essential component in the setup is to identify a metric to assess the performance evolution during a single run, and to amortize the information obtained from several runs using different system brands or slightly adjusted parameter settings. The main contributions of this paper can be summed up by:. • The Tractor Pulling suite provides a framework for defining different track characteristics representing different models for testing robustness.. • The suite is formulated to systematically evaluate a system against an increasingly complex workload in an automatic way.. • The parameter space for comparison of intra-and extrasolutions is defined with a metric to enable relative comparisons of the solutions provided with a particular focus on robustness.. • The suite is run against several platforms for sanity checks and as a frame of reference for taking it further.. The suite is designed for portability as a set of scripts using simple SQL queries. The provided SQL queries are merely examples of queries that could be used in a robustness benchmark rather than claiming to be the best and only queries. Future work might identify a representative set of queries or it might reveal that specific instantiations of the tractor suite need to be tailored for specific application domains. Hooks are provided to turn the suite into brand specific versions, which may include gearing advice and DBA advice in general.

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