10218215
A flexible class of parallel matrix multiplication algorithms
This paper explains why parallel implementation of matrix multiplication, a seemingly simple algorithm that can be expressed as one statement and three nested loops, is complex. Practical algorithms that use matrix multiplication tend to use matrices of disparate shapes, and the shape of the matrices can significantly impact the performance of matrix multiplication. We provide a class of algorithms that covers the spectrum of shapes encountered and demonstrate that good performance can be attained if the right algorithm is chosen. While the paper resolves a number of issues, it concludes with discussion of a number of directions yet to be pursued.
15307682
Accommodating polymorphic data decompositions in explicitly parallel programs
Explicitly parallel programs have the potential for greater performance than their implicitly parallel counterparts. However, this benefit can be accompanied by additional programming difficulties. We address one particular problem that has implications for both scalability and portability: the need for programs do accommodate diverse data decompositions. We explain why programs with explicit communication have difficulties in handling changes in data decomposition, and we present a solution to this problem which involves the notions of derivative functions and configuration parameters. We illustrate the technique by using three different data decompositions to solve the Modified Gram-Schmidt method on four parallel machines.<<ETX>>
1280007
Memory Prefetching Using Adaptive Stream Detection
We present adaptive stream detection, a simple technique for modulating the aggressiveness of a stream prefetcher to match a workload's observed spatial locality. We use this concept to design a prefetcher that resides on an on-chip memory controller. The result is a prefetcher with small hardware costs that can exploit workloads with low amounts of spatial locality. Using highly accurate simulators for the IBM Power5+, we show that this prefetcher improves performance of the SPEC2006fp benchmarks by an average of 32.7% when compared against a Power5+ that performs no prefetching. On a set of 5 commercial benchmarks that have low spatial locality, this prefetcher improves performance by an average of 15.1%. When compared against a typical Power5+ that does perform processor-side prefetching, the average performance improvement of these benchmark suites is 10.2% and 8.4%. We also evaluate the power and energy impact of our technique. For the same benchmark suites, DRAM power consumption increases by less than 3%, while energy usage decreases by 9.8% and 8.2%, respectively. Moreover, the power consumption of the prefetcher itself is low; it is estimated to increase the power consumption of the Power5+ chip by 0.06%
1057171
ZPL's WYSIWYG performance model
ZPL is a parallel array language designed for high performance scientific and engineering computations. Unlike other parallel languages, ZPL is founded on a machine model (the CTA) that accurately abstracts contemporary MIMD parallel computers. This makes it possible to correlate ZPL programs with machine behavior. As a result, programmers can reason about how code will perform on a typical parallel machine and thereby make informed decisions between alternative programming solutions. The paper describes ZPL's performance model and its syntactic cues for conveying operation cost. The what you see is what you get (WYSIWYG) nature of ZPL operations is demonstrated on the IBM SP-2, Intel Paragon, SGI Power Challenge, and Cray T3E. Additionally, the model is used to evaluate two algorithms for matrix multiplication. Experiments show that the performance model correctly predicts the faster solution on all four platforms for a range of problem sizes.
27000155
Towards a Machine-Independent Solution of Sparse Cholesky Factorization
5795237
The portable parallel implementation of two novel mathematical biology algorithms in ZPL
This paper shows that mathematical models of biological pattern formation are ideally suited to data parallelism. We present two new algorithms, one for simulating the dynamic structure of fibroblasts, and the other for studying the self-organization of motile bacteria. We describe implementations of these algorithms using a high level data parallel language called ZPL, and we give performance results for the Kendall Square Research KSR-2 and the Intel Paragon that include comparisons against sequential Fortran.
15011396
Adaptive resource management for mobile multimedia communications in asymmetric wireless network
In the multi-service wireless networks, the bandwidth asymmetry is the distinctive characteristic. To avoid wasting uplink and downlink bandwidth in asymmetric network, admissible region for the nonreal-time (NRT) calls has been proposed. But in that scheme the static guard capacity for RT and NRT calls cannot adapt to traffic variation. In addition, the differentiated QoS services to users are not considered. In this paper, we propose an adaptive guard channel reservation (AGCR) scheme, which has the following novelties: i) the guard capacity for each class is dynamically adjusted so as to adapt to dynamic traffic, ii) the blocking probabilities of classes with higher priority are kept below certain targets and iii) differentiated QoS services to users are provided by maintaining the blocking probability ratios over different classes at the predefined targets. Simulation results have demonstrated the proposed AGCR scheme can keep the blocking probabilities of classes with higher priority below certain targets, track the ratios close to the targets well while maintaining a high bandwidth utilization
15260570
Dynamic priority handoff scheme in differentiated QoS wireless multimedia networks
Handoff is one of the key elements in ensuring quality of service (QoS) in mobile wireless networks. Handoff connections generally have higher priority than new connections. Traditional reservation policies that reserve some channels for handoff connections are not adaptive to traffic load changes. This paper proposes a new dynamic guard channel scheme (DGCS), which 1) adapts to various traffic loads; 2) combines differentiated QoS service model and priority handoff mechanism; 3) provides fairness for differentiated QoS services; 4) does not need to exchange state information among different cells, so it is easy to be implemented and is simple enough to be used in real time environments; 5) and utilizes network resources efficiently and puts a bound on each service blocking probability. The simulation results show that the ratios among different QoS service probabilities are guaranteed to be predefined values and system utilization is improved greatly.
626075
Neural methods for dynamic branch prediction
This article presents a new and highly accurate method for branch prediction. The key idea is to use one of the simplest possible neural methods, the perceptron, as an alternative to the commonly used two-bit counters. The source of our predictor's accuracy is its ability to use long history lengths, because the hardware resources for our method scale linearly, rather than exponentially, with the history length. We describe two versions of perceptron predictors, and we evaluate these predictors with respect to five well-known predictors. We show that for a 4 KB hardware budget, a simple version of our method that uses a global history achieves a misprediction rate of 4.6% on the SPEC 2000 integer benchmarks, an improvement of 26% over gshare. We also introduce a global/local version of our predictor that is 14% more accurate than the McFarling-style hybrid predictor of the Alpha 21264. We show that for hardware budgets of up to 256 KB, this global/local perceptron predictor is more accurate than Evers' multicomponent predictor, so we conclude that ours is the most accurate dynamic predictor currently available. To explore the feasibility of our ideas, we provide a circuit-level design of the perceptron predictor and describe techniques that allow our complex predictor to operate quickly. Finally, we show how the relatively complex perceptron predictor can be used in modern CPUs by having it override a simpler, quicker Smith predictor, providing IPC improvements of 15.8% over gshare and 5.7% over the McFarling hybrid predictor.
26305379
A parallel decoding algorithm for IFS codes without transient behavior
Iterated function systems (IFSs) have received great attention in encoding and decoding fractal images. Barnsley (1988) has shown that IFSs for image compression can achieve a very high compression ratio for a single image. However, the major drawback of such a technique is the large computation load required to both encode and decode a fractal image. We provide a novel algorithm to decode IFS codes. The main features of this algorithm are that it is very suitable for parallel implementation and has no transient behavior. Also, from the decoding process of this method we can understand the encoding procedure explicitly. One example is illustrated to demonstrate the quality of its performance.
7645082
An annotation language for optimizing software libraries
This paper introduces an annotation language and a compiler that together can customize a library implementation for specific application needs. Our approach is distinguished by its ability to exploit high level, domain-specific information in the customization process. In particular, the annotations provide semantic information that enables our compiler to analyze and optimize library operations as if they were primitives of a domain-specific language. Thus, our approach yields many of the performance benefits of domain-specific languages, without the effort of developing a new compiler for each domain.
This paper presents the annotation language, describes its role in optimization, and illustrates the benefits of the overall approach. Using a partially implemented compiler, we show how our system can significantly improve the performance of two applications written using the PLAPACK parallel linear algebra library.