Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Dror E. Maydan

dblp:16/6427 · DBLP profile ↗
← Back
9ranked-venue papers
2as first author
0since 2021 · last 2011
—ORCID · none

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

Systems, architecture and hardware · 5Software engineering, systems software and programming languages · 3 · 2 first-authorArtificial intelligence and machine learning · 1

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.

Software engineering, system software, and programming languages
5 papers
Compilers and program optimization · 90% Program analysis · 10%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Processor architecture and microarchitecture · 65% Parallel and multicore computing · 15% Memory systems · 14%

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

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture › instruction set architecture › instruction set extension
application-specific instruction set extension
0.012001
Hardware/Software Instruction Set Configurability for System-on-Chip Processors · DAC 2001
Processor architecture and microarchitecture
instruction set architecture
0.012001
Hardware/Software Instruction Set Configurability for System-on-Chip Processors · DAC 2001
Processor architecture and microarchitecture › instruction set architecture
instruction set extension
0.012001
Hardware/Software Instruction Set Configurability for System-on-Chip Processors · DAC 2001
Compilers and program optimization
instruction scheduling
0.021996
Combining Loop Transformations Considering Caches and Scheduling · MICRO 1996
Dynamic memory disambiguation for array references · MICRO 1994
Compilers and program optimization › instruction scheduling
software pipelining
0.021996
Combining Loop Transformations Considering Caches and Scheduling · MICRO 1996
Dynamic memory disambiguation for array references · MICRO 1994
Compilers and program optimization › memory optimization
data locality optimization
0.011997
Data Distribution Support on Distributed Shared Memory Multiprocessors · PLDI 1997
Parallel and multicore computing
data distribution
0.011997
Data Distribution Support on Distributed Shared Memory Multiprocessors · PLDI 1997
Memory systems › shared memory
distributed shared memory
0.011997
Data Distribution Support on Distributed Shared Memory Multiprocessors · PLDI 1997
Compilers and program optimization
loop transformation
0.011996
Combining Loop Transformations Considering Caches and Scheduling · MICRO 1996
Compilers and program optimization › dependence analysis
memory disambiguation
0.011994
Dynamic memory disambiguation for array references · MICRO 1994
Compilers and program optimization › compiler analysis
array data-flow analysis
0.011993
Array Data-Flow Analysis and its Use in Array Privatization · POPL 1993
Compilers and program optimization › parallelization › automatic parallelization
array privatization
0.011993
Array Data-Flow Analysis and its Use in Array Privatization · POPL 1993
Compilers and program optimization › parallelization
automatic parallelization
0.011993
Array Data-Flow Analysis and its Use in Array Privatization · POPL 1993
Program analysis
data flow analysis
0.011993
Array Data-Flow Analysis and its Use in Array Privatization · POPL 1993
Reconfigurable computing and FPGAs › reconfigurable architecture
configurable processor
0.012001
Hardware/Software Instruction Set Configurability for System-on-Chip Processors · DAC 2001
Processor architecture and microarchitecture › special-purpose processor › application-specific processor design
extensible processors
0.012001
Hardware/Software Instruction Set Configurability for System-on-Chip Processors · DAC 2001
Program analysis
data dependence analysis
0.011991
Efficient and Exact Data Dependence Analysis · PLDI 1991
Compilers and program optimization
dependence analysis
0.011991
Efficient and Exact Data Dependence Analysis · PLDI 1991
Compilers and program optimization
loop optimization
0.011991
Efficient and Exact Data Dependence Analysis · PLDI 1991
Compilers and program optimization › parallelization › automatic parallelization
loop parallelization
0.011991
Efficient and Exact Data Dependence Analysis · PLDI 1991
Computer vision › 3D vision
shape from shading
0.011989
Recovering Three-Dimensional Shape from a Single Image of Curved Objects · IEEE Trans. Pattern Anal. Mach. Intell. 1989
Memory systems
cache
0.011996
Combining Loop Transformations Considering Caches and Scheduling · MICRO 1996
Computer vision › 3D vision
surface normal estimation
0.011989
Recovering Three-Dimensional Shape from a Single Image of Curved Objects · IEEE Trans. Pattern Anal. Mach. Intell. 1989

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

