David J. Kuck

dblp:59/1867 · DBLP profile ↗
← Back
45ranked-venue papers
17as first author
0since 2021 · last 2018
—ORCID · none

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

Systems, architecture and hardware · 35 · 13 first-authorSoftware engineering, systems software and programming languages · 4 · 3 first-authorTheory of computation · 4 · 3 first-authorDatabases, data management, data science and information retrieval · 2Applied, interdisciplinary, general and emerging computing · 2

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
26 papers
High-performance computing · 50% Electronic design automation · 25% Performance modeling and evaluation · 18%
Software engineering, system software, and programming languages
7 papers
Compilers and program optimization · 66% Program analysis · 24% Operating systems · 10%

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

TopicWeightPapersLastEvidence papers
High-performance computing › performance optimization
auto-tuning
0.312018
The Long and Winding Road Toward Efficient High-Performance Computing · Proc. IEEE 2018
Electronic design automation
hardware/software co-design
0.312018
The Long and Winding Road Toward Efficient High-Performance Computing · Proc. IEEE 2018
High-performance computing
performance optimization
0.312018
The Long and Winding Road Toward Efficient High-Performance Computing · Proc. IEEE 2018
Performance modeling and evaluation
benchmarking
0.122018
The Long and Winding Road Toward Efficient High-Performance Computing · Proc. IEEE 2018
The Cedar System and an Initial Performance Study · ISCA 1993
Performance modeling and evaluation
performance analysis tools
0.112018
The Long and Winding Road Toward Efficient High-Performance Computing · Proc. IEEE 2018
Distributed systems
peer-to-peer systems
0.012001
Peer to peer and distributed computing (abstract) · PPoPP 2001
Performance modeling and evaluation › parallel system performance
multiprocessor performance evaluation
0.011993
The Cedar System and an Initial Performance Study · ISCA 1993
Performance modeling and evaluation
parallel performance evaluation
0.011993
The Cedar System and an Initial Performance Study · ISCA 1993
Performance modeling and evaluation
workload characterization
0.031993
On Input/Output Speedup in Tightly Coupled Multiprocessors · IEEE Trans. Computers 1986
The Cedar System and an Initial Performance Study · ISCA 1993
A system model for computer performance evaluation · SIGMETRICS 1976
Parallel and multicore computing
processor allocation
0.011989
Utilizing Multidimensional Loop Parallelism on Large-Scale Parallel Processor Systems · IEEE Trans. Computers 1989
Parallel and multicore computing › parallel scheduling
loop scheduling
0.011987
Guided Self-Scheduling: A Practical Scheduling Scheme for Parallel Supercomputers · IEEE Trans. Computers 1987
Performance modeling and evaluation › parallel system performance
speedup modeling
0.011986
On Input/Output Speedup in Tightly Coupled Multiprocessors · IEEE Trans. Computers 1986
Memory systems › memory architecture
interleaved memory
0.031982
The Burroughs Scientific Processor (BSP) · IEEE Trans. Computers 1982
On the Effective Bandwidth of Parallel Memories · IEEE Trans. Computers 1977
A Preprocessing High-Speed Memory System · IEEE Trans. Computers 1970
Performance modeling and evaluation › benchmarking
parallel benchmark
0.011993
The Cedar System and an Initial Performance Study · ISCA 1993
Query processing and optimization
parallel query processing
0.011984
A Parallel Pipelined Relational Query Processor · ACM Trans. Database Syst. 1984
High-performance computing
supercomputing
0.021982
The Burroughs Scientific Processor (BSP) · IEEE Trans. Computers 1982
ILLIAC IV Software and Application Programming · IEEE Trans. Computers 1968
High-performance computing
parallel numerical algorithms
0.021978
On Stable Parallel Linear System Solvers · J. ACM 1978
A Parallel QR Algorithm for Symmetric Tridiagonal Matrices · IEEE Trans. Computers 1977
Processor architecture and microarchitecture
vector processing
0.011982
The Burroughs Scientific Processor (BSP) · IEEE Trans. Computers 1982
Compilers and program optimization › program transformation
compiler transformations
0.011981
Dependence Graphs and Compiler Optimizations · POPL 1981
Compilers and program optimization › memory optimization
data locality optimization
0.011981
On the Performance Enhancement of Paging Systems Through Program Analysis and Transformations · IEEE Trans. Computers 1981
Program analysis › program representation
dependence graphs
0.011981
Dependence Graphs and Compiler Optimizations · POPL 1981
Compilers and program optimization
program transformation
0.011981
On the Performance Enhancement of Paging Systems Through Program Analysis and Transformations · IEEE Trans. Computers 1981
Storage systems
paging performance
0.011981
On the Performance Enhancement of Paging Systems Through Program Analysis and Transformations · IEEE Trans. Computers 1981
Memory systems › memory management
virtual memory
0.011981
On the Performance Enhancement of Paging Systems Through Program Analysis and Transformations · IEEE Trans. Computers 1981
Electronic design automation
high-level synthesis
0.011980
Automatic design with dependence graphs · DAC 1980
Processor architecture and microarchitecture › multiprocessor architecture
multiprocessor design
0.011980
High-Speed Multiprocessors and Compilation Techniques · IEEE Trans. Computers 1980
Parallel and multicore computing
parallel algorithms
0.021975
Time and Parallel Processor Bounds for Linear Recurrence Systems · IEEE Trans. Computers 1975
Time Bounds on the Parallel Evaluation of Arithmetic Expressions · SIAM J. Comput. 1975
Parallel and multicore computing › parallelizing compiler
dependence analysis
0.011979
Time and Parallel Processor Bounds for Fortran-Like Loops · IEEE Trans. Computers 1979
Parallel and multicore computing › parallelization strategies › loop parallelism
parallel loop execution
0.011979
Time and Parallel Processor Bounds for Fortran-Like Loops · IEEE Trans. Computers 1979
High-performance computing › numerical linear algebra › linear solver
parallel linear solvers
0.011978
On Stable Parallel Linear System Solvers · J. ACM 1978

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

