Daniel J. Scales

The Swift Java Compiler: Design and Implementation (2000)

Daniel J. Scales, Keith H. Randall, Sanjay Ghemawat, Jeff Dean

We have designed and implemented an optimizing Java compiler called Swift for the Alpha architecture. Swift translates Java bytecodes to optimized Alpha code, and uses static single assignment (SSA)...

Field Analysis: Getting Useful and Low-cost Interprocedural Information (2000)

Sanjay Ghemawat, Keith H. Randall, Daniel J. Scales

We present a new limited form of interprocedural analysis called field analysis that can be used by a compiler to reduce the costs of modern language features such as objectoriented programming,...

Field Analysis: Getting Useful and Low-cost Interprocedural Information (2000)

Sanjay Ghemawat, Keith H. Randall, Daniel J. Scales

We present a new limited form of interprocedural analysis called field analysis that can be used by a compiler to reduce the costs of modern language features such as objectoriented programming,...

WRL Research Report 96/2 (1999)

Daniel J. Scales, Kourosh Gharachorloo, Chandramohan A. Thekkath

This paper describes Shasta, a system that supports a shared address space in software on clusters of computers with physically distributed memory. A unique aspect of Shasta compared to most other...

Comparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared Memory (1999)

Sandhya Dwarkadas, Kourosh Gharachorloo, Leonidas Kontothanassis, Daniel J. Scales, Michael L. Scott, Robert Stets

Symmetric multiprocessors (SMPs) connected with low-latency networks provide attractive building blocks for software distributed shared memory systems. Two distinct approaches have been used: the...

Efficient Dynamic Procedure Placement (1999)

Daniel J. Scales

Commercial applications such as database servers often have very large instruction footprints and consequently are frequently stalled due to instruction cache misses. A large fraction of the i-cache...

WRL Research Report 98/7 (1999)

Sandhya Dwarkadas, Kourosh Gharachorloo, Leonidas Kontothanassis, Daniel J. Scales, Michael L. Scott, Robert Stets

Symmetric multiprocessors (SMPs) connected with low-latency networks provide attractive building blocks for software distributed shared memory systems. Two distinct approaches have been used: the...

Performance of the Shasta Distributed Shared Memory Protocol (1999)

Daniel J. Scales, Kourosh Gharachorloo

Shasta supports a shared address space in software across a cluster of computers with physically distributed memory. A unique aspect of Shasta compared to most other software distributed shared...

Fine-Grain Software Distributed Shared Memory on SMP Clusters (1999)

Daniel J. Scales, Kourosh Gharachorloo, Anshu Aggarwal

Commercial SMP nodes are an attractive building block for software distributed shared memory systems. The advantages of using SMP nodes include fast communication among processors within the same SMP...

Comparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared Memory (1998)

Sandhya Dwarkadas, Kourosh Gharachorloo, Leonidas Kontothanassis, Daniel J. Scales, Michael L. Scott, Robert Stets

Symmetric multiprocessors (SMPs) connected with low-latency networks provide attractive building blocks for software distributed shared memory systems. Two distinct approaches have been used: the...

Comparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared Memory (1998)

Sandhya Dwarkadas, Kourosh Gharachorloo, Leonidas Kontothanassis, Daniel J. Scales, Michael L. Scott, Robert Stets

Symmetric multiprocessors (SMPs) connected with low-latency networks provide attractive building blocks for software distributed shared memory systems. Two distinct approaches have been used: the...

Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory (1998)

Daniel J. Scales, Kourosh Gharachorloo, Chandramohan A. Thekkath

This paper describes Shasta, a system that supports a shared address space in software on clusters of computers with physically distributed memory. A unique aspect of Shasta compared to most other...

Experience with Parallel Computing on the AN2 Network (1998)

Daniel J. Scales, Michael Burrows, Ramohan A. Thekkath

Technology trends make it attractive to use workstations connected by a local area network as a multicomputing platform for parallel applications. Achieving acceptable application performance in such...

The Design and Evaluation of a Shared Object System for Distributed Memory Machines (1998)

Daniel J. Scales, Monica S. Lam

This paper describes the design and evaluation of SAM, a shared object system for distributed memory machines. SAM is a portable run-time system that provides a global name space and automatic...

Fine-Grain Software Distributed Shared Memory on SMP Clusters (1997)

Daniel J. Scales, Kourosh Gharachorloo, Anshu Aggarwal

Commercial SMP nodes are an attractive building block for software distributed shared memory systems. The advantages of using SMP nodes include fast communication among processors within the same...

Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory (1997)

Daniel J. Scales, Kourosh Gharachorloo, Chandramohan A. Thekkath

This paper describes Shasta, a system that supports a shared address space in software on clusters of computers with physically distributed memory. A unique aspect of Shasta compared to most other...

Daniel J. Scales (1997)

Daniel J. Scales, Kourosh Gharachorloo

Despite a large research effort, software distributed shared memory systems have not been widely used to run parallel applications across clusters of computers. The higher performance of hardware...

Towards Transparent and Efficient Software Distributed Shared Memory (1997)

Daniel J. Scales, Kourosh Gharachorloo

Despite a large research effort, software distributed shared memory systems have not been widely used to run parallel applications across clusters of computers. The higher performance of hardware...

Daniel J. Scales (1997)

