Demo Data from EDBT 2026 / reviewers in the wild / expert
Daniel J. Scales
dblp:59/3752
· DBLP profile ↗
9ranked-venue papers
6as first author
0since 2021 · last 2000
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 6 · 4 first-authorSoftware engineering, systems software and programming languages · 4 · 3 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
7 papers |
Memory systems · 69% Parallel and multicore computing · 20% Distributed systems · 10% | |
| Software engineering, system software, and programming languages
2 papers |
Program analysis · 38% Compilers and program optimization · 38% Concurrent programming · 25% |
Topics — the 17 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems › shared memory
distributed shared memory |
0.1 | 5 | 1999 | Comparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared Memory · HPCA 1999 Fine-Grain Software Distributed Shared Memory on SMP Clusters · HPCA 1998 Towards Transparent and Efficient Software Distributed Shared Memory · SOSP 1997 |
Memory systems › shared memory › distributed shared memory
software distributed shared memory |
0.1 | 4 | 1999 | Comparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared Memory · HPCA 1999 Fine-Grain Software Distributed Shared Memory on SMP Clusters · HPCA 1998 Towards Transparent and Efficient Software Distributed Shared Memory · SOSP 1997 |
Parallel and multicore computing
parallel programming models |
0.0 | 3 | 1997 | Towards Transparent and Efficient Software Distributed Shared Memory · SOSP 1997 Heterogeneous Parallel Programming in Jade · SC 1992 The Design and Evaluation of a Shared Object System for Distributed Memory Machines · OSDI 1994 |
Compilers and program optimization
compiler optimization |
0.0 | 1 | 2000 | Field analysis: getting useful and low-cost interprocedural information · PLDI 2000 |
Program analysis › static analysis
interprocedural analysis |
0.0 | 1 | 2000 | Field analysis: getting useful and low-cost interprocedural information · PLDI 2000 |
Memory systems › cache coherence › coherence granularity
coarse-grain coherence |
0.0 | 1 | 1999 | Comparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared Memory · HPCA 1999 |
Memory systems › cache coherence
coherence granularity |
0.0 | 1 | 1999 | Comparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared Memory · HPCA 1999 |
Concurrent programming
memory models |
0.0 | 1 | 1997 | Towards Transparent and Efficient Software Distributed Shared Memory · SOSP 1997 |
Distributed systems
fault tolerance |
0.0 | 1 | 1996 | Transparent Fault Tolerance for Parallel Applications on Networks of Workstations · USENIX ATC 1996 |
Distributed systems › fault tolerance
transparent fault tolerance |
0.0 | 1 | 1996 | Transparent Fault Tolerance for Parallel Applications on Networks of Workstations · USENIX ATC 1996 |
Parallel and multicore computing › parallel programming models › parallel language design
high-level parallel language |
0.0 | 1 | 1992 | Heterogeneous Parallel Programming in Jade · SC 1992 |
Parallel and multicore computing › parallel programming models
portable parallel programming |
0.0 | 1 | 1992 | Heterogeneous Parallel Programming in Jade · SC 1992 |
Parallel and multicore computing › multiprocessor system
shared-memory multiprocessor |
0.0 | 1 | 1999 | Comparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared Memory · HPCA 1999 |
High-performance computing › cluster computing
SMP cluster |
0.0 | 1 | 1998 | Fine-Grain Software Distributed Shared Memory on SMP Clusters · HPCA 1998 |
Memory systems
cache coherence |
0.0 | 1 | 1996 | Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory · ASPLOS 1996 |
Memory systems › cache coherence
cache coherence protocol |
0.0 | 1 | 1996 | Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared Memory · ASPLOS 1996 |
Parallel and multicore computing › parallel programming models
distributed memory programming |
0.0 | 1 | 1994 | The Design and Evaluation of a Shared Object System for Distributed Memory Machines · OSDI 1994 |
Methods — techniques the papers use, named apart from their topics
fine-granularity coherence · 0.0binary translation · 0.0access modifier analysis · 0.0virtual memory coherence · 0.0instrumentation · 0.0race-free protocol · 0.0inline state checking · 0.0relaxed memory models · 0.0load-store interception · 0.0executable rewriting · 0.0coarse-grain concurrency · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2000 | Field analysis: getting useful and low-cost interprocedural informationabstractWe 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 object-oriented programming, automatic memory management, and run-time checks required for type safety. Unlike many previous interprocedural analyses, our analysis is cheap, and does not require access to the entire program. Field analysis exploits the declared access restrictions placed on fields in a modular language (e.g. field access modifiers in Java) in order to determine useful properties of fields of an object. We describe our implementation of field analysis in the Swift optimizing compiler for Java, as well a set of optimizations that exploit the results of field analysis. These optimizations include removal of run-time tests, compile-time resolution of method calls, object inlining, removal of unnecessary synchronization, and stack allocation. Our results demonstrate that field analysis is efficient and effective. Speedups average 7% on a wide range of applications, with some times reduced by up to 27%. Compile time overhead of field analysis is about 10%. Sanjay Ghemawat, Keith H. Randall, Daniel J. Scales |
PLDI | 3 |
| 1999 | Comparative Evaluation of Fine- and Coarse-Grain Approaches for Software Distributed Shared MemoryabstractSymmetric multiprocessors (SMPs) connected with low-latency networks provide attractive building blocks for software distributed shared memory systems. Two distinct approaches have been used: the fine-grain approach that instruments application loads and stores to support a small coherence granularity, and the coarse-grain approach based on virtual memory hardware that provides coherence at a page granularity. Fine-grain systems offer a simple migration path for applications developed on hardware multiprocessors by supporting coherence protocols similar to those implemented in hardware. On the other hand, coarse-grain systems can potentially provide higher performance through more optimized protocols and larger transfer granularities, while avoiding instrumentation overheads. Numerous studies have examined each approach individually, but major differences in experimental platforms and applications make comparison of the approaches difficult. This paper presents a detailed comparison of two mature systems, Shasta and Cashmere, representing the fine- and coarse-grain approaches, respectively. Both systems are tuned to run on the same commercially available, state-of-the-art cluster of AlphaServer SMPs connected via a Memory Channel network. As expected, our results show that Shasta provides robust performance for applications tuned for hardware multiprocessors, and can better tolerate fine-grain synchronization. In contrast, Cashmere is highly sensitive to fine-grain synchronization, but provides a performance edge for applications with coarse-grain behavior. Interestingly, we found that the performance gap between the systems can often be bridged by program modifications that address coherence and synchronization granularity. In addition, our study reveals some unexpected results related to the interaction of current compiler technology with application instrumentation, and the ability of SMP-aware protocols to avoid certain performance disadvantages of coarse-grain approaches. Sandhya Dwarkadas, Kourosh Gharachorloo, Leonidas I. Kontothanassis, Daniel J. Scales, Michael L. Scott, Robert Stets |
HPCA | 4 |
| 1998 | Fine-Grain Software Distributed Shared Memory on SMP ClustersabstractCommercial 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 node and potential gains from clustering where remote data fetched by one processor is used by other processors on the same node. This paper describes a major extension to the Shasta distributed shared memory system to run efficiently on a cluster of SMP nodes. The Shasta system keeps shared data coherent across nodes at a fine granularity by inserting inline code that checks the cache state of shared data before each load or store in an application. However allowing processors to share memory within the same SMP is complicated by race conditions that arise because the inline state check is non-atomic with respect to the actual load or store of shared data. We present a novel protocol that avoids such race conditions without the use of costly synchronization in the inline checking code. To characterize the benefits of using SMP nodes in the context of Shasta, we present detailed performance results for nine SPLASH-2 applications running on a cluster of Alpha multiprocessors. Daniel J. Scales, Kourosh Gharachorloo, Anshu Aggarwal |
HPCA | 1 |
| 1997 | Design and Performance of the Shasta Distributed Shared Memory Protocolabstractresearch relevant to the design and application of high performance scientific computers. We test our ideas by designing, building, and using real systems. The systems we build are research prototypes; they are not intended to become products. There are two other research laboratories located in Palo Alto, the Network Systems Daniel J. Scales, Kourosh Gharachorloo |
International Conference on Supercomputing | 1 |
| 1997 | Towards Transparent and Efficient Software Distributed Shared MemoryabstractDespite 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 multiprocessors makes them the preferred platform for developing and executing applications.In addition, most applications are distributed only in binary format for a handful of popular hardware systems.Due to their limited functionality, software systems cannot directly execute the applications developed for hardware platforms.We have developed a system called Shasta that attempts to address the issues of efficiency and transparency that have hindered wider acceptanceof software systems.Shastais adistributedsharedmemory system that supports coherence at a fine granularity in software and can efficiently exploit small-scale SMP nodes by allowing processes on the same node to share data at hardware speeds.This paper focuses on our goal of tapping into large classes of commercially available applications by transparently executing the same binaries thatrun on hardware platforms.We diicussthe issues involved in achieving transparent execution of binaries, which include supporting the full instruction set architecture, implementing an appropriate memory consistency model, and extending OS services across separatenodes.We also describe the techniquesusedin Shastatosolvetheabovepmblems.TheShastasystemisfullyfunctional on a prototype cluster of Alpha multiprocessors connected through Digital's Memory Channel network and can transparently run parallel applications on the cluster that were compiled to run on a single shared-memory multiprocessor.As an example of Shasta's flexibility, it can execute Oracle 7.3, a commercial database engine, across the cluster, including workloads modeled after the TPC-B and TPC-D database benchmarks.To characterize the performance of the system and the cost of providing complete transparency, we present performance results for microbenchmarks and applications running on the cluster, include preliminary results for Oracle runs. Daniel J. Scales, Kourosh Gharachorloo |
SOSP | 1 |
| 1996 | Shasta: A Low Overhead, Software-Only Approach for Supporting Fine-Grain Shared MemoryabstractThis 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 software distributed shared memory systems is that shared data can be kept coherent at a fine granularity. In addition, the system allows the coherence granularity to vary across different shared data structures in a single application. Shasta implements the shared address space by transparently rewriting the application executable to intercept loads and stores. For each shared load or store, the inserted code checks to see if the data is available locally and communicates with other processors if necessary. The system uses numerous techniques to reduce the run-time overhead of these checks. Since Shasta is implemented entirely in software, it also provides tremendous flexibility in supporting different types of cache coherence protocols. We have implemented an efficient cache coherence protocol that incorporates a number of optimizations, including support for multiple communication granularities and use of relaxed memory models. This system is fully functional and runs on a cluster of Alpha workstations.The primary focus of this paper is to describe the techniques used in Shasta to reduce the checking overhead for supporting fine granularity sharing in software. These techniques include careful layout of the shared address space, scheduling the checking code for efficient execution on modern processors, using a simple method that checks loads using only the value loaded, reducing the extra cache misses caused by the checking code, and combining the checks for multiple loads and stores. To characterize the effect of these techniques, we present detailed performance results for the SPLASH-2 applications running on an Alpha processor. Without our optimizations, the checking overheads are excessively high, exceeding 100% for several applications. However, our techniques are effective in reducing these overheads to a range of 5% to 35% for almost all of the applications. We also describe our coherence protocol and present some preliminary results on the parallel performance of several applications running on our workstation cluster. Our experience so far indicates that once the cost of checking memory accesses is reduced using our techniques, the Shasta approach is an attractive software solution for supporting a shared address space with fine-grain access to data. Daniel J. Scales, Kourosh Gharachorloo, Chandramohan A. Thekkath |
ASPLOS | 1 |
| 1996 | Transparent Fault Tolerance for Parallel Applications on Networks of Workstations
Daniel J. Scales, Monica S. Lam |
USENIX ATC | 1 |
| 1994 | The Design and Evaluation of a Shared Object System for Distributed Memory Machines
Daniel J. Scales, Monica S. Lam |
OSDI | 1 |
| 1992 | Heterogeneous Parallel Programming in JadeabstractThe authors present Jade, a high-level parallel programming language for managing course-grain concurrency. Jade simplifies programming by providing the programmer with the abstractions of sequential execution and a shared address space. Jade programmers augment sequential, imperative programs with constructs that declare how parts of the program access data; the Jade implementation dynamically interprets this information to execute the program in parallel. This parallel execution preserves the serial semantics of the original program. Jade has been implemented as an extension to C on shared-memory multiprocessors, a message-passing machine, networks of heterogeneous workstations, and systems with special-purpose functional units. Programs written in Jade run on all of these platforms without modification.> Martin C. Rinard, Daniel J. Scales, Monica S. Lam |
SC | 2 |