7858282
Gated memory control for memory monitoring, leak detection and garbage collection
In the past, program monitoring often operates at the code level, performing checks at function and loop boundaries. Recent research shows that profiling analysis can identify high-level phases in complex binary code. Examples are time steps in scientific simulations and service cycles in utility programs. Because of their larger size and more predictable behavior, program phases make it possible for more accurate and longer term predictions of program behavior, especially its memory usage. This paper describes a new approach that uses phase boundaries as the gates to monitor and control the memory usage. In particular, it presents three techniques: memory usage monitoring, object lifetime classification, and preventive memory management. They use phase-level patterns to predict the trend of the program's memory demand, identify and control memory leaks, improve the efficiency of garbage collection. The potential of the new techniques is demonstrated on two non-trivial applications---a C compiler and a Lisp interpreter.
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.
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.
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.
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.
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.
29710029
Covering convex sets with non-overlapping polygons
Abstract We prove that given n ⩾3 convex, compact, and pairwise disjoint sets in the plane, they may be covered with n non-overlapping convex polygons with a total of not more than 6 n −9 sides, and with not more than 3 n −6 distinct slopes. Furthermore, we construct sets that require 6 n −9 sides and 3 n −6 slopes for n ⩾3. The upper bound on the number of slopes implies a new bound on a recently studied transversal problem.
33166016
Indirect RSVP for Virtual Cluster Cellular Mobile IP Networks
Mobile IP (MIP) could be deployed in a wireless cellular network so that the integrated Cellular Mobile IP (CMIP) network can be used to support datagram delivery to mobile users. In order to provide QoS for realtime traffic in IP network, Resource reSerVation Protocol (RSVP) is needed to reserve network resources along the route which the datagrams follow. However, current RSVP fails to operate through the MIP tunnel. Moreover, the high registration rate in a CMIP network greatly degrades RSVP performance. In this paper, an Indirect RSVP (IRSVP) over Virtual Cluster Cellular Mobile IP (VCCMIP) is proposed in which an assistant RSVP connection is introduced to assist the end-to-end major RSVP operation over the MIP tunnel. IRSVP signaling costs and packet loss rates are evaluated. Simulation results show that the proposed scheme can greatly increase RSVP performance in terms of packet loss and RSVP connection active percentage.
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.
33412339
Conservative Algorithms for Parallel and Sequential Integer Sorting
We present a conservative CRCW parallel algorithm for integer sorting. This algorithm sorts n integers from {0, 1, ..., m−1} in time O(n log log min(m,n)/p + log n) using p processors. The simulation of our parallel algorithm on the sequential machine yields a sequential algorithm for integer sorting which sorts n integers from {0, 1, ..., m−1} in time O(n min(log log n, log log m/log n)).
44324303
Equivalent permutation capabilities between time division optical omega network and non-optical extra stage omega network
Since optical networks must support crosstalk-free (CF) connections, regular N/spl times/N multistage interconnection networks (MINs) cannot be directly used to provide connections between N inputs and N outputs. A solution is to use a 2N/spl times/2N Cube-Type MIN to provide the N/spl times/N connections. C. Qiao (1993) proposed a time domain approach that divides the N optical inputs into several groups such that CF connections can be provided by an N/spl times/N regular MIN in several time slots, one for each group. The set of N-permutations realizable in two slots is defined as class /spl theta/. Qiao proved that the size of /spl theta/ is larger than the size of class /spl Omega/, where /spl Omega/ consists of all N-permutations passible through a regular N/spl times/N Omega network. The paper first presents an optimal O(NlgN) time algorithm for identifying whether a given permutation belongs to class /spl theta/ or not. From this algorithm, the paper proves an interesting fact that the class /spl theta/ is identical to the class /spl Omega/+1 which represents the set of N-permutations admissible by a non-optical N/spl times/N one-extra stage Omega network.