This directory is created automatically and some papers may be mislabeled. Only document within the CiteSeer database are listed. The directory is intended to provide entry points for browsing the database and is not intended to be authoritative. Papers may not appear in all relevant categories. For example, papers in a sub-category may not appear in higher level categories.
11614.5 Data-parallel Implementation of Prolog - Bevemyr (1996)(Correct)
Bevemyr, J. 1996: Data-parallel Implementation of Prolog, Uppsala Theses in
Computing Science 25. 38 pp. Uppsala. ISSN 0283--359X, ISBN 91--506--1177--1.
Parallel computers are rarely used to make ind... / intriguing fields of parallel programming and abstract machine design and
10973.3 The VDM Bibliography - Larsen (1995)(Correct)
This document contains the annotated VDM bibliography with 592 entries related to
VDM. The listed items come from a wide variety of sources, but unfortunately the list is not
yet exhaustive.
This ver... / . Jones d C.B. Jones. Compiler Design. In Formal Specification and br of the U.S. Government Ada Joint Programme Office ffl occamRfl is
10464.1 Optimizing Fortran90D/HPF for Distributed-Memory Computers - Roth (1997)(Correct)
High Performance Fortran (HPF), as well as its predecessor FortranD, has attracted
considerable attention as a promising language for writing portable parallel programs
for a wide variety of distribut... / distributed-memory architectures. Programmers express data parallelism br parallel machine an HPF compiler must do a superb job of
9591.4 Automatic Program Parallelization - Banerjee, Eigenmann, Nicolau (1993)(Correct)
This paper presents an overview of automatic program
parallelization techniques. It covers dependence analysis
techniques, followed by a discussion of program transformations,
including straight-line ... / machine organization and good programming methodology. Developing br effectiveness of parallelizing compilers. Introduction The last
9193.8 Advanced Languages for Systems Software The Fox Project in 1994 - Harper, Lee (1994)(Correct)
It has been amply demonstrated in recent years that careful attention to the structure of systems
software can lead to greater flexibility, reliability, and ease of implementation, without incurring
a... / three areas of language design compiler technology and systems br modules type theory compilers programming languages Abstract It
8141.7 Compiling Standard ML For Efficient Execution On Modern Machines - Shao (1994)(Correct)
Many language theoreticians have taken great efforts in designing higher-level programming
languages that are more elegant and more expressive than conventional languages. However,
few of these new la... / efforts in designing higher-level programming languages that are more br performance of the non-type-based compiler by about on a DECstation
7735.1 Runtime Support For In-Core And Out-Of-Core Data-Parallel Programs - Thakur (1995)(Correct)
Distributed memory parallel computers or distributed computer systems are widely
recognized as the only cost-effective means of achieving teraflops performance in the
near future. However, the fact re... / library from the basic compiler design portability is enhanced br portability and ease of programming. It can also be used together
7644.0 HFS: A flexible file system for shared-memory multiprocessors - Krieger (1994)(Correct)
The HURRICANE File System (HFS) is designed for large-scale, shared-memory multiprocessors. Its architecture
is based on the principle that a file system must support a wide variety of file structures... / . Object-oriented programming br system to allow the application or compiler to determine file structure and
7611.8 Compiler Support for Machine-Independent Parallelization of Irregular .. - von Hanxleden (1994)(Correct)
The Fortran D group at Rice University aims at providing a machine independent data parallel programming style, in which the applications programmer uses a dialect of sequential Fortran and high level... / Distributed memory compiler design for sparse problems. ICASE br independent data parallel programming style in which the
7475.7 Adaptive Optimization For Self: Reconciling High Performance With.. - Hölzle (1994)(Correct)
Object-oriented programming languages confer many benefits, including abstraction, which lets the programmer hide
the details of an object's implementation from the object's clients. Unfortunately, cr... / Performance With Exploratory Programming A Dissertation Submitted To
7014.7 Design, Analysis and Reasoning about Tools: Abstracts from the Third.. - Nielson, (Ed.) (1993)(Correct)
s from the Third Workshop
Flemming Nielson
(editor)
October 1993
1 Introduction
The third DART workshop took place on Thursday August l9th and Friday
August 20th at the Department of Computer Science... / as part of the Danish Research Programme on Informatics. To date it has br applications were to develop compilers from interpreters and
6631.4 Language Features for Re-use and Extensibility in Concurrent.. - Matsuoka (1993)(Correct)
ions : : : : : : : : : : : : : : : : : : : : 21
3.3 Problems with First-Classing of Accept Sets --- Enabled Sets : : : : : : : 22
3.4 Problems with Method Guards : : : : : : : : : : : : : : : : : : : ... / In Concurrent Object-Oriented Programming Languages Thesis Draft
6628.8 The Evolution of Lisp - Steele, Jr., Gabriel (1993)(Correct)
Lisp is the world's greatest programming language---or so its proponents think. The
structure of Lisp makes it easy to extend the language or even to implement entirely new
dialects without starting f... / Lisp is the world's greatest programming language-or so its proponents
6566.4 Reflection and Hyper-Programming in Persistent Programming Systems - Kirby (1992)(Correct)
In an orthogonally persistent programming system, data is treated in a manner independent of its persistence. This gives simpler semantics, allows the programmer to ignore details of long-term data st... / G.N.C. Reflection and Hyper-Programming in Persistent Programming
6512.8 A High Level Language for Specifying Graph-Based Languages and their.. - Kleyn (1995)(Correct)
This dissertation addresses the problem of creating interactive graphical
programming environments for visual programming languages that are based on
directed graph models of computation. Such program... / . . Compiler br Graph-Based Languages And Their Programming Environments Approved By
6245.0 Scheduling And Code Generation For Parallel Architectures - Yang (1993)(Correct)
OF THE DISSERTATION
Scheduling and Code Generation for Parallel
Architectures
by Tao Yang, Ph.D.
Dissertation Director: Professor Apostolos Gerasoulis
Automatic partitioning, scheduling and code gener... / discussion Milind Deshpande for programming the X window schedule br importance in the development of compilers for massively parallel
6112.0 1983-1993: The Wonder Years of Sequential Prolog Implementation - Van Roy (1993)(Correct)
This report surveys the major developments in sequential Prolog implementation during the
period 1983--1993. In this decade, implementation technology has matured to such a degree
that Prolog has left... / architecture and significant compiler design was done for it. It was br appear in the Journal of Logic Programming tenth anniversary issue
5981.4 High-Performance All-Software Distributed Shared Memory - Johnson (1995)(Correct)
The C Region Library (CRL) is a new all-software distributed shared memory (DSM) system.
CRL requires no special compiler, hardware, or operating system support beyond the ability to
send and receive ... / shared address space programming model that is capable of br system. CRL requires no special compiler hardware or operating system
5864.9 Efficient Machine-Independent Programming of High-Performance.. - Tseng (1995)(Correct)
mainly because the cost of interprocessor communication is too great compared to computation and local memory
accesses [74, 77]. To achieve high performance, COSMIC will perform communicationanalysis ... / Shared-Memory Compiler Design . Communication br Efficient Machine-Independent Programming of High-Performance
5645.7 A Compiler-Directed Distributed Shared Memory System - Verma (1996)(Correct)
of the Dissertation
A Compiler-Directed Distributed Shared Memory System
by
Manish Verma
Doctor of Philosophy
in
Computer Science
State University of New York at Stony Brook
1996
This dissertation p... / . . Programming Paradigms for NOWs .
5645.2 HPF-2 Scope of Activities and Motivating Applications - Forum (1994)(Correct)
ion. Yet another interaction mechanism, proposed by Chapman et
al. [20], uses shared modules with access controlled by a monitor mechanism. A form of remote
procedure call is used to operate on data i... / that these are not sufficient for programming at least some complex br same processor. It is up to the compiler to match the computation mapping
5637.8 Communication Generation for Data-Parallel Languages - Sethi (1996)(Correct)
Data-parallel languages allow programmers to use the familiar machine-independent
programming style to develop programs for multiprocessor systems. These languages
relieve users of the tedious task of... / Data-parallel languages allow programmers to use the familiar br and error-prone task to the compilers for the languages. Since remote
5587.7 Mechanisms and Interfaces for Software-Extended Coherent Shared Memory - Chaiken (1994)(Correct)
Software-extended systems use a combination of hardware and software to implement
shared memory on large-scale multiprocessors. Hardware mechanisms accelerate
common-case accesses, while software hand... / with and without help from programmers. An automatic optimization br from the runtime system to the compiler. The compiler uses this
5533.4 Partial Evaluation: Principles and Perspectives - Consel, Danvy (1993)(Correct)
The last years have witnessed a flurry of new results in
the area of partial evaluation. These tutorial notes survey
the field and present a critical assessment of the state of
the art.
1 Introduction... / Such functions exist in most programming languages e.g.format br areas that include compiling and compiler generation
5510.7 Symbolic Analysis for Parallelizing Compilers - Haghighat (1994)(Correct)
Symbolic Domain
The objects in our abstract symbolic domain are canonical symbolic expressions. A
canonical symbolic expression is a lexicographically ordered sequence of symbolic
terms. Each symboli... / D. . Software Engineering Programming Environments D. . br Analysis for Parallelizing Compilers MOHAMMAD R. HAGHIGHAT Intel
5251.5 The CCLRC HPCI Centre at Daresbury Laboratory - Allan, Lockey (1996)(Correct)
Parallel software packages which may be of use in scientific and engineering applications
of the type carried out on the parallel computing facilities at EPCC and Daresbury Laboratory
are surveyed. Fo... / Alternative Programming Models . ADSMITH br . PSI Compiler
5068.0 Massively Parallel Computing: Mathematics and communications libraries - Johnsson, Mathur (1993)(Correct)
Massively parallel computing holds the promise of extreme performance. The utility of
these systems will depend heavily upon the availability of libraries until compilation and run--
time system techn... / and fat-trees. Some systems are programmed as a shared memory machine br The techniques are incorporated as compiler directives for the Connection
5045.6 A Survey of Program Slicing Techniques - Tip (1995)(Correct)
A program slice consists of the parts of a program that (potentially) affect the
values computed at some point of interest, referred to as a slicing criterion. The task
of computing program slices is ... / D. . Software engineering Programming environments D. . Software br are investigated. We discuss how compiler-optimization techniques can be
5026.4 Algorithmic Redistribution Methods for Block Cyclic Decompositions - Petitet (1996)(Correct)
This research aims at creating and providing a framework to describe algorithmic
redistribution methods for various block cyclic decompositions. To do so
properties of this data distribution scheme ar... / is recommended by data parallel compiler designers as one way to proceed br . The Parallel Programming Problem A Concrete Example
4965.4 Automatic Data Layout for Distributed Memory Machines - Kremer (1993)(Correct)
An approach to programming distributed memory-parallel machines that has recently become popular is one where the programmer explicitly specifies the layout of data in a global name space, relying on ... / C is a research Pascal compiler designed and implemented at the br Abstract An approach to programming distributed memory-parallel
4893.4 Compilation by Transformation in Non-Strict Functional Languages - Santos (1995)(Correct)
In this thesis we present and analyse a set of automatic source-to-source program
transformations that are suitable for incorporation in optimising compilers for lazy
functional languages. These trans... / environment. The Functional Programming Group with its annual br for incorporation in optimising compilers for lazy functional languages.
4876.1 An Object-Oriented Library for Shared-Memory Parallel Simulations - Machanick (1996)(Correct)
Programming shared-memory multiprocessor systems is becoming increasingly
difficult as the gap between memory speed and processor speed increases. At the same
time, this class of computer---based on s... / Philip Machanick Abstract Programming shared-memory multiprocessor br . Algorithmic Strategies and Compiler Optimizations
4814.4 Run-Time Parallelization: A Framework For Parallel Computation - Lawrence Rauchwerger (1995)(Correct)
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in
sequential programs written in conventional languages. Current parallelizing compilers do a reasonable
jo... / in the middle of night those programming bugs fixed 'on the fly'have br parallelizing or restructuring compilers is to detect and exploit
4797.3 Revised^4 Report on the Algorithmic Language Scheme - Clinger, (ed.), Rees, (ed.).. (1991)(Correct)
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates th... / a defining description of the programming language Scheme. Scheme is a br upgraded to support an innovative compiler Three distinct projects
4717.6 A Classification and Comparison Framework for Software Architecture.. - Medvidovic (1996)(Correct)
Software architectures shift the focus of developers from lines-of-code to coarsergrained
architectural elements and their overall interconnection structure.
Architecture description languages (ADLs) ... / interconnection simulation and programming languages on the other. This br tools model checkers parsers compilers code synthesis tools runtime
4644.4 Program Representation And Execution In Real-Time Multiprocessor.. - Niehaus (1994)(Correct)
PROGRAM REPRESENTATION AND EXECUTION
IN REAL-TIME MULTIPROCESSOR SYSTEMS
FERUARY 1994
DOUGLAS NIEHAUS,
B.S., NORTHWESTERN UNIVERSITY
M.S., UNIVERSITY OF MICHIGAN
Ph.D., UNIVERSITY OF MASSACHUSETTS AMH... / including the Spring-C programming language program translation
4615.2 The Enterprise Executive - Wong (1992)(Correct)
Enterprise is a graphical programming environment for designing, coding, debugging,
testing, monitoring, profiling and executing programs in a distributed hardware environment.
Enterprise code looks l... / Enterprise is a graphical programming environment for designing
4528.7 Re-engineering needs Generic Programming Language Technology - van den Brand, Klint, Verhoef (1996)(Correct)
Generic language technology and compiler construction techniques are
a prerequisite to build analysis and conversion tools that are needed for
the re-engineering of large software systems. We argue th... / that are available in the compiler design field could be fruitfully br University of Amsterdam Programming Research Group Generic
4404.8 Optimizing Fortran 90D Programs for SIMD Execution - Roth (1993)(Correct)
SIMD architectures offer an alternative to MIMD architectures for obtaining high
performance computation through parallelism. These architectures can offer impressive
price/performance ratios for cert... / more readily available. However programming such computers is still the br by the capabilities of the compilers which produce code for it.
4351.7 Compiler Support for Machine-Independent Parallel Programming in.. - Hiranandani, Kennedy, Tseng (1991)(Correct)
Because of the complexity and variety of parallel architectures, an efficient machine-independent parallel programming model is needed to make parallel computing truly usable for scientific programmer... / the development of arf a compiler designed to interface Fortran br Machine-Independent Parallel Programming in Fortran D Seema
4309.3 Synchronous Programming of Reactive Systems - A Tutorial and.. - Halbwachs (1998)(Correct)
to describe them as sets of concurrent
processes.
Cases (2) and (3) must be distinguished. In the later case, concurrency is
nothing but a description facility; we call it logical concurrency. Genera... / Synchronous Programming of Reactive Systems A br from an initial data e.g.a compiler In synchronous programming we
4252.4 Loop Optimization for Aggregate Array Computations - Liu, Stoller (1997)(Correct)
An aggregate array computation is a loop that computes accumulated quantities over array
elements. Such computations are common in programs that use arrays, and the array elements
involved in such com... / essential only more so when programmers are encouraged to write br it is beyond the scope of previous compiler optimizations.
4166.7 Active Rules based on Object Relational Queries - Efficient Change.. - Sköld(Correct)
The role of databases is changing because of the many new applications that
need database support. Applications in technical and scientific areas have a
great need for data modelling and application-d... / built by adding persistency to OO programming languages. The query languages br transaction is committed. A rule compiler generates screener predicates
4165.1 How to Declare an Imperative - Wadler (1995)(Correct)
How can we integrate interaction into a purely declarative language? This tutorial describes a solution to this problem based on a monad. The solution has been implemented in the functional language H... / and Subject Descriptors D. . Programming Languages Language br in the Glasgow Haskell compiler subsequently added to the
4142.0 Uniprocessor Garbage Collection Techniques - Wilson (1992)(Correct)
We survey basic garbage collection algorithms, and variations such as incremental and generational collection. The basic algorithms include reference counting, mark-sweep, mark-compact, copying, and t... / App While in many systems programmers must explicitly reclaim heap br abstractions. For example many compilers fail when faced with
4037.9 Performance, Safety and Idioms in Parallel Programming Systems - Lu (1995)(Correct)
ions are too low level. Many PPSs are designed around specific mechanisms,
instead of around problem-solving techniques. The programmer is responsible for
correctness and performance tuning.
The need ... / Safety and Idioms in Parallel Programming Systems Paul Lu December
3973.4 Rule-Based Program Restructuring For High Performance Parallel.. - Tenny (1992)(Correct)
Writing good programs for high performance parallel computers is difficult. The
programmer must have a deep understanding of the underlying machine architecture.
Issues such as memory hierarchy, commu... / computers is difficult. The programmer must have a deep understanding br For serial machines well-known compiler optimization techniques are
3950.8 Automatic Generation and Management of Program Analyses - Yi (1993)(Correct)
Designing a program analysis (for use in optimizing compilers) is a time-consuming, complicated
process because it involves many parameters. In particular, one must carefully
measure the accuracy of t... / framework solves problems that compiler designers currently face. br introductory course in parallel programming. When I asked for his
3898.0 Nonlinear Array Layouts for Hierarchical Memory Systems - Chatterjee, Jain, Lebeck, Mundhra.. (1999)(Correct)
Programming languages that provide multidimensional arrays and
a flat linear model of memory must implement a mapping between
these two domains to order array elements in memory. This layout
function ... / Thottethodi z Abstract Programming languages that provide br in several high-performance compilers. Tiling techniques are also
3890.0 Intersection Types and Bounded Polymorphism - Pierce (1996)(Correct)
this paper (Compagnoni,
Intersection Types and Bounded Polymorphism 3
1994; Compagnoni, 1995) has been used in a type-theoretic model of object-oriented
multiple inheritance (Compagnoni & Pierce, 19... / extensions of a first-order programming language with subtyping. We br of two integers is an integer. A compiler for a language with intersection
3860.6 Programming in the Pi-Calculus: A Tutorial Introduction to Pict - Pierce (1997)(Correct)
Pict is a programming language in the ML tradition, formed by adding high-level derived forms
and a powerful static type system to a tiny core language. The core, Milner's pi-calculus, has been
used a... / Programming in the Pi-Calculus A br helped build the original Pic compiler on which the first version of
3859.1 A Linear Algebra Framework for Static HPF Code Distribution - Ancourt, Coelho, Irigoin, Keryell (1995)(Correct)
High Performance Fortran (hpf) was developed to support data parallel
programming for simd and mimd machines with distributed memory. The programmer
is provided a familiar uniform logical address spac... / to support data parallel programming for simd and mimd machines br Fourth International Workshop on Compilers for Parallel Computers held in
3858.1 An Incremental Type Inference System for the Programming Language Id - Gupta (1990)(Correct)
Modern computing environments strive to be robust and reliable, and at the same time, aim
at providing enough flexibility to an interactive user to edit, debug, and test programs easily
and efficientl... / Type Inference System for the Programming Language Id MIT LCS br Hicks who helped me with the Id Compiler and patiently resolved my
3831.1 Compiling Fortran 90D/HPF For Distributed Memory Mimd Computers - Bozkus (1995)(Correct)
Distributed memory multiprocessors are increasingly being used to provide high
performance for advanced calculations with scientific applications. Distributed memory
machines offer significant advanta... / for his knowledge of parallel compiler design and his assistance that has br distributed memory machines are programmed using a node language and a
3822.7 Delivering the Benefits of Persistence to System Construction and.. - Cutts (1992)(Correct)
In an orthogonally persistent programming system the longevity of data is independent
of its other attributes. The advantages of persistence may be seen primarily in the
areas of data modelling and pr... / In an orthogonally persistent programming system the longevity of data is
3769.6 Programmable Arithmetic Devices for High Speed Digital Signal.. - Chen(Correct)
The high throughput computation requirements of real-time digital signal processing (dsp)
systems usually dictate hardware intensive solutions. Often attendant to hardware approaches are
problems of h... / Programmable Arithmetic Devices for High
3732.3 From System F to Typed Assembly Language (Extended Version) - Morrisett, Walker, Crary, Glew (1997)(Correct)
We motivate the design of a statically typed assembly language (TAL) and present a typepreserving
translation from System F to TAL. The TAL we present is based on a conventional
RISC assembly language... / calculi is used as a first-class programming calculus in the sense that each br simpler than previous work. The compiler and typed assembly language
3699.0 Data Prefetch Mechanisms For Accelerating Symbolic And Numeric.. - Mehrotra (1996)(Correct)
hing. The behavior of the IRB on a suite of programs drawn from
the Spec92, Spec95, and public domain codes, is measured under a variety of abstract
models.
Next, a detailed hardware design for the IR... / work and his impressive vi programming and mathematical skills are br at my own pace. His mastery of compiler construction has helped sharpen
3695.1 Transgressing The Boundaries: Unified Scalable Parallel Programming - Lecomber, Sujithan (1996)(Correct)
The diverse architectural features of parallel computers, and the lack of commonly accepted
parallel-programming environments, meant that software development for these systems has
been significantly ... / Programming Research Group TRANSGRESSING br programming language and the compiler extracts the parallelism
3645.5 DPF: A Data Parallel Fortran Benchmark Suite - Yu Hu (1995)(Correct)
The Data Parallel Fortran (DPF) benchmark suite is designed for evaluating data parallel
compilers and scalable architectures. Many of the DPF codes are provided in three versions:
basic, optimized an... / issues investigated in modern compiler design for parallel languages and br . Quadratic programming problem
3629.0 From System F to Typed Assembly Language - Morrisett, Walker, Crary, Glew (1998)(Correct)
We motivate the design of a statically typed assembly language (TAL) and present a typepreserving
translation from System F to TAL. The TAL we present is based on a conventional
RISC assembly language... / constructors that may be used by programmers or compilers to build new br constructs admit most low-level compiler optimizations. Our translation
3602.0 Experience with a Clustered Parallel Reduction Machine - Beemster, Hartel, Hertzberger.. (1993)(Correct)
A clustered architecture has been designed to exploit divide and conquer parallelism in
functional programs. The programming methodology developed for the machine is based
on explicit annotations and ... / in functional programs. The programming methodology developed for the br onto the available hardware. Compilers for imperative languages also
3571.1 A transformation-based optimiser for Haskell - Jones, Santos (1998)(Correct)
Many compilers do some of their work by means of correctness-preserving, and hopefully performance-improving, program transformations. The Glasgow Haskell Compiler (GHC) takes this idea of "compilatio... / This leads to a more modular compiler design in contrast to compilers br appear in Science of Computer Programming . Introduction Using
3558.2 Tabled Evaluation with Delaying for General Logic Programs - Chen, Warren (1996)(Correct)
SLD resolution with negation as finite failure (SLDNF) reflects the procedural interpretation of predicate calculus as a programming language and forms the computational basis for Prolog systems. Desp... / of predicate calculus as a programming language and forms the br of queries. Furthermore Prolog compiler technology has been adapted for
3543.0 Software Support For Parallel Processing Of Irregular And Dynamic.. - Jiao (1996)(Correct)
OF THE DISSERTATION
Software Support for Parallel Processing of Irregular and
Dynamic Computations
by Jia Jiao
Dissertation Director: Professor Apostolos Gerasoulis
Many real world scientific computat... / to the subject of parallel programming in his class years ago and br Integrated Automatic Parallelizing Compiler . . . Extraction of Task
3525.6 Sort Inference in Action Semantics - Brown (1996)(Correct)
Action semantics is a semantic meta-language developed by Mosses and Watt for
specifying programming languages. The work reported in this thesis is part of a project
to develop a system, called ACTRES... / Mosses and Watt for specifying programming languages. The work reported in
3506.8 Runtime Mechanisms for Efficient Dynamic Multithreading - Karamcheti, Plevyak, Chien (1996)(Correct)
High performance on distributed memory machines for programming models with dynamic thread
creation and multithreading requires efficient thread management and communication. Traditional multithreadin... / distributed memory machines for programming models with dynamic thread br mechanisms that assume minimal compiler and hardware support are
3490.8 Pict: A Programming Language Based on the Pi-Calculus - Pierce, Turner (1997)(Correct)
The π-calculus offers an attractive basis for concurrent programming. It is small, elegant, and well studied, and supports (via simple encodings) a wide range of high-level constructs including dat... / Pict A Programming Language Based on the br applications a calculus compiler must implement process creation
3472.6 Compiling Polymorphism Using Intensional Type Analysis - Harper, Morrisett (1995)(Correct)
Types have been used to describe the size and shape of data structures at compile time. In polymorphic languages or languages with abstract types, this is not possible since the types of some objects ... / of the structure. This allows the programmer to gain considerable control br is assured. This means that a compiler may always open code
3470.5 Compiling for Heterogeneous Systems: A Survey and an Approach - McKinley, Moss, Singhai, Weaver.. (1995)(Correct)
Large applications tend to contain several models of parallelism, but only a few of these map efficiently to the single model of parallelism embodied in a homogeneous parallel system. Heterogeneous pa... / to suit a target and allowing programming models and languages to br development. We believe that compilers can and should assist in
3466.5 BeCecil, A Core Object-Oriented Language with Block Structure and.. - Craig Chambers(Correct)
We present and analyze the semantics and static type system for BeCecil, a theoretical (core) language with
multimethods. BeCecil is a simple and orthogonal version of object-oriented languages like C... / functions object-oriented programming languages encapsulation br writing an -line optimizing compiler Vortex Dean et al. We
3438.4 Studies of Integration and Optimization of Interpreted and Compiled.. - Fox, Li, Wen, Zhang (1997)(Correct)
an view
our front end compiler as similar to the javac compiler's function of producing JavaVM
bytecodes. The II/CVM will naturally need the study of such issues as Just in Time compilation,
dynamic l... / also to produce more attractive programming environments. This proposal br which explore the interpreter compiler integration for both sequential
3400.2 Execution Profiling for Non-strict Functional Languages - Sansom (1994)(Correct)
Profiling tools, which measure and display the dynamic space and time behaviour of
programs, are essential for identifying execution bottlenecks. A variety of such tools exist
for conventional languag... / expressions identified by the programmer. Considerable attention is paid
3395.3 Applying Patterns to Develop Extensible ORB Middleware - Schmidt (1998)(Correct)
Distributed object computing forms the basis for nextgeneration application middleware. At the heart of distributed object computing are Object Request Brokers (ORBs), which automate many tedious and ... / and error-prone distributed programming tasks. Like many other br Repository Repository Idl Idl Compiler Compiler Dii Dii Orb Orb
3394.1 TIGUKAT: A Uniform Behavioral Objectbase Management System - Özsu, Peters, Szafron, Irani, Lipka, .. (1995)(Correct)
We describe the TIGUKAT objectbase management system that is under development at the Laboratory for Database Systems Research at the University of Alberta. TIGUKAT has a novel object model whose iden... / type system of an object-oriented programming language as the object model of br Optimizer TDL Interpreter TQL Compiler Transaction Manager Other
3384.9 FIAT: A Framework for Interprocedural Analysis and Transformation - Carle, Hall, Mellor-Crummey.. (1995)(Correct)
Modern architectures with deep memory hierarchies or parallelism require the use of increasingly
sophisticated code analysis and optimization to achieve maximum performance for large, scientific progr... / optimization in the ParaScope programming tools at Rice University and br at Rice University and the SUIF compiler at Stanford University. Fiat's
3382.9 Algorithm + Strategy = Parallelism - Trinder, Hammond, Loidl, Jones (1993)(Correct)
The process of writing large parallel programs is complicated by the need to specify both
the parallel behaviour of the program and the algorithm that is to be used to compute its
result. This paper i... / J. Functional Programming - January c br One extreme is to rely on the compiler and runtime system to manage the
3382.0 Adaptive And Integrated Data Cache Prefetching For Shared-Memory.. - Gornish (1995)(Correct)
yield
a better overall scheme. We give a detailed description of the compiler analysis necessary
for integrated prefetching. The performance of integrated prefetching is compared to
software and hardw... / J. D. Ullman Principles of Compiler Design. Reading MA AddisonWesley br . . Compilation and Programming Model
3380.6 Programming Techniques For Eagersharing Distributed Memory Systems - By Ai(Correct)
of the Dissertation
PROGRAMMING TECHNIQUES FOR
EAGERSHARING DISTRIBUTED
MEMORY SYSTEMS
by
Ai Li
Doctor of Philosophy
in
Computer Science
State University of New York
at Stony Brook
1993
To overcome th... / Programming Techniques For Eagersharing br data regions. After analysis a compiler tool can generate adequate
3372.6 Query Driven Simulation Using Active KDL: A Functional.. - John Miller (1991)(Correct)
Because of the difficulty of simulating large complex systems with traditional tools, new
approaches have and are being developed. One group of interrelated approaches attempts to
simultaneously make ... / be implemented using the database programming language DBPL Keywords br the help of lex and yacc bison compiler tools at which point the C
3285.5 Optimizing a CORBA Inter-ORB Protocol (IIOP) Engine for Minimal.. - Gokhale, Schmidt(Correct)
To support the quality of service (QoS) requirements of embedded
multimedia applications, such as real-time audio and
video, electronic mail and fax, and Internet telephony, off-theshelf
middleware li... / keyword. To workaround the compiler design we defined a helper method br there is a movement away from programming applications from scratch
3266.3 Automap: A Parallel Coordination-based Programming System - van Reeuwijk, Sips, Lin, van Gemund (1997)(Correct)
High Performance Computing (HPC) has been defined as a key enabling technology for industrial
competitiveness. The successful use of parallel computer technology requires the development
of techniques... / A Parallel Coordination-based Programming System C. van Reeuwijk br problem. How easily can the compiler transform the specified parallel
3240.5 How to Control the Allocation of Parallel Applications: a Survey on.. - Zambonelli (1996)(Correct)
The paper focuses on the allocation area, with the aim of providing a survey on
systems that provides facilities to codify the behaviour of an application with regard to
its allocation onto a target a... / adopted in several systems and programming environments. Open issues and br allocation it is the job of the compiler to extract from the application
3234.4 People-oriented Software Reuse: the Very Thought - Maiden, Sutcliffe (1993)(Correct)
Most software reuse research has ignored the role of the
software engineer. However, software engineers tend to be
better reasoners and have more experiences to recall than
tool-based reuse mechanisms... / languages and the programmer was not required to inspect or br generation code optimisation compiler DB management expression
3206.9 Viewing A Program Transformation System At Work - Paige (1994)(Correct)
How to decrease labor and improve reliability in the development of efficient implementations
of nonnumerical algorithms and labor intensive software is an increasingly important problem as
the demand... / algorithms in C at a programming rate i.e.source lines per br ones e.g.optimizing compilers for supercomputers intricate
3204.3 Implementing lazy functional languages on stock hardware: the.. - Jones (1992)(Correct)
The Spineless Tagless G-machine is an abstract machine designed to support nonstrict higher-order functional languages. This presentation of the machine falls into three parts. Firstly, we give a gene... / in the Journal of Functional Programming. Changes in Version . br is the C language treating the C compiler as a portable assembler. This
3165.3 Compiling Haskell by program transformation: a report from the.. - Jones (1996)(Correct)
Many compilers do some of their work by means of correctness-preserving, and hopefully performance-improving, program transformations. The Glasgow Haskell Compiler (GHC) takes this idea of "compilatio... / This leads to a more modular compiler design in contrast to compilers br of the European Symposium on Programming Linkoping April .
3160.0 Generational copying garbage collection for Standard ML: a.. - Stefanovic (1993)(Correct)
this document, comprise my
Master's Project, submitted in partial fulfillment of the requirements for the degree of
Master of Science in Computer Science.
Contents unknown Generational copying garba... / implementations of functional programming languages. The allocation is br patterns from the current SML NJ compiler. the pauses caused by major
3150.1 Constraints to Stop Higher-Order Deforestation - Seidl, Sørensen (1997)(Correct)
Wadler's deforestation algorithm removes intermediate data
structures from functional programs. To be appropriate for
inclusion in a compiler, deforestation must terminate on all
programs. Several tec... / Lazy higher-order functional programming languages lend themselves to a br be appropriate for inclusion in a compiler deforestation must terminate on
3117.0 Compiler Technology for Future Microprocessors - Hwu, Hank, Gallagher, Mahlke.. (1995)(Correct)
Advances in hardware technology have made it possible for microprocessors to execute a large
number of instructions concurrently (i.e., in parallel). These microprocessors take advantage of
the opport... / in microprocessors such as programming microprocessors or designing br Compiler Technology for Future
3105.2 Path Splitting: A Technique for Improving Data Flow Analysis - Poletto (1995)(Correct)
Path splitting is a new technique for improving the amount of data flow information statically
available to the compiler about a fragment of code. Path splitting replicates code in
order to provide op... / . Comments on Compiler Design br Acm Sigplan Conference On Programming Language Design And
3099.1 Massively Parallel Programming Languages - A Classification of Design .. - Gellerich, Gutzmann(Correct)
This paper presents the results of a study in which
we examined about 50 parallel programming languages
in order to detect typical approaches towards supporting
massive parallelism. Based on a classif... / Massively Parallel Programming Languages -A Classification br tasks performed by parallelizing compilers. We were interested in
3092.5 Code Generation Techniques - Proebsting (1992)(Correct)
Optimal instruction scheduling and register allocation are NP-complete problems that require heuristic solutions. By restricting the problem of register allocation and instruction scheduling for delay... / representations rely on dynamic programming techniques. Bottom-Up Rewrite br . Compiler Performance
3087.9 Tempest and Typhoon: User-Level Shared Memory - Reinhardt, Larus, Wood (1994)(Correct)
Future parallel computers must efficiently execute not
only hand-coded applications but also programs written in
high-level, parallel programming languages. Today's
machines limit these programs to a ... / written in high-level parallel programming languages. Today's machines br mechanisms so programmers and compilers can customize policies for a
3086.9 Implementing Data-Parallel Software on Dataflow Hardware - Shaw (1993)(Correct)
The data-parallel programming model has become the de facto, baseline standard programming
model for a variety of parallel computers, both SIMD and MIMD. The dataparallel
programming model is easy to ... / Abstract The data-parallel programming model has become the de facto
3081.9 An Integrated Runtime and Compile-time Approach for Parallelizing.. - Agrawal, Sussman, Saltz (1995)(Correct)
In compiling applications for distributed memory machines, runtime analysis is required when data
to be communicated cannot be determined at compile-time. One such class of applications requiring
runt... / compilers for HPF-like parallel programming languages in compiling codes br systems. We have also developed compiler analysis for determining data
3072.0 Multiprocessor Cache Coherence Based on Virtual Memory Support - Petersen, Li (1995)(Correct)
Virtual memory based cache coherence is a mechanism that relies only on hardware
that already exists on the microprocessors of a shared memory multiprocessor system,
yet dynamically detects and res... / is an effective paradigm for programming multi-processor machines. br in hardware or by relying on compiler support to insert cache flush and
3060.2 Towards a tool kit for the automatic generation of interprocedural.. - Knoop, Rüthing, Steffen (1996)(Correct)
this article, the classical application
of DFA.
In this context, designers of a DFA are typically faced with the problem of how to
construct an algorithm that determines the set of program points of a... / within MetaFrame a programming environment for the br the construction of optimizing compilers. We focus on the generation of
3050.4 Implementation of a Portable Nested Data-Parallel Language - Blelloch (1994)(Correct)
This paper gives an overview of the implementation
of Nesl, a portable nested data-parallel language. This
language and its implementation are the first to fully
support nested data structures as well... / languages a simple programming model and portability. The br nested parallelism allows a compiler to convert them into a form that
3046.6 A Debugger for Standard ML - Tolmach, Appel (1993)(Correct)
We have built a portable, instrumentation-based, replay debugger for the Standard ML of
New Jersey compiler. Traditional "source-level" debuggers for compiled languages actually
operate at machine lev... / J. Functional Programming - January c br for the Standard ML of New Jersey compiler. Traditional source-level
3045.7 Implementation of Stack-Based Languages on Register Machines - Ertl (1996)(Correct)
Languages with programmer-visible stacks (stack-based languages) are
used widely, as intermediate languages (e.g., JavaVM, FCode), and as languages
for human programmers (e.g., Forth, PostScript). How... / Hanson. A Retargetable C compiler Design and Implementation. br Abstract Languages with programmer-visible stacks stack-based
3043.8 Programming Language Semantics in Foundational Type Theory - Crary (1998)(Correct)
There are compelling benefits to using foundational type theory as a framework for programming
language semantics. I give a semantics of an expressive programming calculus in the
foundational type the... / Programming Language Semantics in br intermediate language in the KML compiler In this section I discuss
3041.3 Compiler Architectures for Heterogeneous Systems - McKinley, Singhai, Weaver, Weems (1995)(Correct)
Heterogeneous parallel systems incorporate diverse models of parallelism within a single machine or across machines and are better suited for diverse applications [25, 43, 30]. These systems are alr... / to suit a target and allowing programming models and languages to evolve. br Compiler Architectures for Heterogeneous
3019.1 Implementing Typed Intermediate Languages - Shao, League, Monnier (1998)(Correct)
Recent advances in compiler technology have demonstrated
the benefits of using strongly typed intermediate languages
to compile richly typed source languages (e.g., ML). A typepreserving
compiler can ... / Conference on Functional Programming September Baltimore br Abstract Recent advances in compiler technology have demonstrated the
3018.6 MetaML: Multi-Stage Programming with Explicit Annotations - Taha, Sheard(Correct)
We introduce MetaML, a practically-motivated, staticallytyped
multi-stage programming language. MetaML allows
the programmer to construct, combine, and execute code
fragments in a type-safe manner. Co... / MetaML Multi-Stage Programming with Explicit Annotations br like macro's which directed the compiler to perform compile-time
3003.4 Data Flow Analysis Across Tuplespace Process Boundaries - Fenwick, Jr., Pollock(Correct)
The increasing attention toward distributed shared memory systems attests to the fact that programmers find shared
memory parallel programming easier than message passing programming, while physically... / systems attests to the fact that programmers find shared memory parallel br A current limitation of compilers for shared memory parallel
2995.7 Measuring and Optimizing CORBA Latency and Scalability Over.. - Gokhale, Schmidt (1998)(Correct)
There is increasing demand to extend object-oriented middleware,
such as OMG CORBA, to support applications with
stringent quality of service (QoS) requirements. However,
conventional CORBA Object Req... / CORBA automates common network programming tasks such as object location br Repository Repository Idl Idl Compiler Compiler Dii Dii Orb Orb
2982.7 Proving the Correctness of Compiler Optimisations Based on a Global.. - Burn, Métayer (1995)(Correct)
A substantial amount of work has been devoted to the proof of correctness of
various program analyses but much less attention has been paid to the correctness
of compiler optimisations based on these ... / functions. Science of Computer Programming - November . br Proving the Correctness of Compiler Optimisations Based on a Global
2981.8 NESL: A Nested Data-Parallel Language (Version 3.1) - Blelloch (1995)(Correct)
This report describes Nesl, a strongly-typed, applicative, data-parallel language. Nesl
is intended to be used as a portable interface for programming a variety of parallel and
vector computers, and ... / PRAM model parallel programming languages collection-oriented br Sabot implemented an experimental compiler that supported nested-parallelism
2980.1 On The Acceptability Of Arguments And Its Fundamental Role In.. - Dung (1995)(Correct)
The purpose of this paper is to study the fundamental mechanism, humans use in argumentation, and to explore ways to implement this mechanism on computers. We do so by first developing a theory for ar... / In Nonmonotonic Reasoning Logic Programming And N-Persons Games Phan br a method very much similar to the compiler-compiler idea in conventional
2964.6 Applying Program Visualization Techniques to Aid Parallel and.. - Appelbe, Stasko, Kraemer (1991)(Correct)
Parallel and distributed programming is intrinsically more difficult than sequential programming,
yet few effective tools or methodologies have been developed to help programmers
understand the behavi... / Parallel and distributed programming is intrinsically more difficult br it using parallel constructs or compiler directives. Unfortunately the
2964.5 Commutativity Analysis: A New Analysis Framework for Parallelizing.. - Rinard, Diniz (1996)(Correct)
This paper presents a new analysis technique, commutativity analysis, for automatically parallelizing computations that manipulate dynamic, pointer-based data structures. Commutativity analysis views ... / program to execute correctly the programmer must ensure that all of the br Framework for Parallelizing Compilers Martin C. Rinard
2955.8 Advanced Code Generation for High Performance Fortran - Adve, Mellor-Crummey(Correct)
this paper, we describe
techniques developed in the Rice dHPF compiler to address key code generation
challenges that arise in achieving high performance for regular applications on
message-passing sy... / a simple portable abstract programming model applicable to a wide br wide acceptance parallelizing compilers must be able to provide
2952.1 The Nexus Approach to Integrating Multithreading and Communication - Foster (1996)(Correct)
Lightweight threads have an important role to play in parallel systems: they can be used to exploit shared-memory parallelism, to mask communication and I/O latencies, to implement remote memory acces... / In these situations the programmer can reasonably be assumed to br called Nexus that is used as a compiler target for parallel languages and
2946.0 A Quantitative Analysis of Loop Nest Locality - McKinley, Temam (1996)(Correct)
This paper analyzes and quantifies the locality characteristics of numerical loop nests in order to suggest future directions for architecture and software cache optimizations. Since most programs spe... / on Architectural Support for Programming Languages and Operating br and provide new insights for the compiler writer and the architect.
2936.3 TIL: A Type-Directed Optimizing Compiler for ML - Tarditi, Morrisett, Cheng (1995)(Correct)
We describe a new compiler for Standard ML called TIL, that is based on four technologies: intensional
polymorphism, tag-free garbage collection, conventional functional language optimization,
and loo... / The Acm Sigplan ' Conference On Programming Language Design And br TIL A Type-Directed Optimizing Compiler for ML David Tarditi Greg
2928.5 Access Normalization: Loop Restructuring for NUMA Computers - Li, Pingali (1993)(Correct)
In scalable parallel machines, processors can
make local memory accesses much faster than they can make
remote memory accesses. In addition, when a number of
remote accesses must be made, it is usua... / believe it is too onerous for a programmer to do this by hand so we have br the use of restructuring compiler technology for this purpose. In
2916.9 Tools and Techniques for Automatic Data Layout: A Case Study - Ayguade, Garcia, Kremer (1997)(Correct)
Parallel architectures with physically distributed memory providing computing cycles and
large amounts of memory are becoming more and more common. To make such architectures
truly usable, programming... / such architectures truly usable programming models and support tools are br or mostly through compiler technology distributed
2910.7 CICO: A Practical Shared-Memory Programming Performance Model - Larus, Chandra, Wood (1993)(Correct)
A programming performance model provides a programmer with feedback on the cost
of program operations and is a necessary basis to write efficient programs. Many sharedmemory
performance models do not ... / CICO A Practical Shared-Memory Programming Performance Model James br on a message-passing machine. Compilers such as Vienna Fortran
2909.6 A Portable Multiprocessor Interface for Standard ML of New Jersey - Morrisett, Tolmach (1992)(Correct)
We have designed a portable interface between shared-memory multiprocessors and Standard
ML of New Jersey. The interface is based on the conventional kernel thread model
and provides facilities that c... / ML is a mostly functional programming language that provides br of Wisconsin using the sml c compiler Terminology A
2907.5 How to Formalize It? - Formalization Principles for Information.. - Hofstede, Proper (1997)(Correct)
Although the need for formalisation of modelling techniques is generally recognised, not
much literature is devoted to the actual process involved. This is comparable to the situation
in mathematics w... / the definition of the syntax of programming languages it is customary to br semantics amounts to a compiler for a modelling technique an
2907.0 The ECO model: events + constraints + objects - Starovic Cahill (1995)(Correct)
This document describes the rationale and design of a programming model based on events,
constraints, and objects and the use of this model in the Moonlight
1
project. It describes the
inter-object ... / the rationale and design of a programming model based on events br debugging events may A compiler or language preprocessor.
2904.2 PANDA - Supporting Distributed Programming in C++ - Assenmacher, Breitbach, Buhler.. (1993)(Correct)
PANDA is a run-time package based on a very small operating system kernel
which supports distributed applications written in C++. It provides powerful abstractions
such as very efficient user-level ... / PANDA Supporting Distributed Programming in CH. Assenmacher T. br such systems which do not rely on compiler extension are their portability
2903.0 Optimizing a CORBA IIOP Protocol Engine for Minimal Footprint.. - Gokhale, Schmidt (1998)(Correct)
Communication software for hand-held devices must be flexible
and efficient to deliver the necessary Quality of Service
(QoS) to multimedia applications such as real-time audio and
video, video on-dem... / keyword. To workaround the compiler design we defined a helper method br implementation or use ffl Programming language The languages
2901.3 The MIT Alewife Machine: A Large-Scale Distributed-Memory.. - Agarwal, Chaiken, Johnson, Kranz.. (1991)(Correct)
The Alewife multiprocessor project focuses on the architecture and design of a large-scale parallel machine. The machine uses a low dimension direct interconnection network to provide scalable communi... / allows efficient shared memory programming through a multilayered br and latency tolerance. The compiler runtime system and hardware
2898.3 A Survey of Basic Issues of Parallel Execution on a Distributed System - Evans, Goscinski (1995)(Correct)
This report examines the basic issues involved in implementing parallel execution in a
distributed computational environment. The study was carried out by considering our claim that
both a compiler sh... / generality of parallelism and the programmer's actions when writing br considering our claim that both a compiler should be directly involved in
2895.2 Should Your Specification Language Be Typed? - Lamport, Paulson (1998)(Correct)
Most specification languages have a type system. Type systems are hard to get
right, and getting them wrong can lead to inconsistencies. Set theory can serve
as the basis for a specification language ... / multiple platforms networking programming technology system modelling br language they let the compiler catch errors that would otherwise
2888.2 The ECCE Partial Deduction System - Leuschel(Correct)
Interpretation
". Most parts of the ecce system grew out of joint work with D. De Schreye, R. Gluck,
J. Jørgensen, B. Martens, M.H. Sørensen and A. de Waal. I am also grateful to Wim Vanhoof, the
most... / prototyping. Declarative programming languages are high-level br encompasses traditional compiler optimisation techniques such as
2885.5 Principles and a Preliminary Design for ML2000 - Group (1999)(Correct)
We describe the methodology and current features for ML2000, a new-generation design of ML. ML2000 adds
a number of features to Standard ML and Caml, providing better support for extensibility and cod... / and polymorphism are useful for programming in the small and first-order br machine. Moreover types help the compiler writer implementations of
2882.5 Data Distribution Models and Algorithms - Appelbe, Doddapaneni, Hardnett(Correct)
Data distribution, and its interaction with parallelism and load
balancing, is the key unsolved problem for compiling for parallelism
for distributed memory computers. Many different techniques and al... / implemented suited to different programming environments target br program a programmer or compiler must perform the following steps
2873.8 Unified Compilation of Fortran 77D and 90D - Choudhary, Fox, Hiranandani.. (1993)(Correct)
this paper, we describe a unified strategy for compiling both Fortran 77D and Fortran 90D into efficient unknown Unified Compilation of Fortran 77D and 90D
ALOK CHOUDHARY*, GEOFFREY FOX*, SEEMA HIRANA... / parallel processors D. . Programming Languages Language br machines. The integrated Fortran D compiler relies on two key observations.
2863.8 Typed Memory Management in a Calculus of Capabilities - Crary, Walker, Morrisett (1999)(Correct)
An increasing number of systems rely on programming language
technology to ensure safety and security of low-level
code. Unfortunately, these systems typically rely on a complex,
trusted garbage colle... / number of systems rely on programming language technology to ensure br type-safe code. We present a compiler intermediate language called the
2859.9 Sather 2: A Language Design for Safe, High-Performance Computing - Gomes, Löwe, Quittek, Weissman (1997)(Correct)
Consistency of objects in a concurrent computing environment is usually ensured by serializing all incoming
method calls. However, for high performance parallel computing intra-object parallelism, i.e... / object models that leave it to the programmer to ensure consistency. We br is discovered and exploited by the compiler and run-time system. In explicit
2856.8 Tiling Multidimensional Iteration Spaces for Multicomputers - Ramanujam, Sadayappan (1992)(Correct)
This paper addresses the problem of compiling perfectly nested loops for multicomputers (distributed memory machines). The relatively high communication startup costs in these machines renders frequen... / suffer from a lack of adequate programming support tools. Parallelizing br support tools. Parallelizing compilers for such machines have received
2851.1 Synchronization and Communication in the T3E Multiprocessor - Scott (1996)(Correct)
This paper describes the synchronization and communication primitives of the Cray T3E multiprocessor, a shared memory system scalable to 2048 processors. We discuss what we have learned from the T3D p... / using the sharedmemory programming model e.g.High Performance br significantly easier for the compiler. For either programming model
2843.0 Dynamic Self-Invalidation: Reducing Coherence Overhead in.. - Lebeck, Wood (1995)(Correct)
This paper introduces dynamic self-invalidation (DSI),
a new technique for reducing cache coherence overhead in
shared-memory multiprocessors. DSI eliminates invalidation
messages by having a processo... / multiprocessors simplify parallel programming by providing a single address br system directives inserted by the compiler profile-based tools or the
2842.1 Software Caching and Computation Migration in Olden - Carlisle, Rogers (1995)(Correct)
The goal of the Olden project is to build a system that provides parallelism for general purpose
C programs with minimal programmer annotations. We focus on programs using dynamic
structures such as ... / D. Hanson. A Retargetable C Compiler Design and Implementation. br C programs with minimal programmer annotations. We focus on
2830.3 Orca: A Language For Parallel Programming Of Distributed Systems - Bal, Kaashoek, Tanenbaum (1992)(Correct)
Orca is a language for implementing parallel applications on loosely coupled distributed
systems. Unlike most languages for distributed programming, it allows processes on
different machines to share ... / Orca Alanguage For Parallel Programming Of Distributed Systems Henri br be achieved through an optimizing compiler. Language designers frequently
2810.8 Evaluation Of Programs And Parallelizing Compilers Using Dynamic.. - Petersen (1993)(Correct)
results for an unlimited number
of processors. Upper and lower bounds of the inherent parallelism, for the case of limited
processors, can be derived from the processor activity histogram, which reco... / . Integer Programming Based Dependence Tests br Of Programs And Parallelizing Compilers Using Dynamic Analysis
2805.8 Partitioning Non-strict Languages for Multi-threaded Code Generation - Coorg (1994)(Correct)
In a non-strict language, functions may return values before their arguments are available,
and data structures may be defined before all their components are defined. Compiling such
languages to conv... / Introduction Functional programming languages can be divided into br Figures . Structure of an Id Compiler
2798.8 Type-Checking and Type-Inference for Object-Oriented Programming.. - Graver (1989)(Correct)
Type systems for object-oriented programming languages have been studied a great deal over the
past few years. Since Smalltalk was one of the earliest object-oriented languages, it is not surprising
t... / for Object-Oriented Programming Languages by Justin Owen br TS Typed Smalltalk optimizing compiler. iii Acknowledgements I
2797.1 A Scalable Method for Run-Time Loop Parallelization - Rauchwerger, Amato, Padua (1995)(Correct)
Current parallelizing compilers do a reasonable job of extracting parallelism from programs with regular, well
behaved, statically analyzable access patterns. However, they cannot extract a significan... / ACM Symposium on Principles of Programming Languages pages - br Abstract Current parallelizing compilers do a reasonable job of
2795.9 Experimental Evaluation of Blocking and Non-Blocking Multithreaded.. - Annavaram, Najjar, Roh (1997)(Correct)
The objective of multithreaded execution models is masking the latency of inter processor communications and remote
memory accesses in large-scale multiprocessors. Several such models combine aspects ... / a pure first order functional programming language. The functional nature br nature of the language allows the compiler to easily extract parallelism at
2788.8 Memory Subsystem Performance of Programs Using Copying Garbage.. - Diwan, Tarditi, Moss (1994)(Correct)
Heap allocation with copying garbage collection is believed to have poor memory subsystem performance. We conducted a study of the memory subsystem performance of heap allocation for memory subsystems... / Symposium on Principles of Programming Languages January pp. br compiled with the SML NJ compiler do tremendous amounts of
2767.2 /2: Data-Parallelism and Data-Flow - Olivier Michel (1996)(Correct)
We advocate a data-flow approach to data-parallelism to ensure both parallelism
expressiveness and efficient exploitation of data-parallel applications on
new massively parallel architectures. The rat... / of Parallelism Expression in Programming Languages The many existing br programmer. It is the task of the compiler static extraction of the
2755.3 MORPH: A System Architecture for Robust High Performance Using.. - Chien, Gupta (1996)(Correct)
Achieving 100 TeraOps performance within a tenyear
horizon will require massively-parallel architectures
that exploit both commodity software and hardware
technology for cost efficiency. Increasing cl... / communication resources. This programming flexibility or br has been provided by optimizing compilers vectorizing or parallelizing
2745.5 Data and Computation Transformations for Multiprocessors - Anderson (1995)(Correct)
Effective memory hierarchy utilization is critical to the performance of modern multiprocessor architectures. We havedeveloped the first compiler system that fully automatically parallelizes sequentia... / and Practice of Parallel Programming PPoPP ' Santa Barbara CA br We havedeveloped the first compiler system that fully automatically
2741.4 Typed Cross-Module Compilation - Shao (1998)(Correct)
Higher-order modules are very effective in structuring large
programs and defining generic, reusable software components.
Unfortunately, many compilation techniques for the
core languages do not work ... / Introduction Modular programming has proven to be extremely br As a result few optimizing compilers support these module facilities
2726.4 Explaining Type Inference - Duggan, Bent (1995)(Correct)
Type inference is the compile-time process of reconstructing missing type information in a program
based on the usage of its variables. ML and Haskell are two languages where this aspect of compilatio... / need to explain typing errors to programmers. As a preliminary indication br without type information to the compiler and have the compiler completely
2713.3 Optimal Software Pipelining of Nested Loops - Ramanujam (1994)(Correct)
This paper presents an approach to software pipelining
of nested loops. While several papers have addressed
software pipelining of single (non-nested) loops, little
work has been done in the area of a... / is then solved using linear programming. This allows us to treat br a major challenge to parallelizing compilers The
2706.5 Parallelism in Sequential Functional Languages - Blelloch, Greiner (1995)(Correct)
This paper formally studies the question of how much parallelism
is available in call-by-value functional languages with
no parallel extensions (i.e., the functional subsets of ML or
Scheme). In parti... / of the techniques necessary for programming efficient algorithms in the br reduction and various compiler techniques Such work has
2683.3 Automatic Accurate Time-Bound Analysis for High-Level Languages - Liu (1998)(Correct)
This paper describes a general approach for automatic and accurate time-bound analysis. The approach consists of transformations for building time-bound functions in the presence of partially known in... / algorithms programming languages br systems interactive environments compiler optimizations performance
2683.1 Efficient Implementation of Unification-Based Grammars - Wintner, Francez (1999)(Correct)
Contemporary linguistic formalisms such as LFG or HPSG have become so rigorous that it is now
possible to view them as very high level declarative programming languages. Consequently, grammars
for na... / the starting point for many compiler designs for Prolog. The techniques br as very high level declarative programming languages. Consequently
2682.3 Realistic Compilation by Partial Evaluation - Sperber, Thiemann (1996)(Correct)
Two key steps in the compilation of strict functional languages are the conversion of higher-order functions to data structures (clo- sures) and the transformation to tail-recursive style. We show how... / In Acm Sigplan Conference On Programming Language Design And br that of other modern Scheme-to-C compilers. In addition we have integrated
2678.4 `C and tcc: A Language and Compiler for Dynamic Code Generation - Poletto, Hsieh, Engler, Kaashoek (1999)(Correct)
This paper makes the following contributions:
---It describes the `C language, and motivates the design of the language.
---It describes tcc, with special emphasis on its two runtime systems, one tune... / D. R. . A retargetable C compiler design and implementation. br Dynamic code generation allows programmers to use run-time information in
2668.0 NESL: A Nested Data-Parallel Language (Version 2.6) - Blelloch (1993)(Correct)
This report describes Nesl, a strongly-typed, applicative, data-parallel language. Nesl is
intended to be used as a portable interface for programming a variety of parallel and vector
supercomputers, ... / PRAM model parallel programming languages collection-oriented br Sabot implemented an experimental compiler that supported nested-parallelism
2658.6 Application Generators - Smaragdakis, Batory(Correct)
Introduction
When a programming activity is well-understood, it can be automated. Automation transforms software development from
activities like rote coding and tedious debugging to that of specific... / S.S. Muchnick Advanced Compiler Design and Implementation br Introduction When a programming activity is well-understood it
2648.5 Compiling for Shared-Memory and Message-Passing Computer - Larus (1994)(Correct)
Many parallel languages presume a shared address space in which any portion
of a computation can access any datum. Some parallel computers directly support
this abstraction with hardware shared memory... / a shared address space. Since programmers have difficulty explicitly br there is considerable interest in compiler support for shared address spaces
2641.7 Software pipelining of nested loops - Ramanujam (1994)(Correct)
This paper presents an approach to software pipelining of nested loops. While several papers have
addressed software pipelining of inner loops, little work has been done in the area of extending it to... / which is then solved using linear programming. This allows us to treat br a major challenge to parallelizing compilers The
2635.1 Typed Closure Conversion - Minamide, Morrisett, Harper (1996)(Correct)
We study the typing properties of closure conversion for simply-typed and polymorphic -calculi. Unlike most accounts of closure conversion, which only treat the untyped -calculus, we translate well-ty... / The usual operational models of programming languages based on the br target programs. This allows later compiler phases to take advantage of
2630.6 Bridging the gulf: a common intermediate language for ML and Haskell - Jones, Shields, al. (1998)(Correct)
Compilers for ML and Haskell use intermediate languages
that incorporate deeply-embedded assumptions about order
of evaluation and side effects. We propose an intermediate
language into which one can ... / Introduction Functional programmers are typically split into two br State University Abstract Compilers for ML and Haskell use
2626.2 Run-Time Support and Storage Management for Memory-Mapped Persistent.. - Millard, Dasgupta, Rao, Kuramkote(Correct)
Conventional object-oriented programming systems
allow application programmers to structure each
application as a set of objects. They do not allow longterm
storage of the objects, nor do they allow s... / Conventional object-oriented programming systems allow application br to both the language and the compiler. Having language independence
2611.5 Object-Oriented Programming Without Recursive Types - Pierce, Turner(Correct)
It is widely agreed that recursive types are inherent in
the static typing of the essential mechanisms of objectoriented
programming: encapsulation, message passing,
subtyping, and inheritance. We dem... / Object-Oriented Programming Without Recursive Types br were typeset using a prototype compiler for F that typechecks
2603.2 A Compiler Approach to Scalable Concurrent Program Design - Foster, Taylor (1992)(Correct)
The programmer's most powerful tool for controlling complexity in program design is
abstraction. We seek to use abstraction in the design of concurrent programs, so as to
separate design decisions co... / of Technology Abstract The programmer's most powerful tool for br A Compiler Approach to Scalable Concurrent
2592.7 Issues and Experiences in Implementing a Distributed Tuplespace - James Fenwick (1996)(Correct)
Distributed memory multiprocessors and network clusters are being used increasingly as parallel computing
resources due to their scalability and cost/performance advantages. However, it is generally b... / that shared memory parallel programming is easier than explicit message br for improvement through compiler analysis targeting the
2591.5 ICC++ - A C++ Dialect for High Performance Parallel Computing - Chien, Reddy, Plevyak, Dolby (1996)(Correct)
ICC++ is a new C++ concurrent dialect which allows sequential/parallel program versions
to be maintained with single source, the construction of concurrent data abstractions, convenient
expression of ... / concurrent object-oriented programming concurrent languages br must be designed with modern compiler optimization techniques in mind.
2582.7 Techniques for Debugging Parallel Programs with Flowback Analysis - Choi, Miller, Netzer (1991)(Correct)
Flowback analysis is a powerful technique for debugging programs. It allows the programmer to
examine dynamic dependences in a program's execution history without having to re-execute the program.
The... / debugging programs. It allows the programmer to examine dynamic dependences br we use the coarse traces and other compiler-generated information to
2580.8 Programming Language Semantics - Schmidt (1995)(Correct)
interpretation provides the theory
that allows a compiler writer to prove the correctness of compilers.
Finally, axiomatic semantics is a long-standing fundamental technique for validating the correct... / Programming Language Semantics David A. br correct parser for the language's compiler. ffl The syntax definition
2569.7 Logic programming for the real world - Somogyi, Henderson, Conway, O'Keefe (1995)(Correct)
this paper as an example.
However, Mercury is by no means the only possible language design that fits within our proposal's
framework.
2.1 A strong type system unknown Logic programming for the real w... / Logic programming for the real world Zoltan br this makes it much easier for a compiler to emit parallel code. By
2564.8 The Privatizing DOALL Test: A Run-Time Technique for DOALL Loop.. - Rauchwerger, Padua (1994)(Correct)
Current parallelizing compilers cannot extract a significant fraction of the available parallelism
in a loop if it has a complex and/or statically insufficiently defined access pattern. This
is an imp... / of error over sequential programming and the resulting code may not br Abstract Current parallelizing compilers cannot extract a significant
2560.2 Thread Scheduling Cache Locality - Philbin, Edler, Anshus, Douglas, Li (1996)(Correct)
This paper describes a method to improve the cache locality
of sequential programs by scheduling fine-grained
threads. The algorithm relies upon hints provided at the
time of thread creation to determ... / a compiler or manually by the programmer. This paper describes an br be particularly valuable when compiler-directed tiling is not feasible.
2559.0 javar - a prototype Java restructuring compiler - Bik, Gannon (1997)(Correct)
In this paper we show how implicit parallelism in Java programs can be made
explicit by a restructuring compiler using the multi-threading mechanism of the
language. In particular, we focus on automat... / a program written in the Java programming language is compiled into br a prototype Java restructuring compiler Aart J.C. Bik and Dennis B.
2557.0 Compilation and Equivalence of Imperative Objects - Gordon, Hankin, Lassen (1997)(Correct)
We adopt the untyped imperative object calculus of Abadi and
Cardelli as a minimal setting in which to study problems of compilation
and program equivalence that arise when compiling objectoriented
la... / in particular in the design of programming languages. This paper collates br algorithm used in our prototype compiler for statically resolving method
2552.2 Compiler Technology for Parallel Scientific Computation - Can Ozturan (1994)(Correct)
There is a need for compiler technology that, given the source program, will generate efficient parallel
codes for different architectures with minimal user involvement. Parallel computation is becomi... / S. Distributed memory compiler design for sparse problems. br to appear in Scientific Programming Compiler Technology for
2540.5 Flexible Representation Analysis - Shao (1997)(Correct)
Statically typed languages with Hindley-Milner polymorphism have long been compiled using inefficient and fully boxed data representations. Recently, several new compilation methods have been proposed... / Conference on Functional Programming ICFP' This research was br information passed at runtime a compiler can freely explore any point in
2527.3 Expressing Object Residency Optimizations Using Pointer Type.. - Eliot Moss (1994)(Correct)
We consider some issues in optimizing persistent programming languages. In particular,
we show how to express optimizations of object residency checks in strongly
typed persistent languages as "annota... / issues in optimizing persistent programming languages. In particular we br by the language implementation compiler plus run time Second we can
2527.3 Automatic Selection of Load Balancing Parameters Using Compile-time.. - Siegell, Steenkiste (1996)(Correct)
Clusters of workstations are emerging as an important architecture. Programming tools that aid
in distributing applications on workstation clusters must address problems of mapping the application,
he... / as an important architecture. Programming tools that aid in distributing br tools such as a parallelizing compiler. The parameters discussed are the
2524.7 Standard ML of New Jersey - Appel, MacQueen (1991)(Correct)
The Standard ML of New Jersey compiler has been under development for five years now. We have developed a robust and complete environment for Standard ML that supports the implementation of large soft... / Lang. Implementation and Logic Programming Springer-Verlag LNCS pp. br The Standard ML of New Jersey compiler has been under development for
2519.7 The Rio File Cache: Surviving Operating System Crashes - Chen, Ng, Rajamani, Aycock (1996)(Correct)
One of the fundamental limits to high-performance, high-reliability file systems is memory's vulnerability to system crashes. Because memory is viewed as unsafe, systems periodically write data back... / bit flip with a specific error in programming and most hardware bit flips br is not an issue such as compiler-generated temporary files.
2506.6 Static Integrity Constraint Management in Object-Oriented Database.. - Benzaken, Schaefer (1996)(Correct)
In this paper, we propose an efficient technique to statically manage integrity constraints in object-oriented database
programming languages. We place ourselves in the context of an extended version ... / in object-oriented database programming languages via predicate br this technique is embedded in the compiler technology thus no human
2503.9 `C: A Language for High-Level, Efficient, and Machine-Independent.. - Dawson Engler (1996)(Correct)
Dynamic code generation allows specialized code sequences
to be created using runtime information. Since this information
is by definition not available statically, the use of dynamic code
generation ... / ACM Symposium on Principles of Programming Languages January St. br use. Experiments with a prototype compiler show that C enables excellent
2499.4 Fortran M: A Language for Modular Parallel Programming - Ian T. Foster, K. Mani Chandy (1992)(Correct)
Fortran M is a small set of extensions to Fortran 77 that supports a modular
approach to the design of message-passing programs. It has the following features.
(1) Modularity. Programs are constructed... / A Language for Modular Parallel Programming Ian T. Foster Mathematics br Channels are typed so a compiler can check for correct usage.
2487.1 Loop Parallelization Algorithms - Darte, Robert, Vivien(Correct)
this paper:
Example 7.1 unknown Loop Parallelization Algorithms
Alain Darte, Yves Robert and Fr'ed'eric Vivien
LIP, Ecole Normale Sup'erieure de Lyon, F - 69364 LYON Cedex 07, France
e-mail: [Alain... / computations for and linear programming for Second they take a br as it provides guidance for a compiler-parallelizer given the
2480.9 Unifying Data and Control Transformations for Distributed.. - Cierniak, Li (1994)(Correct)
We present a unified approach to locality optimization that employs both data and control transformations. Data transformations include changing the array layout in memory. Control transformations inv... / of the SIGPLAN ' Conference on Programming Language Design and br have developed new techniques for compiler optimizations for distributed