Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Amer Diwan is active.

Publication


Featured researches published by Amer Diwan.


acm sigplan symposium on principles and practice of parallel programming | 1999

SUIF Explorer: an interactive and interprocedural parallelizer

Shih-Wei Liao; Amer Diwan; Robert P. Bosch; Anwar M. Ghuloum; Monica S. Lam

The SUIF Explorer is an interactive parallelization tool that is more effective than previous systems in minimizing the number of lines of code that require programmer assistance. First, the interprocedural analyses in the SUIF system is successful in parallelizing many coarse-grain loops, thus minimizing the number of spurious dependences requiring attention. Second, the system uses dynamic execution analyzers to identify those important loops that are likely to be parallelizable. Third, the SUIF Explorer is the first to apply program slicing to aid programmers in interactive parallelization. The system guides the programmer in the parallelization process using a set of sophisticated visualization techniques.This paper demonstrates the effectiveness of the SUIF Explorer with three case studies. The programmer was able to speed up all three programs by examining only a small fraction of the program and privatizing a few variables.


programming language design and implementation | 1998

Type-based alias analysis

Amer Diwan; Kathryn S. McKinley; J. Eliot B. Moss

This paper evaluates three alias analyses based on programming language types. The first analysis uses type compatibility to determine aliases. The second extends the first by using additional high-level information such as field names. The third extends the second with a flow-insensitive analysis. Although other researchers suggests using types to disambiguate memory references, none evaluates its effectiveness. We perform both static and dynamic evaluations of type-based alias analyses for Modula-3, a statically-typed type-safe language. The static analysis reveals that type compatibility alone yields a very imprecise alias analysis, but the other two analyses significantly improve alias precision. We use redundant load elimination (RLE) to demonstrate the effectiveness of the three alias algorithms in terms of the opportunities for optimization, the impact on simulated execution times, and to compute an upper bound on what a perfect alias analysis would yield. We show modest dynamic improvements for (RLE), and more surprisingly, that on average our alias analysis is within 2.5% of a perfect alias analysis with respect to RLE on 8 Modula-3 programs. These results illustrate that to explore thoroughly the effectiveness of alias analyses, researchers need static, dynamic, and upper-bound analysis. In addition, we show that for type-safe languages like Modula-3 and Java, a fast and simple alias analysis may be sufficient for many applications.


programming language design and implementation | 1992

Compiler support for garbage collection in a statically typed language

Amer Diwan; J. Eliot B. Moss; Richard L. Hudson

We consider the problem of supporting compacting garbage collection in the presence of modern compiler optimizations. Since our collector may move any heap object, it must accurately locate, follow, and update all pointers and values derived from pointers. To assist the collector, we extend the compiler to emit tables describing live pointers, and values derived from pointers, at each program location where collection may occur. Significant results include identification of a number of problems posed by optimizations, solutions to those problems, a working compiler, and experimental data concerning table sizes, table compression, and time overhead of decoding tables during collection. While gc support can affect the code produced, our sample programs show no significant changes, the table sizes are a modest fraction of the size of the optimized code, and stack tracing is a small fraction of total gc time. Since the compiler enhancements are also modest, we conclude that the approach is practical.


conference on object-oriented programming systems, languages, and applications | 1996

Simple and effective analysis of statically-typed object-oriented programs

Amer Diwan; J. Eliot B. Moss; Kathryn S. McKinley

To use modern hardware effectively, compilers need extensive control-flow information. Unfortunately, the frequent method invocations in object-oriented languages obscure control flow. In this paper, we describe and evaluate a range of analysis techniques to convert method invocations into direct calls for statically-typed object-oriented languages and thus improve control-flow information in object-oriented languages. We present simple algorithms for <i>type hierarchy analysis, aggregate analysis, and interprocedural and intraprocedural type propagation</i>. These algorithms are also fast, <i>O</i>(|procedures| * &sum;<inf>p</inf><sup>procedure</sup> <i>n</i><inf><i>p</i></inf> * <i>v</i><inf><i>p</i></inf>) worst case time (linear in practice) for our slowest analysis, where <i>n</i><inf><i>p</i></inf> is the size of procedure <i>p</i> and <i>v</i><inf><i>p</i></inf> is the number of variables in procedure <i>p</i>, and are thus practical for use in a compiler. When they fail, we introduce <i>cause analysis</i> to reveal the source of imprecision and suggest where more powerful algorithms may be warranted. We show that our simple analyses perform almost as well as an oracle that resolves all method invocations that invoke only a single procedure.


ACM Transactions on Computer Systems | 1995

Memory system performance of programs with intensive heap allocation

Amer Diwan; David Tarditi; J. Eliot B. Moss

Heap allocation with copying garbage collection is a general storage management technique for programming languages. It is believed to have poor memory system performance. To investigate this, we conducted an in-depth study of the memory system performance of heap allocation for memory systems found on many machines. We studied the performance of mostly functional Standard ML programs which made heavy use of heap allocation. We found that most machines support heap allocation poorly. However, with the appropriate memory system organization, heap allocation can have good performance. The memory system property crucial for achieving good performance was the ability to allocate and initialize a new object into the cache without a penalty. This can be achieved by having subblock by placement with a subblock size of one word with a write-allocate policy, along with fast page-mode writes or a write buffer. For caches with subblock placement, the data cache overhead was under 9% for a 64K or larger data cache; without subblock placement the overhead was often higher than 50%.


symposium on principles of programming languages | 1994

Memory subsystem performance of programs using copying garbage collection

Amer Diwan; David Tarditi; J. Eliot B. Moss

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 found on many machines. We found that many machines support heap allocation poorly. However, with the appropriate memory subsystem organization, heap allocation can have good memory subsystem performance.


Higher-order and Symbolic Computation \/ Lisp and Symbolic Computation | 1995

Measuring the Cost of Storage Management

David Tarditi; Amer Diwan

We study the cost of storage management for garbage-collected programs compiled with the Standard ML of New Jersey compiler. We show that the cost of storage management is not the same as the time spent garbage collecting. For many of the programs, the time spent garbage collecting is less than the time spent doing other storage-management tasks.


Archive | 2000

An overview of the suif2 compiler infrastructure

Gerald Aigner; Amer Diwan; David L. Heine; Monica S. Lam; Dana Moore; Brian R. Murphy; Constantine P. Sapuntzakis


Archive | 1991

A Language-Independent Garbage Collector Toolkit

Richard L. Hudson; J. E Moss; Amer Diwan; Christopher F. Weight


Archive | 1990

Adaptive garbage collection for modula-3 and smalltalk

Richard L. Hudson; Amer Diwan

Collaboration


Dive into the Amer Diwan's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

J. Eliot B. Moss

University of Massachusetts Amherst

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Christopher F. Weight

University of Massachusetts Amherst

View shared research outputs
Researchain Logo
Decentralizing Knowledge