performance analysis · 0.3auto-tuning · 0.3performance measurement · 0.0benchmarking methodology · 0.0parafrase · 0.0optimal processor assignment · 0.0analytical modeling · 0.0load balancing · 0.0empirical measurement · 0.0analytic speedup modeling · 0.0dependence analysis · 0.0source-to-source transformation · 0.0program analysis · 0.0pipelining · 0.0crossbar switching · 0.0LRU replacement · 0.0parse tree reduction · 0.0givens reduction · 0.0
YearPublicationVenuePosition
2018 The Long and Winding Road Toward Efficient High-Performance Computing
abstract
The major challenge to Exaflop computing, and more generally, efficient high-end computing, is in finding the best “matches” between advanced hardware capabilities and the software used to program applications, so that top performance will be achieved. Several benchmarks show very disappointing performance progress over the last decade, clearly indicating a mismatch between hardware and software. To remedy this problem, it is important that key performance enablers at the software level-autotuning, performance analysis tools, full application optimization-are understood. For each area, we highlight major limitations and most promising approaches to reaching better performance and energy levels. Finally, we conclude by analyzing hardware and software design, trying to pave the way for more tightly integrated hardware and software codesign.
William Jalby, David J. Kuck, Allen D. Malony, Michel Masella, Abdelhafid Mazouz, Mihail Popov
Proc. IEEE2
2017 An Incremental Methodology for Energy Measurement and Modeling
abstract
This paper presents an empirical approach to measuring and modeling the energy consumption of multicore processors.The modeling approach allows us to find a breakdown of the energy consumption among a set of key hardware components, also called HW nodes. We explicitly model the front-end and the back-end in terms of the number of instructions executed. We also model the L1, L2 and L3 caches. Furthermore, we explicitly model the static and dynamic energy consumed by the the uncore and core components. From a software perspective, our methodology allows us to correlate energy to the executed code, which helps find opportunities for code optimization and tuning.
Abdelhafid Mazouz, David C. Wong 0001, David J. Kuck, William Jalby
ICPE3
2013 Keynote talk: A comprehensive approach to HW/SW codesign
abstract
Summary form only given. Energy/performance results for parallel (and sequential) computing are still, usually hard to predict and often disappointing. A model using invariant-based equations is being applied to predict energy/performance as HW and SW are changed in codesign studies. The physical model consists of HW nodes chosen to match architectural issues, together with automatically extracted SW codelets that are easy to measure and model. HW/SW measurements of computational capacity (BW used) and power [based on HW counters and SW modification (Decan)] are used by the Cape tool to evaluate tradeoffs quickly and find optimal solutions to various codesign problems. Codelets from a number of real applications are being analyzed and modeled.
David J. Kuck
PACT1
2002 Clustered approaches to HPC via commodity HW + highly evolved SW
abstract
Building HPC systems from small, cost/effective production nodes has been a favored engineering approach for many years. Technology has driven a variety of solutions over time. Today, commodity SMP nodes and interconnection networks, together with highly evolved programming models and parallel software engineering tools make a compelling combination. An overview of these topics will be presented, together with some specific solution examples. Open problems and issues will be discussed.
David J. Kuck
ICS1
2001 Peer to peer and distributed computing (abstract)
abstract
No abstract available.
David J. Kuck
PPoPP1
1994 On the Effectiveness of Combining in Resolving "Hot Spot" Contention
Gyungho Lee, Clyde P. Kruskal, David J. Kuck
J. Parallel Distributed Comput.3
1993 Newton: Performance Improvement Through Comparative Analysis
abstract
In this paper, we describe a methodology for analysis and improvement of computer systems through comparative evaluation, and Newton, a prototype implementation of this methodology. Newton aids its users in identifying and understanding the keys to performance of existing computer systems by finding characteristics which differentiate the performance of any given pair of systems. Newton collects information about a computer, builds a model which allocates the running time of program segments (e.g. loops and basic blocks) to various hardware and software components of the system, highlights differences between multiple systems by comparing the measured data and model, and predicts what performance improvement will result if a discovered bottleneck is alleviated from the system.>
Lyle D. Kipp, David J. Kuck
ICCD2
1993 The Cedar System and an Initial Performance Study
abstract
In this paper, we give an overview of the Cedar multiprocessor and present recent performance results. These include the performance of some computational kernels and the Perfect Benchmarks. We also present a methodology for judging parallel system performance and apply this methodology to Cedar, Cray YMP-8, and Thinking Machines CM-5.
David J. Kuck, Edward S. Davidson, Duncan H. Lawrie, Ahmed H. Sameh, Chuanqi Zhu, Alexander V. Veidenbaum, Jeff Konicek, Pen-Chung Yew, Kyle A. Gallivan, William Jalby, Harry A. G. Wijshoff, Randall Bramley, Ulrike Meier Yang, Perry A. Emrath, David A. Padua, Rudolf Eigenmann, Jay P. Hoeflinger, Greg P. Jaxon, Zhiyuan Li 0001, T. Murphy, John T. Andrews, Stephen W. Turner
ISCA1
1991 The Organization of the Cedar System
Jeff Konicek, Tracy Tilton, Alexander V. Veidenbaum, Chuanqi Zhu, Edward S. Davidson, Ruppert A. Downing, Michael J. Haney, Pen-Chung Yew, P. Michael Farmwald, David J. Kuck, Daniel M. Lavery, Robert A. Lindsey, D. Pointer, John T. Andrews, T. Murphy, Stephen W. Turner, Nancy J. Warter
ICPP (1)11
1990 Supercomputer performance evaluation and the Perfect Benchmarks
abstract
In the past three years, the Perfect BenchmarkTM Suite has evolved from a supercomputer performance evaluation plan, presented by Kuck and Sameh at the 1987 International Conference on Supercomputing, to a vigorous international activity. This paper surveys the current state of this supercomputer performance evaluation effort with particular focus on the adopted methodology. While there has been considerable success in achieving the goals of the plan, some issues remain unresolved, and new questions have surfaced.
George Cybenko, Lyle D. Kipp, Lynn Pointer, David J. Kuck
ICS4
1989 Utilizing Multidimensional Loop Parallelism on Large-Scale Parallel Processor Systems
abstract
Program parallelism and processor allocation issues for parallel processor systems are discussed. Optimal processor assignment algorithms are presented for simple and complex nested parallel loops. These processor assignment schemes can be used by the compiler to perform static processor allocation to multiply nested parallel loops. Speedup measurements for EISPACK and IEEE DSP subroutines that result from the optimal assignment of processors to parallel loops are also presented. These measurements indicate that optimal processor assignments result in almost linear speedups on parallel processor machines with a few tens of processes and significantly high speedups for machines with hundreds or thousands of processors.>
Constantine D. Polychronopoulos, David J. Kuck, David A. Padua
IEEE Trans. Computers2
1988 Automatic Compound Function Definition for Multiprocessors
Harlan E. Husmann, David J. Kuck, David A. Padua
ICPP (2)2
1988 Special Issue on Languages, Compilers and Environments for Parallel Programming
David J. Kuck, Constantine D. Polychronopoulos
J. Parallel Distributed Comput.1
1987 A Supercomputing Performance Evaluation Plan
David J. Kuck, Ahmed H. Sameh
ICS1
1987 Guided Self-Scheduling: A Practical Scheduling Scheme for Parallel Supercomputers
abstract
This paper proposes guided self-scheduling, a new approach for scheduling arbitrarily nested parallel program loops on shared memory multiprocessor systems. Utilizing loop parallelism is clearly most crucial in achieving high system and program performance. Because of its simplicity, guided self-scheduling is particularly suited for implementation on real parallel machines. This method achieves simultaneously the two most important objectives: load balancing and very low synchronization overhead. For certain types of loops we show analytically that guided self-scheduling uses minimal overhead and achieves optimal schedules. Two other interesting properties of this method are its insensitivity to the initial processor configuration (in time) and its parameterized nature which allows us to tune it for different systems. Finally we discuss experimental results that clearly show the advantage of guided self-scheduling over the most widely known dynamic methods.
Constantine D. Polychronopoulos, David J. Kuck
IEEE Trans. Computers2
1986 The Effectiveness of Combining in Shared Memory Parallel Computer in the Presence of "Hot Spots"
Gyungho Lee, Clyde P. Kruskal, David J. Kuck
ICPP3
1986 Execution of Parallel Loops on Parallel Processor Systems
Constantine D. Polychronopoulos, David J. Kuck, David A. Padua
ICPP2
1986 On Input/Output Speedup in Tightly Coupled Multiprocessors
abstract
Previous models of program speedup on parallel architectures tend to ignore I/O activity and other important issues. In this paper we derive analytic speedup models including I/O activities. We show that ignoring I/O yields conservative speedup results. We explore the effectiveness of using hardware format conversion units in multiprocessors [33]. We prove that hardware parallel format conversion loses its edge over software parallel format conversion if the ratio of the number of processors to I/O bandwidth increases. For a given number of processors, program speedup is more sensitive to the available I/O bandwidth rather than the format conversion speed. Ninety-one Fortran programs are used in various experiments to verify our models and conclusions. Most of the programs are I/O bound. Our empirical results show that including I/O activity improves the speedup factor for 78 percent of the programs, and 18 percent of the programs are sped up only due to faster I/O activities. For a serial machine, using hardware format conversion units designed in [13] reduces program execution time by an average factor of three. The software format conversion speed used is obtained from direct measurements on an IBM 4341 running CMS and a CDC Cyber 175 running NOS. For multiprocessor systems a factor of eight increase in the processors to I/O bandwidth ratio reduces the effectiveness of hardware format conversion to an average factor of 1.36.
Walid A. Abu-Sufah, Harlan E. Husmann, David J. Kuck
IEEE Trans. Computers3
1985 The Effectiveness of Automatic Restructuring on Nonnumerical Programs
Gyungho Lee, Clyde P. Kruskal, David J. Kuck
ICPP3
1985 An Empirical Study of Automatic Restructuring of Nonnumerical Programs for Parallel Processors
abstract
The feasibility of automatic restructuring of nonnumerical programs for parallel processing is studied through experiments using Parafrase, an automatic restructurer at the University of Illinois, Urbana-Champaign. Parallel processing speedup results due to automatic restructuring for several basic nonnumerical problems are presented. The loops encountered are classified at a low level. On the basis of the speedup results and the analyses of the loop types, the difficulty and the effectiveness of automatic restructuring are discussed. The experiments suggest that automatic restructuring can be a useful tool for exploiting parallelism in the sequential form of nonnumerical programs.
Gyungho Lee, Clyde P. Kruskal, David J. Kuck
IEEE Trans. Computers3
1984 A Parallel Pipelined Relational Query Processor
abstract
This paper presents the design of a relational query processor. The query processor consists of only four processing PIPEs and a number of random-access memory modules. Each PIPE processes tuples of relations in a bit-serial, tuple-parallel manner for each of the primitive database operations which comprise a complex relational query. The design of the query processor meets three major objectives: the query processor must be manufacturable using existing and near-term LSI (VLSI) technology; it must support in a uniform manner both the numeric and nonnumeric processing requirements a high-level user interface like SQL presents; and it must support the query-processing strategy derived in the query optimizer to satisfy certain system-wide performance optimality criteria.
Won Kim 0001, Daniel Gajski, David J. Kuck
ACM Trans. Database Syst.3
1983 Cedar : A Large Scale Multiprocessor
Daniel Gajski, David J. Kuck, Duncan H. Lawrie, Ahmed H. Sameh
ICPP2
1982 The Burroughs Scientific Processor (BSP)
abstract
The Burroughs Scientific Processor (BSP), a high-performance computer system, performed the Department of Energy LLL loops at roughly the speed of the CRAY-1. The BSP combined parallelism and pipelining, performing memory-to-memory operations. Seventeen memory units and two crossbar switch data alignment networks provided conflict-free access to most indexed arrays. Fast linear recurrence algorithms provided good performance on constructs that some machines execute serially. A system manager computer ran the operating system and a vectorizing Fortran compiler. An MOS file memory system served as a high bandwidth secondary memory.
David J. Kuck, Richard A. Stokes
IEEE Trans. Computers1
1981 Dependence Graphs and Compiler Optimizations
abstract
Dependence graphs can be used as a vehicle for formulating and implementing compiler optimizations. This paper defines such graphs and discusses two kinds of transformations. The first are simple rewriting transformations that remove dependence arcs. The second are abstraction transformations that deal more globally with a dependence graph. These transformations have been implemented and applied to several different types of high-speed architectures.
David J. Kuck, Robert H. Kuhn, David A. Padua, Bruce Leasure, Michael Wolfe
POPL1
1981 On the Performance Enhancement of Paging Systems Through Program Analysis and Transformations
abstract
It is possible to improve the paging performance of a program by applying transformations to the source program that improve data access locality. We discuss this subject in general terms, including automation of these transformations, and present a number of such transforms. This is followed by experimental results which indicate that these transformations are indeed effective. Use of practical, simple memory management policies like the fixed allocation local lru replacement algorithm leads to average improvements over untransformed programs of a factor of 10 in space-time cost, and a factor of 5 in memory size. Multiprogramming questions are also discussed.
Walid A. Abu-Sufah, David J. Kuck, Duncan H. Lawrie
IEEE Trans. Computers2
1980 Automatic design with dependence graphs
abstract
A design automation system for the design of digital systems from a high-level algorithmic description is proposed. The definition of the data-dependence graph and techniques for performing transformations that lead to optimization of hardware are described. The system can be used on several levels of design with the VLSI layout level given particular emphasis.
Albert E. Casavant, Daniel Gajski, David J. Kuck
DAC3
1980 High-Speed Multiprocessors and Compilation Techniques
abstract
The purpose of this paper is to present some ideas on multiprocessor design and on automatic translation of sequential programs into parallel programs for multiprocessors. With respect to machine design, two subjects are discussed. First, a multiprocessor allowing parallelism at a very low level is sketched and then, a brief discussion on the interconnection network is presented.
David A. Padua, David J. Kuck, Duncan H. Lawrie
IEEE Trans. Computers2
1979 The use of vocabulary files for on-line information retrieval
T. G. Burket, Perry A. Emrath, David J. Kuck
Inf. Process. Manag.3
1979 Time and Parallel Processor Bounds for Fortran-Like Loops
abstract
The main goal of this paper is to show that a large number of processors can be used effectively to speed up simple Fortran-like loops consisting of assignment statements. A practical method is given by which one can check whether or not a statement is dependent upon another. The dependence structure of the whole loop may be of different types. For each type, a set of time and processor upper bounds is given. We also show how a loop can sometimes be transformed to change its dependence structure. Finally, we give a result on the possible splitting up of a given recurrence system into a number of smaller subsystems. These results can be used to modify and sometimes improve the bounds for the loops as demanded by special circumstances.
Utpal Banerjee, Shyh-Ching Chen, David J. Kuck, Ross A. Towle
IEEE Trans. Computers3
1978 On Stable Parallel Linear System Solvers
abstract
In this paper three stable parallel algorithms for solving dense and tndlagonai systems of lmear equations are discussed The algorithms are based on Givens' reduction of a matrix to the upper triangular form The algorithm for the dense case requires O(n) time steps compared to O(n log n) steps for Gausslan ehmmatlon with pivoting (in the absence of certain features of machine logic and hardware) For the trldlagonal case, one of the algorithms presented here is superior to the best previous algorithm in that with a modest increase in time It does not fall if any of the leading pnnclpal submatrlces is singular, the probablhty of over-or underflow is minimized, and the error bound does not grow exponentially Furthermore, it is most statable when only a hmtted number of processors ts available.
Ahmed H. Sameh, David J. Kuck
J. ACM2
1978 Practical Parallel Band Triangular Systems Solvers
abstract
article Free Access Share on Practical Parallel Band Triangular System Solvers Authors: S. C. Chen Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, ILView Profile , D. J. Kuck Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, ILView Profile , A. H. Sameh Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, ILView Profile Authors Info & Claims ACM Transactions on Mathematical SoftwareVolume 4Issue 3Sept. 1978 pp 270–277https://doi.org/10.1145/355791.355797Published:01 September 1978Publication History 80citation447DownloadsMetricsTotal Citations80Total Downloads447Last 12 Months20Last 6 weeks3 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 Alerts New Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Shyh-Ching Chen, David J. Kuck, Ahmed H. Sameh
ACM Trans. Math. Softw.2
1977 On the Effective Bandwidth of Parallel Memories
abstract
The object of this paper is to bring together several models of interleaved or parallel memory systems and to expose some of the underlying assumptions about the address streams in each model. We derive the performance for each model, either analytically or by simulation, and discuss why it yields better or worse performance than other models (e.g., because of dependencies in the address stream or hardware queues, etc.). We also show that the performance of a properly designed system can be a linear rather than a square root function of the number of memories and processors.
Donald Y. Chang, David J. Kuck, Duncan H. Lawrie
IEEE Trans. Computers2
1977 Combinational Circuit Synthesis with Time and Component Bounds
abstract
New results are given concerning the design of combinational logic circuits. We give time and component bounds for combinational circuits specified in several ways. For any sequential machine defined by linear recurrence relations, we discuss an algorithm for the synthesis of equivalent combinational logic. The procedure includes upper bounds on the time and components involved. We also discuss the transformation of nonlinear recurrences into combinational circuits. Examples are given using gates as well as IC's as components. These include binary addition, multiplication, and ones' position counting. The time and component bounds our procedure yields compare favorably with traditional results.
Shyh-Ching Chen, David J. Kuck
IEEE Trans. Computers2
1977 Analysis of Rounding Methods in Floating-Point Arithmetic
abstract
The error properties of floating-point arithmetic using various rounding methods (including ROM rounding, a new scheme) are analyzed. Guard digits are explained, and the rounding schemes' effectiveness are evaluated and compared.
David J. Kuck, Douglas Stott Parker Jr., Ahmed H. Sameh
IEEE Trans. Computers1
1977 A Parallel QR Algorithm for Symmetric Tridiagonal Matrices
abstract
We show that if the size of the tridiagonal matrix in any given iteration is n, then the parallel QR algorithm requires 0(log2n) steps with 0(n) processors per iteration and no square roots. This results in a speedup of 0(n/log2n) over the sequential algorithm with an efficiency of 0(1/log2n). We also give an error analysis of the parallel triangular system solvers used in each iteration.
Ahmed H. Sameh, David J. Kuck
IEEE Trans. Computers2
1976 A system model for computer performance evaluation
abstract
A framework for the study of computer capacity is given by means of a definition of capacity in terms of speeds of various parts of a computer as well as memory size. In addition to these machine parameters, we also include certain parameters of the programs to be run on a given machine. The calculation of theoretical capacity is given for several combinations of processor, memory, and I/O bandwidth for overlapped machines. The tradeoff between primary memory size and I/O bandwidth is discussed in terms of the new definition.
David J. Kuck
SIGMETRICS1
1975 ROM-rounding: A new rounding scheme
abstract
ROM-rounding is introduced and is shown to compare favorably with existing floating-point rounding methods on design considerations and on performance over a series of error tests. The error-retarding value of guard digits, of rounding the aligned operand, and of rounding in general are discussed.
David J. Kuck, Douglas Stott Parker Jr., Ahmed H. Sameh
IEEE Symposium on Computer Arithmetic1
1975 Time Bounds on the Parallel Evaluation of Arithmetic Expressions
abstract
This paper presents a number of bounds on the parallel processor evaluation of arithmetic expressions. Several previous papers show that if the evaluation of an expression using a serial computer requires t operations, by using a number of processors in parallel, the expression may be evaluated in time proportional to $\log _2 t$. Since $\log _2 t$ is an obvious lower bound, it is of interest to attempt to approach this bound. The present paper shows that if more information than the number of operations (or operands) is known, sharper bounds may be given in certain cases. Thus if the number of parenthesis pairs is small or if the depth of parenthesis nesting is small, we may approach the lower bound. A new bound is also given for expressions which have few division operations. Similarly, if the expression’s form is restricted, sharper bounds may be found. Thus generalizations of polynomials and generalizations of continued fractions are shown to have improved bounds. We also give a new bound for expressions without division operations which have a limited number of parenthesis pairs. Finally, we give an upper bound on the time to evaluate expressions in which multiplication is not commutative.
David J. Kuck, Kiyoshi M. Maruyama
SIAM J. Comput.1
1975 Time and Parallel Processor Bounds for Linear Recurrence Systems
abstract
We give new time and processor bounds for the parallel evaluation of linear recurrence systems. Such systems may be represented as x̄ =c̄ + Ax̄ where A is an n X n strictly lower triangular matrix and c is a constant column vector. We show that O og22n) time steps and n3/ 8 + 0O2) processors are sufficient. We also show that mth order linear recurrences, i. e., where A has a bandwidth of m, can be computed within O(log2mlog2n) time steps with at most 3m2n/4 + O(mn) processors. In all cases, our bounds on time and processors are improvements on previous results, and the computer need only perform one type of operation at each time step (SIMD operation). By a simple transformation, the results can also be applied to the solution of any triangular linear system of equations Ax̄ = b̄.
Shyh-Ching Chen, David J. Kuck
IEEE Trans. Computers2
1974 Bounds on the Parallel Evaluation of Arithmetic Expressions Using Associativity and Commutativity
David J. Kuck, Yoichi Muraoka
Acta Informatica1
1972 On the Number of Operations Simultaneously Executable in Fortran-Like Programs and Their Resulting Speedup
abstract
This paper is concerned with the problem of analyzing ordinary Fortran-like programs to determine how many of their operations could be performed simultaneously. Algorithms are presented for handling arithmetic assignment statements, DO loops and IF statement trees. The height of the parse trees of arithmetic expressions is reduced by distribution of multiplication over addition as well as the use of associativity and commutativity. DO loops are analyzed in terms of their index sets and subscript forms. Some general underlying assumptions about machine organization are also given. In terms of several measures which are defined, the results of experimental analyses are presented. About 20 Fortran IV programs consisting of nearly 1000 source cards were analyzed. Evidence is given that for very simple Fortran programs 16 processors could be effectively used operating simultaneously in a parallel or pipeline fashion. Thus, for medium or large size Fortran programs, machines consisting of multiples of a basic 16 processor unit could be used.
David J. Kuck, Yoichi Muraoka, Shyh-Ching Chen
IEEE Trans. Computers1
1970 A Preprocessing High-Speed Memory System
abstract
The fastest parallel and pipeline computers presently being designed use interleaved memory systems with more than 16 individual memory units. A common difficulty in these machines is the alignment of data before it is arithmetically processed. Usually the arithmetic unit is used to preprocess the data. This may increase the computation time by a factor of two or more. This paper proposes a programmed memory preprocessing system which aligns the data before it is passed to the arithmetic processor.
David J. Kuck
IEEE Trans. Computers1
1968 The ILLIAC IV Computer
abstract
Abstract—The structure of ILLIAC IV, a parallel-array computer containing 256 processing elements, is described. Special features include multiarray processing, multiprecision arithmetic, and fast data-routing interconnections. Individual processing elements execute 4×106instructions per second to yield an effective rate of 109 operations per second.
George H. Barnes, Richard M. Brown, Maso Kato, David J. Kuck, Daniel L. Slotnick, Richard A. Stokes
IEEE Trans. Computers4
1968 R68-23 The Greenblatt Chess Program
abstract
For more than fifteen years, people have been talking and writing about the possibility of chess playing programs. Previous "successful" programs have played a scaled-down game, parts of the game, or a weak overall game. This paper describes the first chess program to play a creditable amateur tournament game; it won the class D trophy in a Massachusetts State Chess Association Amateur Tournament. The paper is a well-written case study in artificial intelligence.
David J. Kuck
IEEE Trans. Computers1
1968 ILLIAC IV Software and Application Programming
abstract
Abstract—An overview of the ILLIAC IV system is given and its software plans are discussed.
David J. Kuck
IEEE Trans. Computers1