Matthew T. O'Keefe

dblp:20/3540 · DBLP profile ↗
← Back
16ranked-venue papers
6as first author
0since 2021 · last 2010
—ORCID · none

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

Systems, architecture and hardware · 15 · 6 first-authorSoftware engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Compilers and program optimization · 100%
Computer architecture, parallel and distributed computing, and storage systems
5 papers
Parallel and multicore computing · 57% Processor architecture and microarchitecture · 28% Electronic design automation · 11%

Topics — the 17 heaviest of 18, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization
register allocation
0.021997
Spill Code Minimization via Interference Region Spilling · PLDI 1997
Reducing memory traffic with CRegs · MICRO 1994
Compilers and program optimization › register allocation
graph coloring register allocation
0.011997
Spill Code Minimization via Interference Region Spilling · PLDI 1997
Compilers and program optimization › register allocation
spill code minimization
0.011997
Spill Code Minimization via Interference Region Spilling · PLDI 1997
Parallel and multicore computing › parallel scheduling
loop scheduling
0.011994
On Loop Transformations for Generalized Cycle Shrinking · IEEE Trans. Parallel Distributed Syst. 1994
Parallel and multicore computing
loop transformation
0.011994
On Loop Transformations for Generalized Cycle Shrinking · IEEE Trans. Parallel Distributed Syst. 1994
Compilers and program optimization
loop transformation
0.011993
Loop Coalescing and Scheduling for Barrier MIMD Architectures · IEEE Trans. Parallel Distributed Syst. 1993
Compilers and program optimization › loop transformation
nested loop scheduling
0.011993
Loop Coalescing and Scheduling for Barrier MIMD Architectures · IEEE Trans. Parallel Distributed Syst. 1993
Electronic design automation
design methodology
0.011992
On the Relationship Between Two Systolic Array Design Mehodologies · IEEE Trans. Computers 1992
Processor architecture and microarchitecture › parallel computer organization
systolic array design
0.011992
On the Relationship Between Two Systolic Array Design Mehodologies · IEEE Trans. Computers 1992
Processor architecture and microarchitecture
instruction-level parallelism
0.011989
Static synchronization beyond VLIW · SC 1989
Parallel and multicore computing › parallelizing compiler
dependence analysis
0.011994
On Loop Transformations for Generalized Cycle Shrinking · IEEE Trans. Parallel Distributed Syst. 1994
Processor architecture and microarchitecture
instruction set architecture
0.011994
Reducing memory traffic with CRegs · MICRO 1994
Parallel and multicore computing
parallelizing compiler
0.011994
On Loop Transformations for Generalized Cycle Shrinking · IEEE Trans. Parallel Distributed Syst. 1994
Processor architecture and microarchitecture
register file
0.011994
Reducing memory traffic with CRegs · MICRO 1994
Parallel and multicore computing › parallel algorithms › parallel algorithm design
parallel algorithm mapping
0.011992
On the Relationship Between Two Systolic Array Design Mehodologies · IEEE Trans. Computers 1992
Hardware accelerators and domain-specific architectures
systolic array
0.011992
On the Relationship Between Two Systolic Array Design Mehodologies · IEEE Trans. Computers 1992
Parallel and multicore computing › parallel computation models
parallel execution models
0.011989
Static synchronization beyond VLIW · SC 1989

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

