9316570
Understanding the behavior of compiler optimizations
Compiler writers usually follow some known rules of thumb on the effectiveness of optimizations when implementing compilers. While many of these rules may be correct, it is a far better methodology to base implementation decisions on a scientific evaluation of optimizations. To this end, we present an exploration of the costs and benefits of optimizations implemented in Jikes RVM, a research virtual machine that includes an aggressive optimizing compiler. We measure and report the performance impact due to optimizations, both when the optimizations are used by themselves and when they are used with other optimizations. To understand why optimizations do or do not improve performance, we wrote kernel programs to test and explore the behavior of each optimization. To increase the generality of our results, we report measurements on two architectures (IA32 and PowerPC). Based on our findings, we present a set of recommendations for compiler writers.
5285655
BIT: A Tool for Instrumenting Java Bytecodes
BIT (Bytecode Instrumenting Tool) is a collection of Java classes that allow one to build customized tools to instrument Java Virtual Machine (JVM) bytecodes. Because understanding program behavior is an essential part of developing effective optimization algorithms, researchers and software developers have built numerous tools that carry out program analysis. Although there are existing tools that analyze and modify executables on a variety of operating systems and machine architectures, there currently is no framework for carrying out the same task for JVM bytecodes. In this paper, we describe BIT, which allows the user to insert calls to analysis methods anywhere in the bytecode, so that information can be extracted from the user program while it is being executed. In this paper, we describe several simple tools built using BIT and also report on BIT's performance. We found that the overhead for the execution speed and size were between 23% to 150%.
2200598
When to use a compilation service?
Modern handheld computers are certainly capable of running general purpose applications, such as Java virtual machines. However, short battery life rather than computational capability often limits the usefulness of handheld computers. This paper considers how to reduce the energy consumption of Java applications.Broadly speaking, there are three interleaved steps in running Java programs in a compiled environment: downloading the bytecodes, compiling and possibly optimizing the bytecodes, and running the compiled code. Optimized code typically runs faster than non-optimized code but the optimization process itself may consume significant energy. We consider the possibility of moving compilation (optimizing or non-optimizing) to a tethered server. We demonstrate that there is a significant benefit to moving compilation to a server (up to 67% reduction in energy for a realistic handheld configuration). We also demonstrate that there is no single best compilation strategy for all methods.
42364168
An Algorithm for Incremental Nearest Neighbor Search in High-Dimensional Data Spaces
The SPY-TEC (Spherical Pyramid-Technique) [8] was proposed as a new indexing method for high-dimensional data spaces using a special partitioning strategy that divides a d-dimensional data space into 2d spherical pyramids. Although the authors of [8] proposed an efficient algorithm for processing hyperspherical range queries, they did not propose an algorithm for processing k-nearest neighbor queries that are frequently used in similarity search. In this paper, we propose an efficient algorithm for processing exact nearest neighbor queries on the SPY-TEC by extending the incremental nearest neighbor algorithm proposed in [10]. We also introduce a metric that can be used to guide an ordered best-first traversal when finding nearest neighbors on the SPYTEC. Finally, we show that our technique significantly outperforms the related techniques in processing k-nearest neighbor queries by comparing it to the R*-tree, the X-tree, and the sequential scan through extensive experiments.
26133819
Multi-agent Technology as an enabler of Computer Supported Cooperative Work for the Mobile Workforce
This paper proposes an agent-based computer supported cooperative work system known as TeamWorker that enables cooperation between mobile workers for the execution of their jobs by providing services via conversational components (C-COMs). C-COMs, encapsulate agent interaction protocols, which can be dynamically plugged into participating agents. Furthermore, the intelligence and autonomy of agent technology is applied to overcome the barriers faced in mobile computing environments, such as difficulty in monitoring work progress, device diversity, need for multi-modal human agent interface, etc. Finally, we discuss how TeamWorker has been applied to a real mobile business process in a telecommunications company in the UK.
7244802
Design, implementation and testing of an interactive video retrieval system
In this paper we present and discuss the system we developed for the search task of the TRECVID 2002, and its evaluation in an interactive search task. To do this we will look at the strategy we used in designing the system, and we discuss and evaluate the experiments used to determine the value and effectiveness of one system incorporating both feature evidence and transcript retrieval compared to a transcript-only retrieval system. Both systems tested are built on the foundation of the Físchlár System developed and running for a number of years at the CDVP. The system is fully MPEG-7 compliant and uses XML for exchange of information within the overall architecture.
8746722
Parameter space exploration with Gaussian process trees
Computer experiments often require dense sweeps over input parameters to obtain a qualitative understanding of their response. Such sweeps can be prohibitively expensive, and are unnecessary in regions where the response is easy predicted; well-chosen designs could allow a mapping of the response with far fewer simulation runs. Thus, there is a need for computationally inexpensive surrogate models and an accompanying method for selecting small designs. We explore a general methodology for addressing this need that uses non-stationary Gaussian processes. Binary trees partition the input space to facilitate non-stationarity and a Bayesian interpretation provides an explicit measure of predictive uncertainty that can be used to guide sampling. Our methods are illustrated on several examples, including a motivating example involving computational fluid dynamics simulation of a NASA reentry vehicle.
34417408
Knowledge discovery and data mining
This special issue contains selected papers from the Pacific-Asia Conference on Knowledge Discovery and Data Mining (PAKDD'97), held in Singapore on 2223 February 1997. PAKDD is one of the few conference series dedicated to knowledge discovery and data mining. The PAKDD seeks to provide a forum for researchers and practitioners from the Pacific Asia region as well as world-wide in KDD research and development. The data explosion, brought about by the pervasive use of computers, has caused many organizations to lament, "'Computers have promised us a fountain of wisdom but delivered a flood of data." The advent of KDD has provided data analysis tools to cope with the massive databases that have ensued. The scientific challenges for KDD, coupled with a practical orientation, have ignited the interest of both the academic and user communities. This, in turn, has provided the motivation to create PAKDD for the tyro communities to interact. PAKDD'97 is the first conference in this series. This inaugural conference was very well received, One hundred and twenty researchers and practitioners from all over the world attended the conference. From the twenty-six papers presented in its technical sessions, seven have been selected fl)r publication in this special issue. Reflecting the diversity of research work, these papers address different issues in the area of knowledge discovery and data mining. The goal of data mining is to discover knowledge from data. However, most mining processes usually require certain domain knowledge. Such requirements often make a discovery system impractical or too restricted. On the other hand, adequate a priori knowledge can make the process of discovery more effective. Finding the equilibrium is indeed an art. The first paper in our selection, "'Discovery of First Principle Equations Based on Scale-Type-Based and DataDriven Reasoning", co-authored by T. Washio and H. Motoda, gives such an example. The authors propose a new approach that enables automatic discovery of formulae of first principles from the measurement data with minimum knowledge of quantity scale-types. Classification is one of the well-studied data mining problems. Most classification techniques stem from machine learning. One limitation of these popular