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.
17509188
Client-Driven Pointer Analysis
This paper presents a new client-driven pointer analysis algorithm that automatically adjusts its precision in response to the needs of client analyses. We evaluate our algorithm on 18 real C programs, using five significant error detection problems as clients. We compare the accuracy and performance of our algorithm against several commonly-used fixed-precision algorithms. We find that the client-driven approach effectively balances cost and precision, often producing results as accurate as fixed-precision algorithms that are many times more costly. Our algorithm works because many client problems only need a small amount of extra precision applied to the right places in each input program.
36796122
Programming SIMPLE for Parallel Portability
The Phase Abstractions formulation of Livermore's SIMPLE computation is described in detail. This new program is of interest for three reasons. First, it enables the Phase Abstractions approach to be easily compared with the many other programming styles illustrated by SIMPLE in the past. Secondly, this program has recently been reported to execute on five diverse MIMD computers, in all cases achieving speedups in excess of 50% of linear. Thirdly, the Phase Abstractions permit easy revisions of the program that enable performance experimentation. Specifically, “array blocks” are compared to “column strips” as a means of array decomposition. Results comparing the two approaches are presented for the Sequent Symmetry, BBN Butterfly, Intel iPSC/2 and NCUBE/7. The results confirm the intuition that blocks are superior.
7766753
ZPL: An Array Sublanguage
The notion of isolating the “common case” is a well known computer science principle. This paper describes ZPL, a language that treats data parallelism as a common case of MIMD parallelism. This separation of concerns has many benefits. It allows us to define a clean and concise language for describing data parallel computations, and this in turn leads to efficient parallel execution. Our particular language also provides mechanisms for handling boundary conditions. We introduce the concepts, constructs and semantics of our new language, and give a simple example that contrasts ZPL with other data parallel languages.
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.
11669518
Error checking with client-driven pointer analysis
This paper presents a new client-driven pointer analysis algorithm that automatically adjusts its precision in response to the needs of client analyses. Using five significant error detection problems as clients, we evaluate our algorithm on 18 real C programs. We compare the accuracy and performance of our algorithm against several commonly used fixed-precision algorithms. We find that the client-driven approach effectively balances cost and precision, often producing results as accurate as fixed-precision algorithms that are many times more costly. Our algorithm works because many client problems only need a small amount of extra precision applied to selected portions of each input program.
338397
Design a congestion controller based on sliding mode variable structure control
As an effective mechanism acting on the intermediate nodes to support end-to-end congestion control, Active Queue Management (AQM) takes a trade-off between link utilization and delay experienced by data packets. Most existing AQM algorithms are heuristic, and lack a systematic and theoretical design and analysis approach. From the viewpoint of control theory, the AQM system can be regarded as a typical regulating system. Although the PI controller for AQM outperforms the RED algorithm, the mismatches in a simplified TCP flow model inevitably degrade the performance of controller designed using classical control theory. In this paper, a robust controller for AQM is developed based on Sliding Mode Variable Structure Control (SMVS). Because it is insensitive to noise and variance of parameters, it is very suitable for time-varying network systems. The principles and design of the SMVS controller are presented in detail. The integrated performance is evaluated using ns simulations. The results show that the SMVS is responsive and robust against disturbance. At the same time, a complete comparison between SMVS controller and PI controller is made. The conclusion is that both transient and steady performance of the SMVS controller is superior to those of PI controller, thus the SMVS controller can readily achieve to the AQM objectives.
268525
Optimizing the Use of High Performance Software Libraries
This paper describes how the use of software libraries, which is prevalent in high performance computing, can benefit from compiler optimizations in much the same way that conventional programming languages do. We explain how the compilation of these informal languages differs from the compilation of more conventional languages. In particular, such compilation requires precise pointer analysis, domain-specific information about the library's semantics, and a configurable compilation scheme. We describe a solution that combines dataflow analysis and pattern matching to perform configurable optimizations.
3010311
On the spanning w-wide diameter of the star graph
Let u and v be any two distinct nodes of an undirected graph G, which is k -connected. A container C(u, v ) between u and v is a set of internally disjoint paths {P1, P2, . . . , Pw } between u and v where 1 ≤ w ≤ k . The width of C(u, v ) is w and the length of C(u, v ) {written as l [C(u, v )]} is max{l (Pi ) | 1 ≤ i ≤ w }. A w -container C(u, v ) is a container with width w . The w -wide distance between u and v , dw (u, v ), is min{l (C(u, v )) | C(u, v ) is a w -container}. A w -container C(u, v ) of the graph G is a w ∗-container if every node of G is incident with a path in C(u, v ). That means that the w -container C(u, v ) spans the whole graph. Let Sn be the n-dimensional star graph with n ≥ 5. It is known that Sn is bipartite. In this article, we show that, for any pair of distinct nodes u and v in different partite sets of Sn , there exists an (n − 1)∗-container C(u, v ) and the (n − 1)-wide distance d(n−1)(u, v ) is less than or equal to n! n−2 + 1. In addition, we also show the existence of a 2∗-container C(u, v ) and the 2-wide distance d2(u, v ) is bounded above by n! 2 + 1. © 2006 Wiley Periodicals, Inc. NETWORKS, Vol. 48(4), 235–249 2006
15479420
IS/IT Investment Evaluation and Benefits Realization Issues in Australia
Information systems/information technology represents substantial financial investment for many organizations. It has been shown that IS/IT investments in many organizations are huge and increasing rapidly every year and yet there is still a lack of understanding of the impact of the proper IS/IT investment evaluation processes and practices in these organizations. Thus, a survey and an in-depth case study of these practices and processes in two large governmental departments with several major IS/IT projects was conducted. The key issues presented here in some detail are of interest to practitioners concerned with making decisions about project investment and realizing benefits, as well as researchers. ACM Classification: H.0 (Information Systems – General)
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.