optimistic coloring · 0.0loop coalescing · 0.0linear scheduling · 0.0interference region spilling · 0.0linear programming · 0.0parameter method · 0.0deconvolution · 0.0data dependency method · 0.0static barrier MIMD · 0.0
YearPublicationVenuePosition
2010 High performance solid state storage under Linux
abstract
Solid state drives (SSDs) allow single-drive performance that is far greater than disks can produce. Their low latency and potential for parallel operations mean that they are able to read and write data at speeds that strain operating system I/O interfaces. Additionally, their performance characteristics expose gaps in existing benchmarking methodologies. We discuss the impact on Linux system design of a prototype PCI Express SSD that operates at least an order of magnitude faster than most drives available today. We develop benchmarking strategies and focus on several areas where current Linux systems need improvement, and suggest methods of taking full advantage of such high-performance solid state storage. We demonstrate that an SSD can perform with high throughput, high operation rates, and low latency under the most difficult conditions. This suggests that high-performance SSDs can dramatically improve parallel I/O performance for future high performance computing (HPC) systems.
Eric Seppanen, Matthew T. O'Keefe, David J. Lilja
MSST2
1997 Spill Code Minimization via Interference Region Spilling
abstract
Many optimizing compilers perform global register allocation using a Chaitin-style graph coloring algorithm. Live ranges that cannot be allocated to registers are spilled to memory. The amount of code required to spill the live range depends on the spilling heuristic used. Chaitin's spilling heuristic offers some guidance in reducing the amount of spill code produced. However, this heuristic does not allow the partial spilling of live ranges and the reduction in spill code is limited to a local level. In this paper, we present a global technique called interference region spilling that improves the spilling granularity of any local spilling heuristic. Our technique works above the local spilling heuristic, limiting the normal insertion of spill code to a portion of each spilled live range. By partially spilling live ranges, we can achieve large reductions in dynamically executed spill code; up to 75% in some cases and an average of 33.6% across the benchmarks tested. 1 Introduction Gl...
Peter Bergner, Peter Dahl, David Engebretsen, Matthew T. O'Keefe
PLDI4
1995 Static Barrier MIMD: Architecture and Performance Analysis
Matthew T. O'Keefe, Henry G. Dietz
J. Parallel Distributed Comput.1
1995 A Comparison of Data-Parallel and Message-Passing Versions of the Miami Isopycnic Coordinate Ocean Model (MICOM)
abstract
A two-pronged effort to convert a recently developed ocean circulation model written in Fortran-77 for execution on massively parallel computers is described. A data-parallel version was developed for the CM-5 manufactured by Thinking Machines, Inc., while a message-passing version was developed for both the Cray T3D and the Silicon Graphics ONYX workstation. Since the time differentiation scheme in the ocean model is fully explicit and does not require solution of elliptic partial differential equations, adequate machine utilization has been achieved without major changes to the original algorithms. We developed a partitioning strategy for the message passing version that significantly reduces memory requirements and increases model speed. On a per-node basis (a T3D node is one Alpha processor, a CM-5 node is one Sparc chip and four vector units), the T3D and CM-5 are found to execute our “large” model version consisting of 511 × 511 horizontal mesh points at roughly the same speed.
Rainer Bleck, Sumner Dean, Matthew T. O'Keefe, Aaron Sawdey
Parallel Comput.3
1994 Reducing memory traffic with CRegs
abstract
Array and pointer references are often ambiguous in that compile time analysis cannot always determine if distinct references are to the same object. Ambiguously aliased objects are not allocated to registers by conventional compilers due to the cost of the loads and stores required to keep register copies consistent with memory and each other. There are several hardware and software strategies that can be used to solve the ambiguous alias problem; we have implemented one such scheme called CRegs in a compiler and instruction level simulator. We present a modification to Briggs' Optimistic Coloring Algorithm that allows us to allocate local and parameter arrays to CRegs. The CRegs register file operation and instruction set modifications required to implement this scheme are discussed. Underlying hardware issues such as pipeline impact and chip area are briefly discussed. Several benchmarks are compared in terms of dynamic instructions executed for two CReg set sizes. The measured reduction in memory operations is significant, averaging 23% for the benchmarks shown.
Peter Dahl, Matthew T. O'Keefe
MICRO2
1994 On Loop Transformations for Generalized Cycle Shrinking
abstract
This paper describes several loop transformation techniques for extracting parallelism from nested loop structures. Nested loops can then be scheduled to run in parallel so that execution time is minimized. One technique is called selective cycle shrinking, and the other is called true dependence cycle shrinking. It is shown how selective shrinking is related to linear scheduling of nested loops and how true dependence shrinking is related to conflict-free mappings of higher dimensional algorithms into lower dimensional processor arrays. Methods are proposed in this paper to find the selective and true dependence shrinkings with minimum total execution time by applying the techniques of finding optimal linear schedules and optimal and conflict-free mappings proposed by W. Shang and A.B. Fortes.>
Weijia Shang, Matthew T. O'Keefe, José A. B. Fortes
IEEE Trans. Parallel Distributed Syst.2
1993 Loop Coalescing and Scheduling for Barrier MIMD Architectures
abstract
Barrier MIMD's are asynchronous multiple instruction stream, multiple data stream architectures capable of parallel execution of variable execution time instructions and arbitrary control flow (e.g., while loops and calls); however, they differ from conventional MIMD's in that the need for run-time synchronization is significantly reduced. The authors consider the problem of scheduling nested loop structures on a barrier MIMD. The basic approach employs loop coalescing, a technique for transforming a multiply-nested loop into a single loop. Loop coalescing is extended to nested triangular loops, in which inner loop bounds are functions of outer loop indices. In addition, a more efficient scheme to generate the original loop indices from the coalesced index is proposed for the case of constant loop bounds. These results are general, and can be applied to extend previous work using loop coalescing techniques. The authors concentrate on using loop coalescing for scheduling barrier MIMDs, and show how previous work in loop transformations and linear scheduling theory can be applied to this problem.>
Matthew T. O'Keefe, Henry G. Dietz
IEEE Trans. Parallel Distributed Syst.1
1992 A CRegs Implementation Study Based on the MIPS-X RISC Processor
abstract
Most high-performance computers use registers to store program variables and temporaries for fast access, but many variables cannot be allocated to registers because of ambiguous aliases. Cache can be used to store these variables but does not provide the advantages of registers. A memory structure, CRegs, proposed by H. Dietz and C. Chi, (1988), provides the advantages of registers for variables previously allocated to cache. The feasibility of adding a CRegs file to the MIPS-X processor by providing the organization, high-level timing, and key circuits necessary to implement the feature is explored. This design allows a CReg file to be added to the processor without increasing the cycle time or imposing an exorbitant hardware cost.>
Steve Nowakowski, Matthew T. O'Keefe
ICCD2
1992 On the Relationship Between Two Systolic Array Design Mehodologies
abstract
The parameter method and data dependency method have been proposed as systematic design methodologies for systolic arrays. The authors describe the relationship between the two methodologies and show that the parameter method applies to a subclass of the algorithms that can be processed by the dependency method. The optimization procedure of the parameter method can be applied, in a restricted sense, within the framework of the dependency method. This procedure is used to derive an optimal array for the deconvolution algorithm.>
Matthew T. O'Keefe, José A. B. Fortes, Benjamin W. Wah
IEEE Trans. Computers1
1992 Static scheduling for barrier MIMD architectures
Henry G. Dietz, Abderrazek Zaafrani, Matthew T. O'Keefe
J. Supercomput.3
1991 On Loop Transformations for Generalized Cycle Shrinking
Weijia Shang, Matthew T. O'Keefe, José A. B. Fortes
ICPP (2)2
1990 Hardware Barrier Synchronization: Static Barrier MIMD (SBM)
Matthew T. O'Keefe, Henry G. Dietz
ICPP (1)1
1990 Hardware Barrier Synchronization: Dynamic Barrier MIMD (DBM)
Matthew T. O'Keefe, Henry G. Dietz
ICPP (1)1
1990 Static Scheduling for Barrier MIMD Architectures
Abderrazek Zaafrani, Henry G. Dietz, Matthew T. O'Keefe
ICPP (2)3
1989 Static synchronization beyond VLIW
abstract
A key advantage of SIMD (Single Instruction stream, Multiple Data stream) architectures is that synchronization is effected statically at compile-time, hence the execution-time cost of synchronization between “processes” is essentially zero. VLIW (Very Long Instruction Word) machines are successful in large part because they preserve this property while providing more flexibility in terms of what kinds of operations can be parallelized. In this paper, we propose a new kind of architecture — the “static barrier MIMD” or SBM — which can be viewed as a further generalization of the parallel execution abilities of static synchronization machines.
Henry G. Dietz, Thomas Schwederski, Matthew T. O'Keefe, Abderrazek Zaafrani
SC3
1986 A Comparative Study of Two Systematic Design Methodologies for Systolic Arrays
Matthew T. O'Keefe, José A. B. Fortes
ICPP1