EDBT 2026 Demo / reviewers in the wild / expert
Larry Carter
dblp:c/LarryCarter
· DBLP profile ↗
36ranked-venue papers
8as first author
0since 2021 · last 2016
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 18 · 1 first-authorTheory of computation · 11 · 6 first-authorSoftware engineering, systems software and programming languages · 5 · 1 first-authorHuman-computer interaction and ubiquitous computing · 3
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
16 papers |
Parallel and multicore computing · 28% Performance modeling and evaluation · 19% Electronic design automation · 14% | |
| Software engineering, system software, and programming languages
6 papers |
Compilers and program optimization · 68% Program analysis · 28% Programming languages and type systems · 4% | |
| Theoretical computer science
8 papers |
Algorithms and data structures · 51% Mathematical optimization · 26% Combinatorics and discrete mathematics · 19% |
Topics — the 30 heaviest of 71, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Electronic design automation › high-level synthesis
scheduling |
0.1 | 2 | 2008 | Centralized versus Distributed Schedulers for Bag-of-Tasks Applications · IEEE Trans. Parallel Distributed Syst. 2008 Scheduling Strategies for Master-Slave Tasking on Heterogeneous Processor Platforms · IEEE Trans. Parallel Distributed Syst. 2004 |
Distributed systems
distributed scheduling |
0.1 | 1 | 2008 | Centralized versus Distributed Schedulers for Bag-of-Tasks Applications · IEEE Trans. Parallel Distributed Syst. 2008 |
Cloud and datacenter computing › resource management › shared resource management
shared resource fairness |
0.1 | 1 | 2008 | Centralized versus Distributed Schedulers for Bag-of-Tasks Applications · IEEE Trans. Parallel Distributed Syst. 2008 |
Performance modeling and evaluation
trace compression |
0.1 | 1 | 2006 | Path Grammar Guided Trace Compression and Trace Approximation · HPDC 2006 |
Performance modeling and evaluation › simulation › discrete-event simulation
trace-driven simulation |
0.1 | 1 | 2006 | Path Grammar Guided Trace Compression and Trace Approximation · HPDC 2006 |
Memory systems
memory hierarchy |
0.1 | 3 | 1999 | Memory Hierarchy Considerations for Fast Transpose and Bit-Reversals · HPCA 1999 Towards an Optimal Bit-Reversal Permutation Program · FOCS 1998 Uniform Memory Hierarchies · FOCS 1990 |
Compilers and program optimization
loop transformation |
0.0 | 2 | 2003 | Compile-time composition of run-time data and iteration reorderings · PLDI 2003 Schedule-Independent Storage Mapping for Loops · ASPLOS 1998 |
Parallel and multicore computing › task scheduling
bandwidth-aware scheduling |
0.0 | 1 | 2004 | Scheduling Strategies for Master-Slave Tasking on Heterogeneous Processor Platforms · IEEE Trans. Parallel Distributed Syst. 2004 |
Parallel and multicore computing › parallel programming models › task parallelism
master-slave tasking |
0.0 | 1 | 2004 | Scheduling Strategies for Master-Slave Tasking on Heterogeneous Processor Platforms · IEEE Trans. Parallel Distributed Syst. 2004 |
Parallel and multicore computing
task scheduling |
0.0 | 1 | 2004 | Scheduling Strategies for Master-Slave Tasking on Heterogeneous Processor Platforms · IEEE Trans. Parallel Distributed Syst. 2004 |
Program analysis
control flow analysis |
0.0 | 1 | 2003 | Folklore confirmed: reducible flow graphs are exponentially larger · POPL 2003 |
Compilers and program optimization › loop optimization
loop tiling |
0.0 | 1 | 2003 | On the Parallel Execution Time of Tiled Loops · IEEE Trans. Parallel Distributed Syst. 2003 |
Compilers and program optimization › program transformation › control flow transformation
node splitting |
0.0 | 1 | 2003 | Folklore confirmed: reducible flow graphs are exponentially larger · POPL 2003 |
Compilers and program optimization
program transformation |
0.0 | 1 | 2003 | Folklore confirmed: reducible flow graphs are exponentially larger · POPL 2003 |
Program analysis › control flow analysis
reducible flow graphs |
0.0 | 1 | 2003 | Folklore confirmed: reducible flow graphs are exponentially larger · POPL 2003 |
Parallel and multicore computing › parallel computing › parallel optimization
parallel code optimization |
0.0 | 1 | 2003 | On the Parallel Execution Time of Tiled Loops · IEEE Trans. Parallel Distributed Syst. 2003 |
High-performance computing
performance optimization |
0.0 | 2 | 1999 | Architecture-Cognizant Divide and Conquer Algorithms · SC 1999 Microparallelism and High-Performance Protein Matching · SC 1995 |
Interconnection networks and networks-on-chip › network topology
tree networks |
0.0 | 1 | 2008 | Centralized versus Distributed Schedulers for Bag-of-Tasks Applications · IEEE Trans. Parallel Distributed Syst. 2008 |
Parallel and multicore computing › parallel algorithms
divide-and-conquer |
0.0 | 1 | 1999 | Architecture-Cognizant Divide and Conquer Algorithms · SC 1999 |
Parallel and multicore computing
parallel algorithms |
0.0 | 1 | 1999 | Architecture-Cognizant Divide and Conquer Algorithms · SC 1999 |
Processor architecture and microarchitecture › multithreading
simultaneous multithreading |
0.0 | 1 | 1999 | ILP versus TLP on SMT · SC 1999 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 2 | 1999 | Microparallelism and High-Performance Protein Matching · SC 1995 ILP versus TLP on SMT · SC 1999 |
Compilers and program optimization
loop optimization |
0.0 | 1 | 1998 | Schedule-Independent Storage Mapping for Loops · ASPLOS 1998 |
Memory systems
cache |
0.0 | 1 | 1998 | Towards an Optimal Bit-Reversal Permutation Program · FOCS 1998 |
Processor architecture and microarchitecture
memory latency tolerance |
0.0 | 1 | 1998 | Multi-processor Performance on the Tera MTA · SC 1998 |
Processor architecture and microarchitecture
multithreading |
0.0 | 1 | 1998 | Multi-processor Performance on the Tera MTA · SC 1998 |
Performance modeling and evaluation
parallel performance evaluation |
0.0 | 1 | 1998 | Multi-processor Performance on the Tera MTA · SC 1998 |
Algorithms and data structures
bit-reversal permutation |
0.0 | 1 | 1998 | Towards an Optimal Bit-Reversal Permutation Program · FOCS 1998 |
Combinatorics and discrete mathematics
permutation |
0.0 | 1 | 1998 | Towards an Optimal Bit-Reversal Permutation Program · FOCS 1998 |
Performance modeling and evaluation › simulation
cache simulation |
0.0 | 1 | 2006 | Path Grammar Guided Trace Compression and Trace Approximation · HPDC 2006 |
Methods — techniques the papers use, named apart from their topics
linear programming · 0.3closed-form analysis · 0.1simulation · 0.1polyhedral model · 0.1static analysis · 0.1sequitur · 0.1gzip · 0.1lower bound analysis · 0.0graph theory · 0.0performance modeling · 0.0dynamic programming · 0.0pebble game · 0.0lower bound · 0.0branch-and-bound · 0.0z-buffer parallelism · 0.0floating-point arithmetic substitution · 0.0intermediate representation extension · 0.0compile-time optimization · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2016 | An approach for code generation in the Sparse Polyhedral Framework
Michelle Mills Strout, Alan LaMielle, Larry Carter, Jeanne Ferrante, Barbara Kreaseck, Catherine Mills Olschanowsky |
Parallel Comput. | 3 |
| 2008 | Centralized versus Distributed Schedulers for Bag-of-Tasks ApplicationsabstractMultiple applications that execute concurrently on heterogeneous platforms compete for CPU and network resources. In this paper, we consider the problem of scheduling applications to ensure fair and efficient execution on a distributed network of processors. We limit our study to the case where communication is restricted to a tree embedded in the network, and the applications consist of a large number of independent tasks (Bags of Tasks) that originate at the tree's root. The tasks of a given application all have the same computation and communication requirements, but these requirements can vary for different applications. The goal of scheduling is to maximize the throughput of each application while ensuring a fair sharing of resources between applications. We can find the optimal asymptotic rates by solving a linear programming problem that expresses all necessary problem constraints, and we show how to construct a periodic schedule from any linear program solution. For single-level trees, the solution is characterized by processing tasks with larger communication-to-computation ratios at children with larger bandwidths. For multilevel trees, this approach requires global knowledge of all application and platform parameters. For large-scale platforms, such global coordination by a centralized scheduler may be unrealistic. Thus, we also investigate decentralized schedulers that use only local information at each participating resource. We assess their performance via simulation and compare to an optimal centralized solution obtained via linear programming. The best of our decentralized heuristics achieves the same performance on about 2/3 of our test cases but is far worse in a few cases. Although our results are based on simple assumptions and do not explore all parameters (such as the maximum number of tasks that can be held on a node), they provide insight into the important question of fairly and optimally scheduling heterogeneous applications on heterogeneous grids. Olivier Beaumont, Larry Carter, Jeanne Ferrante, Arnaud Legrand, Loris Marchal, Yves Robert |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2006 | Path Grammar Guided Trace Compression and Trace ApproximationabstractTrace-driven simulation is an important technique used in the evaluation of computer architecture innovations. However using it for studying parallel computers and applications is at best very challenging. Acquiring, representing and storing the traces are among the major issues. In this paper, we introduce path grammar guided trace compression (PGGTC) and effective address trace approximation (TA) to speedup compression and reduce trace sizes. PGGTC relies on static analysis to build rules and determine actions to guide online trace compression. Combined with gzip, PGGTC can compresses control flow traces over 330 times smaller than using gzip alone. Compared to the widely popular Sequitur algorithm alone, PGGTC with gzip is on average 40 times faster, while the traces are only 3 times bigger. PGGTC can be also used with Sequitur to double the compression ratios of Sequitur by itself and do it 14 times faster than Sequitur by itself. Address traces of parallel applications with significant randomness are often impossibly large even after being compressed with any lossless scheme including PGGTC. For effective address trace reduction, we introduce trace approximation (TA). Performance-wise similar effective addresses are generated based on very compact summaries of how the memory is accessed during each structure instance instead of compressing them. We demonstrate two approaches: selective dumping and memory signatures, to summarize the properties of effective address sequences. Both approaches are validated by feeding the generated approximate trace to cache simulators of 25 different configurations. The simulated results are very close to the simulation results based on full effective traces while the selective dumped address or memory signatures require several order of magnitude less disk space to store. In summary, we move trace-driven simulation into the realm of the feasible for larger parallel machines and applications Xiaofeng Gao 0003, Allan Snavely, Larry Carter |
HPDC | 3 |
| 2006 | Centralized versus distributed schedulers for multiple bag-of-task applicationsabstractMultiple applications that execute concurrently on heterogeneous platforms compete for CPU and network resources. In this paper, we consider the problem of scheduling applications to ensure fair and efficient execution on a distributed network of processors. We limit our study to the case where communication is restricted to a tree embedded in the network, and the applications consist of a large number of independent tasks that originate at the tree's root. The tasks of a given application all have the same computation and communication requirements, but these requirements can vary for different applications. Each application is given a weight that quantifies its relative value. The goal of scheduling is to maximize throughput while executing tasks from each application in the same ratio as their weights. We can find the optimal asymptotic rates by solving a linear program that expresses all necessary problem constraints, and we show how to construct a periodic schedule. For single-level trees, the solution is characterized by processing tasks with larger communication-to-computation ratios at children with larger bandwidths. For multi-level trees, this approach requires global knowledge of all application and platform parameters. For large-scale platforms, such global coordination by a centralized scheduler may be unrealistic. Thus, we also investigate decentralized schedulers that use only local information at each participating resource. We assess their performance via simulation, and compare to a centralized solution obtained via linear programming. The best of our decentralized heuristics achieves the same performance on about two-thirds of our test cases, but is far worse in a few cases. While our results are based on simplistic assumptions and do not explore all parameters (such as buffer size), they provide insight into the important question of fairly and optimally co-scheduling heterogeneous applications on heterogeneous grids Olivier Beaumont, Larry Carter, Jeanne Ferrante, Arnaud Legrand, Loris Marchal, Yves Robert |
IPDPS | 2 |
| 2004 | A-FAST: Autonomous Flow Approach to Scheduling Tasks
Sagnik Nandy, Larry Carter, Jeanne Ferrante |
HiPC | 2 |
| 2004 | On the Interference of Communication on Computation in JavaabstractSummary form only given. Overlapping communication with computation is a well-known technique to increase application performance. While it is commonly assumed that communication and computation can be overlapped at no cost, in reality, they do contend for resources and thus interfere with each other. Here we present an empirical quantification of the interference rate of communication on computation. We measure this rate on a single processor communicating with both local and remote processors via Java sockets. Among other results we find that the computation rate can suffer by as much as 50%, and that the reduction is approximately proportional to the communication rate. We conclude that interference deserves further study. Barbara Kreaseck, Larry Carter, Henri Casanova, Jeanne Ferrante |
IPDPS | 2 |
| 2004 | Scheduling Strategies for Master-Slave Tasking on Heterogeneous Processor PlatformsabstractWe consider the problem of allocating a large number of independent, equal-sized tasks to a heterogeneous computing platform. We use a nonoriented graph to model the platform, where resources can have different speeds of computation and communication. Because the number of tasks is large, we focus on the question of determining the optimal steady state scheduling strategy for each processor (the fraction of time spent computing and the fraction of time spent communicating with each neighbor). In contrast to minimizing the total execution time, which is NP-hard in most formulations, we show that finding the optimal steady state can be solved using a linear programming approach and, thus, in polynomial time. Our result holds for a quite general framework, allowing for cycles and multiple paths in the interconnection graph, and allowing for several masters. We also consider the simpler case where the platform is a tree. While this case can also be solved via linear programming, we show how to derive a closed-form formula to compute the optimal steady state, which gives rise to a bandwidth-centric scheduling strategy. The advantage of this approach is that it can directly support autonomous task scheduling based only on information local to each node; no global information is needed. Finally, we provide a theoretical comparison of the computing power of tree-based versus arbitrary platforms. Cyril Banino-Rokkones, Olivier Beaumont, Larry Carter, Jeanne Ferrante, Arnaud Legrand, Yves Robert |
IEEE Trans. Parallel Distributed Syst. | 3 |
| 2003 | Compile-time composition of run-time data and iteration reorderings
Michelle Mills Strout, Larry Carter, Jeanne Ferrante |
PLDI | 2 |
| 2003 | Folklore confirmed: reducible flow graphs are exponentially largerabstractMany program analysis techniques used by compilers are applicable only to programs whose control flow graphs are reducible. Node-splitting is a technique that can be used to convert any control flow graph to a reducible one. However, as has been observed for various node-splitting algorithms, there can be an exponential blowup in the size of the graph.We prove that exponential blowup is unavoidable. In particular, we show that any reducible graph that is equivalent to the complete graph on n nodes (or to related bounded-degree control flow graphs) must have at least 2n-1 nodes. While this result is not a surprise, it may be relevant to the quest for finding methods of obfuscation for software protection. Larry Carter, Jeanne Ferrante, Clark D. Thomborson |
POPL | 1 |
| 2003 | On the Parallel Execution Time of Tiled LoopsabstractMany computationally-intensive programs, such as those for differential equations, spatial interpolation, and dynamic programming, spend a large portion of their execution time in multiply-nested loops that have a regular stencil of data dependences. Tiling is a well-known compiler optimization that improves performance on such loops, particularly for computers with a multilevel hierarchy of parallelism and memory. Most previous work on tiling is limited in at least one of the following ways: they only handle nested loops of depth two, orthogonal tiling, or rectangular tiles. In our work, we tile loop nests of arbitrary depth using polyhedral tiles. We derive a prediction formula for the execution time of such tiled loops, which can be used by a compiler to automatically determine the tiling parameters that minimizes the execution time. We also explain the notion of rise, a measure of the relationship between the shape of the tiles and the shape of the iteration space generated by the loop nest. The rise is a powerful tool in predicting the execution time of a tiled loop. It allows us to reason about how the tiling affects the length of the longest path of dependent tiles, which is a measure of the execution time of a tiling. We use a model of the tiled iteration space that allows us to determine the length of the longest path of dependent tiles using linear programming. Using the rise, we derive a simple formula for the length of the longest path of dependent tiles in rectilinear iteration spaces, a subclass of the convex iteration spaces, and show how to choose the optimal tile shape. Karin Högstedt, Larry Carter, Jeanne Ferrante |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 1999 | Memory Hierarchy Considerations for Fast Transpose and Bit-ReversalsabstractThis paper explores the interplay between algorithm design and a computer's memory hierarchy. Matrix transpose and the bit-reversal reordering are important scientific subroutines which often exhibit severe performance degradation due to cache and TLB associativity problems. We give lower bounds that show for typical memory hierarchy designs, extra data movement is unavoidable. We also prescribe characteristics of various levels of the memory hierarchy needed to perform efficient bit-reversals. Insight gained from our analysis leads to the design of a near optimal bit-reversal algorithm. This Cache Optimal Bit Reverse Algorithm (COBRA) is implemented on the Digital Alpha 21164, Sun Ultrasparc 2, and IBM Power2. We show that COBRA is near optimal with respect to execution time on these machines and performs much better than previous best known algorithms. Kang Su Gatlin, Larry Carter |
HPCA | 2 |
| 1999 | Architecture-Cognizant Divide and Conquer AlgorithmsabstractDivide and conquer programs can achieve good performance on parallel computers and computers with deep memory hierarchies. We introduce architecture-cognizant divide and conquer algorithms, and explore how they can achieve even better performance. An architecture-cognizant algorithm has functionallyequivalent variants of the divide and/or combine functions, and a variant policy that specifies which variant to use at each level of recursion. An optimal variant policy is chosen for each target computer via experimentation. With h levels of recursion, an exhaustive search requires #(v h ) experiments (where v is the number of variants). We present a method based on dynamic programming that reduces this to #(h c ) (where c is typically a small constant) experiments for a class of architecture-cognizant programs. We verify our technique on two kernels (matrix multiply and 2-D Point Jacobi) using three architectures. Our technique improves performance by up to a factor of two, compared... Kang Su Gatlin, Larry Carter |
SC | 2 |
| 1999 | ILP versus TLP on SMTabstractBy sharing processor resources among threads at a very fine granularity, a simultaneous multithreading processor (SMT) renders thread-level parallelism (TLP) and instruction-level parallelism (ILP) operationally equivalent.Under what circumstances are they performance equivalent?In this paper, we show that operational equivalence does not imply performance equivalence.Rather, for some codes they perform equally well, for others ILP outperforms TLP, and for yet others, the opposite is true.In this paper, we define the performance characteristics that divide codes into one of these three circumstances.We present evidence from three codes to support the factors involved in the model. Nicholas Mitchell, Larry Carter, Jeanne Ferrante, Dean M. Tullsen |
SC | 2 |
| 1999 | Selecting Tile Shape for Minimal Execution TimeabstractMany computationally-intensive programs, such as those for differential equations, spatial interpolation, and dynamic programming, spend a large portion of their execution time in multiply-nested loops which have a regular stencil of data dependences.Tiling is a well-known optimization that improves performance on such loops, particularly for computers with a multi-levelled hierarchy of parallelism and memory.Most previous work on tiling restricts the tile shape to be rectangular.Our previous work and its extension by Desprez, Dongarra, Rastello and Robert showed that for doubly nested loops, using parallelograms can improve parallel execution time by decreasing the idle time, the time that a processor spends waiting for data or synchronization.In this paper, we extend that work to more deeply nested loops, as well as to more complex loop bounds.We introduce a model which allows us to demonstrate the equivalence in complexity of linear programming and determining the execution time of a tiling in the model.We then identify a sub-class of these loops that constitute rectilinear iteration spaces for which we derive a closed form formula for their execution time.This formula can be used by a compiler to predict the execution time of a loop nest.We then derive the tile shape that minimizes this formula.Using the duality property of linear programming, we also study how the longest path of dependent tiles within a rectilinear iteration space changes with the tile shape.Finally, we observe that the execution time of a rectilinear iteration space depends on the slope of only four of the facets defining the iteration space, independent of its dimensionality. Karin Högstedt, Larry Carter, Jeanne Ferrante |
SPAA | 2 |
| 1998 | Schedule-Independent Storage Mapping for LoopsabstractThis paper studies the relationship between storage requirements and performance. Storage-related dependences inhibit optimizations for locality and parallelism. Techniques such as renaming and array expansion can eliminate all storage-related dependences, but do so at the expense of increased storage. This paper introduces the universal occupancy vector (UOV) for loops with a regular stencil of dependences. The UOV provides a schedule-independent storage reuse pattern that introduces no further dependences (other than those implied by true flow dependences). OV-mapped code requires less storage than full array expansion and only slightly more storage than schedule-dependent minimal storage.We show that determine if a vector is a UOV is NPcomplete. However, an easily constructed but possibly nonminimal UOV can be used. We also present a branch and bound algorithm which finds the minimal UOV, while still maintaining a legal UOV at all times.Our experimental results show that the use of OV-mapped storage, coupled with tiling for locality, achieves better performance than tiling after array expansion, and accommodates larger problem sizes than untilable, storage-optimized code. F'urthermore, storage mapping based on the UOV introduces negligible runtime overhead. Michelle Mills Strout, Larry Carter, Jeanne Ferrante, Beth Simon |
ASPLOS | 2 |
| 1998 | Towards an Optimal Bit-Reversal Permutation ProgramabstractThe speed of many computations is limited not by the number of arithmetic operations but by the time it takes to move and rearrange data in the increasingly complicated memory hierarchies of modern computers. Array transpose and the bit-reversal permutation-trivial operations on a RAM-present non-trivial problems, when designing highly-tuned scientific library functions, particular for the Fast Fourier Transform. We prove a precise bound for RoCol, a simple pebble-type game that is relevant to implementing these permutations. We use RoCol to give lower bounds on the amount of memory traffic in a computer with four-levels of memory (registers, cache, TLB, and memory), taking into account such "messy" features as block moves and set-associative caches. The insights from this analysis lead to a bit-reversal algorithm whose performance is close to the theoretical minimum. Experiments show that it performs significantly better than every program in a comprehensive study of 30 published algorithms. Larry Carter, Kang Su Gatlin |
FOCS | 1 |
| 1998 | Multi-processor Performance on the Tera MTAabstractThe Tera MTA is a revolutionary commercial computer based on a multithreaded processor architecture. In contrast to many other parallel architectures, the Tera MTA can effectively use high amounts of parallelism on a single processor. By running multiple threads on a single processor, it can tolerate memory latency and to keep the processor saturated. If the computation is sufficiently large, it can benefit from running on multiple processors. A primary architectural goal of the MTA is that it provide scalable performance over multiple processors. This paper is a preliminary investigation of the first multi-processor Tera MTA. In a previous paper [1] we reported that on the kernel NAS 2 benchmarks [2], a single-processor MTA system running at the architected clock speed would be similar in performance to a single processor of the Cray T90. We found that the compilers of both machines were able to find the necessary threads or vector operations, after making standard changes to the random number generator. In this paper we update the single-processor results in two ways: we use only actual clock speeds, and we report improvements given by further tuning of the MTA codes. We then investigate the performance of the best single-processor codes when run on a two-processor MTA, making no further tuning effort. The parallel efficiency of the codes range from 77% to 99%. An analysis shows that the "serial bottlenecks" -- unparallelized code sections and the cost of allocating and freeing the parallel hardware resources -- account for less than a percent of the runtimes. Thus, Amdahl's Law needn't take effect on the NAS benchmarks until there are hundreds of processors running thousands of threads. Instead, the major source of inefficiency appears to be an imperfect network connecting the processors to the memory. Ideally, the network can support one memory reference per instruction. The current hardware has defects that reduce the throughput to about 85% of this rate. Except for the EP benchmark, the tuned codes issue memory references at nearly the peak rate of one per instruction. Consequently, the network can support the memory references issued by one, but not two, processors. As a result, the parallel efficiency of EP is near- perfect, but the others are reduced accordingly. Another reason for imperfect speedup pertains to the compiler. While the definition of a thread in a single processor or multi-processor mode is essentially the same, there is a different implementation and an associated overhead with running on multiple processors. We characterize the overhead of running "frays" (a collection of threads running on a single processor) and "crews" (a collection of frays, one per processor.) Allan Snavely, Larry Carter, Jay Boisseau, Amitava Majumdar 0001, Kang Su Gatlin, Nick Mitchell, John Feo, Brian D. Koblenz |
SC | 2 |
| 1997 | Determining the Idle Time of a TilingabstractThis paper investigates the idle time associated with a parallel computation, that is, the time that processors are idle because they are either waiting for data from other processors or waiting to synchronize with other processors. We study doubly-nested loops corresponding to parallelogram- or trapezoidal-shaped iteration spaces that have been parallelized by the well-known tiling transformation. We introduce the notion of rise r, which relates the shape of the iteration space to that of the tiles. For parallelogram- shaped iteration spaces, we show that when r < -2, the idle time is linear in P, the number of processors, but when r > -1, it is quadratic in P. In the context of hierarchical tiling, where multiple levels of tiling are used, a good choice of rise can lead to less idle time and better performance. While idle time is not the only cost that should be considered in evaluating a tiling strategy, current architectural trends (of deeper memory hierarchies and multiple levels of parallelism) suggest it has increasing importance. Karin Högstedt, Larry Carter, Jeanne Ferrante |
POPL | 2 |
| 1995 | Microparallelism and High-Performance Protein MatchingabstractThe Smith-Waterman algorithm is a computationally-intensive string-matching operation that is fundamental to the analysis of proteins and genes. In this paper, we explore the use of some standard and novel techniques for improving its performance. We begin by tuning the algorithm using conventional techniques. These make modest performance improvements by providing efficient cache usage and inner-loop code. One novel technique uses the z-buffer operations of the Intel i860 architecture to perform 4 independent computations in parallel. This achieves a five-fold speedup over the optimized code (six-fold over the original). We also describe a related technique that could be used by processors that have 64-bit integer operations, but no z-buffer. Another new technique uses floating-point multiplies and adds in place of the standard algorithm's integer additions and maximum operations. This gains more than a three-fold speedup on the IBM POWER2 processor. This method doesn't give the identical answers as the original program, but experimental evidence shows that the inaccuracies are small and do not affect which strings are chosen as good matches by the algorithm. Bowen Alpern, Larry Carter, Kang Su Gatlin |
SC | 2 |
| 1994 | The Uniform Memory Hierarchy Model of Computation
Bowen Alpern, Larry Carter, Ephraim Feig, Ted Selker |
Algorithmica | 2 |
| 1993 | Explicit Data Placement (XDP): A Methodology for Explicit Compile-Time Representation and OptimizationabstractThe ability to represent, manipulate and optimize data movement between devices such as processors in a distributed memory machine, or between global memory and processors in a shared memory machine, is crucial in generating efficient code for such machines. In this paper we describe a methodology for representing and manipulating data movement explicitly in a compiler. Our methodology, called Explicit Data Placement (XDP), consists of extensions to the compiler's intermediate program language, as well as run-time structures that allow certain operations to be performed efficiently. We also illustrate one of the unique features of the XDP methodology: the ability to manipulate the run-time transfer of data ownership between processors. Vasanth Bala, Jeanne Ferrante, Larry Carter |
PPoPP | 3 |
| 1993 | Orientation Maps: Techniques for Visualizing RotationsabstractThe set of possible orientations of a rigid three-dimensional object is a topological space with three degrees of freedom. This paper investigates the suitability of various techniques of visualizing this space. With a good technique the natural distance between orientations will be represented fairly accurately, and distortion to the "shape" of a collection of orientations induced by the change of reference orientation will be minor. The traditional Euler-angle parameterization fails on both counts. Less well-known techniques exploit the fact that there is a rotation that takes the reference orientation to a given one. The given orientation is represented as a point along the axis of this rotation. The distance of this point from the origin is determined by some scaling function of the magnitude of that rotation. Free natural scaling functions are studied. None is perfect, but several are satisfactory.> Bowen Alpern, Larry Carter, Matt Grayson, Chris Pelkie |
IEEE Visualization | 2 |
| 1991 | The HyperboxabstractA hyperbox is a two-dimensional depiction of an N-dimensional box (rectangular parallelepiped). The authors define the visual syntax of hyperboxes, state some properties, and sketch two applications. Hyperboxes can be evocative visual names for tensors or multidimensional arrays in visual programming languages. They can also be used to simultaneously display all pairwise relationships in an N-dimensional dataset. This can be helpful in choosing a sequence of dimension-reducing transformations that preserve interesting properties of the dataset.> Bowen Alpern, Larry Carter |
IEEE Visualization | 2 |
| 1990 | Uniform Memory HierarchiesabstractThe authors introduce a model, called the uniform memory hierarchy (UMH) model, which reflects the hierarchical nature of computer memory more accurately than the RAM (random-access-machine) model, which assumes that any item in memory can be accessed with unit cost. In the model memory occurs as a sequence of increasingly large levels. Data are transferred between levels in fixed-size blocks (the size is level dependent). Within a level blocks are random access. The model is easily extended to handle parallelism. The UMH model is really a family of models parameterized by the rate at which the bandwidth decays as one travels up the hierarchy. A program is parsimonious on a UMH if the leading terms of the program's (time) complexity on the UMH and on a RAM are identical. If these terms differ by more than a constant factor, then the program is inefficient. The authors analyze two standard FFT programs with the same RAM complexity. One is efficient; the other is not.> Bowen Alpern, Larry Carter, Ephraim Feig |
FOCS | 2 |
| 1990 | Visualizing Computer Memory ArchitecturesabstractThe authors describe a conceptual model, the memory hierarchy framework, and a visual language for using the model. The model is more faithful to the structure of computers than the Von Neumann and Turing models. It addresses the issues of data movement and exposes and unifies storage mechanisms such as cache, translation lookaside buffers, main memory, and disks. The visual language presents the details of a computer's memory hierarchy in a concise drawing composed of rectangles and connecting segments. Using this framework, the authors improved the performance of a matrix multiplication algorithm by more than an order of magnitude. The framework gives insight into computer architecture and performance bottlenecks by making effective use of human visual abilities.> Bowen Alpern, Larry Carter, Ted Selker |
IEEE Visualization | 2 |
| 1988 | TRIM: testability range by ignoring the memoryabstractThe testability by random test patterns of faults in the logic surrounding embedded RAMs is studied. Upper and lower bounds on the probability that a fault is caught are obtained by analyzing a modified, purely combinational circuit without the RAM. This analysis can be done with standard testability analysis techniques. The analysis is applied to an embedded two-port RAM.> Larry Carter, Leendert M. Huisman, Thomas W. Williams |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 1987 | Distribution and Abstract Types in EmeraldabstractEmerald is an object-based language for programming distributed subsystems and applications. Its novel features include 1) a single object model that is used both for programming in the small and in the large, 2) support for abstract types, and 3) an explicit notion of object location and mobility. This paper outlines the goals of Em-erald, relates Emerald to previous work, and describes its type system and distribution support. We are currently constructing a prototype implementation of Emerald. Andrew P. Black, Norman C. Hutchinson, Eric Jul, Henry M. Levy, Larry Carter |
IEEE Trans. Software Eng. | 5 |
| 1986 | TRIM : Testability Range by Ignoring the Memory
Leendert M. Huisman, Larry Carter, Thomas W. Williams |
ITC | 2 |
| 1985 | The Complexity of Backtrack Searches (Preliminary Version)abstractIn this paper, we study the complexity of finding an efficient search for combinatorial problems which are commonly solved by backtracking. First, a formalism is introduced. Backtrack searches are ordinarily thought of as following a tree pattern. Our model is considerably more general, and there are problems where this allows much shorter searches. Larry Carter, Larry J. Stockmeyer, Mark N. Wegman |
STOC | 1 |
| 1981 | New Hash Functions and Their Use in Authentication and Set Equality
Mark N. Wegman, Larry Carter |
J. Comput. Syst. Sci. | 2 |
| 1979 | New Classes and Applications of Hash FunctionsabstractIn this paper we exhibit several new classes of hash functions with certain desirable properties, and introduce two novel applications for hashing which make use of these functions. One class of functions is small, yet is almost universal2. If the functions hash n-bit long names into m-bit indices, then specifying a member of the class requires only O((m + log2log2(n)) log2(n)) bits as compared to O(n) bits for earlier techniques. For long names, this is about a factor of m larger than the lower bound of m+log2n-log2m bits. An application of this class is a provably secure authentication techniques for sending messages over insecure lines. A second class of functions satisfies a much stronger property than universal2. We present the application of testing sets for equality. The authentication technique allows the receiver to be certain that a message is genuine. An 'enemy' - even one with infinite computer resources - cannot forge or modify a message without detection. The set equality technique allows the the operations 'add member to set', 'delete member from set' and 'test two sets for equality' to be performed in expected constant time and with less than a specified probability of error. Mark N. Wegman, Larry Carter |
FOCS | 2 |
| 1979 | Universal Classes of Hash Functions
Larry Carter, Mark N. Wegman |
J. Comput. Syst. Sci. | 1 |
| 1978 | Analysis of a Universal Class of Hash Functions
George Markowsky, Larry Carter, Mark N. Wegman |
MFCS | 2 |
| 1978 | Exact and Approximate Membership TestersabstractIn this paper we consider the question of how much space is needed to represent a set. Given a finite universe U and some subset V (called the vocabulary), an exact membership tester is a procedure that for each element s in U determines if s is in V. An approximate membership tester is allowed to make mistakes: we require that the membership tester correctly accepts every element of V, but we allow it to also accept a small fraction of the elements of U - V. Larry Carter, Robert W. Floyd, John Gill, George Markowsky, Mark N. Wegman |
STOC | 1 |
| 1977 | Universal Classes of Hash Functions (Extended Abstract)abstractThis paper gives an input independent average linear time algorithm for storage and retrieval on keys. The algorithm makes a random choice of hash function from a suitable class of hash functions. Given any sequence of inputs the expected time (averaging over all functions in the class) to store and retrieve elements is linear in the length of the sequence. The number of references to the data base required by the algorithm for any input is extremely close to the theoretical minimum for any possible hash function with randomly distributed inputs. We present three suitable classes of hash functions which also may be evaluated rapidly. The ability to analyze the cost of storage and retrieval without worrying about the distribution of the input allows as corollaries improvements on the bounds of several algorithms. Larry Carter, Mark N. Wegman |
STOC | 1 |
| 1974 | Conjectures on uniquely decipherable codes (Corresp.)abstractA conjecture concerning the codeword compositions of uniquely decipherable codes is proposed. This conjecture is shown to be equivalent to a related conjecture of Karp about the codeword costs of uniquely decipherable codes. A set of inequalities satisfied by ali prefix-condition codes is exhibited, and it is conjectured that these inequalities are valid for all uniquely decipherable codes. Larry Carter, John Gill |
IEEE Trans. Inf. Theory | 1 |