Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Thomas J. Sheffler is active.

Publication


Featured researches published by Thomas J. Sheffler.


languages and compilers for parallel computing | 1994

Array Distribution in Data-Parallel Programs

Siddhartha Chatterjee; Robert Schreiber; Thomas J. Sheffler; John R. Gilbert

We consider distribution at compile time of the array data in a distributed-memory implementation of a data-parallel program written in a language like Fortran 90. We allow dynamic redistribution of data and define a heuristic algorithmic framework that chooses distribution parameters to minimize an estimate of program completion time. We represent the program as an alignment-distribution graph. We propose a divide-and-conquer algorithm for distribution that initially assigns a common distribution to each node of the graph and successively refines this assignment, taking computation, realignment, and redistribution costs into account. We explain how to estimate the effect of distribution on computation cost and how to choose a candidate set of distributions. We present the results of an implementation of our algorithms on several test problems.


symposium on frontiers of massively parallel computation | 1995

Aligning parallel arrays to reduce communication

Thomas J. Sheffler; Robert Schreiber; John R. Gilbert; Siddhartha Chatterjee

Axis and stride alignment is an important optimization in compiling data-parallel programs for distributed-memory machines. We previously developed an optimal algorithm for aligning array expressions. Here, we examine alignment for more general program graphs. We show that optimal alignment is NP-complete in this setting, so we study heuristic methods. This paper makes two contributions. First, we show how local graph transformations can reduce the size of the problem significantly without changing the best solution. This allows more complex and effective heuristics to be used. Second, we give a heuristic that can explore the space of possible solutions in a number of ways. We show that some of these strategies can give better solutions than a simple greedy approach proposed earlier. Our algorithms have been implemented; we present experimental results showing their effect on the performance of some example programs running on the CM-5.<<ETX>>


languages and compilers for parallel computing | 1996

Efficient Distribution Analysis via Graph Contraction

Thomas J. Sheffler; Robert Schreiber; William Pugh; John R. Gilbert; Siddhartha Chatterjee

Alignment and distribution of array data should be managed by optimizing compilers for parallel computers, but current approaches to the distribution problem formulate it as an NP-complete graph optimization problem. The graphs arising in applications are large and difficult to optimize. In this paper, we improve some earlier results on methods that use graph contraction to reduce the size of a distribution problem. We report on an experiment using seven example programs that show these contraction operations to be effective in practice; we obtain from 70 to 99 percent reductions in problem size, the larger number being more typical, without loss of solution quality.


Journal of Parallel and Distributed Computing | 1996

Algorithms for Automatic Alignment of Arrays

Siddhartha Chatterjee; John R. Gilbert; Leonid Oliker; Robert Schreiber; Thomas J. Sheffler

Aggregate data objects (such as arrays) are distributed across the processor memories when compiling a data-parallel language for a distributed-memory machine. The mapping determines the amount of communication needed to bring operands of parallel operations into alignment with each other. A common approach is to break the mapping into two stages: analignmentthat maps all the objects to an abstract template, followed by adistributionthat maps the template to the processors. This paper describes algorithms for solving the various facets of the alignment problem: axis and stride alignment, static and mobile offset alignment, and replication labeling. We show that optimal axis and stride alignment is NP-complete for general program graphs and give a heuristic method that can explore the space of possible solutions in a number of ways. We show that some of these strategies can give better solutions than a simple greedy approach proposed earlier. We also show how local graph contractions can reduce the size of the problem significantly without changing the best solution. This allows more complex and effective heuristics to be used. We show how to model the static offset alignment problem using linear programming, and we show that loop-dependent mobile offset alignment is sometimes necessary for optimum performance. We describe an algorithm with for determining mobile alignments for objects withindoloops. We also identify situations in which replicated alignment is either required by the program itself or can be used to improve performance. We describe an algorithm based on network flow that replicates objects so as to minimize the total amount of broadcast communication in replication.


Archive | 2002

Memory module with offset data lines and bit line swizzle configuration

Billy Wayne Garrett; Frederick A. Ware; Craig E. Hampel; Richard M. Barth; Don Stark; Abhijit M. Abhyankar; Catherine Chen; Thomas J. Sheffler; Ely K. Tsern; Steven C. Woo


Archive | 2003

Memory system with channel multiplexing of multiple memory devices

Billy Wayne Garrett; Frederick A. Ware; Craig E. Hampel; Richard M. Barth; Donald C. Stark; Abhijit M. Abhyankar; Catherine Chen; Thomas J. Sheffler; Ely K. Tsern; Steven C. Woo


Archive | 1999

High speed memory system capable of selectively operating in non-chip-kill and chip-kill modes

Billy Wayne Garrett; Frederick A. Ware; Craig E. Hampel; Richard M. Barth; Don Stark; Abhijit M. Abhyankar; Catherine Chen; Thomas J. Sheffler; Ely K. Tsern; Steven C. Woo


Archive | 2010

Atomic memory device

Thomas J. Sheffler; Lawrence Lai; Liang Peng; Bohuslav Rychlik


symposium on frontiers of massively parallel computation | 1995

An object-oriented approach to nested data parallelism

Thomas J. Sheffler; Siddhartha Chatterjee


Journal of Programming Languages | 1994

Modeling Data-Parallel Programs with the Alignment-Distribution Graph

Siddhartha Chatterjee; John R. Gilbert; Robert Schreiber; Thomas J. Sheffler

Collaboration


Dive into the Thomas J. Sheffler's collaboration.

Researchain Logo
Decentralizing Knowledge