EDBT 2026 Demo / reviewers in the wild / expert
Allan L. Fisher
dblp:58/4685
· DBLP profile ↗
20ranked-venue papers
11as first author
0since 2021 · last 2003
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 12 · 7 first-authorSoftware engineering, systems software and programming languages · 7 · 5 first-authorHuman-computer interaction and ubiquitous computing · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2Artificial intelligence and machine learning · 1 · 1 first-authorTheory of computation · 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
10 papers |
Parallel and multicore computing · 48% High-performance computing · 20% Integrated circuit design · 12% | |
| Software engineering, system software, and programming languages
3 papers |
Compilers and program optimization · 100% | |
| Theoretical computer science
1 paper |
Coding theory · 100% |
Topics — the 27 heaviest of 30, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
loop transformation |
0.0 | 1 | 1995 | Flattening and Parallelizing Irregular, Recurrent Loop Nests · PPoPP 1995 |
Parallel and multicore computing
parallelizing compiler |
0.0 | 1 | 1995 | Flattening and Parallelizing Irregular, Recurrent Loop Nests · PPoPP 1995 |
High-performance computing › sparse linear algebra
sparse matrix computation |
0.0 | 1 | 1995 | Flattening and Parallelizing Irregular, Recurrent Loop Nests · PPoPP 1995 |
High-performance computing › sparse linear algebra › sparse matrix computation
sparse matrix-vector multiplication |
0.0 | 1 | 1995 | Flattening and Parallelizing Irregular, Recurrent Loop Nests · PPoPP 1995 |
Compilers and program optimization
parallelization |
0.0 | 1 | 1994 | Parallelizing Complex Scans and Reductions · PLDI 1994 |
Parallel and multicore computing › parallel programming models
automatic parallelization |
0.0 | 1 | 1994 | Parallelizing Complex Scans and Reductions · PLDI 1994 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 1994 | Parallelizing Complex Scans and Reductions · PLDI 1994 |
Electronic design automation › hardware verification and test
hardware verification |
0.0 | 1 | 1993 | Parametric Circuit Representation Using Inductive Boolean Functions · CAV 1993 |
Coding theory
boolean functions |
0.0 | 1 | 1993 | Parametric Circuit Representation Using Inductive Boolean Functions · CAV 1993 |
Compilers and program optimization › parallel language compilation
data-parallel compilation |
0.0 | 1 | 1991 | Size and Access Inference for Data-Parallel Programs · PLDI 1991 |
Parallel and multicore computing
data-parallel programming |
0.0 | 1 | 1991 | Size and Access Inference for Data-Parallel Programs · PLDI 1991 |
Integrated circuit design
digital circuit design |
0.0 | 2 | 1993 | Synchronizing Large VLSI Processor Arrays · IEEE Trans. Computers 1985 Parametric Circuit Representation Using Inductive Boolean Functions · CAV 1993 |
Parallel and multicore computing
parallel algorithms |
0.0 | 1 | 1989 | Computing the Hough Transform on a Scan Line Array Processor (Image Processing) · IEEE Trans. Pattern Anal. Mach. Intell. 1989 |
Hardware accelerators and domain-specific architectures
image processing accelerator |
0.0 | 1 | 1986 | Scan Line Array Processors for Image Computation · ISCA 1986 |
Parallel and multicore computing › array processor
scan line array processor |
0.0 | 1 | 1986 | Scan Line Array Processors for Image Computation · ISCA 1986 |
Integrated circuit design › clocking
clock distribution |
0.0 | 1 | 1985 | Synchronizing Large VLSI Processor Arrays · IEEE Trans. Computers 1985 |
Integrated circuit design › clocking
clock skew |
0.0 | 1 | 1985 | Synchronizing Large VLSI Processor Arrays · IEEE Trans. Computers 1985 |
Parallel and multicore computing
synchronization |
0.0 | 1 | 1985 | Synchronizing Large VLSI Processor Arrays · IEEE Trans. Computers 1985 |
Integrated circuit design › VLSI design
VLSI array |
0.0 | 1 | 1985 | Synchronizing Large VLSI Processor Arrays · IEEE Trans. Computers 1985 |
Processor architecture and microarchitecture › parallel computer organization
dictionary machine |
0.0 | 1 | 1984 | Dictionary Machines With a Small Number of Processors · ISCA 1984 |
Processor architecture and microarchitecture
multiprocessor architecture |
0.0 | 1 | 1984 | Dictionary Machines With a Small Number of Processors · ISCA 1984 |
Processor architecture and microarchitecture › special-purpose processor
systolic array processor |
0.0 | 1 | 1983 | Architecture of the PSC: A Programmable Systolic Chip · ISCA 1983 |
Parallel and multicore computing › multiprocessor system
MIMD multiprocessor |
0.0 | 1 | 1991 | Size and Access Inference for Data-Parallel Programs · PLDI 1991 |
Image and video processing › edge detection
line detection |
0.0 | 1 | 1989 | Computing the Hough Transform on a Scan Line Array Processor (Image Processing) · IEEE Trans. Pattern Anal. Mach. Intell. 1989 |
Parallel and multicore computing › array processor
SIMD processor array |
0.0 | 1 | 1986 | Scan Line Array Processors for Image Computation · ISCA 1986 |
Parallel and multicore computing › multiprocessor system
tree-structured multiprocessor |
0.0 | 1 | 1984 | Dictionary Machines With a Small Number of Processors · ISCA 1984 |
Parallel and multicore computing › parallel algorithms › parallel algorithm design
systolic algorithms |
0.0 | 1 | 1983 | Architecture of the PSC: A Programmable Systolic Chip · ISCA 1983 |
Methods — techniques the papers use, named apart from their topics
segmented scan · 0.0segmented reduction · 0.0loop flattening · 0.0functional composition · 0.0closed-form representation · 0.0loop clustering · 0.0epoch partitioning · 0.0compile-time analysis · 0.0parallel algorithm · 0.0inductive boolean functions · 0.0inductive boolean function · 0.0scan line array processor · 0.0SIMD · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2003 | Developing a Metadata Data Model for the National Health and Nutrition Examination Survey (NHANES)
Lewis E. Berman, Allan L. Fisher, Leighton Evans, Timothy Tilert |
AMIA | 2 |
| 2001 | Quality Assurance (QC)/Quality Control (QC) Processes for the National Health and Nutrition Examination Survey (NHANES)
Lewis E. Berman, Allan L. Fisher, Yechiam Ostchega, Debra S. Reed-Gillette, Edward L. Stammerjohn |
AMIA | 2 |
| 1995 | Flattening and Parallelizing Irregular, Recurrent Loop NestsabstractIrregular loop nests in which the loop bounds are determined dynamically by indexed arrays are difficult to compile into expressive parallel constructs, such as segmented scans and reductions. In this paper, we describe a suite of transformations to automatically parallelize such irregular loop nests, even in the presence of recurrences. We describe a simple, general loop flattening transformation, along with new optimizations which make it a viable compiler transformation. A robust recurrence parallelization technique is coupled to the loop flattening transformation, allowing parallelization of segmented reductions, scans, and combining-sends over arbitrary associative operators. We discuss the implementation and performance results of the transformations in a parallelizing Fortran 77 compiler for the Cray C90 supercomputer. In particular, we focus on important sparse matrix-vector multiplication kernels, for one of which we are able to automatically derive an algorithm used by one of the fastest library routines available. Anwar M. Ghuloum, Allan L. Fisher |
PPoPP | 2 |
| 1994 | Tradeoffs in Canonical Sequential Function RepresentationsabstractState space exploration is of prime importance in the study of finite state sequential systems, with several efforts aimed at compact representation of the state space in order to tackle the state explosion problem. In the work presented on formal verification of inductively-defined hardware, we have identified a useful class of Boolean functions called linearly inductive functions (LIFs). We explore the relationship between our LIF representation and the classic DFA (deterministic finite state automaton) representation of a sequential function, and examine the associated tradeoffs. We show that our LIF representation corresponds to a minimal reverse DFA, i.e. a minimal DFA which accepts the language consisting of the reverse input strings, where our implicit method for obtaining an LIF representation does not require explicit construction of a forward DFA. Its practical usefulness arises from our demonstration that reverse DFAs for several datapath circuits are exponentially more compact than the classic forward DFAs. Furthermore, in comparison to the traditional representation of DFAs as state transition diagrams, our LIF representations allow for state-sharing while maintaining decomposition, resulting in memory savings in practice.> Aarti Gupta, Allan L. Fisher |
ICCD | 2 |
| 1994 | Parallelizing Complex Scans and ReductionsabstractWe present a method for automatically extracting parallel prefix programs from sequential loops, even in the presence of complicated conditional statements. Rather than searching for associative operators in the loop body directly, the method rests on the observation that functional composition itself is associative. Accordingly, we model the loop body as a multivalued function of multiple parameters, and look for a closed-form representation of arbitrary compositions of loop body instances. Careful analysis of conditionals allows this search to succeed in cases where existing automatic methods fail. The method has been implemented and used to generate code for the iWarp parallel computer. Allan L. Fisher, Anwar M. Ghuloum |
PLDI | 1 |
| 1993 | Parametric Circuit Representation Using Inductive Boolean Functions
Aarti Gupta, Allan L. Fisher |
CAV | 2 |
| 1993 | Representation and symbolic manipulation of linearly inductive Boolean functionsabstractWe consider a class of practically useful Boolean functions, called linearly inductive functions (LIFs), and present a canonical representation as well as algorithms for their automatic symbolic manipulation. LIFs can be used to capture structural induction in parameterized circuit descriptions, whereby our LIF representation provides a fixed-sized representation for all size instances of a circuit. Furthermore, since LIFs can naturally capture the temporal induction inherent in sequential system descriptions, our representation also provides a canonical form for sequential functions. This allows for a wide range of applications of symbolic LIF manipulation in the verification and synthesis of digital systems. We also present practical results from a preliminary implementation of a general purpose LIF package. Aarti Gupta, Allan L. Fisher |
ICCAD | 2 |
| 1992 | Teaching empirical performance analysis of parallel programsabstractPerformance is a central issue in parallel computing. In this paper, we describe our approach to teaching advanced undergraduates and graduate students about the fundamentals of measuring and analyzing the performance of programs running on a variety of parallel machines. This approach can be applied to virtually any type of parallel machine, as well as to parallel program simulators. Although performance analysis can serve many purposes, we focus on the needs of the parallel programmer: understanding the behavior of algorithms and programs, and making informed choices among them. Allan L. Fisher, Thomas R. Gross |
SIGCSE | 1 |
| 1991 | Size and Access Inference for Data-Parallel ProgramsabstractAbstract: "Data-parallel programming languages have many desirable features, such as single-thread semantics and the ability to express fine-grained parallelism. However, it is challenging to implement such languages efficiently on conventional MIMD multiprocessors, because these machines incur a high overhead for small grain sizes. This paper presents compile-time analysis techniques for data-parallel program graphs that reduce these overheads in two ways: by stepping up the grain size, and by relaxing the synchronous nature of the computation without altering the program semantics.The algorithms partition the program graph into clusters of nodes such that all nodes in a cluster have the same loop structure, and futher refine these clusters into epochs based on generation and consumption patterns of data vectors. This converts the fine-grain parallelism in the original program to medium-grain loop parallelism, which is better suited to MIMD machines. A compiler has been implemented based on these ideas. We present performance results for data-parallel kernels analyzed by the compiler and converted to single-program multiple-data (SPMD) code running on an Encore Multimax." Siddhartha Chatterjee, Guy E. Blelloch, Allan L. Fisher |
PLDI | 3 |
| 1991 | Teaching the programming of parallel computersabstractParallel computers are becoming increasingly important for scientists and engineers in a wide range of disciplines.However, most undergraduate students rarely have the opportunity to program a parallel computer.Furthermore, the field of parallel computers is rapidly Allan L. Fisher, Thomas R. Gross |
SIGCSE | 1 |
| 1990 | Flexible Parallel Polygon Rendering
Aarti Gupta, Allan L. Fisher |
ICPP (3) | 2 |
| 1989 | Verifying pipelined hardware using symbolic logic simulationabstractA method is presented for automated verification of synchronous pipelined circuits, based on symbolic simulation and the well-known program verification concept of representation functions. The use of representation functions to allow straightforward formulation of readable and intuitive specifications is demonstrated, along with the use of a symbolic switch-level simulator to automatically prove that a circuit meets its specification. As an example, a systolic stack with more than 5000 transistors can be formally verified in a few minutes on a VAX 8800.> Soumitra Bose, Allan L. Fisher |
ICCD | 2 |
| 1989 | Computing the Hough Transform on a Scan Line Array Processor (Image Processing)abstractA parallel algorithm for a line-finding Hough transform that runs on a linearly connected, SIMD (single-instruction, multiple-data-stream) vector of processors is described. The authors show that a high-precision transform, usually considered to be an expensive global operation, can be performed efficiently, in two to three times real time, with only local, communication on a long vector. The algorithm also illustrates a decomposition principle that has wide application in algorithm design for large linear arrays. A review of straight-line Hough transform implementations is also presented.> Allan L. Fisher, Peter Highnam |
IEEE Trans. Pattern Anal. Mach. Intell. | 1 |
| 1988 | Communication and code optimization in SIMD programs
Allan L. Fisher, Peter Highnam |
ICPP (2) | 1 |
| 1986 | Scan Line Array Processors for Image ComputationabstractThis paper describes the scan line array processor (SLAP), a new architecture designed for high-performance yet low-cost image computation. A SLAP is a SIMD linear array of processors, and hence is easy to build and scales well with VLSI technology; yet appropriate special features and programming techniques make it efficient for a surprisingly wide variety of low and medium level computer vision tasks. We describe the basic SLAP concept and some of its variants, discuss a particular planned implementation, and indicate its performance on computer vision and other applications. Allan L. Fisher |
ISCA | 1 |
| 1985 | Memory and Modularity in Systolic Array Implementations
Allan L. Fisher |
ICPP | 1 |
| 1985 | Synchronizing Large VLSI Processor ArraysabstractHighly parallel VLSI computing structures consist of many processing elements operating simultaneously. In order for such processing elements to communicate among themselves, some provision must be made for synchronization of data transfer. The simplest means of synchronization is the use of a global clock. Unfortunately, large clocked systems can be difficult to implement because of the inevitable problem of clock skews and delays, which can be especially acute in VLSI systems as feature sizes shrink. For the near term, good engineering and technology improvements can be expected to maintain the feasibility of clocking in such systems; however, clock distribution problems crop up in any technology as systems grow. An alternative means of enforcing necessary synchronization is the use of self-timed asynchronous schemes, at the cost of increased design complexity and hardware cost. Realizing that different circumstances call for different synchronization methods, this paper provides a spectrum of synchronization models; based on the assumptions made for each model, theoretical lower bounds on clock skew are derived, and appropriate or best possible synchronization schemes for large processor arrays are proposed. Allan L. Fisher, H. T. Kung 0001 |
IEEE Trans. Computers | 1 |
| 1984 | Dictionary Machines With a Small Number of ProcessorsabstractA number of tree-structured multiprocessor designs have been proposed for performing a group of dictionary operations (INSERT, DELETE, EXTRACTMIN, NEAR, etc.) on a set of keys. These designs typically use one processor for each key stored and operate with constant throughput, assuming unit time to communicate and compare keys. This assumption breaks down in applications with long keys. This paper describes a machine which uses a number of processors proportional to the maximum length of a key to achieve constant throughput, regardless of key length. This design has important practical advantages over the family of tree-structured machines, and demonstrates that processor-intensive VLSI structures are not always the best route to a high-performance system. Allan L. Fisher |
ISCA | 1 |
| 1983 | Synchronizing Large VLSI Processor ArraysabstractHighly parallel VLSI computing structures consist of many processing elements operating simultaneously. In order for such processing elements to communicate among themselves, some provision must be made for synchronization of data transfer. The simplest means of synchronization is the use of a global clock. Unfortunately, large clocked systems can be difficult to implement because of the inevitable problem of clock skews and delays, which can be especially acute in VLSI systems as feature sizes shrink. For the near term, good engineering and technology improvements can be expected to maintain the feasibility of clocking in such systems; however, clock distribution problems crop up in any technology as systems grow. An alternative means of enforcing necessary synchronization is the use of self-timed, asynchronous schemes, at the cost of increased design complexity and hardware cost. Realizing that different circumstances call for different synchronization methods, this paper provides a spectrum of synchronization models; based on the assumptions made for each model, theoretical lower bounds on clock skew are derived, and appropriate or best-possible synchronization schemes for large processor arrays are proposed. One set of models is based on assumptions that allow the use of a pipelined clocking scheme, where more than one clock event is propagated at a time. In this case, it is shown that even assuming that physical variations along clock lines can produce skews between wires of the same length, any one-dimensional processor array can be correctly synchronized by a global pipelined clock while enjoying desirable properties such as modularity, expandability and robustness. This result cannot be extended to two-dimensional arrays, however—the paper shows that under this assumption, it is impossible to run a clock such that the maximum clock skew between two communicating cells will be bounded by a constant as systems grow. For such cases or where pipelined clocking is unworkable, a synchronization scheme incorporating both clocked and “asynchronous” elements is proposed. Allan L. Fisher, H. T. Kung 0001 |
ISCA | 1 |
| 1983 | Architecture of the PSC: A Programmable Systolic ChipabstractIn recent years, many systolic algorithms have been proposed as solutions to computationally demanding problems in signal and image processing and other areas. Such algorithms exploit the regularity and parallelism of problems to achieve high performance and low I/O requirements. Since systolic algorithms generally consist of a few types of simple processors, or systolic cells, connected in a regular pattern, they are less expensive to design and implement than more general machines. Allan L. Fisher, H. T. Kung 0001, Louis Monier, Yasunori Dohi |
ISCA | 1 |