Marina C. Chen

dblp:c/MarinaCChen · DBLP profile ↗
← Back
15ranked-venue papers
8as first author
0since 2021 · last 1999
—ORCID · none

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

Systems, architecture and hardware · 12 · 5 first-authorSoftware engineering, systems software and programming languages · 3 · 2 first-authorTheory of computation · 1 · 1 first-author

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
8 papers
Parallel and multicore computing · 90% Integrated circuit design · 8% High-performance computing · 3%
Software engineering, system software, and programming languages
6 papers
Compilers and program optimization · 90% Programming languages and type systems · 10%
Theoretical computer science
1 paper
Distributed computing theory · 100%

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

TopicWeightPapersLastEvidence papers
Parallel and multicore computing
parallel programming models
0.031992
Prototyping Fortran-90 Compilers for Massively Parallel Machines · PLDI 1992
Compiling Communication-Efficient Programs for Massively Parallel Machines · IEEE Trans. Parallel Distributed Syst. 1991
A Parallel Language and its Compilation to Multiprocessor Machines or VLSI · POPL 1986
Compilers and program optimization
parallelizing compiler
0.031991
Compiling Communication-Efficient Programs for Massively Parallel Machines · IEEE Trans. Parallel Distributed Syst. 1991
Generating explicit communication from shared-memory program references · SC 1990
A Parallel Language and its Compilation to Multiprocessor Machines or VLSI · POPL 1986
Parallel and multicore computing › parallel computing
parallel programming languages
0.011993
Common runtime support for high-performance parallel languages · SC 1993
Parallel and multicore computing
parallel programming runtimes
0.011993
Common runtime support for high-performance parallel languages · SC 1993
Compilers and program optimization › compiler construction
retargetable compilation
0.011992
Prototyping Fortran-90 Compilers for Massively Parallel Machines · PLDI 1992
Parallel and multicore computing › data-parallel programming
data-parallel compilation
0.011992
Prototyping Fortran-90 Compilers for Massively Parallel Machines · PLDI 1992
Compilers and program optimization
dependence analysis
0.011990
Subdomain dependence test for massive parallelism · SC 1990
Parallel and multicore computing
parallelizing compiler
0.011990
Subdomain dependence test for massive parallelism · SC 1990
Integrated circuit design
VLSI design
0.021988
The Generation of a Class of Multipliers: Synthesizing Highly Parallel Algorithms in VLSI · IEEE Trans. Computers 1988
A Parallel Language and its Compilation to Multiprocessor Machines or VLSI · POPL 1986
Parallel and multicore computing
load balancing
0.011988
From Local to Global: An Analysis of Nearest Neighbor Balancing on Hypercubes · SIGMETRICS 1988
Distributed computing theory › interconnection networks
hypercube network
0.011988
From Local to Global: An Analysis of Nearest Neighbor Balancing on Hypercubes · SIGMETRICS 1988
Parallel and multicore computing › parallel architecture
massively parallel processor
0.021992
Prototyping Fortran-90 Compilers for Massively Parallel Machines · PLDI 1992
Compiling Communication-Efficient Programs for Massively Parallel Machines · IEEE Trans. Parallel Distributed Syst. 1991
Parallel and multicore computing › parallel programming models
parallel language design
0.011986
A Parallel Language and its Compilation to Multiprocessor Machines or VLSI · POPL 1986
Compilers and program optimization
parallel language compilation
0.011993
Common runtime support for high-performance parallel languages · SC 1993
High-performance computing
distributed memory systems
0.011991
Compiling Communication-Efficient Programs for Massively Parallel Machines · IEEE Trans. Parallel Distributed Syst. 1991
Programming languages and type systems
functional language
0.011990
Generating explicit communication from shared-memory program references · SC 1990
Programming languages and type systems
functional programming
0.011990
Subdomain dependence test for massive parallelism · SC 1990
Parallel and multicore computing › parallel programming models
distributed memory programming
0.011990
Generating explicit communication from shared-memory program references · SC 1990
Parallel and multicore computing › parallel algorithms
parallel algorithm design
0.011988
The Generation of a Class of Multipliers: Synthesizing Highly Parallel Algorithms in VLSI · IEEE Trans. Computers 1988

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

