13521805
A Systematic Approach to Model-Guided Empirical Search for Memory Hierarchy Optimization
The goal of this work is a systematic approach to compiler optimization for simultaneously optimizing across multiple levels of the memory hierarchy. Our approach combines compiler models and heuristics with guided empirical search to take advantage of their complementary strengths. The models and heuristics limit the search to a small number of candidate implementations, and the empirical results provide accurate feedback information to the compiler. In previous work, we propose a compiler algorithm for deriving a set of parameterized solutions, followed by a model-guided empirical search to determine the best integer parameter values and select the best overall solution. This paper focuses on formalizing the process of deriving parameter values, which is a multi-variable optimization problem, and considers the role of AI search techniques in deriving a systematic framework for the search.
704070
Model-Guided Empirical Optimization for Multimedia Extension Architectures: A Case Study
Compiler technology for multimedia extensions must effectively utilize not only the SIMD compute engines but also the various levels of the memory hierarchy: superword registers, multi-level caches and TLB. In this paper, we describe a compiler that combines optimization across all levels of the memory hierarchy with automatic generation of SIMD code for multimedia extensions. At the high-level, model-guided empirical optimization is used to transform code to optimize for all levels of the memory hierarchy. This compiler interacts with a backend compiler exploiting superword-level parallelism that takes sequential code as input and produces SIMD code. This paper discusses how we have combined these technologies into a single framework. Through a case study with matrix multiply, we observe performance results that outperform the hand-tuned Intel MKL library, and achieve performance that is within 4% of the ATLAS self-tuning library with architectural defaults and more than 4X faster than the native Intel compiler.
596165
Combining models and guided empirical search to optimize for multiple levels of the memory hierarchy
This paper describes an algorithm for simultaneously optimizing across multiple levels of the memory hierarchy for dense-matrix computations. Our approach combines compiler models and heuristics with guided empirical search to take advantage of their complementary strengths. The models and heuristics limit the search to a small number of candidate implementations, and the empirical results provide the most accurate information to the compiler to select among candidates and tune optimization parameter values. We have developed an initial implementation and applied this approach to two case studies, matrix multiply and Jacobi relaxation. For matrix multiply, our results on two architectures, SGI R10000 and Sun UltraSparc IIe, outperform the native compiler, and either outperform or achieve comparable performance as the ATLAS self-tuning library and the hand-tuned vendor BLAS library. Jacobi results also substantially outperform the native compilers.
12972622
DIKNN: An Itinerary-based KNN Query Processing Algorithm for Mobile Sensor Networks
Current approaches to k nearest neighbor (KNN) search in mobile sensor networks require certain kind of indexing support. This index could be either a centralized spatial index or an in-network data structure that is distributed over the sensor nodes. Creation and maintenance of these index structures, to reflect the network dynamics due to sensor node mobility, may result in long query response time and low battery efficiency, thus limiting their practical use. In this paper, we propose a maintenance-free, itinerary-based approach called density-aware itinerary KNN query processing (DIKNN). The DIKNN divides the search area into multiple cone-shape areas centered at the query point. It then performs a query dissemination and response collection itinerary in each of the cone-shape areas in parallel. The design of the DIKNN scheme also takes into account challenging issues such as the the dynamic adjustment of the search radius (in terms of number of hops) according to spatial irregularity or mobility of sensor nodes. The simulation results show that DIKNN yields substantially better performance and scalability over previous work, both as k increases and as the sensor node mobility increases. It outperforms the second runner with up to 50% saving in energy consumption and up to 40% reduction in query response time, while rendering the same level of query result accuracy.
41922638
Guarded recursive datatype constructors
14219803
A new method to measure the semantic similarity of GO terms
MOTIVATION
Although controlled biochemical or biological vocabularies, such as Gene Ontology (GO) (http://www.geneontology.org), address the need for consistent descriptions of genes in different data sources, there is still no effective method to determine the functional similarities of genes based on gene annotation information from heterogeneous data sources.


RESULTS
To address this critical need, we proposed a novel method to encode a GO term's semantics (biological meanings) into a numeric value by aggregating the semantic contributions of their ancestor terms (including this specific term) in the GO graph and, in turn, designed an algorithm to measure the semantic similarity of GO terms. Based on the semantic similarities of GO terms used for gene annotation, we designed a new algorithm to measure the functional similarity of genes. The results of using our algorithm to measure the functional similarities of genes in pathways retrieved from the saccharomyces genome database (SGD), and the outcomes of clustering these genes based on the similarity values obtained by our algorithm are shown to be consistent with human perspectives. Furthermore, we developed a set of online tools for gene similarity measurement and knowledge discovery.


AVAILABILITY
The online tools are available at: http://bioinformatics.clemson.edu/G-SESAME.


SUPPLEMENTARY INFORMATION
http://bioinformatics.clemson.edu/Publication/Supplement/gsp.htm.
27714693
Efficient Parallel Processing for K-Nearest-Neighbor Search in Spatial Databases
Even though the problem of k nearest neighbor (kNN) query is well-studied in serial environment, there is little prior work on parallel kNN search processing in parallel one. In this paper, we present the first Best-First based Parallel kNN (BFPkNN) query algorithm in a multi-disk setting, for efficient handling of kNN retrieval with arbitrary values of k by parallelization. The core of our method is to access more entries from multiple disks simultaneously and enable several effective pruning heuristics to discard non-qualifying entries. Extensive experiments with real and synthetic datasets confirm that BFPkNN significantly outperforms its competitors in both efficiency and scalability.
15011824
Nearly Optimal One-to-Many Parallel Routing in Star Networks
Star networks were proposed recently as an attractive alternative to the well-known hypercube models for interconnection networks. Extensive research has been performed that shows that star networks are as versatile as hypercubes. This paper is an effort in the same direction. Based on the well-known paradigms, we study the one-to-many parallel routing problem on star networks and develop an improved routing algorithm that finds n-1 node-disjoint paths between one node and a set of other n-1 nodes in the n-star network. These parallel paths are proven of minimum length within a small additive constant, and the running time of our algorithm is bounded by O(n/sup 2/). More specifically, given a node s and n-1 other nodes {t/sub 1/, t/sub 2/, ..., t/sub n-1/} in the n-star network, our algorithm constructs n-1 node-disjoint paths P/sub 1/, P/sub 2/, ..., P/sub n-1/, where P/sub i/ is a path from s to t/sub j/ of length at most dist(s, t/sub j/)+6 and dist(s, t/sub j/) is the distance, i.e., the length of a shortest path, from s to t/sub j/, for i=1, 2, ..., n-1.The best bound on the path length by previously known algorithms for the same problem is 5(n-2)/spl ap/10/spl Delta//sub n//3, where /spl Delta//sub n/=max{dist(s, t)} is the diameter of the n-star network.