1921243
The impact of delay on the design of branch predictors
Modern microprocessors employ increasingly complicated branch predictors to achieve instruction fetch bandwidth that is sufficient for wide out-of-order execution cores. While existing predictors can still be accessed in a single clock cycle, recent studies show that slower wires and faster clock rates will require multi-cycle access times to large on-chip structures, such as branch prediction tables. Thus, future branch predictors must consider not only area and accuracy, but also delay. The paper explores these tradeoffs in designing branch predictors and shows that increased accuracy alone cannot overcome the penalties in delay that arise with larger predictor structures. We evaluate three schemes for accommodating delay: a caching approach, an overriding approach, and a cascading lookahead approach. While we use a common branch predictor, gshare, as the prediction component, these schemes can be constructed using most types of predictors.
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.
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>>
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.
30562053
Design a robust controller for active queue management in large delay networks
AQM (active queue management) can maintain the smaller queuing delay and higher throughput by the purposefully dropping the packets at the intermediate nodes. Almost all the existed schemes for AQM neglect the impact of large delay on performance. In this study, we firstly verify a fact through simulation experiments, which is the queues controlled by the several popular AQM schemes, including RED, PI controller and REM, appear the dramatic oscillations in large delay networks, which decreases the utilization of the bottleneck link and introduces the avoidable delay jitter. After some appropriate model approximation, we design a robust AQM controller to compensate the delay using the principle of internal mode compensation in control theory. The novel algorithm restrains the negative effect on queue stability caused by large delay. The simulation results show that the integrated performance of the proposed algorithm is obviously superior to that of several well-known schemes when the connections have large delay, at the same time, the buffers keep at small queue length.
5115554
A robust active queue management algorithm in large delay networks
Active Queue Management (AQM) can maintain smaller queuing delay and higher throughput by purposefully dropping the packets at intermediate nodes. Almost all the existing AQM schemes neglect the impact of large delay on their performance. In this study, we first show an unexpected fact through simulation experiments, which is the dramatic oscillations appear in the queues controlled by several popular AQM schemes, including RED, PI controller and REM, in large delay networks. With appropriate model approximation, we design a robust AQM controller to compensate for the delay using the principle of internal mode compensation in control theory. Our novel algorithm restrains the negative effect on queue stability caused by large delay. Simulation results show that the integrated performance of the proposed algorithm outperforms that of several well-known schemes when the connections have large delay, while keeping buffer queue short.
12656146
Session-affinity aware request allocation for Web clusters
Persistent connections are increasingly being used in Web retrieval due to wide adoption of HTTP/1.1 standards. With persistent connections, the request allocation algorithm used by Web clusters is often session-grained. This article studies the caching performance of Web clusters under session-grained request allocation. It is shown that although content-based algorithms considerably improve caching performance over content-blind algorithms at the request-grained level, most performance gain is offset by the allocation dependency that arises when the requests are allocated at the session-grained level. The performance loss increases with cluster size and connection holding time. An optimization problem is then formulated for improving the caching effectiveness of session-grained allocation. The problem is proven to be NP-complete. Based on a heuristic approach, a session-affinity aware algorithm is presented that makes use of the correlation between the requests in a session. The new algorithm is shown to significantly outperform the content-based algorithm under session-grained allocation. It is also shown that optimizing session-grained allocation cannot fully compensate for the performance loss caused by allocation dependency.
1207322
Dynamic integrated scheduling of hard real-time, soft real-time, and non-real-time processes
Real-time systems are growing in complexity and real-time and soft real-time applications are becoming common in general-purpose computing environments. Thus, there is a growing need for scheduling solutions that simultaneously support processes with a variety of different timeliness constraints. Toward this goal we have developed the resource allocation/dispatching (RAD) integrated scheduling model and the rate-based earliest deadline (RBED) integrated multi-class real-time scheduler based on this model. We present RAD and the RBED scheduler and formally prove the correctness of the operations that RBED employs. We then describe our implementation of RBED and present results demonstrating how RBED simultaneously and seamlessly supports hard real-time, soft real-time, and best-effort processes.
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