scispace - formally typeset
Search or ask a question

Showing papers by "Charles E. Leiserson published in 1991"


Journal ArticleDOI
TL;DR: This paper describes a circuit transformation called retiming in which registers are added at some points in a circuit and removed from others in such a way that the functional behavior of the circuit as a whole is preserved.
Abstract: This paper describes a circuit transformation calledretiming in which registers are added at some points in a circuit and removed from others in such a way that the functional behavior of the circuit as a whole is preserved. We show that retiming can be used to transform a given synchronous circuit into a more efficient circuit under a variety of different cost criteria. We model a circuit as a graph in which the vertex setV is a collection of combinational logic elements and the edge setE is the set of interconnections, each of which may pass through zero or more registers. We give anO(?VźE?lg?V?) algorithm for determining an equivalent retimed circuit with the smallest possible clock period. We show that the problem of determining an equivalent retimed circuit with minimum state (total number of registers) is polynomial-time solvable. This result yields a polynomial-time optimal solution to the problem of pipelining combinational circuitry with minimum register cost. We also give a chacterization of optimal retiming based on an efficiently solvable mixed-integer linear-programming problem.

940 citations


Proceedings ArticleDOI
01 Jun 1991
TL;DR: A fast sorting algorithm for the Connection Machine Supercomputer model CM-2 is developed and it is shown that any U(lg n)-depth family of sorting networks can be used to sort n numbers in U( lg n) time in the bounded-degree fixed interconnection network domain.
Abstract: Sorting is arguably the most studied problem in computer science, both because it is used as a substep in many applications and because it is a simple, combinatorial problem with many interesting and diverse solutions. Sorting is also an important benchmark for parallel supercomputers. It requires significant communication bandwidth among processors, unlike many other supercomputer benchmarks, and the most efficient sorting algorithms communicate data in irregular patterns. Parallel algorithms for sorting have been studied since at least the 1960’s. An early advance in parallel sorting came in 1968 when Batcher discovered the elegant U(lg2 n)-depth bitonic sorting network [3]. For certain families of fixed interconnection networks, such as the hypercube and shuffle-exchange, Batcher’s bitonic sorting technique provides a parallel algorithm for sorting n numbers in U(lg2 n) time with n processors. The question of existence of a o(lg2 n)-depth sorting network remained open until 1983, when Ajtai, Komlos, and Szemeredi [1] provided an optimal U(lg n)-depth sorting network, but unfortunately, their construction leads to larger networks than those given by bitonic sort for all “practical” values of n. Leighton [15] has shown that any U(lg n)-depth family of sorting networks can be used to sort n numbers in U(lg n) time in the bounded-degree fixed interconnection network domain. Not surprisingly, the optimal U(lg n)-time fixed interconnection sorting networks implied by the AKS construction are also impractical. In 1983, Reif and Valiant proposed a more practical O(lg n)-time randomized algorithm for sorting [19], called flashsort. Many other parallel sorting algorithms have been proposed in the literature, including parallel versions of radix sort and quicksort [5], a variant of quicksort called hyperquicksort [23], smoothsort [18], column sort [15], Nassimi and Sahni’s sort [17], and parallel merge sort [6]. This paper reports the findings of a project undertaken at Thinking Machines Corporation to develop a fast sorting algorithm for the Connection Machine Supercomputer model CM-2. The primary goals of this project were:

362 citations


Patent
03 Oct 1991
TL;DR: A digital computer includes a plurality of processing elements, a command processor, a diagnostic processor and a communications network as mentioned in this paper, each performing data processing and data communications operations in connection with commands.
Abstract: A digital computer includes a plurality of processing elements, a command processor, a diagnostic processor and a communications network. The processing elements each performs data processing and data communications operations in connection with commands. The processing elements also performing diagnostic operations in response to diagnostic operation requests and providing diagnostic results in response thereto. The command processor generates commands for the processing elements, and also performs diagnostic operations in response to diagnostic operation requests and providing diagnostic results in response thereto. The diagnostic processor generates diagnostic requests. The communication network includes three elements, including a data router, a control network and a diagnostic network. The data router is connected to the processing elements for facilitating the transfer of data among them during a data communications operation. The control network is connected to the processing elements and the command processor for transferring commands from the command processor to the processing elements. The diagnostic network connected to the processing elements, the command processor and the diagnostic processor for transferring diagnostic requests from the diagnostic processor to the processing elements and the command processor and for transferring diagnostic results from the processing elements and the command processor to the diagnostic processor.

78 citations


Dissertation
01 Jan 1991
TL;DR: Monge-array techniques are used to develop efficient algorithms for several proximity problems involving the vertices of a convex polygon, as well as the maximumperimeter-inscribed-k-gon problem and the minimum-area-circumscribing-k -gon problem.
Abstract: This thesis develops a body of versatile algorithmic techniques. We demonstrate the power and generality of these techniques by applying them to a wide variety of problems. These problems are drawn from such diverse areas of study as computational geometry, VLSI theory, operations research, and molecular biology. The algorithmic techniques described in this thesis are centered around a family of highlystructured arrays known as Monge arrays. An m x n array A = {a[i,j]} is called Monge if a[i,j] + a[k, < a[i, + a[k,j] for all i, j, k, and I such that 1 < i < k < m and 1 < j < e < n. We will show that Monge arrays capture the essential structure of many practical problems, in the sense that algorithms for searching in the abstract world of Monge arrays can be used to obtain efficient algorithms for these practical problems. The first part of this thesis describes the basic Monge-array abstraction. We begin by defining several different types of Monge and Monge-like arrays. These definitions include a generalization of the notion of two-dimensional Monge arrays to higher-dimensional arrays. We also present several important properties of Monge and Monge-like arrays and introduce a computational framework for manipulating such arrays. We then develop a variety of algorithms for searching in Monge arrays. In particular, we give efficient sequential and parallel (PRAM) algorithms for computing minimal entries in Monge arrays and efficient sequential algorithms for selection and sorting in Monge arrays. Highlights include an O(dn lgd2 n)-time sequential algorithm for computing the minimum entry in an n x n x . -x n d-dimensional Monge array, an O(n3/2lg 2 n)-time sequential algorithm for computing the median entry in each row of an n x n two-dimensional Monge array, and an optimal O(lg n)-time, (n2 / lg n)-processor CREWPRAM algorithm for computing the minimum entry in each 1 x n x 1 subarray of an n x n x n three-dimensional Monge array. The second part of this thesis investigates the diverse applications of the Monge-array abstraction. We first consider a number of geometric problem relating to convex polygons in the plane. Specifically, we use Monge-array techniques to develop efficient algorithms for several proximity problems involving the vertices of a convex polygon, as well as the maximumperimeter-inscribed-k-gon problem and the minimum-area-circumscribing-k-gon problem. We

13 citations