Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Douglas W. Clark

dblp:c/DouglasWClark · DBLP profile ↗
← Back
34ranked-venue papers
10as first author
0since 2021 · last 2005
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 29 · 7 first-authorSoftware engineering, systems software and programming languages · 13 · 4 first-authorDatabases, data management, data science and information retrieval · 2 · 2 first-authorTheory of computation · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2Human-computer interaction and ubiquitous computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
23 papers
Energy-efficient computing · 37% Processor architecture and microarchitecture · 22% Memory systems · 11%
Software engineering, system software, and programming languages
4 papers
Runtime systems and virtual machines · 89% Compilers and program optimization · 6% Operating systems · 5%

Topics — the 30 heaviest of 56, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Energy-efficient computing › power management
dynamic voltage and frequency scaling
0.232005
A Dynamic Compilation Framework for Controlling Microprocessor Energy and Performance · MICRO 2005
Voltage and Frequency Control With Adaptive Reaction Time in Multiple-Clock-Domain Processors · HPCA 2005
Formal online methods for voltage/frequency control in multiple clock domain microprocessors · ASPLOS 2004
Processor architecture and microarchitecture
branch prediction
0.132004
Implementing branch-predictor decay using quasi-static memory cells · ACM Trans. Archit. Code Optim. 2004
Branch Prediction, Instruction-Window Size, and Cache Size: Performance Trade-Offs and Simulation Techniques · IEEE Trans. Computers 1999
Improving Prediction for Procedure Returns with Return-address-stack Repair Mechanisms · MICRO 1998
Energy-efficient computing › microprocessor power management
multiple clock domain processor
0.122005
Formal online methods for voltage/frequency control in multiple clock domain microprocessors · ASPLOS 2004
Voltage and Frequency Control With Adaptive Reaction Time in Multiple-Clock-Domain Processors · HPCA 2005
Runtime systems and virtual machines
dynamic compilation
0.112005
A Dynamic Compilation Framework for Controlling Microprocessor Energy and Performance · MICRO 2005
Energy-efficient computing
leakage power reduction
0.012004
Implementing branch-predictor decay using quasi-static memory cells · ACM Trans. Archit. Code Optim. 2004
Integrated circuit design › clocking
multiple clock domain
0.012004
Formal online methods for voltage/frequency control in multiple clock domain microprocessors · ASPLOS 2004
Energy-efficient computing
power management
0.012004
Implementing branch-predictor decay using quasi-static memory cells · ACM Trans. Archit. Code Optim. 2004
Memory systems
cache
0.052004
Design Issues and Tradeoffs for Write Buffers · HPCA 1997
Implementing branch-predictor decay using quasi-static memory cells · ACM Trans. Archit. Code Optim. 2004
Cache Performance in the VAX-11/780 · ACM Trans. Comput. Syst. 1983
High-performance computing
cluster computing
0.021999
Design Choices in the SHRIMP System: An Empirical Study · ISCA 1998
An Adaptive Globally-Synchronizing Clock Algorithm and its Implementation on a Myrinet-based PC Cluster · SIGMETRICS 1999
Memory systems
cache design
0.011999
Branch Prediction, Instruction-Window Size, and Cache Size: Performance Trade-Offs and Simulation Techniques · IEEE Trans. Computers 1999
Distributed systems
clock synchronization
0.011999
An Adaptive Globally-Synchronizing Clock Algorithm and its Implementation on a Myrinet-based PC Cluster · SIGMETRICS 1999
Processor architecture and microarchitecture › out-of-order execution
instruction window
0.011999
Branch Prediction, Instruction-Window Size, and Cache Size: Performance Trade-Offs and Simulation Techniques · IEEE Trans. Computers 1999
Interconnection networks and networks-on-chip
network interface
0.011998
Design Choices in the SHRIMP System: An Empirical Study · ISCA 1998
Processor architecture and microarchitecture
pipelining
0.031995
The performance impact of incomplete bypassing in processor pipelines · MICRO 1995
Pipelining and Performance in the VAX 8800 Processor · ASPLOS 1987
The Memory System of a High-Performance Personal Computer · IEEE Trans. Computers 1981
Memory systems
memory hierarchy
0.011997
Design Issues and Tradeoffs for Write Buffers · HPCA 1997
Energy-efficient computing
microprocessor power management
0.012005
A Dynamic Compilation Framework for Controlling Microprocessor Energy and Performance · MICRO 2005
Parallel and multicore computing › parallel libraries
communication library
0.011996
Early Experience with Message-Passing on the SHRIMP Multicomputer · ISCA 1996
Distributed systems › operating system support › interprocess communication
message-passing communication
0.011996
Early Experience with Message-Passing on the SHRIMP Multicomputer · ISCA 1996
Parallel and multicore computing
parallel programming runtimes
0.011996
Early Experience with Message-Passing on the SHRIMP Multicomputer · ISCA 1996
Processor architecture and microarchitecture
instruction set architecture
0.031991
Performance From Architecture: Comparing a RISC and CISC with Similar Hardware Organization · ASPLOS 1991
Pipelining and Performance in the VAX 8800 Processor · ASPLOS 1987
Measurement and analysis of instruction use in the VAX-11/780 · ISCA 1982
Rendering
parallel rendering
0.011995
Evaluating Multi-Port Frame Buffer Designs for a Mesh-Connected Multicomputer · ISCA 1995
Processor architecture and microarchitecture › pipelining
bypass network
0.011995
The performance impact of incomplete bypassing in processor pipelines · MICRO 1995
Processor architecture and microarchitecture › pipelining
pipeline hazard
0.011995
The performance impact of incomplete bypassing in processor pipelines · MICRO 1995
Cryptographic primitives and cryptanalysis
discrete logarithm
0.011994
Maximal and Near-Maximal Shift Register Seqyences: Efficient Event Counters and Easy Discrete Logarithms · IEEE Trans. Computers 1994
Performance modeling and evaluation › performance monitoring
hardware performance counters
0.011994
Maximal and Near-Maximal Shift Register Seqyences: Efficient Event Counters and Easy Discrete Logarithms · IEEE Trans. Computers 1994
Electronic design automation › hardware verification and test › design for testability › built-in self-test
linear feedback shift register
0.011994
Maximal and Near-Maximal Shift Register Seqyences: Efficient Event Counters and Easy Discrete Logarithms · IEEE Trans. Computers 1994
Performance modeling and evaluation
workload characterization
0.051988
Measuring VAX 8800 Performance with a Histogram Hardware Monitor · ISCA 1988
A Characterization of Processor Performance in the VAX-11/780 · ISCA 1984
Measurement and analysis of instruction use in the VAX-11/780 · ISCA 1982
Performance modeling and evaluation
simulation
0.021999
Branch Prediction, Instruction-Window Size, and Cache Size: Performance Trade-Offs and Simulation Techniques · IEEE Trans. Computers 1999
Performance of the VAX-11/780 Translation Buffer: Simulation and Measurement · ACM Trans. Comput. Syst. 1985
Performance modeling and evaluation
benchmarking
0.011991
Performance From Architecture: Comparing a RISC and CISC with Similar Hardware Organization · ASPLOS 1991
Processor architecture and microarchitecture › instruction set architecture › instruction set style
RISC vs CISC
0.011991
Performance From Architecture: Comparing a RISC and CISC with Similar Hardware Organization · ASPLOS 1991

