7390429
Program-level adaptive memory management
Most application's performance is impacted by the amount of available memory. In a traditional application, which has a fixed working set size, increasing memory has a beneficial effect up until the application's working set is met. In the presence of garbage collection this relationship becomes more complex. While increasing the size of the program's heap reduces the frequency of collections, collecting a heap with memory paged to the backing store is very expensive. We first demonstrate the presence of an optimal heap size for a number of applications running on a machine with a specific configuration. We then introduce a scheme which adaptively finds this good heap size. In this scheme, we track the memory usage and number of page faults at a program's phase boundaries. Using this information, the system selects the soft heap size. By adapting itself dynamically, our scheme is independent of the underlying main memory size, code optimizations, and garbage collection algorithm. We present several experiments on real applications to show the effectiveness of our approach. Our results show that program-level heap control provides up to a factor of 7.8 overall speedup versus using the best possible fixed heap size controlled by the virtual machine on identical garbage collectors.
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.
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.
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.
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.
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.
7313627
Voice capacity analysis of WLAN with unbalanced traffic
An analytical model to study the performance of wireless local area networks (WLANs) supporting asymmetric nonpersistent traffic using the IEEE 802.11 distributed coordination function mode for medium access control (MAC) is developed. Given the parameters of the MAC protocol and voice codecs, the voice capacity of an infrastructure-based WLAN, in terms of the maximum number of voice connections that can be supported with satisfactory user-perceived quality, is obtained. In addition, voice capacity analysis reveals how the overheads from different layers, codec rate, and voice packetization interval affect voice traffic performance in WLANs, which provides an important guideline for network planning and management. The analytical results can be used for effective call admission control to guarantee the quality of voice connections. Extensive simulations have been performed to validate the analytical results
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.
20765051
Call Admission Control in Wideband CDMA Cellular Networks by Using Fuzzy Logic
In this paper, a novel call admission control (CAC) scheme using fuzzy logic is proposed for the reverse link transmission in wideband code division multiple access (CDMA) cellular communications. The fuzzy CAC scheme first estimates the effective bandwidths of the call request from a mobile station (MS) and its mobility information, then makes a decision to accept or reject the connection request based on the estimation and system resource availability. Numerical results are given to demonstrate the effectiveness of the proposed fuzzy CAC scheme in terms of new call blocking probability/handoff call dropping probability, outage probability, and resource utilization.
768133
Performance analysis of TCP-friendly AIMD algorithms for multimedia applications
In this paper, the performance of TCP-friendly generic AIMD (Additive Increase and Multiplicative Decrease) algorithms for Web-based playback and multirate multimedia applications is investigated. The necessary and sufficient TCP-friendly condition is derived, and the effectiveness and responsiveness of AIMD are studied. Due to practical implications, a Dynamic TCP-friendly AIMD (DTAIMD) algorithm is proposed. Extensive simulation results are given to verify the derived necessary and sufficient condition, and to demonstrate the performance of the proposed DTAIMD algorithm.
19884866
A Tight Lower Bound on the Size of Visibility Graphs
The visibility graph of a finite set of line segments in the plane connects two endpoints u and v if and only if the straight line connection between u and v does not cross any line segment of the set. This article proves that 5n - 4 is a lower bound on the number of edges in the visibility graph of n nonintersecting line segments in the plane. This bound is tight.