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

Anne Bracy

dblp:24/363 · DBLP profile ↗
← Back
8ranked-venue papers
2as first author
0since 2021 · last 2010
—ORCID · none

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

Systems, architecture and hardware · 7 · 2 first-authorArtificial intelligence and machine learning · 1Graphics, computer vision, multimedia, augmented reality and games · 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
6 papers
Processor architecture and microarchitecture · 36% Electronic design automation · 32% Memory systems · 31%

Topics — the 15 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
instruction-level parallelism
0.122006
Serialization-Aware Mini-Graphs: Performance with Fewer Resources · MICRO 2006
Dataflow Mini-Graphs: Amplifying Superscalar Capacity and Bandwidth · MICRO 2004
Processor architecture and microarchitecture
superscalar processor
0.122006
Serialization-Aware Mini-Graphs: Performance with Fewer Resources · MICRO 2006
Dataflow Mini-Graphs: Amplifying Superscalar Capacity and Bandwidth · MICRO 2004
Electronic design automation › hardware verification and test › debugging
bug localization
0.112010
BLoG: post-silicon bug localization in processors using bug localization graphs · DAC 2010
Memory systems
cache coherence
0.112010
UNified Instruction/Translation/Data (UNITD) coherence: One protocol to rule them all · HPCA 2010
Electronic design automation
hardware verification and test
0.112010
BLoG: post-silicon bug localization in processors using bug localization graphs · DAC 2010
Electronic design automation › hardware verification and test
post-silicon debug
0.112010
BLoG: post-silicon bug localization in processors using bug localization graphs · DAC 2010
Electronic design automation › hardware verification and test › design validation
post-silicon validation
0.112010
BLoG: post-silicon bug localization in processors using bug localization graphs · DAC 2010
Memory systems › virtual memory management
TLB management
0.112010
UNified Instruction/Translation/Data (UNITD) coherence: One protocol to rule them all · HPCA 2010
Memory systems › virtual memory management
translation coherence
0.112010
UNified Instruction/Translation/Data (UNITD) coherence: One protocol to rule them all · HPCA 2010
Memory systems
cache management
0.112009
Criticality-based optimizations for efficient load processing · HPCA 2009
Processor architecture and microarchitecture › dynamic optimization
instruction reuse
0.012002
Three extensions to register integration · MICRO 2002
Processor architecture and microarchitecture › out-of-order execution
register renaming
0.012002
Three extensions to register integration · MICRO 2002
Processor architecture and microarchitecture
speculative execution
0.012002
Three extensions to register integration · MICRO 2002
Processor architecture and microarchitecture › speculative execution
speculative memory bypassing
0.012002
Three extensions to register integration · MICRO 2002
Processor architecture and microarchitecture › value prediction
load value prediction
0.012009
Criticality-based optimizations for efficient load processing · HPCA 2009

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