Methods — techniques the papers use, named apart from their topics

runtime DVFS optimization · 0.1stability analysis · 0.1cycle-accurate simulation · 0.1control-theoretic modeling · 0.1queueing model · 0.0quasi-static memory cells · 0.0feedback control · 0.0decay techniques · 0.0simplescalar simulation · 0.0sampling · 0.0workload characterization · 0.0simulation · 0.0cycle-level simulation · 0.0LFSR sequence characterization · 0.0empirical measurement · 0.0trace analysis · 0.0modeling · 0.0
YearPublicationVenuePosition
2005 Voltage and Frequency Control With Adaptive Reaction Time in Multiple-Clock-Domain Processors
abstract
Dynamic voltage and frequency scaling (DVFS) is a widely used method for energy-efficient computing. In this paper, we present a new intra-task online DVFS scheme for multiple clock domain (MCD) processors. Most existing online DVFS schemes for MCD processors use a fixed time interval between possible voltage/frequency changes. The downside to this approach is that the interval boundaries are predetermined and independent of workload changes. Thus, they can be late in responding to large, severe activity swings. In this work, we propose an alternative online DVFS scheme in which the reaction time is self-tuned and adaptive to application and work-load changes. In addition to designing such a scheme, we model the proposed DVFS control and use the derived model in a formal stability analysis. The obtained analytical insight is then used to guide and improve the design in terms of stability margin and control effectiveness. We evaluate our DVFS scheme through cycle-accurate simulation over a wide set of MediaBench and SPEC2000 benchmarks. Compared to the best-known prior fixed-interval DVFS schemes for MCD processors, the proposed DVFS scheme has a simpler decision process, which leads to smaller and cheaper hardware. Our scheme has achieved significant energy savings over all studied benchmarks (19% energy savings with 3% performance degradation on average, which is close to the best results from existing fixed-interval DVFS schemes). For a group of applications with fast workload variations, our scheme outperforms existing fixed-interval DVFS schemes significantly due to its adaptive nature. Overall, we feel the proposed adaptive online DVFS scheme is an effective and promising alternative to existing fixed-interval DVFS schemes. Designers may choose the new scheme for processors with limited hardware budget, or if the anticipated work-load behavior is variable. In addition, the modeling and analysis techniques in this work serve as examples of using stability analysis in other aspects of high-performance CPU design and control.
Philo Juang, Margaret Martonosi, Douglas W. Clark
HPCA4
2005 Coordinated, distributed, formal energy management of chip multiprocessors
abstract
Designers are moving toward chip-multiprocessors (CMPs) to leverage application parallelism for higher performance while keeping design complexity under control. However, to date, no power management techniques have been proposed for coordinated power control of multiple processor cores.In this paper, we illustrate how the use of local, per-tile dynamic voltage and frequency scaling (DVFS) techniques can result in tiles counteracting each others' power management policies, significantly hurting chip power-performance. We then propose a coordinated DVFS scheme for CMPs, which eliminates the oscillations and ensures efficient and resilient DVFS control. Specifically, our proposed technique incorporates thread information collected at runtime across the chip. In addition, by extending a control-theoretic local DVFS control technique toward DVFS for chip-multiprocessors, our technique prescribes DVFS settings formally at each tile, thus ensuring stable, distributed, coordinated DVFS control of a CMP. Experimental results show that our technique achieves a 15.5% improvement in energy-delay product over a CMP with no DVFS control, and a 7% improvement in energy-delay product against the latest state-of-the-art local DVFS scheme
Philo Juang, Li-Shiuan Peh, Margaret Martonosi, Douglas W. Clark
ISLPED5
2005 A Dynamic Compilation Framework for Controlling Microprocessor Energy and Performance
abstract
Dynamic voltage and frequency scaling (DVFS) is an effective technique for controlling microprocessor energy and performance. Existing DVFS techniques are primarily based on hardware, OS time-interrupts, or static-compiler techniques. However, substantially greater gains can be realized when control opportunities are also explored in a dynamic compilation environment. There are several advantages to deploying DVFS and managing energy/performance tradeoffs through the use of a dynamic compiler. Most importantly, dynamic compiler driven DVFS is fine-grained, code-aware, and adaptive to the current microarchitecture environment. This paper presents a design framework of the run-time DVFS optimizer in a general dynamic compilation system. A prototype of the DVFS optimizer is implemented and integrated into an industrial-strength dynamic compilation system. The obtained optimization system is deployed in a real hardware platform that directly measures CPU voltage and current for accurate power and energy readings. Experimental results, based on physical measurements for over 40 SPEC or Olden benchmarks, show that significant energy savings are achieved with little performance degradation. SPEC2K FP benchmarks benefit with energy savings of up to 70% (with 0.5% performance loss). In addition, SPEC2K INT show up to 44% energy savings (with 5% performance loss), SPEC95 FP save up to 64% (with 4.9% performance loss), and Olden save up to 61% (with 4.5% performance loss). On average, the technique leads to an energy delay product (EDP) improvement that is 3times-5times better than static voltage scaling, and is more than 2times (22% vs. 9%) better than the reported DVFS results of prior static compiler work. While the proposed technique is an effective method for microprocessor voltage and frequency control, the design framework and methodology described in this paper have broader potential to address other energy and power issues such as di/dt and thermal control
Margaret Martonosi, Douglas W. Clark, Vijay Janapa Reddi, Daniel A. Connors, Youfeng Wu, David Brooks 0001
MICRO3
2004 Formal online methods for voltage/frequency control in multiple clock domain microprocessors
abstract
Multiple Clock Domain (MCD) processors are a promising future alternative to today's fully synchronous designs. Dynamic Voltage and Frequency Scaling (DVFS) in an MCD processor has the extra flexibility to adjust the voltage and frequency in each domain independently. Most existing DVFS approaches are profile-based offline schemes which are mainly suitable for applications whose execution char-acteristics are constrained and repeatable. While some work has been published about online DVFS schemes, the prior approaches are typically heuristic-based. In this paper, we present an effective online DVFS scheme for an MCD processor which takes a formal analytic approach, is driven by dynamic workloads, and is suitable for all applications. In our approach, we model an MCD processor as a queue-domain network and the online DVFS as a feedback control problem with issue queue occupancies as feedback signals. A dynamic stochastic queuing model is first proposed and linearized through an accu-rate linearization technique. A controller is then designed and verified by stability analysis. Finally we evaluate our DVFS scheme through a cycle-accurate simulation with a broad set of applications selected from MediaBench and SPEC2000 benchmark suites. Compared to the best-known prior approach, which is heuristic-based, the proposed online DVFS scheme is substantially more effective due to its automatic regulation ability. For example, we have achieved a 2-3 fold increase in efficiency in terms of energy-delay product improvement. In addition, our control theoretic technique is more resilient, requires less tuning effort, and has better scalability as compared to prior online DVFS schemes.We believe that the techniques and methodology described in this paper can be generalized for energy control in processors other than MCD, such as tiled stream processors.
Philo Juang, Margaret Martonosi, Douglas W. Clark
ASPLOS4
2004 Exposing Memory Access Regularities Using Object-Relative Memory Profiling
abstract
Memory profiling is the process of characterizing a program's memory behavior by observing and recording its response to specific input sets. Relevant aspects of the program's memory behavior may then be used to guide memory optimizations in an aggressively optimizing compiler. In general, memory access behavior has eluded meaningful characterization because of confounding artifacts from memory allocators, linker data layout, and OS memory management. Since these artifacts may change from run to run, memory access patterns may appear different in each run even for the same input set. Worse, regular memory access behavior such as linked list traversals appear to have no structure. We present object-relative translation and decomposition techniques to eliminate these artifacts and to expose previously obscured memory access patterns. To demonstrate the potential of these ideas, we implement two different memory profilers targeted at different sets of applications. These profilers outperform the existing ones in terms of profile size and useful information per byte of data. The first profiler is a lossless profiler, called WHOMP, which uses object-relativity to achieve a 22% better compression than the previously best known scheme. The second profiler, called LEAP, uses lossy compression to get highly compact profiles while providing useful information to the targeted applications. LEAP correctly characterizes the memory alias rates for 56% more instruction pairs than the previously best known scheme with a practical running time.
Artem Pyatakov, Alexey Spiridonov, Easwaran Raman, Douglas W. Clark, David I. August
CGO5
2004 Implementing branch-predictor decay using quasi-static memory cells
abstract
With semiconductor technology advancing toward deep submicron, leakage energy is of increasing concern, especially for large on-chip array structures such as caches and branch predictors. Recent work has suggested that larger, aggressive branch predictors can and should be used in order to improve microprocessor performance. A further consideration is that more aggressive branch predictors, especially multiported predictors for multiple branch prediction, may be thermal hot spots, thus further increasing leakage. Moreover, as the branch predictor holds state that is transient and predictive, elements can be discarded without adverse effect. For these reasons, it is natural to consider applying decay techniques---already shown to reduce leakage energy for caches---to branch-prediction structures.Due to the structural difference between caches and branch predictors, applying decay techniques to branch predictors is not straightforward. This paper explores the strategies for exploiting spatial and temporal locality to make decay effective for bimodal, gshare, and hybrid predictors, as well as the branch target buffer (BTB). Furthermore, the predictive behavior of branch predictors steers them towards decay based not on state-preserving, static storage cells, but rather quasi-static, dynamic storage cells. This paper will examine the results of implementing decaying branch-predictor structures with dynamic---appropriately, decaying ---cells rather than the standard static SRAM cell.Overall, this paper demonstrates that decay techniques can apply to more than just caches, with the branch predictor and BTB as an example. We show decay can either be implemented at the architectural level, or with a wholesale replacement of static storage cells with quasi-static storage cells, which naturally implement decay. More importantly, decay techniques can be applied and should be applied to other such transient and/or predictive structures.
Philo Juang, Kevin Skadron, Margaret Martonosi, Douglas W. Clark, Phil Diodato, Stefanos Kaxiras
ACM Trans. Archit. Code Optim.5
2002 Applying Decay Strategies to Branch Predictors for Leakage Energy Savings
abstract
With technology advancing toward deep submicron, leakage energy is of increasing concern, especially for large onchip array structures such as caches and branch predictors. Recent work has suggested that even larger branch predictors can and should be used in order to improve microprocessor performance. A further consideration is that the branch predictor is a thermal hot spot, thus further increasing its leakage. For these reasons, it is natural to consider applying decay techniques-already shown to reduce leakage energy for caches-to branch-prediction structures. Due to the structural difference between caches and branch predictors, applying decay techniques to branch predictors is not straightforward. This paper explores the strategies for exploiting spatial and temporal locality to make decay effective for bimodal, gshare, and hybrid predictors, as well as the branch target buffer Overall, this paper demonstrates that decay techniques apply more broadly than just to caches, but that careful policy and implementation make the difference between success and failure in building decay-based branch predictors. Multi-component hybrid predictors offer especially interesting implementation tradeoffs for decay.
Philo Juang, Kevin Skadron, Douglas W. Clark, Margaret Martonosi
ICCD4
2002 Managing leakage for transient data: decay and quasi-static 4T memory cells
abstract
Much of on-chip storage is devoted to transient, often short-lived, data. Despite this, virtually all on-chip array structures use six-transistor (6T) static RAM cells that store data indefinitely. In this paper we propose the use of quasi-static four-transistor (4T) RAM cells. Quasi-static 4T cells provide both energy and area savings. These cells have no connection to Vdd and thus inherently provide decay functionality: values are refreshed upon access but discharge over time without use. This makes 4T cells uniquely well-suited for predictive structures like branch predictors and BTBs where data integrity is not essential. We use quantitative evaluations (both circuit-level and cycle-level) to explore the design space and quantify the opportunities. Overall, 4T-based branch predictors offer 12-33% area savings and 60-80% leakage savings with minimal performance impact. More broadly, this paper suggests a new view of how to support transient data in power-aware processors.
Philo Juang, Phil Diodato, Stefanos Kaxiras, Kevin Skadron, Margaret Martonosi, Douglas W. Clark
ISLPED7
2001 Software Environments For Cluster-Based Display Systems
abstract
An inexpensive way to construct a scalable display wall system is to use a cluster of PCs with commodity graphics accelerators to drive an array of projectors. A challenge is to bring off-the-shelf sequential applications to run on such a display wall efficiently without using expensive, high-performance interconnects. We study two execution models for a scalable display wall system: master-slave and synchronized execution models. We have designed and implemented four software tools, two for each execution model, including VDD (Virtual Display Driver), GLP (GL-DLL Replacement), SSE (System-level Synchronized Execution), and ASE (Application-level Synchronized Execution). In order to support the synchronized execution model, we have also designed a broadcast, speculative file cache to provide scalable I/O performance. We report our experimental results with several 3D applications on the display wall to understand the performance implications and tradeoffs of these methods.
Douglas W. Clark, Zhiyan Liu, Grant Wallace, Kai Li 0001, Yuqun Chen
CCGRID2
2000 Automatic alignment of high-resolution multi-projector display using an un-calibrated camera
abstract
A scalable, high-resolution display may be constructed by tiling many projected images over a single display surface. One fundamental challenge for such a display is to avoid visible seams due to misalignment among the projectors. Traditional methods for avoiding seams involve sophisticated mechanical devices and expensive CRT projectors, coupled with extensive human effort for fine-tuning the projectors. The paper describes an automatic alignment method that relies on an inexpensive, uncalibrated camera to measure the relative mismatches between neighboring projectors, and then correct the projected imagery to avoid seams without significant human effort.
Yuqun Chen, Douglas W. Clark, Adam Finkelstein, Timothy C. Housel, Kai Li 0001
IEEE Visualization2
1999 An Adaptive Globally-Synchronizing Clock Algorithm and its Implementation on a Myrinet-based PC Cluster
abstract
No abstract available.
Margaret Martonosi, Douglas W. Clark
SIGMETRICS3
1999 Experience with an Adaptive Globally-Synchronizing Clock Algorithm
abstract
Fast commodity network-connected PC or workstation clusters are becoming more and more popular. This popularity can be attributed to their ability to provide high-performance parallel computing on a relatively inexpensive platform. An accurate global clock is invaluable for these systems, both for measuring network performance and coordinating distributed applications. Typically, however, these systems do not include dedicated clock synchronization support. Previous clock synchronization methods are not suitable here in general, either because of extra, non-commodity hardware requirements or insufficient synchronized clock accuracy. In this paper we present and evaluate an adaptive clock synchronization algorithm. We have implemented and tested the algorithm on our Myrinet-based PC cluster. It is regularly used as part of a parallel performance tool running on the cluster. The algorithm has several important features. First, it does not require any extra hardware support. Second, we show ...
Margaret Martonosi, Douglas W. Clark
SPAA3
1999 Branch Prediction, Instruction-Window Size, and Cache Size: Performance Trade-Offs and Simulation Techniques
abstract
Design parameters interact in complex ways in modern processors, especially because out-of-order issue and decoupling buffers allow latencies to be overlapped. Trade-offs among instruction-window size, branch-prediction accuracy, and instruction- and data-cache size can change as these parameters move through different domains. For example, modeling unrealistic caches can under- or overstate the benefits of better prediction or a larger instruction window. Avoiding such pitfalls requires understanding how all these parameters interact. Because such methodological mistakes are common, this paper provides a comprehensive set of SimpleScalar simulation results from SPECint95 programs, showing the interactions among these major structures. In addition to presenting this database of simulation results, major mechanisms driving the observed trade-offs are described. The paper also considers appropriate simulation techniques when sampling full-length runs with the SPEC reference inputs. In particular, the results show that branch mispredictions limit the benefits of larger instruction windows, that better branch prediction and better instruction cache behavior have synergistic effects, and that the benefits of larger instruction windows and larger data caches trade off and have overlapping effects. In addition, simulations of only 50 million instructions can yield representative results if these short windows are carefully selected.
Kevin Skadron, Pritpal S. Ahuja, Margaret Martonosi, Douglas W. Clark
IEEE Trans. Computers4
1998 Multipath Execution: Opportunities and Limits
abstract
Article Free Access Share on Multipath execution: opportunities and limits Authors: Pritpal S. Ahuja Depts. of Computer Science, Princeton University, Princeton, New Jersey Depts. of Computer Science, Princeton University, Princeton, New JerseyView Profile , Kevin Skadron Depts. of Computer Science, Princeton University, Princeton, New Jersey Depts. of Computer Science, Princeton University, Princeton, New JerseyView Profile , Margaret Martonosi Depts. of Electrical Engineering, Princeton University, Princeton, New Jersey Depts. of Electrical Engineering, Princeton University, Princeton, New JerseyView Profile , Douglas W. Clark Depts. of Computer Science, Princeton University, Princeton, New Jersey Depts. of Computer Science, Princeton University, Princeton, New JerseyView Profile Authors Info & Claims ICS '98: Proceedings of the 12th international conference on SupercomputingJuly 1998 Pages 101–108https://doi.org/10.1145/277830.277854Online:13 July 1998Publication History 32citation410DownloadsMetricsTotal Citations32Total Downloads410Last 12 Months9Last 6 weeks2 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Pritpal S. Ahuja, Kevin Skadron, Margaret Martonosi, Douglas W. Clark
International Conference on Supercomputing4
1998 Monitoring Shared Virtual Memory Performance on a Myrinet-based PC Cluster
abstract
Network-connected clusters of PCs or workstations are becoming a widespread parallel computing platform. Performance methodologies that use either simulation or high-level software instrumentation cannot adequately measure the detailed behavior of such systems. The availability of new network technologies based on programmable network interfaces opens a new avenue of research in analyzing and improving the performance of software shared memory protocols. We have developed monitoring firmware embedded in the programmable network interfaces of a Myrinet-based PC cluster. Timestamps on network packets facilitate the collection of low-level statistics on, e.g., network latencies, interrupt handler times and inter-node synchronization. This paper describes our use of the low-level software performance monitor to measure and understand the performance of a Shared Virtual Memory (SVM) system implemented on a Myrinetbased cluster, running the SPLASH-2 benchmarks. We measured time spent in vari...
Dongming Jiang, Liviu Iftode, Margaret Martonosi, Douglas W. Clark
International Conference on Supercomputing5
1998 Design Choices in the SHRIMP System: An Empirical Study
abstract
The SHRIMP cluster-computing system has progressed to a point of relative maturity; a variety of applications are running on a 16-node system. We have enough experience to understand what we did right and wrong in designing and building the system. In this paper we discuss some of the lessons we learned about computer architecture, and about the challenges involved in building a significant working system in an academic research environment. We evaluate significant design choices by modifying the network interface firmware and the system software in order to empirically compare our design to other approaches.
Matthias A. Blumrich, Richard Alpert, Yuqun Chen, Douglas W. Clark, Stefanos N. Damianakis, Cezary Dubnicki, Edward W. Felten, Liviu Iftode, Kai Li 0001, Margaret Martonosi, Robert A. Shillner
ISCA4
1998 Improving Prediction for Procedure Returns with Return-address-stack Repair Mechanisms
abstract
This paper evaluates several mechanisms for repairing the return-address stack after branch mispredictions. The return-address stack is a small but important structure for achieving better control-flow prediction accuracy and therefore better performance. But wrong-path execution after mispredictions frequently corrupts the return-address stack, making repair mechanisms necessary. If the processor implements multipath execution-simultaneously executing both sides of a branch-the contention among different paths makes the problem more severe. For conventional, single-path processors, this paper proposes saving both the top-of-stack pointer and the top-of-stack contents for later restoration in case of a misprediction. This simple technique achieves nearly 100% hit rates and improves performance by up to 8.7% compared to a stack with no repair mechanism. For multipath processors, providing each path with its own return-address stack completely eliminates contention, improving performance by over 25%.
Kevin Skadron, Pritpal S. Ahuja, Margaret Martonosi, Douglas W. Clark
MICRO4
1997 Design Issues and Tradeoffs for Write Buffers
abstract
Processors with write-through caches typically require a write buffer to hide the write latency to the next level of memory hierarchy and to reduce write traffic. A write buffer can cause processor stalls when it is full, when it contends with a cache miss for access to the next level of the hierarchy and when it contains the freshest copy of data needed by a load. This paper uses instruction level simulation of SPEC92 benchmarks to investigate how different write buffer depths, retirement policies, and load-hazard policies affect these three types of write-buffer stalls. Deeper buffers with adequate headroom, lazier retirement policies, and the ability to read data directly from the write buffer combine to substantially reduce write-buffer-induced stalls.
Kevin Skadron, Douglas W. Clark
HPCA2
1996 Early Experience with Message-Passing on the SHRIMP Multicomputer
abstract
The SHRIMP multicomputer provides virtual memory-mapped communication (VMMC), which supports protected, user-level message passing, allows user programs to perform their own buffer management, and separates data transfers from control transfers so that a data transfer can be done without the intervention of the receiving node CPU. An important question is whether such a mechanism can indeed deliver all of the available hardware performance to applications which use conventional message-passing libraries. This paper reports our early experience with message-passing on a small, working SHRIMP multicomputer. We have implemented several user-level communication libraries on top of the VMMC mechanism, including the NX message-passing interface, Sun RPC, stream sockets, and specialized RPC. The first three are fully compatible with existing systems. Our experience shows that the VMMC mechanism supports these message-passing interfaces well. When zero-copy protocols are allowed by the semanti...
Edward W. Felten, Richard Alpert, Angelos Bilas, Matthias A. Blumrich, Douglas W. Clark, Stefanos N. Damianakis, Cezary Dubnicki, Liviu Iftode, Kai Li 0001
ISCA5
1995 Evaluating Multi-Port Frame Buffer Designs for a Mesh-Connected Multicomputer
abstract
Multicomputers can be effectively used for interactive graphics rendering only if there are mechanisms available to rapidly composite and transfer images to an external display device. One method for achieving the necessary bandwidth for this operation is to provide multiple high-bandwidth ports into a frame buffer. In this paper, we evaluate the design space of a multiport frame buffer design for the Intel Paragon mesh routing network. We use an instrumented rendering system to capture the graphics operations needed for rendering a number of three-dimensional scenes; we then use those workloads as input to test programs running on the Paragon to estimate the performance of our hardware. Our experiments consider three major design questions: how many network ports the frame buffer needs, whether Z-Buffering should be done in hardware on the frame buffer or in software on the computing nodes, and whether the design alternatives are scalable.
Gordon Stoll, Bin Wei 0003, Douglas W. Clark, Edward W. Felten, Kai Li 0001, Pat Hanrahan
ISCA3
1995 The performance impact of incomplete bypassing in processor pipelines
abstract
Pipelined processors employ hardware bypassing to eliminate certain pipeline hazards. By passing is logically simple but can be costly, especially in wide issue and deeply pipelined machines. In this paper bypassing is studied in detail, with an emphasis on designs in which the bypassing network is not complete. Cycle-level simulations of a model of integer and floating-point pipelines running some of the SPEC92 benchmarks show that at least half of the instructions executed used a bypassed register result from a previous instruction. Missing bypasses induce interlock stalls. The paper reports measurements of the performance impact of a number of pipeline configurations with incomplete bypassing networks. This impact ranges from a slowdown of just a few percent for a configuration with one late bypass missing to a slowdown of almost a factor of two for the integer pipe with no bypassing at all. Two types of code alterations reduce the new interlock stalls. A simple code transformation, the interchange of operands in instructions that perform commutative operations, cuts the performance loss from interlock stalls in certain configurations between about 20 and 50 percent. The second transformation is to reschedule code within basic blocks to avoid any missing bypasses. In five individual experiments with a small number of configurations and two benchmarks, this rescheduling saved 25 to 50 percent of the interlock stalls. In certain configurations both transformations can be applied.
Pritpal S. Ahuja, Douglas W. Clark, Anne Rogers
MICRO2
1994 Maximal and Near-Maximal Shift Register Seqyences: Efficient Event Counters and Easy Discrete Logarithms
abstract
A linear feedback shift register, or LFSR, can implement an event counter by shifting whenever an event occurs. A single two-input exclusive-OR gate is often the only additional hardware necessary to allow a shift register to generate, by successive shifts, all of its possible nonzero values. The counting application requires that the number of shifts be recoverable from the LFSR contents so that further processing and analysis may be done. Recovering this number from the shift register value corresponds to a problem from number theory and cryptography known as the discrete logarithm. For some sizes of shift register, the maximal-length LFSR implementation requires more than a single gate, and for some, the discrete logarithm calculation is hard. The paper proposes for such size the use of certain one-gate LFSR's whose sequence lengths are nearly maximal, and which support easy discrete logarithms. These LFSR's have a concise mathematical characterization, and are quite common. The paper concludes by describing an application of these ideas in a computer hardware monitor, and by presenting a table that describes efficient LFSR's of size up to 64 bits.>
Douglas W. Clark, Lih-Jyh Weng
IEEE Trans. Computers1
1991 Performance From Architecture: Comparing a RISC and CISC with Similar Hardware Organization
abstract
Performance comparisons across different computer architectures cannot usually separate the architectural contribution from various implementation and technology contributions to performance.This paper compares an example implementation from the RISC and CISC architectural schools (a MIPS M/2000 and a Digital VAX 8700) on nine of the ten SPEC benchmarks.The organizational similarity of these machines provides an opportunity to examine the purely architect ural advantages of RISC.The RISC approach offers, compared with VAX, many fewer cycles per instruction but somewhat more instructions per program.Using results from a software monitor on the MIPS machine and a hardware monitor on the VAX, this paper shows that the resulting advantagein cgcles per program ranges from slightly under a factor of 2 to almost a factor of 4, with a geometric mean of 2,7.It also demonstrates the correlation between cycles per instruction and relative instruction count.Various reasons for this correlation, and for the consistent net advantage of RISC, are discussed.
Dileep Bhandarkar, Douglas W. Clark
ASPLOS2
1988 Measuring VAX 8800 Performance with a Histogram Hardware Monitor
abstract
The results of a study of the VAX 8800 processor performance using a hardware monitor that collects histograms of the processor's micro-PC and memory bus status are presented. The monitor keeps a count of all machine cycles executed at each micro-PC location, as well as counting all occurrences of each bus transaction. It can measure a running system without interfering with it, and these results are based on measurements of live timesharing. Because the 8800 is a microcoded machine, a great deal of information can be gleaned from these data. Opcode and operand specifier frequencies are reported, as well as the amount of time spent in instruction execution and various kinds of overhead, such as memory management and cache-wait stalls. The histogram method yields a detailed picture of the amount of time an average VAX instruction spends in various activities on the 8800.>
Douglas W. Clark, Peter J. Bannon, James B. Keller
ISCA1
1987 Pipelining and Performance in the VAX 8800 Processor
abstract
The VAX 8800 family (models 8800, 8700, 8550), currently the fastest computers in the VAX product line, achieve their speed through a combination of fast cycle time and deep pipelining. Rather than pipeline highly variable VAX instructions as such, the 8800 design pipelines uniform microinstructions whose addresses are generated by instruction unit hardware. This design approach helps achieve a fast cycle time, which is the prime determinan of performance. Some preliminary measurements of cycles per average instruction are reported.
Douglas W. Clark
ASPLOS1
1985 Performance of the VAX-11/780 Translation Buffer: Simulation and Measurement
abstract
A virtual-address translation buffer (TB) is a hardware cache of recently used virtual-to-physical address mappings. The authors present the results of a set of measurements and simulations of translation buffer performance in the VAX-11/780. Two different hardware monitors were attached to VAX-11/780 computers, and translation buffer behavior was measured. Measurements were made under normal time-sharing use and while running reproducible synthetic time-sharing work loads. Reported measurements include the miss ratios of data and instruction references, the rate of TB invalidations due to context switches, and the amount of time taken to service TB misses. Additional hardware measurements were made with half the TB disabled. Trace-driven simulations of several programs were also run; the traces captured system activity as well as user-mode execution. Several variants of the 11/780 TB structure were simulated.
Douglas W. Clark, Joel S. Emer
ACM Trans. Comput. Syst.1
1984 A Characterization of Processor Performance in the VAX-11/780
abstract
This paper reports the results of a study of VAX-11/780 processor performance using a novel hardware monitoring technique. A micro-PC histogram monitor was built for these measurements. It keeps a count of the number of microcode cycles executed at each microcode location. Measurement experiments were performed on live timesharing workloads as well as on synthetic workloads of several types. The histogram counts allow the calculation of the frequency of various architectural events, such as the frequency of different types of opcodes and operand specifiers, as well as the frequency of some implementation-specific events, such as translation buffer misses. The measurement technique also yields the amount of processing time spent in various activities, such as ordinary microcode computation, memory management, and processor stalls of different kinds. This, paper reports in detail the amount of time the “average” VAX instruction spends in these activities.
Joel S. Emer, Douglas W. Clark
ISCA2
1983 Cache Performance in the VAX-11/780
abstract
in the VAX
Douglas W. Clark
ACM Trans. Comput. Syst.1
1982 Measurement and analysis of instruction use in the VAX-11/780
abstract
This paper reports measurements of instruction set use on the VAX-11/780 computer. A hardware monitor was used to measure the frequency and time taken by each VAX instruction. Data from benchmark programs, a compiler, a linker, and a synthetic timesharing workload are reported. Results show that although some programs rely on a small set of instructions, different applications use the instruction set in different ways.
Douglas W. Clark, Henry M. Levy
ISCA1
1981 The Memory System of a High-Performance Personal Computer
abstract
The memory system of the Dorado, a compact high- performance personal computer, has very high I/O bandwidth, a large paged virtual memory, a cache, and heavily pipelined control; this paper discusses all of these in detail. Relatively low-speed I/O devices transfer single words to or from the cache; fast devices, such as a color video display, transfer directly to or from main storage while the processor uses the cache. Virtual addresses are used in the cache and for all I/O transfers. The memory is controlled by a seven-stage pipeline, which can deliver a peak main-storage bandwidth of 533 million bits/s to service fast I/O devices and cache misses. Interesting problems of synchronization and scheduling in this pipeline are discussed. The paper concludes with some performance measurements that show, among other things, that the cache hit rate is over 99 percent.
Douglas W. Clark, Butler W. Lampson, Kenneth A. Pier
IEEE Trans. Computers1
1979 Compact Encodings of List Structure
abstract
List structures provide a general mechanism for representing easily changed structured data, but can introduce inefficiencies in the use of space when fields of uniform size are used to contain pointers to data and to link the structure. Empirically determined regularity can be exploited to provide more space-efficient encodings without losing the flexibility inherent in list structures. The basic scheme is to provide compact pointer fields big enough to accommodate most values that occur in them and to provide “escape” mechanisms for exceptional cases. Several examples of encoding designs are presented and evaluated, including two designs currently used in Lisp machines. Alternative escape mechanisms are described, and various questions of cost and implementation are discussed. In order to extrapolate our results to larger systems than those measured, we propose a model for the generation of list pointers and we test the model against data from two programs. We show that according to our model, list structures with compact cdr fields will, as address space grows, continue to be compacted well with a fixed-width small field. Our conclusion is that with a microcodable processor, about a factor of two gain in space efficiency for list structure can be had for little or no cost in processing time.
Daniel G. Bobrow, Douglas W. Clark
ACM Trans. Program. Lang. Syst.2
1979 Measurements of Dynamic List Structure Use in Lisp
abstract
This paper is an empirical study of how three large Lisp programs use their list structure during execution. Most list-cell references are due to the functions car and cdr, which are executed about equally often and greatly outnumber other primitive functions. Executions of cdr yield the atom NIL about 10 to 20 percent of the time, and nearby list cells most of the rest of the time. Executions of car yield atoms, small integers, and list cells in varying proportions in the three progrms. Atom references by car tend to concentrate on a small number of atoms. The function rplacd increases static pointer locality, but rplaca is used idiosyncratically. Repeated reference to list cells is likely: over half of all references were to one of the ten most recently referenced cells. Linearization is the rearrangement of lists so that consecutive cdr's are adjacent in memory whenever possible. This property deteriorates dowly after a list structure is linearized. If all of a program's lists are linearized, page faults are reduced slightly, but because of the high cost of a fault this small reduction has a large effect.
Douglas W. Clark
IEEE Trans. Software Eng.1
1978 A Note on Shared List Structure in LISP
Douglas W. Clark, Cordell Green
Inf. Process. Lett.1
1975 A Fast Algorithm for Copying Binary Trees
Douglas W. Clark
Inf. Process. Lett.1