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

Brian Grant

dblp:98/3077 · DBLP profile ↗
← Back
5ranked-venue papers
4as first author
0since 2021 · last 2003
—ORCID · none

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

Software engineering, systems software and programming languages · 4 · 3 first-authorSystems, architecture and hardware · 1Theory of computation · 1 · 1 first-author

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.

Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 64% Runtime systems and virtual machines · 36%

Topics — the 4 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Runtime systems and virtual machines
dynamic compilation
0.122000
The benefits and costs of DyC's run-time optimizations · ACM Trans. Program. Lang. Syst. 2000
An Evaluation of Staged Run-Time Optimizations in DyC · PLDI 1999
Compilers and program optimization
dynamic optimization
0.122000
The benefits and costs of DyC's run-time optimizations · ACM Trans. Program. Lang. Syst. 2000
An Evaluation of Staged Run-Time Optimizations in DyC · PLDI 1999
Compilers and program optimization › partial evaluation
binding-time analysis
0.012000
The benefits and costs of DyC's run-time optimizations · ACM Trans. Program. Lang. Syst. 2000
Compilers and program optimization
partial evaluation
0.012000
The benefits and costs of DyC's run-time optimizations · ACM Trans. Program. Lang. Syst. 2000

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

strength reduction · 0.0polyvariant specialization · 0.0loop unrolling · 0.0dead-assignment elimination · 0.0
YearPublicationVenuePosition
2003 The Transmeta Code Morphing - Software: Using Speculation, Recovery, and Adaptive Retranslation to Address Real-Life Challenges
abstract
Transmeta's Crusoe microprocessor is a full, system-level implementation of the x86 architecture, comprising a native VLIW microprocessor with a software layer, the Code Morphing Software (CMS), that combines an interpreter, dynamic binary translator, optimizer, and run-time system. In its general structure, CMS resembles other binary translation systems described in the literature, but it is unique in several respects. The wide range of PC workloads that CMS must handle gracefully in real-life operation, plus the need for full system-level x86 compatibility, expose several issues that have received little or no attention in previous literature, such as exceptions and interrupts, I/O, DMA, and self-modifying code. In this paper we discuss some of the challenges raised by these issues, and present the techniques developed in Crusoe and CMS to meet those challenges. The key to these solutions is the Crusoe paradigm of aggressive speculation, recovery to a consistent x86 state using unique hardware commit-and-rollback support, and adaptive retranslation when exceptions occur too often to be handled efficiently by interpretation.
James C. Dehnert, Brian Grant, John P. Banning, Thomas Kistler, Alexander Klaiber, Jim Mattson
CGO2
2000 DyC: an expressive annotation-directed dynamic compiler for C
Brian Grant, Markus Mock, Matthai Philipose, Craig Chambers, Susan J. Eggers
Theor. Comput. Sci.1
2000 The benefits and costs of DyC's run-time optimizations
abstract
DyC selectively dynamically compiles programs during their execution, utilizing the run-time-computed values of variables and data structures to apply optimizations that are based on partial evaluation. The dynamic optimizations are preplanned at static compile time in order to reduce their run-time cost; we call this staging . DyC's staged optimizations include (1) an advanced binding-time analysis that supports polyvariant specialization (enabling both single-way and multiway complete loop unrolling), polyvariant division, static loads, and static calls, (2) low-cost, dynamic versions of traditional global optimizations, such as zero and copy propagation and dead-assignment elimination, and (3) dynamic peephole optimizations, such as strength reduction. Because of this large suite of optimizations and its low dynamic compilation overhead, DyC achieves good performance improvements on programs that are larger and more complex than the kernels previously targeted by other dynamic compilation systems. This paper evaluates the benefits and costs of applying DyC's optimizations. We assess their impact on the performance of a variety of small to medium-sized programs, both for the regions of code that are actually transformed and for the entire application as a whole. Our study includes an analysis of the contribution to performance of individual optimizations, the performance effect of changing the applications' inputs, and a detailed accounting of dynamic compilation costs.
Brian Grant, Markus Mock, Matthai Philipose, Craig Chambers, Susan J. Eggers
ACM Trans. Program. Lang. Syst.1
1999 An Evaluation of Staged Run-Time Optimizations in DyC
abstract
Previous selective dynamic compilation systems have demonstrated that dynamic compilation can achieve performance improvements at low cost on small kernels, but they have had difficulty scaling to larger programs. To overcome this limitation, we developed DyC, a selective dynamic compilation system that includes more sophisticated and flexible analyses and transformations. DyC is able to achieve good performance improvements on programs that are much larger and more complex than the kernels. We analyze the individual optimizations of DyC and assess their impact on performance collectively and individually.
Brian Grant, Matthai Philipose, Markus Mock, Craig Chambers, Susan J. Eggers
PLDI1
1997 Annotation-Directed Run-Time Specialization in C
abstract
We present the design of a dynamic compilation system for C. Directed by a few declarative user annotations specifying where and on what dynamic compilation is to take place, a binding time analysis computes the set of run-time constants at each program point in each annotated procedure's control flow graph; the analysis supports program-point-specific polyvariant division and specialization. The analysis results guide the construction of a specialized run-time specializer for each dynamically compiled region; the specializer supports various caching strategies for managing dynamically generated code and supports mixes of speculative and demand-driven specialization of dynamic branch successors. Most of the key cost/benefit trade-offs in the binding time analysis and the run-time specialize are open to user control through declarative policy annotations. Our design is being implemented in the context of art existing optimizing compiler.
Brian Grant, Markus Mock, Matthai Philipose, Craig Chambers, Susan J. Eggers
PEPM1