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.

Anne Rogers

dblp:26/503 · DBLP profile ↗
← Back
22ranked-venue papers
4as first author
0since 2021 · last 2010
—ORCID · unresolved

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

Systems, architecture and hardware · 13 · 2 first-authorSoftware engineering, systems software and programming languages · 7 · 3 first-authorArtificial intelligence and machine learning · 2Theory of computation · 2Databases, data management, data science and information retrieval · 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.

Theoretical computer science
3 papers
Graph algorithms and graph theory · 74% Algorithms and data structures · 26%
Computer architecture, parallel and distributed computing, and storage systems
11 papers
Parallel and multicore computing · 47% Processor architecture and microarchitecture · 24% Memory systems · 17%
Software engineering, system software, and programming languages
11 papers
Programming languages and type systems · 60% Compilers and program optimization · 38% Runtime systems and virtual machines · 2%
Databases, data mining, and information retrieval
2 papers
Information retrieval · 64% Data mining · 36%

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

TopicWeightPapersLastEvidence papers
Graph algorithms and graph theory
graph algorithms
0.122008
Linear-Time Algorithms for Dominators and Other Path-Evaluation Problems · SIAM J. Comput. 2008
A New, Simpler Linear-Time Dominators Algorithm · ACM Trans. Program. Lang. Syst. 1998
Information retrieval › indexing
signature extraction
0.122004
Hancock: A language for analyzing transactional data streams · ACM Trans. Program. Lang. Syst. 2004
Hancock: a language for extracting signatures from data streams · KDD 2000
Programming languages and type systems
domain-specific languages
0.122004
Hancock: A language for analyzing transactional data streams · ACM Trans. Program. Lang. Syst. 2004
Hancock: a language for extracting signatures from data streams · KDD 2000
Parallel and multicore computing
parallel programming models
0.141999
Ace: a language for parallel programming with customizable protocols · ACM Trans. Comput. Syst. 1999
Supporting Dynamic Data Structures on Distributed-Memory Machines · ACM Trans. Program. Lang. Syst. 1995
Where is Time Spent in Message-Passing and Shared-Memory Programs? · ASPLOS 1994
Programming languages and type systems
language design
0.021999
Ace: a language for parallel programming with customizable protocols · ACM Trans. Comput. Syst. 1999
Ace: Linguistic Mechanisms for Customizable Protocols · PPoPP 1997
Data mining
data stream mining
0.012000
Hancock: a language for extracting signatures from data streams · KDD 2000
Programming languages and type systems › concurrent programming languages
parallel programming languages
0.011999
Ace: a language for parallel programming with customizable protocols · ACM Trans. Comput. Syst. 1999
Compilers and program optimization › compiler analysis
dominator trees
0.011998
A New, Simpler Linear-Time Dominators Algorithm · ACM Trans. Program. Lang. Syst. 1998
Algorithms and data structures › data structure design
disjoint set union
0.011998
Linear-Time Pointer-Machine Algorithms for Least Common Ancestors, MST Verification, and Dominators · STOC 1998
Graph algorithms and graph theory › directed graph › directed graph algorithms
dominator computation
0.011998
A New, Simpler Linear-Time Dominators Algorithm · ACM Trans. Program. Lang. Syst. 1998
Algorithms and data structures › tree data structures
lowest common ancestor
0.011998
Linear-Time Pointer-Machine Algorithms for Least Common Ancestors, MST Verification, and Dominators · STOC 1998
Graph algorithms and graph theory › spanning tree
minimum spanning tree
0.011998
Linear-Time Pointer-Machine Algorithms for Least Common Ancestors, MST Verification, and Dominators · STOC 1998
Graph algorithms and graph theory › spanning tree
minimum spanning tree verification
0.011998
Linear-Time Pointer-Machine Algorithms for Least Common Ancestors, MST Verification, and Dominators · STOC 1998
Parallel and multicore computing › parallel programming models
shared-memory parallelization
0.011997
Ace: Linguistic Mechanisms for Customizable Protocols · PPoPP 1997
High-performance computing
distributed memory systems
0.021995
Supporting Dynamic Data Structures on Distributed-Memory Machines · ACM Trans. Program. Lang. Syst. 1995
Compiling for Distributed Memory Architectures · IEEE Trans. Parallel Distributed Syst. 1994
Compilers and program optimization › parallelization
automatic parallelization
0.011995
Supporting Dynamic Data Structures on Distributed-Memory Machines · ACM Trans. Program. Lang. Syst. 1995
Processor architecture and microarchitecture › pipelining
bypass network
0.011995
The performance impact of incomplete bypassing in processor pipelines · MICRO 1995
Parallel and multicore computing › parallel algorithms
irregular algorithms
0.011995
Efficient Support for Irregular Applications on Distributed-Memory Machines · PPoPP 1995
Processor architecture and microarchitecture › pipelining
pipeline hazard
0.011995
The performance impact of incomplete bypassing in processor pipelines · MICRO 1995
Processor architecture and microarchitecture
pipelining
0.011995
The performance impact of incomplete bypassing in processor pipelines · MICRO 1995
Parallel and multicore computing › parallel programming models › SPMD
SPMD execution
0.011995
Supporting Dynamic Data Structures on Distributed-Memory Machines · ACM Trans. Program. Lang. Syst. 1995
Compilers and program optimization
parallelizing compiler
0.011994
Compiling for Distributed Memory Architectures · IEEE Trans. Parallel Distributed Syst. 1994
Memory systems
cache coherence
0.011994
Application-specific protocols for user-level shared memory · SC 1994
Memory systems › shared memory
distributed shared memory
0.011994
Application-specific protocols for user-level shared memory · SC 1994
Parallel and multicore computing › parallel programming models › hybrid programming models
shared memory and message passing
0.011994
Where is Time Spent in Message-Passing and Shared-Memory Programs? · ASPLOS 1994
Memory systems › cache coherence › software cache coherence
software coherence protocol
0.011994
Application-specific protocols for user-level shared memory · SC 1994
Processor architecture and microarchitecture
speculative execution
0.011992
Software Support for Speculative Loads · ASPLOS 1992
Processor architecture and microarchitecture › speculative execution
speculative load
0.011992
Software Support for Speculative Loads · ASPLOS 1992
Performance modeling and evaluation › workload characterization
locality analysis
0.011989
Process Decomposition Through Locality of Reference · PLDI 1989
Memory systems › data locality
spatial locality
0.011989
Process Decomposition Through Locality of Reference · PLDI 1989

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