cycle-level simulation · 0.1performance simulation · 0.1instruction footprint recording and analysis · 0.1coherence protocol design · 0.1store-to-load forwarding optimization · 0.1criticality predictor · 0.1slack profiling · 0.1basic block frequency profiling · 0.0simulation · 0.0
YearPublicationVenuePosition
2010 BLoG: post-silicon bug localization in processors using bug localization graphs
abstract
Post-silicon bug localization -- the process of identifying the location of a detected hardware bug and the cycle(s) during which the bug produces error(s) -- is a major bottleneck for complex integrated circuits. Instruction Footprint Recording and Analysis (IFRA) is a promising post-silicon bug localization technique for complex processor cores. However, applying IFRA to new processor microarchitectures can be challenging due to the manual effort required to implement special microarchitecture-dependent analysis techniques for bug localization. This paper presents the Bug Localization Graph (BLoG) framework that enables application of IFRA to new processor microarchitectures with reduced manual effort. Results obtained from an industrial microarchitectural simulator modeling a state-of-the-art complex commercial microarchitecture (Intel Nehalem, the foundation for the Intel Core™ i7 and Core™ i5 processor families) demonstrate that BLoG-assisted IFRA enables effective and efficient post-silicon bug localization for complex processors with high bug localization accuracy at low cost.
Sung-Boem Park, Anne Bracy, Hong Wang 0003, Subhasish Mitra
DAC2
2010 UNified Instruction/Translation/Data (UNITD) coherence: One protocol to rule them all
abstract
We propose UNITD, a unified hardware coherence framework that integrates translation coherence into the existing cache coherence protocol. In UNITD coherence protocols, the TLBs participate in the cache coherence protocol just like the instruction and data caches, without requiring any changes to the existing coherence protocol. UNITD eliminates the need for the software TLB shootdown routine, a procedure known to be performance costly and non-scalable. We evaluate snooping and directory UNITD coherence protocols on multicore processors with 2-16 cores, and we demonstrate that UNITD reduces the performance penalty associated with TLB coherence to almost zero.
Bogdan F. Romanescu, Alvin R. Lebeck, Daniel J. Sorin, Anne Bracy
HPCA4
2009 Criticality-based optimizations for efficient load processing
abstract
Some instructions have more impact on processor performance than others. Identification of these critical instructions can be used to modify and improve instruction processing. Previous work has shown that the criticality of instructions can be dynamically predicted with high accuracy, and that this information can be leveraged to optimize the performance of load value prediction and instruction steering for clustered architectures. In this work, we revisit the idea of criticality, but we propose several processor enhancements that can exploit criticality information and can be directly applied to modern times86 microarchitectures. For the investment of a small (less than 1 KB) criticality predictor, we can make a conventional single-read-port data cache achieve the performance of an ideal dual-read-port cache, yielding an average 10% performance improvement. Our remaining techniques can reuse the predictor (i.e., no additional overhead) to further optimize other aspects of load processing (e.g., caching decisions, store-to-load forwarding, etc.), yielding an overall performance improvement of 16% over a conventional processor. Some of these techniques also allow us to decrease power and area costs for several related hardware structures.
Samantika Sury, Anne Bracy, Hong Wang 0003, Gabriel H. Loh
HPCA2
2008 Pangaea: a tightly-coupled IA32 heterogeneous chip multiprocessor
abstract
Moore's Law and the drive towards performance efficiency have led to the on-chip integration of general-purpose cores with special-purpose accelerators. Pangaea is a heterogeneous CMP design for non-rendering workloads that integrates IA32 CPU cores with non-IA32 GPU-class multi-cores, extending the current state-of-the-art CPU-GPU integration that physically "fuses" existing CPU and GPU designs. Pangaea introduces (1) a resource repartitioning of the GPU, where the hardware budget dedicated for 3D-specific graphics processing is used to build more general-purpose GPU cores, and (2) a 3-instruction extension to the IA32 ISA that supports tighter architectural integration and fine-grain shared memory collaborative multithreading between the IA32 CPU cores and the non-IA32 GPU cores. We implement Pangaea and the current CPU-GPU designs in fully-functional synthesizable RTL based on the production quality RTL of an IA32 CPU and an Intel GMA X4500 GPU. On a 65 nm ASIC process technology, the legacy graphics-specific fixed-function hardware has the area of 9 GPU cores and total power consumption of 5 GPU cores. With the ISA extensions, the latency from the time an IA32 core spawns a GPU thread to the time the thread begins execution is reduced from thousands of cycles to fewer than 30 cycles. Pangaea is synthesized on a FPGA-based prototype and runs off-the-shelf IA32 OSes. A set of general-purpose non-graphics workloads demonstrate speedups of up to 8.8x.
Henry Wong, Anne Bracy, Ethan Schuchman, Tor M. Aamodt, Jamison D. Collins, Perry H. Wang, Gautham N. Chinya, Ankur Khandelwal Groen, Hong Wang 0003
PACT2
2006 Serialization-Aware Mini-Graphs: Performance with Fewer Resources
abstract
Instruction aggregation - the grouping of multiple operations into a single processing unit - is a technique that has recently been used to amplify the bandwidth and capacity of critical processor structures. This amplification can be used to improve IPC or to maintain IPC while reducing physical resources. Mini-graph processing is a particular instruction aggregation technique that targets dynamically-scheduled superscalar processors and achieves bandwidth and capacity amplification throughout the pipeline. The dark side of aggregation is serialization. External serialization is an effect common to many aggregation schemes. An aggregate cannot issue until all of its external inputs are ready. If the last-arriving input to an aggregate feeds what is not the first instruction, the entire aggregate can be delayed. Mini-graphs additionally suffer from internal serialization. Serialization can degrade performance, sometimes to the point of overwhelming the benefits of aggregation. This paper examines the problem of serialization and serialization-aware aggregation in the context of mini-graphs. An aggressive mini-graph selection scheme that seeks to maximize amplification, produces amplification rates of 38% but, due to serialization, cannot use them to compensate for a 33% reduction in physical resources (i.e., a reduction from 4-way issue to 3-way issue). A conservative selection scheme that avoids serialization by static inspection produces amplification rates of only 20%, making a performance neutral reduction in resources virtually impossible. To reconcile the seemingly conflicting goals of resource amplification and serialization avoidance, this paper develops three schemes that identify and reject mini-graphs with harmful serialization. The most effective of these, slack-profile, uses local slack profiles to reject mini-graphs whose estimated delay cannot be absorbed by the rest of the program. Slack-profile virtually eliminates serialization-induced slowdowns while providing 34% amplification rates. A 3-way issue processor augmented with slack-profile mini-graphs outperforms a 4-way issue processor by an average of 2%
Anne Bracy, Amir Roth
MICRO1
2004 Dataflow Mini-Graphs: Amplifying Superscalar Capacity and Bandwidth
abstract
A mini-graph is a dataflow graph that has an arbitrary internal size and shape but the interface of a singleton instruction: two register inputs, one register output, a maximum of one memory operation, and a maximum of one (terminal) control transfer. Previous work has exploited dataflow sub-graphs whose execution latency can be reduced via programmable FPGA-style hardware. In this paper we show that mini-graphs can improve performance by amplifying the bandwidths of a superscalar processor's stages and the capacities of many of its structures without custom latency-reduction hardware. Amplification is achieved because the processor deals with a complete mini-graph via a single quasi-instruction, the handle. By constraining mini-graph structure and forcing handles to behave as much like singleton instructions as possible, the number and scope of the modifications over a conventional superscalar microarchitecture is kept to a minimum. This paper describes mini-graphs, a simple algorithm for extracting them from basic block frequency profiles, and a microarchitecture for exploiting them. Cycle-level simulation of several benchmark suites shows that mini-graphs can provide average performance gains of 2-12% over an aggressive baseline, with peak gains exceeding 40%. Alternatively, they can compensate for substantial reductions in register file and scheduler size, and in pipeline bandwidth.
Anne Bracy, Prashant Prahlad, Amir Roth
MICRO1
2002 Three extensions to register integration
abstract
Register integration (or just integration) is a register renaming discipline that implements instruction reuse via physical register sharing. Initially developed to perform squash reuse, the integration mechanism can exploit more reuse scenarios. Here, we describe three extensions to the original design that expand its applicability and boost its performance impact. First, we extend squash reuse to general reuse. Whereas squash reuse maintains the concept of an instruction instance "owning" its output register, we allow multiple instructions to simultaneously share a single register. Next, we replace the PC-indexing scheme with an opcode-based indexing scheme that exposes more integration opportunities. Finally, we introduce an extension called reverse integration in which we speculatively create integration entries for the inverses of operations for instance, when renaming an add, we create an entry for the inverse subtract. Reverse integration allows us to reuse operations that the program itself has not executed yet. We use reverse integration to implement speculative memory bypassing for stack-pointer based loads (register fills and restores). Our evaluation shows that these extensions increase the integration rate - the number of retired instructions that integrate older results and bypass the execution engine -to an average of 15% on the SPEC2000 integer benchmarks. On a 4-way superscalar processor with an aggressive memory system, this translates into an average IPC improvement of 7%. The fact that integrating instructions completely bypass the execution engine raises the possibility of using integration as a low-complexity substitute for execution bandwidth and issue buffering. Our experiments show that such a trade-off is possible, enabling a range of IPC/complexity designs.
Vlad Petric, Anne Bracy, Amir Roth
MICRO2
2001 The WITAS multi-modal dialogue system I
Oliver Lemon, Anne Bracy, Alexander Gruenstein, Stanley Peters
INTERSPEECH2