1789234
Phase-Based Miss Rate Prediction Across Program Inputs
Previous work shows the possibility of predicting the cache miss rate (CMR) for all inputs of a program. However, most optimization techniques need to know more than the miss rate of the whole program. Many of them benefit from knowing miss rate of each execution phase of a program for all inputs. 
 
In this paper, we describe a method that divides a program into phases that have a regular locality pattern. Using a regression model, it predicts the reuse signature and then the cache miss rate of each phase for all inputs. We compare the prediction with the actual measurement. The average prediction is over 98% accurate for a set of floating-point programs. The predicted CMR-traces matches the simulated ones in spite of dramatic fluctuations of the miss rate over time. This technique can be used for improving dynamic optimization, benchmarking, and compiler design.
735556
Lightweight reference affinity analysis
Previous studies have shown that array regrouping and structure splitting significantly improve data locality. The most effective technique relies on profiling every access to every data element. The high overhead impedes its adoption in a general compiler, In this paper, we show that for array regrouping in scientific programs, the overhead is not needed since the same benefit can be obtained by pure program analysis.We present an interprocedural analysis technique for array regrouping. For each global array, the analysis summarizes the access pattern by access-frequency vectors and then groups arrays with similar vectors. The analysis is context sensitive, so it tracks the exact array access. For each loop or function call, it uses two methods to estimate the frequency of the execution. The first is symbolic analysis in the compiler. The second is lightweight profiling of the code. The same interprocedural analysis is used to cumulate the overall execution frequency by considering the calling context. We implemented a prototype of both the compiler and the profiling analysis in the IBM® compiler, evaluated array regrouping on the entire set of SPEC CPU2000 FORTRAN benchmarks, and compared different analysis methods. The pure compiler-based array regrouping improves the performance for the majority of programs, leaving little room for improvement by code or data profiling.
16080938
Locality phase prediction
As computer memory hierarchy becomes adaptive, its performance increasingly depends on forecasting the dynamic program locality. This paper presents a method that predicts the locality phases of a program by a combination of locality profiling and run-time prediction. By profiling a training input, it identifies locality phases by sifting through all accesses to all data elements using variable-distance sampling, wavelet filtering, and optimal phase partitioning. It then constructs a phase hierarchy through grammar compression. Finally, it inserts phase markers into the program using binary rewriting. When the instrumented program runs, it uses the first few executions of a phase to predict all its later executions.Compared with existing methods based on program code and execution intervals, locality phase prediction is unique because it uses locality profiles, and it marks phase boundaries in program code. The second half of the paper presents a comprehensive evaluation. It measures the accuracy and the coverage of the new technique and compares it with best known run-time methods. It measures its benefit in adaptive cache resizing and memory remapping. Finally, it compares the automatic analysis with manual phase marking. The results show that locality phase prediction is well suited for identifying large, recurring phases in complex programs.
17618182
Locality approximation using time
Reuse distance (i.e. LRU stack distance) precisely characterizes program locality and has been a basic tool for memory system research since the 1970s. However, the high cost of measuring has restricted its practical uses in performance debugging, locality analysis and optimizations of long-running applications.In this work, we improve the efficiency by exploring the connection between time and locality. We propose a statistical model that converts cheaply obtained time distance to the more costly reuse distance. Compared to the state-of-the-art technique, this approach reduces measuring time by a factor of 17, and approximates cache line reuses with over 99% accuracy and the cache miss rate with less than 0.4% average error for 12 SPEC 2000 integer and floating-point benchmarks. By exploiting the strong correlations between time and locality, this work makes precise locality as easy to obtain as data access frequency, and opens new opportunities for program optimizations.
302118
A Hierarchical Model of Reference Affinity
To improve performance, data reorganization needs locality models to identify groups of data that have reference affinity. Much past work is based on access frequency and does not consider accessing time directly. In this paper, we propose a new model of reference affinity. This model considers the distance between data accesses in addition to the frequency. Affinity groups defined by this model are consistent and have a hierarchical structure. The former property ensures the profitability of data packing, while the latter supports data packing for storage units of different sizes. We then present a statistical clustering method that identifies affinity groups among structure fields and data arrays by analyzing training runs of a program. When used by structure splitting and array regrouping, the new method improves the performance of two test programs by up to 31%. The new data layout is significantly better than that produced by the programmer or by static compiler analysis.
9404152
Learning multi-label scene classification
In classic pattern recognition problems, classes are mutually exclusive by definition. Classification errors occur when the classes overlap in the feature space. We examine a different situation, occurring when the classes are, by definition, not mutually exclusive. Such problems arise in semantic scene and document classification and in medical diagnosis. We present a framework to handle such problems and apply it to the problem of semantic scene classification, where a natural scene may contain multiple objects such that the scene can be described by multiple class labels (e.g., a field scene with a mountain in the background). Such a problem poses challenges to the classic pattern recognition paradigm and demands a different treatment. We discuss approaches for training and testing in this scenario and introduce new metrics for evaluating individual examples, class recall and precision, and overall accuracy. Experiments show that our methods are suitable for scene classification; furthermore, our work appears to generalize to other classification problems of the same nature.
41776046
A Node Cooperative ARQ Scheme for Wireless Ad-Hoc Networks
We propose a Node Cooperative Automatic Repeat reQuest (ARQ) scheme for wireless ad-hoc networks to combat the effects of channel fading on the performance of link layer retransmission scheme. The proposed scheme is inspired by the idea of cooperative diversity. Simulation results are given to demonstrate the significant throughput gain, even when the quality of channel between the communicating nodes is poor.
40278707
Modeling and Analysis of WAP Performance over Wireless Links
In this paper, an analytical model for studying the performance behavior of wireless application protocol (WAP) over wireless links is proposed. A Rayleigh fading channel model is used to characterize the behavior of the wireless channel. Mathematical expressions that represent the performance of WAP as a function of the protocol and the channel parameters are derived. Computer simulation results are presented to validate the analytical results. It is shown that WAP performs better in a bursty error environment than in a random error environment. The goodput of WAP can be improved by increasing the WAP packet group size, but the significance of the improvement depends on the underlying channel condition.
14429022
Mining long-term search history to improve search accuracy
Long-term search history contains rich information about a user's search preferences, which can be used as search context to improve retrieval performance. In this paper, we study statistical language modeling based methods to mine contextual information from long-term search history and exploit it for a more accurate estimate of the query language model. Experiments on real web search data show that the algorithms are effective in improving search accuracy for both fresh and recurring queries. The best performance is achieved when using clickthrough data of past searches that are related to the current query.
7666408
Equivalent permutation capabilities between time-division optical omega networks and non-optical extra-stage omega networks
Because signals carried by two waveguides entering a common switch element would generate crosstalk, a regular <i>N</i> × <i>N</i> multistage interconnection network (MIN) cannot be directly used as an optical switch between <i>N</i> inputs and <i>N</i> outputs in an optical network. A simple solution is to use a 2<i>N</i> × 2<i>N</i> cube-type MIN to provide the <i>N</i> × <i>N</i> connections, which needs a much larger hardware cost. A recent research proposed another solution, called the time-domain approach, that divides the <i>N</i> optical inputs into several groups such that crosstalk-free connections can be provided by an <i>N</i> × <i>N</i> regular MIN in several time slots, one for each group. Researchers studied this approach on Omega networks and defined the class set θ to be the set of <i>N</i>-permutations realizable in two time slots on an Omega network. They proved that the size of θ is larger than the size of class Ω, where Ω consists of all <i>N</i>-permutations admissible to a regular <i>N</i> × <i>N</i> (nonoptical) Omega network. This paper first presents an optimal <i>O</i>(<i>N</i> log <i>N</i>) time algorithm for identifying whether a given permutation belongs to class θ or not. Using this algorithm, this paper then proves an interesting result that the class θ is identical to the class Ω + 1 which represents the set of <i>N</i>-permutations admissible to a nonoptical <i>N</i> × <i>N</i> one-extra stage Omega network.
37059740
Realization of an Arbitrary Permutation on a Hypercube
We present an explicit combinatorial algorithm for constructing a 2-realization for any given permutation on a circuit-switched d-dimensional hypercube (d-cube) such that the total number of directed edges used in the realization (counting every repetition) is bounded by d2d, the total number of directed edges in the d-cube. As a corollary, this result implies a (2d−3) step realization on a packet-switched d-cube (d⩾3).