path compression · 0.1radix sort · 0.1domain-specific language design · 0.1microtrees · 0.1language design · 0.1runtime system design · 0.0protocol libraries · 0.0memoization · 0.0runtime system · 0.0distributed shared memory · 0.0compiler · 0.0pointer machine · 0.0runtime scheduling · 0.0pointer analysis · 0.0distributed-memory parallelization · 0.0cycle-level simulation · 0.0compile-time heuristics · 0.0
YearPublicationVenuePosition
2010 In search of simplicity: a self-organizing group communication overlay
abstract
Abstract Group communication primitives have broad utility as building blocks for distributed applications. The challenge is to create and maintain the distributed structures that support these primitives while accounting for volatile end‐nodes and variable network characteristics. Most solutions proposed to date rely on complex algorithms or on global information, thus limiting the scale of deployments and acceptance outside the academic realm. This article introduces a low‐complexity, self‐organizing solution for building and maintaining data dissemination trees, which we refer to as Unstructured Multi‐source Overlay (UMO). UMO uses traditional distributed systems techniques: layering, soft‐state, and passive data collection to adapt to the dynamics of the physical network and maintain data dissemination trees. The result is a simple, adaptive system with lower overheads than more complex alternatives. We implemented UMO and evaluated it on a 100‐node PlanetLab testbed and on up to 1024‐node emulated ModelNet networks. Extensive experimental evaluations demonstrate UMOs low overhead, efficient network usage compared with alternative solutions, and the ability to quickly adapt to network changes and to recover from failures. Copyright © 2009 John Wiley & Sons, Ltd.
Matei Ripeanu, Adriana Iamnitchi, Ian T. Foster, Anne Rogers
Concurr. Comput. Pract. Exp.4
2008 Linear-Time Algorithms for Dominators and Other Path-Evaluation Problems
abstract
We present linear-time algorithms for the classic problem of finding dominators in a flowgraph, and for several other problems whose solutions require evaluating a function defined on paths in a tree. Although all these problems had linear-time solutions previously, our algorithms are simpler, in some cases substantially. Our improvements come from three new ideas: a refined analysis of path compression that gives a linear bound if the compressions favor certain nodes; replacement of random-access table look-up by a radix sort; and a more careful partitioning of a tree into easily managed parts. In addition to finding dominators, our algorithms find nearest common ancestors off-line, verify and construct minimum spanning trees, do interval analysis of a flowgraph, and build the component tree of a weighted tree. Our algorithms do not require the power of a random-access machine; they run in linear time on a pointer machine. The genesis of our work was the discovery of a subtle error in the analysis of a previous allegedly linear-time algorithm for finding dominators. That algorithm was an attempt to simplify a more complicated algorithm, which itself was intended to correct errors in a yet earlier algorithm. Our work provides a systematic study of the subtleties in the dominators problem, the techniques needed to solve it in linear time, and the range of application of the resulting methods. We have tried to make our techniques as simple and as general as possible and to understand exactly how earlier approaches to the dominators problem were either incorrect or overly complicated.
Adam L. Buchsbaum, Loukas Georgiadis, Haim Kaplan, Anne Rogers, Robert E. Tarjan, Jeffery R. Westbrook
SIAM J. Comput.4
2005 Corrigendum: a new, simpler linear-time dominators algorithm
abstract
Corrigendum to ACM Transactions on Programming Languages and Systems , 20(6):1265--1296, 1998.
Adam L. Buchsbaum, Haim Kaplan, Anne Rogers, Jeffery R. Westbrook
ACM Trans. Program. Lang. Syst.3
2004 Hancock: A language for analyzing transactional data streams
abstract
Massive transaction streams present a number of opportunities for data mining techniques. The transactions in such streams might represent calls on a telephone network, commercial credit card purchases, stock market trades, or HTTP requests to a web server. While historically such data have been collected for billing or security purposes, they are now being used to discover how the transactors, for example, credit-card numbers or IP addresses, use the associated services.Over the past 5 years, we have computed evolving profiles (called signatures ) of transactors in several very large data streams. The signature for each transactor captures the salient features of his or her behavior through time. Programs for processing signatures must be highly optimized because of the size of the data stream (several gigabytes per day) and the number of signatures to maintain (hundreds of millions). Originally, we wrote such programs directly in C, but because these programs often sacrificed readability for performance, they were difficult to verify and maintain.Hancock is a domain-specific language we created to express computationally efficient signature programs cleanly. In this paper, we describe the obstacles to computing signatures from massive streams and explain how Hancock addresses these problems. For expository purposes, we present Hancock using a running example from the telecommunications industry; however, the language itself is general and applies equally well to other data sources.
Corinna Cortes, Kathleen Fisher, Daryl Pregibon, Anne Rogers, Frederick Smith
ACM Trans. Program. Lang. Syst.4
2000 Hancock: a language for extracting signatures from data streams
abstract
Article Hancock: a language for extracting signatures from data streams Share on Authors: Corinna Cortes AT&T Labs-Research, Shannon Laboratory, 180 Park Avenue, Florham Park, NJ AT&T Labs-Research, Shannon Laboratory, 180 Park Avenue, Florham Park, NJView Profile , Kathleen Fisher AT&T Labs-Research, Shannon Laboratory, 180 Park Avenue, Florham Park, NJ AT&T Labs-Research, Shannon Laboratory, 180 Park Avenue, Florham Park, NJView Profile , Daryl Pregibon AT&T Labs-Research, Shannon Laboratory, 180 Park Avenue, Florham Park, NJ AT&T Labs-Research, Shannon Laboratory, 180 Park Avenue, Florham Park, NJView Profile , Anne Rogers AT&T Labs-Research, Shannon Laboratory, 180 Park Avenue, Florham Park, NJ AT&T Labs-Research, Shannon Laboratory, 180 Park Avenue, Florham Park, NJView Profile Authors Info & Claims KDD '00: Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data miningAugust 2000 Pages 9–17https://doi.org/10.1145/347090.347094Online:01 August 2000Publication History 102citation888DownloadsMetricsTotal Citations102Total Downloads888Last 12 Months4Last 6 weeks0 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 SiteGet Access
Corinna Cortes, Kathleen Fisher, Daryl Pregibon, Anne Rogers
KDD4
1999 Ace: a language for parallel programming with customizable protocols
abstract
Customizing the protocols that manage accesses to different data structures within an application can improve the performance of software shared-memory programs substantially. Existing systems for using customizable protocols are hard to use directly because the mechanisms they provide for manipulating protocols are low-level ones. This article is an in-depth study of the issues involved in providing language support for application-specific protocols. We describe the design and implementation of a new language for parallel programming, Ace, that integrates support for customizable protocols with minimal extensions to C. Ace applications are developed using a shared-memory model with a default sequentially consistent protocol. Performance can then be optimized, with minor modifications to the application, by experimenting with different protocol libraries. The design of Ace was driven by a detailed study of the use of customizable protocols. We delineate the issues that arise when programming with customizable protocols and present novel abstractions that allow for their easy use. We describe the design and implementation of a runtime system and compiler for Ace nd discuss compiler optimizations that improve the performance of such software shared-memory systems. We study the communication patterns of a set of benchmark applications and consider the use of customizable protocols to optimize their performance. We evaluate the performance of our system through experiments on a Thinking Machine CM-5 and a Cray T3E. We also present measurements that demonstrate that Ace has good performance compared to that of a modern distributed shared-memory system.
Mukund Raghavachari, Anne Rogers
ACM Trans. Comput. Syst.2
1998 Linear-Time Pointer-Machine Algorithms for Least Common Ancestors, MST Verification, and Dominators
abstract
We present two new data structure tools—disjoint set union with bottom-up linking, and pointer-based radix sort—and combine them with bottom-level microtrees to devise the first linear-time pointer-machine algorithms for off-line least common ancestors, minimum spanning tree (MST) verification, randomized MST construction, and computing dominators in a flowgraph.
Adam L. Buchsbaum, Haim Kaplan, Anne Rogers, Jeffery R. Westbrook
STOC3
1998 A New, Simpler Linear-Time Dominators Algorithm
abstract
We present a new linear-time algorithm to find the immediate dominators of all vertices in a flowgraph. Our algorithm is simpler than previous linear-time algorithms: rather than employ complicated data structures, we combine the use of microtrees and memoization with new observations on a restricted class of path compressions. We have implemented our algorithm, and we report experimental results that show that the constant factors are low. Compared to the standard, slightly superlinear algorithm of Lengauer and Tarjan, which has much less overhead, our algorithm runs 10-20% slower on real flowgraphs of reasonable size and only a few percent slower on very large flowgraphs.
Adam L. Buchsbaum, Haim Kaplan, Anne Rogers, Jeffery R. Westbrook
ACM Trans. Program. Lang. Syst.3
1997 Parallel speech recognition
abstract
Computer speech recognition has been very successful in limited domains and for isolated word recognition. However, widespread use of large-vocabulary continuous-speech recognizers is limited by the speed of current recognizers, which cannot reach acceptable error rates while running in real time. This paper shows how to harness shared memory multiprocessors, which are becoming increasingly common, to increase the speed significantly, and therefore the accuracy or vocabulary size, of a speech recognizer. To cover the necessary background, we begin with a tutorial on speech recognition. We then describe the parallelization of an existing high-quality speech recognizer, achieving a speedup of a factor of 3, 5, and 6 on 4-, 8-, and 12-processors respectively for the benchmark North American business news (NAB) recognition task.
Steven J. Phillips, Anne Rogers
EUROSPEECH2
1997 Ace: Linguistic Mechanisms for Customizable Protocols
abstract
Customizing the protocols used to manage accesses to different data structures within an application can improve the performance of shared-memory programs substantially [10, 21]. Existing systems for using customizable protocols are, however, hard to use because they force programmers to rely on low-level mechanisms for manipulating these protocols. Since several shared-memory systems implement protocols in software and can support customizable protocols, the development of intuitive abstractions for the use of application-specific protocols ia important.We have designed a language, Ace, that integrates support for customizable protocols with minimal extensions to C. Ace applications are developed using the standard shared-memory model with a default sequentially consistent protocol. Performance can then be optimized, with minor modifications to the application, by experimenting with different protocol libraries. In this paper, we isolate the issues involved in providing language support for using customizable protocols and present novel language abstractions for their easy use. We describe the implementation of a compiler and runtime system for Ace, and discuss the issues involved in their design. We also present measurements that demonstrate that Ace has good performance compared to an efficient software distributed shared-memory system.
Mukund Raghavachari, Anne Rogers
PPoPP2
1996 Software Caching and Computation Migration in Olden
Martin C. Carlisle, Anne Rogers
J. Parallel Distributed Comput.2
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
MICRO3
1995 Software Caching and Computation Migration in Olden
abstract
The goal of the Olden project is to build a system that provides parallelism for general purpose C programs with minimal programmer annotations. We focus on programs using dynamic structures such as trees, lists, and DAGs. We demonstrate that providing both software caching and computation migration can improve the performance of these programs, and provide a compile-time heuristic that selects between them for each pointer dereference. We have implemented a prototype system on the Thinking Machines CM-5. We describe our implementation and report on experiments with ten benchmarks.
Martin C. Carlisle, Anne Rogers
PPoPP2
1995 Efficient Support for Irregular Applications on Distributed-Memory Machines
abstract
Irregular computation problems underlie many important scientific applications. Although these problems are computationally expensive, and so would seem appropriate for parallel machines, their irregular and unpredictable run-time behavior makes this type of parallel program difficult to write and adversely affects run-time performance.
Shubhendu S. Mukherjee, Shamik D. Sharma, Mark D. Hill, James R. Larus, Anne Rogers, Joel H. Saltz
PPoPP5
1995 Supporting Dynamic Data Structures on Distributed-Memory Machines
abstract
Compiling for distributed-memory machines has been a very active research area in recent years. Much of this work has concentrated on programs that use arrays as their primary data structures. To date, little work has been done to address the problem of supporting programs that use pointer-based dynamic data structures. The techniques developed for supporting SPMD execution of array-based programs rely on the fact that arrays are statically defined and directly addressable. Recursive data structures do not have these properties, so new techniques must be developed. In this article, we describe an execution model for supporting programs that use pointer-based dynamic data structures. This model uses a simple mechanism for migrating a thread of control based on the layout of heap-allocated data and introduces parallelism using a technique based on futures and lazy task creation. We intend to exploit this execution model using compiler analyses and automatic parallelization techniques. We have implemented a prototype system, which we callOlden, that runs on the Intel iPSC/860 and the Thinking Machines CM-5. We discuss our implementation and report on experiments with five benchmarks.
Anne Rogers, Martin C. Carlisle, John H. Reppy, Laurie J. Hendren
ACM Trans. Program. Lang. Syst.1
1994 Where is Time Spent in Message-Passing and Shared-Memory Programs?
abstract
Message passing and shared memory are two techniques parallel programs use for coordination and communication. This paper studies the strengths and weaknesses of these two mechanisms by comparing equivalent, well-written message-passing and shared-memory programs running on similar hardware. To ensure that our measurements are comparable, we produced two carefully tuned versions of each program and measured them on closely-related simulators of a message-passing and a shared-memory machine, both of which are based on same underlying hardware assumptions.
Satish Chandra 0001, James R. Larus, Anne Rogers
ASPLOS3
1994 Application-specific protocols for user-level shared memory
abstract
Recent distributed shared memory (DSM) systems and proposed shared-memory machines have implemented some or all of their cache coherence protocols in software. One way to exploit the flexibility of this software is to tailor a coherence protocol to match an application's communication patterns and memory semantics. This paper presents evidence that this approach can lead to large performance improvements. It shows that application-specific protocols substantially improved the performance of three application programs-appbt, em3d, and barnes-over carefully tuned transparent shared memory implementations. The speed-ups were obtained on Blizzard, a fine-grained DSM system running on a 32-node Thinking Machines CM-5.>
Babak Falsafi, Alvin R. Lebeck, Steven K. Reinhardt, Ioannis Schoinas, Mark D. Hill, James R. Larus, Anne Rogers, David A. Wood 0001
SC7
1994 Compiling for Distributed Memory Architectures
abstract
The lack of high-level languages and good compilers for parallel machines hinders their widespread acceptance and use. Programmers must address issues such as process decomposition, synchronization, and load balancing. We have developed a parallelizing compiler that, given a sequential program and a memory layout of its data, performs process decomposition while balancing parallelism against locality of reference. A process decomposition is obtained by specializing the program for each processor to the data that resides on that processor. If this analysis fails, the compiler falls back to a simple but inefficient scheme called run-time resolution. Each process's role in the computation is determined by examining the data required for execution at run-time. Thus, our approach to process decomposition is data-driven rather than program-driven. We discuss several message optimizations that address the issues of overhead and synchronization in message transmission. Accumulation reorganizes the computation of a commutative and associative operator to reduce message traffic. Pipelining sends a value as close to its computation as possible to increase parallelism. Vectorization of messages combines messages with the same source and the same destination to reduce overhead. Our results from experiments in parallelizing SIMPLE, a large hydrodynamics benchmark, for the Intel iPSC/2, show a speedup within 60% to 70% of handwritten code.>
Anne Rogers, Keshav Pingali
IEEE Trans. Parallel Distributed Syst.1
1992 Software Support for Speculative Loads
abstract
This paper describes a simple hardware mechanism and related compiler support for soft ware-controlled specu-
Anne Rogers, Kai Li 0001
ASPLOS1
1992 Message Ordering in Multiprocessors with Synchronous Communication
Marios D. Dikaiakos, Anne Rogers, Kenneth Steiglitz
ICPP (3)2
1990 Compiling for Locality
Keshav Pingali, Anne Rogers
ICPP (2)2
1989 Process Decomposition Through Locality of Reference
abstract
In the context of sequential computers, it is common practice to exploit temporal locality of reference through devices such as caches and virtual memory. In the context of multiprocessors, we believe that it is equally important to exploit spatial locality of reference. We are developing a system which, given a sequential program and its domain decomposition, performs process decomposition so as to enhance spatial locality of reference. We describe an application of this method - generating code from shared-memory programs for the (distributed memory) Intel iPSC/2.
Anne Rogers, Keshav Pingali
PLDI1