runtime system · 0.0formal specification · 0.0data-parallel fortran-90 · 0.0data layout selection · 0.0communication metric · 0.0reference pattern matching · 0.0iteration space analysis · 0.0dependence test · 0.0aggregate communication · 0.0discrete-time analysis · 0.0stochastic modeling · 0.0granularity optimization · 0.0
YearPublicationVenuePosition
1999 CRAFT: a framework for F90/HPF compiler optimizations
abstract
In this paper, we give an overview of the results of the CRAFT optimising compiler project (Fortran 90/HPF subset compilers). We start by describing the theoretical framework within which we designed program transformations for the optimization of inter- and intra-procedural data motion, as well as the optimizations for parallel loops; we then describe the implementation of the CRAFT compilers for Thinking Machines' CM-2 and CM-5. We report results from experiments on the Connection Machine CM-5, the IBM SP-2 and a network of UltraSparc workstations. The results demonstrate that these optimizations can achieve significant object code performance improvement. Copyright © 1999 John Wiley & Sons, Ltd.
Jan-Jan Wu, Marina C. Chen, James R. Cowie
Concurr. Pract. Exp.2
1997 Java's role in distributed collaboration
abstract
In this paper, we sketch some techniques for using Java to improve the state-of-the-art in scalable collaboration management for scientific and engineering applications. We argue that flexibility, cost containment and support for large-scale collaboration must join raw performance as metrics for successful, scalable HPC software. Finally, we summarize our experience with large-scale Web-based collaboration, and describe some plans for future work. © 1997 John Wiley & Sons, Ltd.
Marina C. Chen, James R. Cowie
Concurr. Pract. Exp.1
1993 Common runtime support for high-performance parallel languages
abstract
No abstract available.
Geoffrey C. Fox, Sanjay Ranka, Michael L. Scott, Allen D. Malony, James C. Browne, Marina C. Chen, Alok N. Choudhary, Thomas E. Cheatham, Janice E. Cuny, Rudolf Eigenmann, Amr F. Fahmy, Ian T. Foster, Dennis Gannon, Tomasz Haupt, Carl Kesselman, Charles Koelbel, Wei Li 0015, Monica S. Lam, Thomas J. LeBlanc, Jim Openshaw, David A. Padua, Constantine D. Polychronopoulos, Joel H. Saltz, Alan Sussman, Gil Weigand, Katherine A. Yelick
SC6
1992 Prototyping Fortran-90 Compilers for Massively Parallel Machines
abstract
Massively parallel architectures, and the languages used to program them, are among both the most difficult and the most rapidly-changing subjects for compilation. This has created a demand for new compiler prototyping technologies that allow novel styles of compilation and optimization to be tested in a reasonable amount of time. Using formal specification techniques, we have produced a data-parallel Fortran-90 subset compiler for Thinking Machines' Connection Machine/2 and Connection Machine/5. The prototype produces code from initial Fortran-90 benchmarks demonstrating sustained performance superior to hand-coded *Lisp and competitive with Thinking Machines' CM Fortran compiler. This paper presents some new specification techniques necessary to construct competitive, easily retargetable prototype compilers. 1 Introduction Existing compilers for massively parallel machines have generally been constructed using traditional methods, combining generation from specification for a few su...
Marina C. Chen, James R. Cowie
PLDI1
1991 The Data Alignment Phase in Compiling Programs for Distrubuted-Memory Machines
Jingke Li, Marina C. Chen
J. Parallel Distributed Comput.2
1991 Compiling Communication-Efficient Programs for Massively Parallel Machines
abstract
A method of generating parallel target code with explicit communication for massively parallel distributed-memory machines is presented. The source programs are shared-memory parallel programs with explicit control structures. The method extracts syntactic reference patterns from a program with shared address space, selects appropriate communication routines, places these routines in appropriate locations in the target program text and sets up correct conditions for invoking these routines. An explicit communication metric is used to guide the selection of data layout strategies.>
Jingke Li, Marina C. Chen
IEEE Trans. Parallel Distributed Syst.2
1990 Generating explicit communication from shared-memory program references
abstract
The authors address the problem of data distribution and communication synthesis in generating parallel programs targeted for massively parallel distributed-memory machines. The source programs can be sequential, functional, or parallel programs based on a shared-memory model. The approach is to analyze source program references and match syntactic reference patterns with appropriate aggregate communication routines which can be implemented efficiently on the target machine. An explicit communication metric is used to guide optimizations to reduce communication overhead. The target code with explicit communication is proven to be free from deadlock introduced by the compilation process. The techniques described are developed within the context of Crystal (functional language) though they can be applied to Fortran. The Crystal compiler generates C-code for an iPSC/2.>
Jingke Li, Marina C. Chen
SC2
1990 Subdomain dependence test for massive parallelism
abstract
The authors present a new dependence test which can detect disjoint regions of an iteration space. The test therefore reports accurate dependences for a class of conditional statements. The proposed algorithm can discover large-scale parallelism in cases where previous decision algorithms fail. The methods and algorithms for solving the subdomain dependence test are described. Also considered is the application of the subdomain dependence test to the problem of 'dependence cycle breaking' and the use of the subdomain dependence test in analyzing functional programs.>
Lee-Chung Lu, Marina C. Chen
SC2
1988 From Local to Global: An Analysis of Nearest Neighbor Balancing on Hypercubes
abstract
This paper will focus on the issue of load balancing on a hypercube network of N processors. We will investigate a typical nearest neighbor balancing strategy - in which workloads among neighboring processors are averaged at discrete time steps. The computation model allows tasks, described by independent random variables, to be generated and terminated at all times.
Jiawei Hong, Xiaonan Tan, Marina C. Chen
SIGMETRICS3
1988 The Generation of a Class of Multipliers: Synthesizing Highly Parallel Algorithms in VLSI
abstract
A synthesis method for designing highly parallel algorithms in VLSI is presented. To illustrate the method, the familiar long multiplication algorithm for binary numbers is used. This algorithm is specified in the language Crystal, a very-high-level language for parallel processing. A total of 18 designs are derived from this specification. Each is optimal within its own class, which is characterized by a space-time map. The relative merits and tradeoffs of different designs are systematically compared and evaluated.>
Marina C. Chen
IEEE Trans. Computers1
1988 Compiling parallel programs by optimizing performance
Marina C. Chen, Young-il Choo, Jingke Li
J. Supercomput.1
1986 Synthesizing VLSI Architectures: Dynamic Programming Solver
Marina C. Chen
ICPP1
1986 A Parallel Language and its Compilation to Multiprocessor Machines or VLSI
abstract
A language Crystal and its compiler for parallel programming is presented. The goal of Crystal is to help programmers in seeking efficient parallel implementations of an algorithm, and managing the complexity that might arise in dealing with hundreds of thousands of autonomous parallel processes. In Crystal, a program consists of a system of recursion equations and is interpreted as a parallel system. Crystal views a large complex system as consisting of a hierarchy of parallel sub-systems, built upon a set of Crystal programs by composition and abstraction. There is no mention of explicit communications in a Crystal program. The Crystal compiler automatically incorporates pipelining into programs, and generates a parallel program that is optimal with respect to an algorithm. Each optimizing compiler, targeted for a particular machine, determines the appropriate granular size of parallelism and attains a balance between computations and communications. Based on the language, a unified theory for understanding and generating any systolic design has been devised and it constitues a part of the compiler.
Marina C. Chen
POPL1
1986 A Design Methodology for Synthesizing Parallel Algorithms and Architectures
abstract
In this paper, a design methodology for synthesizing efficient parallel algorithms and VLSI architectures is presented. A design process starts with a problem definition specified in the parallel programming language Crystal and is followed by a series of program transformations in Crystal, each aiming at optimizing the target design for a specific purpose. To illustrate the design methodology, a set of design methods for deriving systolic algorithms and architectures is given and the use of these methods in the design of a dynamic programming solver is described. The design methodology, together with this particular set of design methods, can be viewed as a general theory of systolic designs (or multidimensional pipelines). The fact that Crystal is a general purpose language for parallel programming allows new design methods and synthesis techniques, properties and theorems about problems in specific application domains, and new insights into any given problem to be integrated readily within the existing design framework.
Marina C. Chen
J. Parallel Distributed Comput.1
1985 Deadlock-Freedom in Resource Contentions
Marina C. Chen, Martin Rem
Acta Informatica1