error detection · 0.0compiler directives · 0.0cache coherence · 0.0search-based transformation selection · 0.0machine cycle time model · 0.0instruction set extension description language · 0.0automated software environment extension · 0.0static analysis · 0.0runtime analysis · 0.0data dependence analysis · 0.0integer linear programming · 0.0distance and direction vectors · 0.0variational formulation · 0.0image irradiance equation · 0.0
YearPublicationVenuePosition
2011 The world's fastest DSP core: Breaking the 100 GMAC/s barrier
Chris Rowen, Dan Nicolaescu, Rajiv Ravindran, David Heine, Grant Martin, James Kim, Dror E. Maydan, Nupur Andrews, Bill Huffman, Vakis Papaparaskeva, Shay Gal-On, Peter R. Nuth, Pushkar Patwardhan, Manish Paradkar
Hot Chips Symposium7
2001 Hardware/Software Instruction Set Configurability for System-on-Chip Processors
abstract
New application-focused system-on-chip platforms motivate new application-specific processors. Configurable and extensible processor architectures offer the efficiency of tuned logic solutions with the flexibility of standard high-level programming methodology. Automated extension of processor function units and the associated software environment - compilers, debuggers, simulators and real-time operating systems - satisfies these needs. At the same time, designing at the level of software and instruction set architecture significantly shortens the design cycle and reduces verification effort and risk. This paper describes the key dimensions of extensibility within the processor architecture, the instruction set extension description language and the means of automatically extending the software environment from that description. It also describes two groups of benchmarks, EEMBC's Consumer and Telecommunications suites, that show 20 to 40 times acceleration of a broad set of algorithms through application-specific instruction set extension, relative to high performance RISC processors.
Earl Killian, Dror E. Maydan, Chris Rowen
DAC3
1999 An experimental evaluation of tiling and shackling for memory hierarchy management
abstract
On modern computers, the performance of programs is often limited by memory latency rather than by processor cycle time. To reduce the impact of memory latency, the restructuring compiler community has developed localityenhancing program transformations, the most well-known of whichisloop tiling. Tiling is restricted to perfectly nested loops, but many imperfectly nested loops can be transformed into perfectly nested loops that can then be tiled. Recently, we proposed an alternative approach to locality enhancement called data shackling. Data shackling reasons about data traversals rather than iteration space traversals, and can be applied directly to imperfectly nested loops. We have implemented shackling in the SGI MIPSPro compiler which already has a sophisticated implementation of tiling. Our experiments on the SGI Octane workstation with dense numerical linear algebra programs show that shackled code obtains double the performance of tiled code for most of these programs, and obtains five times the performance of tiled code for some versions of Cholesky factorization. Data shackling has been integrated into the SGI MIPSPro compiler product-line.
Induprakas Kodukula, Keshav Pingali, Robert Cox, Dror E. Maydan
International Conference on Supercomputing4
1997 Data Distribution Support on Distributed Shared Memory Multiprocessors
abstract
Cache-coherent multiprocessors with distributed shared memory are becoming increasingly popular for parallel computing. However, obtaining high performance on these machines mquires that an application execute with good data locality. In addition to making efiective use of caches, it is often necessary to distribute data structures across the local memories of the processing nodes, thereby reducing the latency of cache misses.We have designed a set of abstractions for performing data distribution in the context of explicitly parallel programs and implemented them within the SGI MIPSpro compiler system. Our system incorporates many unique features to enhance both programmability and performance. We address the former by providing a very simple programmming model with extensive support for error detection. Regarding performance, we carefully design the user abstractions with the underlying compiler optimizations in mind, we incorporate several optimization techniques to generate efficient code for accessing distributed data, and we provide a tight integration of these techniques with other optimizations within the compiler Our initial experience suggests that the directives are easy to use and can yield substantial performance gains, in some cases by as much as a factor of 3 over the same codes without distribution.
Rohit Chandra, Ding-Kai Chen, Robert Cox, Dror E. Maydan, Nenad Nedeljkovic, Jennifer-Ann M. Anderson
PLDI4
1996 Combining Loop Transformations Considering Caches and Scheduling
abstract
The performance of modern microprocessors is greatly affected by cache behavior, instruction scheduling, register allocation and loop overhead. High level loop transformations such as fission, fusion, tiling, interchanging and outer loop unrolling (e.g., unroll and jam) are well known to be capable of improving all these aspects of performance. Difficulties arise because these machine characteristics and these optimizations are highly interdependent. Interchanging two loops might, for example, improve cache behavior but make it impossible to allocate registers in the inner loop. Similarly, unrolling or interchanging a loop might individually hurt performance but doing both simultaneously might help performance. Little work has been published on how to combine these transformations into an efficient and effective compiler algorithm. In this paper we present a model that estimates total machine cycle time taking into account cache misses, software pipelining, register pressure and loop overhead. We then develop an algorithm to intelligently search through the various possible transformations, using our machine model to select the set of transformations leading to the best overall performance. We have implemented this algorithm as part of the MIPSPro commercial compiler system. We give experimental results showing that our approach is both effective and efficient in optimizing numerical programs.
Michael E. Wolf, Dror E. Maydan, Ding-Kai Chen
MICRO2
1994 Dynamic memory disambiguation for array references
abstract
We present a new algorithm for dynamic memory disambiguation for array references that allows us to overcome limitations of static analysis. For array references that cannot be accurately analyzed at compile time, we defer the disambiguation process until run-time. We have implemented our analysis algorithm in a prototype version of the IBM XL compiler and used the generated information for several compiler optimizations: software pipelining with global instruction scheduling, loop-invariant motion and redundant load elimination. We evaluated the algorithm on an IBM POWER2 system using the SPEC92 benchmarks. We show that for numeric C benchmarks, dynamic memory disambiguation can greatly improve run-time performance. Perhaps more importantly, we show that even for the programs that cannot benefit from dynamic analysis, the overhead of our algorithm does not degrade performance.
David Bernstein, Doron Cohen 0001, Dror E. Maydan
MICRO3
1993 Array Data-Flow Analysis and its Use in Array Privatization
abstract
Data-flow analysis of scalar variables and data dependence analysis on array elements are two important program analyses used in optimizing and parallelizing compilers. Traditional data-flow analysis models accesses of array elements simply as accesses to the entire array, and is inadequate for parallelizing loops in array-based programs. On the other hand, data dependence analysis differentiates between different array elements but is flow-insensitive.
Dror E. Maydan, Saman P. Amarasinghe, Monica S. Lam
POPL1
1991 Efficient and Exact Data Dependence Analysis
abstract
Data dependence testing is the basic step in detecting loop level parallelism in numerical programs. The problem is equivalent to integer linear programming and thus in general cannot be solved efficiently. Current methods in use employ inexact methods that sacrifice potential parallelism in order to improve compiler efficiency. This paper shows that in practice, data dependence can be computed exactly and efficiently. There are three major ideas that lead to this result. First, we have developed and assembled a small set of efficient algorithms, each one exact for special case inputs. Combined with a moderately expensive backup test, they are exact for all the cases we have seen in practice. Second, we introduce a memorization technique to save results of previous tests, thus avoiding calling the data dependence routines multiple times on the same input. Third, we show that this approach can both be extended to compute distance and direction vectors and to use unknown symbolic terms without any loss of accuracy or efficiency, We have implemented our algorithm in the SUIF system, a general purpose compiler system developed at Stanford. We ran the algorithm on the PERFECT Club Benchmarks and our data dependence analyzer gave an exact solution in all cases efficiently.
Dror E. Maydan, John L. Hennessy, Monica S. Lam
PLDI1
1989 Recovering Three-Dimensional Shape from a Single Image of Curved Objects
abstract
An algorithm to recover three-dimensional shape, i.e., surface orientation and relative depth from a single segmented image is presented. It is assumed that the scene is composed of opaque regular solid objects bounded by piecewise smooth surfaces with no markings or textures. It is also assumed that the reflectance map R(n) is known. For the canonical case of Lambertian surfaces illuminated by a point light source, this implies knowing the light-source direction. A variational formulation of line drawing and shading constraints in a common framework is developed. The global constraints are partitioned into constraint sets corresponding to the faces, edges and vertices in the scene. For a face, the constraints are given by Horn's image irradiance equation. A variational formulation of the constraints at an edge both from the known direction of the image curve corresponding to the edge and shading is developed. At a vertex, the constraints are modeled by a system of nonlinear equations. An algorithm is presented to solve this system of constraints.>
Jitendra Malik, Dror E. Maydan
IEEE Trans. Pattern Anal. Mach. Intell.2