Daniel J. Scales, Kourosh Gharachorloo

Despite a large research effort, software distributed shared memory systems have not been widely used to run parallel applications across clusters of computers. The higher performance of hardware...

Parallelizing the OPS5 Matching Algorithm in Qlisp, (1997)

Scales, Daniel J.

In recent years, production systems have become a popular framework within which to implement large scale expert systems. Unfortunately, production systems are often characterized by slow running...

Experience with Parallel Computing on the AN2 Network (1997)

Daniel J. Scales, Michael Burrows, Ramohan A. Thekkath

Technology trends make it attractive to use workstations connected by a local area network as a multicomputing platform for parallel applications. Achieving acceptable application performance in such...

Shasta: a System for Supporting Fine-Grain Shared Memory across Clusters (1996)

Daniel J. Scales, Kourosh Gharachorloo

Shasta is a system that supports shared memory in software on clusters of computers with physically distributed memory. A unique aspect of Shasta compared to most other software distributed shared...

Shasta: a System for Supporting Fine-Grain Shared Memory across Clusters (1996)

Daniel J. Scales, Kourosh Gharachorloo

Shasta is a system that supports shared memory in software on clusters of computers with physically distributed memory. A unique aspect of Shasta compared to most other software distributed shared...

Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory (1996)

Daniel J. Scales, Kourosh Gharachorloo, Chandramohan A. Thekkath

This paper describes Shasta, a system that supports a shared address space in software on clusters of computers with physically distributed memory. A unique aspect of Shasta compared to most other...

Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory (1996)

Daniel J. Scales, Kourosh Gharachorloo, Chandramohan A. Thekkath

This paper describes Shasta, a system that supports a shared address space in software on clusters of computers with physically distributed memory. A unique aspect of Shasta compared to most other...

Transparent Fault Tolerance for Parallel Applications on Networks of Workstations (1996)

Dec Western, Daniel J. Scales, Monica S. Lam

This paper describes a new method for providing transparent fault tolerance for parallel applications on a network of workstations. We have designed our method in the context of shared object system...

Conference, January, 1996 (1995)

Daniel J. Scales, Monica S. Lam

This paper describes a new method for providing transparent fault tolerance for parallel applications on a network of workstations. We have designed our method in the context of shared object system...

Transparent Fault Tolerance for Parallel Applications on Networks of Workstations (1995)

Daniel J. Scales, Monica S. Lam

This paper describes a new method for providing transparent fault tolerance for parallel applications on a network of workstations. We have designed our method in the context of shared object system...

Transparent Fault Tolerance for Parallel Applications on Networks of Workstations (1995)

Daniel J. Scales, Monica S. Lam

This paper describes a new method for providing transparent fault tolerance for parallel applications on a network of workstations. We have designed our method in the context of shared object system...

Hierarchical Concurrency in Jade (1995)

Daniel J. Scales, Martin C. Rinard, Monica S. Lam, Jennifer M. Anderson

Jade is a data-oriented language for parallelizing programs written in a serial, imperative programming language such as C, FORTRAN, or C++. A Jade programmer simply augments the program with...

Hierarchical Concurrency in Jade (1995)

Daniel J. Scales, Martin C. Rinard, Monica S. Lam, Jennifer M. Anderson

Jade is a data-oriented language for parallelizing programs written in a serial, imperative programming language such as C, FORTRAN, or C++. A Jade programmer simply augments the program with...

Hierarchical Concurrency in Jade (1995)

Daniel J. Scales, Martin C. Rinard, Monica S. Lam, Jennifer M. Anderson

Jade is a data-oriented language for parallelizing programs written in a serial, imperative programming language such as C, FORTRAN, or C++. A Jade programmer simply augments the program with...

Jade: A High-Level, Machine-Independent Language for Parallel Programming (1995)

Martin C. Rinard, Daniel J. Scales, Monica S. Lam

this memory is called a shared object. Pointers to shared objects are identified in a Jade program using the shared type qualifier. For example:

The Design and Evaluation of a Shared Object System for Distributed Memory Machines (1994)

Daniel J. Scales, Monica S. Lam

This paper describes the design and evaluation of SAM, a shared object system for distributed memory machines. SAM is a portable run-time system that provides a global name space and automatic...

The Design and Evaluation of a Shared Object System for Distributed Memory Machines (1994)

Daniel J. Scales, Monica S. Lam

This paper describes the design and evaluation of SAM, a shared object system for distributed memory machines. SAM is a portable run-time system that provides a global name space and automatic...

The Design and Evaluation of a Shared Object System for Distributed Memory Machines (1994)

Daniel J. Scales, Monica S. Lam

This paper describes the design and evaluation of SAM, a shared object system for distributed memory machines. SAM is a portable run-time system that provides a global name space and automatic...

An Efficient Shared Memory Layer for Distributed Memory Machines (1994)

Daniel J. Scales, Monica S. Lam

This report describes a system called SAM that simplifies the task of programming machines with distributed address spaces by providing a shared name space and dynamic caching of remotely accessed...

Hierarchical Concurrency in Jade (1994)

Daniel J. Scales, Martin C. Rinard, Monica S. Lam, Jennifer M. Anderson

Jade is a data-oriented language for exploiting coarse-grain parallelism. A Jade programmer simply augments a serial program with assertions specifying how the program accesses data. The Jade...