7601651
Hierarchical Cache Consistency in a WAN
This paper explores ways to provide improved consistency for Internet applications that scale to millions of clients. We make four contributions. First, we identify how workloads affect the scalability of cache consistency algorithms. Second, we define two primitive mechanisms, split and join, for growing and shrinking consistency hierarchies, and we present a simple mechanism for implementing them. Third, we describe and evaluate policies for using split and join to address the fault tolerance and performance challenges of consistency hierarchies. Fourth, using synthetic workload and trace-based simulation, we compare various algorithms for maintaining strong consistency in a range of hierarchy configurations. Our results indicate that a promising configuration for providing strong consistency in a WAN is a two-level consistency hierarchy where servers and proxies work to maintain consistency for data cached at clients. Specifically, by adapting to clients' access patterns, two-level hierarchies reduce the read latency for demanding workloads without introducing excessive overhead for nondemanding workloads. Also, they can improve scalability by orders of magnitude. Furthermore, this configuration is easy to deploy by augmenting proxies, and it allows invalidation messages to traverse firewalls.
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.
9009444
A Portable Parallel N-Body Solver
We present parallel solutions for direct and fast n-body solvers written in the ZPL language. We describe the direct solver, compare its performance against a sequential C program, and show performance results for two very different parallel machines; the KSR-2 and the Paragon. We also discuss the implementation of the fast solver in ZPL, including factors pertinent to data movement.
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>>
27000155
Towards a Machine-Independent Solution of Sparse Cholesky Factorization
7870525
Adaptive History-Based Memory Schedulers
As memory performance becomes increasingly important to overall system performance, the need to carefully schedule memory operations also increases. This paper presents a new approach to memory scheduling that considers the history of recently scheduled operations. This history-based approach provides two conceptual advantages: (1) it allows the scheduler to better reason about the delays associated with its scheduling decisions, and (2) it allows the scheduler to select operations so that they match the program's mixture of Reads and Writes, thereby avoiding certain bottlenecks within the memory controller. We evaluate our solution using a cycle-accurate simulator for the recently announced IBM Power5. When compared with an in-order scheduler, our solution achieves IPC improvements of 10.9% on the NAS benchmarks and 63% on the data-intensive Stream benchmarks. Using microbenchmarks, we illustrate the growing importance of memory scheduling in the context of CMP's, hardware controlled prefetching, and faster CPU speeds.
7556493
Using mixins to build flexible widgets
When it comes to software that runs on devices as varied as cell phones, PDAs and desktops, one size does not fit all. This paper describes how mixin layers, a kind of nested generic type, can be used to implement a graphical user interface library that can be configured to run on platforms with widely dissimilar capabilities. We describe the language support needed to incrementally build software in layers, and we describe how crosscutting concerns can be encapsulated within a layer. We then show how layers can be reconfigured to meet changing requirements. We also show how a new design pattern, the Sibling pattern, can be used with mixin layers to coordinate changes to multiple classes in the same inheritance hierarchy. When used appropriately, the Sibling pattern increases our ability to separate design concerns and to reuse code.
5012485
Stochastic High-Level Petri Nets and Applications
A class of stochastic Petri nets called stochastic high-level Petri nets (SHLPNs) is proposed. SHLPNs are high-level Petri nets augmented with exponentially distributed firing times. SHLPNs generally lead to models with a smaller state space. A computer marking concept is introduced that allows a considerable reduction of the number of states and induces a correct grouping of states in the Markov-domain SHLPN models of multiprocessor systems. The main advantage of modeling homogeneous systems using SHLPNs is that the resulting models are simpler and more intuitive and have a smaller number of states, as shown by examples. >
5592923
Temperature control with a neural fuzzy inference network
Although multilayered backpropagation neural networks (BPNNs) have demonstrated high potential in adaptive control, their long training time usually discourages their applications in industry. Moreover, when they are trained online to adapt to plant variations, the over-tuned phenomenon usually occurs. To overcome the weakness of the BPNN, we propose a neural fuzzy inference network (NFIN) suitable for adaptive control of practical plant systems in general and for adaptive temperature control of a water bath system in particular. The NFIN is inherently a modified Takagi-Sugeno-Kang (TSK)-type fuzzy rule based model possessing a neural network's learning ability. In contrast to the general adaptive neural fuzzy networks, where the rules should be decided in advance before parameter learning is performed, there are no rules initially in the NFIN. The rules in the NFIN are created and adapted as online learning proceeds via simultaneous structure and parameter identification. The NFIN has been applied to a practical water bath temperature control system. As compared to the BPNN under the same training procedure, the simulated results show that not only can the NFIN greatly reduce the training time and avoid the over-tuned phenomenon, but the NFIN also has perfect regulation ability. The performance of the NFIN is compared to that of the traditional PID controller and fuzzy logic controller (FLC) on the water bath temperature control system. The three control schemes are compared, with respect to set point regulation, ramp-point tracking, and the influence of unknown impulse noise and large parameter variation in the temperature control system. The proposed NFIN scheme has the best control 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.
2010014
Training a selection function for extraction
In this paper we compare performance of several heuristics in generating informative generic/query-oriented extracts for newspaper articles in order to learn how topic prominence affects the performance of each heuristic. We study how different query types can affect the performance of each heuristic and discuss the possibility of using machine learning algorithms to automatically learn good combination functions to combine several heuristics. We also briefly describe the design, implementation, and performance of a multilingual text summarization system SUMMARIST.