Demo Data from SIGIR 2026 / reviewers in the wild / expert
Alexandre E. Eichenberger
dblp:e/AlexandreEEichenberger
· DBLP profile ↗
28ranked-venue papers
10as first author
2since 2021 · last 2024
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 20 · 7 first-author · 1 since 2021Software engineering, systems software and programming languages · 5 · 3 first-authorTheory of computation · 3Databases, data management, data science and information retrieval · 2 · 1 since 2021Artificial 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.
| Computer architecture, parallel and distributed computing, and storage systems
8 papers |
Reconfigurable computing and FPGAs · 41% Energy-efficient computing · 41% Parallel and multicore computing · 12% | |
| Software engineering, system software, and programming languages
11 papers |
Compilers and program optimization · 94% Concurrent programming · 4% Operating systems · 2% | |
| Artificial intelligence
1 paper |
Transfer learning and domain adaptation · 77% Language models and text generation · 23% |
Topics — the 29 heaviest of 31, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Reconfigurable computing and FPGAs › reconfigurable architecture
dynamic configuration |
0.5 | 1 | 2021 | Intelligent Adaptation of Hardware Knobs for Improving Performance and Power Consumption · IEEE Trans. Computers 2021 |
Machine learning › Transfer learning and domain adaptation
zero-shot learning |
0.4 | 1 | 2020 | Language to Network: Conditional Parameter Adaptation with Natural Language Descriptions · ACL 2020 |
Compilers and program optimization
instruction scheduling |
0.2 | 8 | 2001 | Scheduling Superblocks with Bound-Based Branch Trade-Offs · IEEE Trans. Computers 2001 An integrated approach to accelerate data and predicate computations in hyperblocks · MICRO 2000 Balance Scheduling: Weighting Branch Tradeoffs in Superblocks · MICRO 1999 |
Parallel and multicore computing
workload adaptation |
0.1 | 1 | 2021 | Intelligent Adaptation of Hardware Knobs for Improving Performance and Power Consumption · IEEE Trans. Computers 2021 |
Natural language and speech › Language models and text generation
natural language understanding |
0.1 | 1 | 2020 | Language to Network: Conditional Parameter Adaptation with Natural Language Descriptions · ACL 2020 |
Compilers and program optimization
loop transformation |
0.1 | 1 | 2009 | Compact multi-dimensional kernel extraction for register tiling · SC 2009 |
Compilers and program optimization › loop transformation
register tiling |
0.1 | 1 | 2009 | Compact multi-dimensional kernel extraction for register tiling · SC 2009 |
Compilers and program optimization › instruction scheduling › software pipelining
modulo scheduling |
0.1 | 4 | 1998 | Effective Cluster Assignment for Modulo Scheduling · MICRO 1998 Efficient Formulation for Optimal Modulo Schedulers · PLDI 1997 Stage scheduling: a technique to reduce the register requirements of a modulo schedule · MICRO 1995 |
Compilers and program optimization › instruction scheduling
superblock scheduling |
0.1 | 2 | 2001 | Scheduling Superblocks with Bound-Based Branch Trade-Offs · IEEE Trans. Computers 2001 Balance Scheduling: Weighting Branch Tradeoffs in Superblocks · MICRO 1999 |
Compilers and program optimization
code generation |
0.0 | 1 | 2004 | Vectorization for SIMD architectures with alignment constraints · PLDI 2004 |
Compilers and program optimization › vectorization
SIMD vectorization |
0.0 | 1 | 2004 | Vectorization for SIMD architectures with alignment constraints · PLDI 2004 |
Compilers and program optimization
vectorization |
0.0 | 1 | 2004 | Vectorization for SIMD architectures with alignment constraints · PLDI 2004 |
Compilers and program optimization
register allocation |
0.0 | 3 | 1995 | Stage scheduling: a technique to reduce the register requirements of a modulo schedule · MICRO 1995 Register allocation for predicated code · MICRO 1995 Minimum register requirements for a modulo schedule · MICRO 1994 |
Compilers and program optimization › instruction scheduling
instruction-level parallelism |
0.0 | 1 | 2001 | Scheduling Superblocks with Bound-Based Branch Trade-Offs · IEEE Trans. Computers 2001 |
Concurrent programming
speculative execution |
0.0 | 1 | 2001 | Scheduling Superblocks with Bound-Based Branch Trade-Offs · IEEE Trans. Computers 2001 |
Mathematical optimization
discrete optimization |
0.0 | 1 | 1999 | Algorithms for Total Weighted Completion Time Scheduling · SODA 1999 |
Mathematical optimization
scheduling |
0.0 | 1 | 1999 | Algorithms for Total Weighted Completion Time Scheduling · SODA 1999 |
Mathematical optimization › scheduling › completion time minimization
weighted completion time |
0.0 | 1 | 1999 | Algorithms for Total Weighted Completion Time Scheduling · SODA 1999 |
Compilers and program optimization
loop optimization |
0.0 | 1 | 1997 | Efficient Formulation for Optimal Modulo Schedulers · PLDI 1997 |
Compilers and program optimization › instruction scheduling
software pipelining |
0.0 | 1 | 1997 | Efficient Formulation for Optimal Modulo Schedulers · PLDI 1997 |
Operating systems › resource management
resource contention detection |
0.0 | 1 | 1996 | A Reduced Multipipeline Machine Description that Preserves Scheduling Constraints · PLDI 1996 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 1 | 1996 | A Reduced Multipipeline Machine Description that Preserves Scheduling Constraints · PLDI 1996 |
Processor architecture and microarchitecture
SIMD |
0.0 | 1 | 2004 | Vectorization for SIMD architectures with alignment constraints · PLDI 2004 |
Compilers and program optimization › register allocation
register pressure reduction |
0.0 | 1 | 1995 | Stage scheduling: a technique to reduce the register requirements of a modulo schedule · MICRO 1995 |
Processor architecture and microarchitecture › instruction-level parallelism
predicated execution |
0.0 | 2 | 2000 | An integrated approach to accelerate data and predicate computations in hyperblocks · MICRO 2000 Register allocation for predicated code · MICRO 1995 |
Processor architecture and microarchitecture
branch prediction |
0.0 | 1 | 2001 | Scheduling Superblocks with Bound-Based Branch Trade-Offs · IEEE Trans. Computers 2001 |
Processor architecture and microarchitecture
speculative execution |
0.0 | 1 | 1999 | Balance Scheduling: Weighting Branch Tradeoffs in Superblocks · MICRO 1999 |
Processor architecture and microarchitecture
clustered architecture |
0.0 | 1 | 1998 | Effective Cluster Assignment for Modulo Scheduling · MICRO 1998 |
Mathematical optimization
integer programming |
0.0 | 1 | 1997 | Efficient Formulation for Optimal Modulo Schedulers · PLDI 1997 |
Methods — techniques the papers use, named apart from their topics
online profiling · 0.5dynamic management · 0.5parameter adaptation · 0.4language description encoding · 0.4lower bound analysis · 0.1unroll-and-jam · 0.1scalar promotion · 0.1temporal reuse · 0.1alignment analysis · 0.1scheduling heuristic · 0.1branch tradeoff analysis · 0.0modulo scheduling · 0.0cluster assignment · 0.0integer linear programming · 0.0machine description reduction · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Serving Deep Learning Models from Relational Databases
Lixi Zhou, Kanchan Chowdhury, Saif Masood, Alexandre E. Eichenberger, Hong Min, Alex Sim, Kesheng Wu, Binhang Yuan, Jia Zou 0001 |
EDBT | 5 |
| 2021 | Intelligent Adaptation of Hardware Knobs for Improving Performance and Power ConsumptionabstractCurrent microprocessors include several knobs to modify the hardware behavior in order to improve performance, power, and energy under different workload demands. An impractical and time consuming offline profiling is needed to evaluate the design space to find the optimal knob configuration. Different knobs are typically configured in a decoupled manner to avoid the time-consuming offline profiling process. This can often lead to underperforming configurations and conflicting decisions that jeopardize system power-performance efficiency. Thus, a dynamic management of the different hardware knobs is necessary to find the knob configuration that maximizes system power-performance efficiency without the burden of offline profiling. In this article, we propose libPRISM, an infrastructure that enables the transparent management of multiple hardware knobs in order to adapt the system to the evolving demands of hardware resources in different workloads. libPRISM can minimize execution time, energy-delay product or power consumption by dynamically managing the SMT level, the data prefetcher, and the DVFS hardware knobs. Overall, the proposed solutions increase performance up to 130 percent (16.9 percent on average), reduce energy-delay product up to 80 percent, and reduce power consumption up to 33 percent depending on the target metric compared to the default knob configuration of the system. Cristobal Ortega, Lluc Alvarez, Marc Casas, Ramon Bertran Monfort, Alper Buyuktosunoglu, Alexandre E. Eichenberger, Pradip Bose, Miquel Moretó |
IEEE Trans. Computers | 6 |
| 2020 | Language to Network: Conditional Parameter Adaptation with Natural Language DescriptionsabstractTransfer learning using ImageNet pre-trained models has been the de facto approach in a wide range of computer vision tasks. However, fine-tuning still requires task-specific training data. In this paper, we propose N3 (Neural Networks from Natural Language) - a new paradigm of synthesizing task-specific neural networks from language descriptions and a generic pre-trained model. N3 leverages language descriptions to generate parameter adaptations as well as a new task-specific classification layer for a pre-trained neural network, effectively "fine-tuning" the network for a new task using only language descriptions as input. To the best of our knowledge, N3 is the first method to synthesize entire neural networks from natural language. Experimental results show that N3 can out-perform previous natural-language based zero-shot learning methods across 4 different zero-shot image classification benchmarks. We also demonstrate a simple method to help identify keywords in language descriptions leveraged by N3 when synthesizing model parameters. Zhun Liu, Shengjia Yan, Alexandre E. Eichenberger, Louis-Philippe Morency |
ACL | 4 |
| 2019 | POSTER: CogR: Exploiting Program Structures for Machine-Learning Based Runtime SolutionsabstractWe propose CogR, a machine-learning based runtime solution, that enables efficient and dynamic resource scheduling and performance optimization for high-level programming interfaces on heterogeneous systems. CogR tightly combines the structural information of programs and fine-grained static and dynamic statistics into sequenced input data. This structural and value-embedded representation of programs enables CogR to accurately model the runtime behaviors of nested loop-based constructs in the high-level parallel programs. The end-to-end CogR system consists of compiler and runtime support for feature collection and input generation, a machine learning model, and a runtime scheduler with online inference and prediction. The system provides 11% higher prediction accuracy than models simulated for prior work and improves kernel performance by 66% compared to the baseline runtime. Hyojin Sung, Tong Chen 0001, Alexandre E. Eichenberger, Kevin O'Brien |
PACT | 3 |
| 2017 | Efficient Fork-Join on GPUs Through Warp SpecializationabstractGraphics Processing Units (GPUs) are increasingly used to accelerate portions of general-purpose applications. Higher level language extensions have been proposed to help non-experts bridge the gap between a host and the GPU's threading model. Recent updates to the OpenMP standard allow a user to parallelize code on a GPU using the well known fork-join programming model for CPUs. Mapping this model to the architecturally visible threading model of typical GPUs has been challenging. In this work we propose a novel approach using the technique of Warp Specialization. We show how to specialize one warp (a unit of 32 GPU threads) to handle sequential code on a GPU. When this master warp reaches a user-specified parallel region, it awakens unused GPU warps to collectively execute the parallel code. Based on this method, we have implemented a Clang-based, OpenMP 4.5 compliant, open source compiler for GPUs. Our work achieves a 3.6x (and up to 32x) performance improvement over a baseline that does not exploit fork-join parallelism on an NVIDIA k40m GPU across a set of 25 kernels. Compared to state-of-the-art compilers (Clang-ykt, GCC-OpenMP, GCC-OpenACC) our work is 2.1 - 7.6x faster. Our proposed technique is simpler to implement, robust, and performant. Arpith C. Jacob, Alexandre E. Eichenberger, Hyojin Sung, Samuel Antão, Gheorghe-Teodor Bercea, Carlo Bertolli, Alexey Bataev, Tong Chen 0001, Zehra Sura, Georgios Rokos, Kevin O'Brien |
HiPC | 2 |
| 2017 | libPRISM: an intelligent adaptation of prefetch and SMT levelsabstractCurrent microprocessors include several knobs to modify the hardware behavior in order to improve performance under different workload demands. An impractical and time consuming offline profiling is needed to evaluate the design space to find the optimal knob configuration. Different knobs are typically configured in a decoupled manner to avoid the time-consuming offline profiling process. This can often lead to underperforming configurations and sometimes to conflicting decisions that jeopardize system power- performance efficiency. Thus, a dynamic management of the different hardware knobs is necessary to find the knob configuration that maximizes system power-performance efficiency without the burden of offline profiling. Cristobal Ortega, Miquel Moretó, Marc Casas, Ramon Bertran Monfort, Alper Buyuktosunoglu, Alexandre E. Eichenberger, Pradip Bose |
ICS | 6 |
| 2010 | Automatic creation of tile size selection modelsabstractTiling is a widely used loop transformation for exposing/exploiting parallelism and data locality. Effective use of tiling requires selection and tuning of the tile sizes. This is usually achieved by hand-crafting tile size selection (TSS) models that characterize the performance of the tiled program as a function of tile sizes. The best tile sizes are selected by either directly using the TSS model or by using the TSS model together with an empirical search. Hand-crafting accurate TSS models is hard, and adapting them to different architecture/compiler, or even keeping them up-to-date with respect to the evolution of a single compiler is often just as hard. Instead of hand-crafting TSS models, can we automatically learn or create them? In this paper, we show that for a specific class of programs fairly accurate TSS models can be automatically created by using a combination of simple program features, synthetic kernels, and standard machine learning techniques. The automatic TSS model generation scheme can also be directly used for adapting the model and/or keeping it up-to-date. We evaluate our scheme on six different architecture-compiler combinations (chosen from three different architectures and four different compilers). The models learned by our method have consistently shown near-optimal performance (within 5% of the optimal on average) across all architecture-compiler combinations. Tomofumi Yuki, Lakshminarayanan Renganarayanan, Sanjay V. Rajopadhye, Charles W. Anderson, Alexandre E. Eichenberger, Kevin O'Brien |
CGO | 5 |
| 2009 | Exploiting Parallelism with Dependence-Aware SchedulingabstractIt is well known that a large fraction of applications cannot be parallelized at compile time due to unpredictable data dependences such as indirect memory accesses and/or memory accesses guarded by data-dependent conditional statements. A significant body of prior work attempts to parallelize such applications using runtime data-dependence analysis and scheduling. Performance is highly dependent on the ratio of the dependence analysis overheads with respect to the actual amount of parallelism available in the code. We have found that the overheads are often high and the available parallelism is often low when evaluating applications on a modern multicore processor. We propose a novel software-based approach called dependence-aware scheduling to parallelize loops with unknown data dependences. Unlike prior work, our main goal is to reduce the negative impact of dependence computation, such that when there is not an opportunity of getting speedup, the code can still run without much slowdown. If there is an opportunity, dependence-aware scheduling is able to yield very impressive speedup. Our results indicate that dependence-aware scheduling can greatly improve performance, with up to 4x speedups, for a number of computation intensive applications. Furthermore, the results also show negligible slowdowns in a stress test, where parallelism is continuously detected but not exploited. Xiaotong Zhuang, Alexandre E. Eichenberger, Yangchun Luo, Kevin O'Brien, Kathryn M. O'Brien |
PACT | 2 |
| 2009 | Compact multi-dimensional kernel extraction for register tilingabstractTo achieve high performance on multi-cores, modern loop optimizers apply long sequences of transformations that produce complex loop structures. Downstream optimizations such as register tiling (unroll-and-jam plus scalar promotion) typically provide a significant performance improvement. Typical register tilers provide this performance improvement only when applied on simple loop structures. They often fail to operate on complex loop structures leaving a significant amount of performance on the table. We present a technique called compact multi-dimensional kernel extraction (COMDEX) which can make register tilers operate on arbitrarily complex loop structures and enable them to provide the performance benefits. COMDEX extracts compact unrollable kernels from complex loops. We show that by using COMDEX as a pre-processing to register tiling we can (i) enable register tiling on complex loop structures and (ii) realize a significant performance improvement on a variety of codes. Lakshminarayanan Renganarayanan, Uday Bondhugula, Salem Derisavi, Alexandre E. Eichenberger, Kevin O'Brien |
SC | 4 |
| 2008 | Hybrid access-specific software cache techniques for the cell BE architectureabstractEase of programming is one of the main impediments for the broad acceptance of multi-core systems with no hardware support for transparent data transfer between local and global memories. Software cache is a robust approach to provide the user with a transparent view of the memory architecture; but this software approach can suffer from poor performance. In this paper, we propose a hierarchical, hybrid software-cache architecture that classifies at compile time memory accesses in two classes, high-locality and irregular. Our approach then steers the memory references toward one of two specific cache structures optimized for their respective access pattern. The specific cache structures are optimized to enable high-level compiler optimizations to aggressively unroll loops, reorder cache references, and/or transform surrounding loops so as to practically eliminate the software cache overhead in the innermost loop. Performance evaluation indicates that improvements due to the optimized software-cache structures combined with the proposed code-optimizations translate into 3.5 to 8.4 speedup factors, compared to a traditional software cache approach. As a result, we demonstrate that the Cell BE processor can be a competitive alternative to a modern server-class multi-core such as the IBM Power5 processor for a set of parallel NAS applications. Marc González 0001, Nikola Vujic, Xavier Martorell, Eduard Ayguadé, Alexandre E. Eichenberger, Tong Chen 0001, Zehra Sura, Kevin O'Brien, Kathryn M. O'Brien |
PACT | 5 |
| 2005 | Efficient SIMD Code Generation for Runtime Alignment and Length ConversionabstractWhen generating codes for today's multimedia extensions, one of the major challenges is to deal with memory alignment issues. While hand programming still yields best performing SIMD codes, it is both time consuming and error prone. Compiler technology has greatly improved, including techniques that simdize loops with misaligned accesses by automatically rearranging misaligned memory streams in registers. Current techniques are applicable to runtime alignments, but they aggressively reduce the alignment overhead only when all alignments are known at compile time. This paper presents two major enhancements to the state of the art, improving both performance and coverage. First, we propose a novel technique to simdize loops with runtime alignment nearly as efficiently as those with compile-time misalignment. Runtime alignment is pervasive in real applications because it is either part of the algorithms, or it is an artifact of the compiler's inability to extract accurate alignment information from complex applications. Second, we incorporate length conversion operations, e.g., conversions between data of different sizes, into the alignment handling framework. Length conversions are pervasive in multimedia applications where mixed integer types are often used. Supporting length conversion can greatly improve the coverage of simdizable loops. Experimental results indicate that our runtime alignment technique achieves a 19% to 32% speedup increase over prior art for a benchmark stressing the impact of misaligned data. We also demonstrate speedup factors of up to 8.11 for real benchmarks over sequential execution. Peng Wu 0001, Alexandre E. Eichenberger, Amy Wang |
CGO | 2 |
| 2005 | An integrated simdization framework using virtual vectorsabstractAutomatic simdization for multimedia extensions faces several new challenges that are not present in traditional vectorization. Some of the new issues are due to the more restrictive SIMD architectures designed for multimedia extensions. Among them are alignment constraints, lack of memory gather and scatter support, and the short and fixed-length nature of SIMD vectors. Since these constraints affect some very basic components of a program, a compiler must not only provide solid solutions to individual issues, but also take an integrated approach to address these constraints in combination.In this paper, we propose a simdization framework that addresses several orthogonal aspects of simdization, such as alignment handling, simdization of loops with mixed data lengths, and SIMD parallelism extraction from different program scopes (from basic blocks to inner loops). The novelty of this framework is its ability to facilitate interactions between different techniques based on the simple intermediate representation of virtual vectors. Measurements on a PPC970 with a VMX SIMD unit indicate speedup factors of up to 8.11 for numerical/video/communication kernels and speedup factors of up to 2.16 for benchmarks, when automatic simdization is turned on. Peng Wu 0001, Alexandre E. Eichenberger, Amy Wang |
ICS | 2 |
| 2004 | Vectorization for SIMD architectures with alignment constraintsabstractWhen vectorizing for SIMD architectures that are commonly employed by today's multimedia extensions, one of the new challenges that arise is the handling of memory alignment. Prior research has focused primarily on vectorizing loops where all memory references are properly aligned. An important aspect of this problem, namely, how to vectorize misaligned memory references, still remains unaddressed.This paper presents a compilation scheme that systematically vectorizes loops in the presence of misaligned memory references. The core of our technique is to automatically reorganize data in registers to satisfy the alignment requirement imposed by the hardware. To reduce the data reorganization overhead, we propose several techniques to minimize the number of data reorganization operations generated. During the code generation, our algorithm also exploits temporal reuse when aligning references that access contiguous memory across loop iterations. Our code generation scheme guarantees to never load the same data associated with a single static access twice. Experimental results indicate near peak speedup factors, e.g., 3.71 for 4 data per vector and 6.06 for 8 data per vector, respectively, for a set of loops where 75% or more of the static memory references are misaligned. Alexandre E. Eichenberger, Peng Wu 0001, Kevin O'Brien |
PLDI | 1 |
| 2002 | An Experimental Study of Algorithms for Weighted Completion Time Scheduling
Ivan D. Baev, Waleed Meleis, Alexandre E. Eichenberger |
Algorithmica | 3 |
| 2002 | Lower bounds on precedence-constrained scheduling for parallel processors
Ivan D. Baev, Waleed Meleis, Alexandre E. Eichenberger |
Inf. Process. Lett. | 3 |
| 2001 | Scheduling Superblocks with Bound-Based Branch Trade-OffsabstractSince instruction level parallelism in basic blocks is often limited, compilers increase performance by creating superblocks that allow operations to be issued speculatively. This is difficult in general because each branch competes for the processor's limited resources. Previous work manages the performance trade-offs that exist between branches only indirectly. We show here that dependence and resource constraints can be used to gather explicit knowledge about scheduling trade-offs between branches. This paper's first contribution is a set of new, tighter lower bounds on the execution times of superblocks that specifically account for the dependence and resource conflicts between pairs of branches. This paper's second contribution is a novel superblock scheduling heuristic that finds high performance schedules by determining the operations that each branch needs to be scheduled early and selecting branches with compatible needs that favor beneficial branch trade-offs. Performance evaluations for superblocks from SPECint95 indicate that our bounds are very tight and that our scheduling heuristic outperforms well-known superblock scheduling algorithms. Waleed Meleis, Alexandre E. Eichenberger, Ivan D. Baev |
IEEE Trans. Computers | 2 |
| 2000 | Lower Bounds on Precedence-Constrained Scheduling for Parallel ProcessorsabstractWe consider two general precedence-constrained scheduling problems that have wide applicability in the areas of parallel processing, high performance compiling, and digital system synthesis. These problems are intractable so it is important to be able to compute tight bounds on their solutions. A tight lower bound on makespan scheduling can be obtained by replacing precedence constraints with release and due dates, giving a problem that can be efficiently solved. We demonstrate that recursively applying this approach yields a bound that is provably tighter than other known bounds, and experimentally shown to achieve the optimal value at least 86.5% of the time over a synthetic benchmark. We compute the best known lower bound on weighted completion time scheduling by applying the recent discovery of a new algorithm for solving a related scheduling problem. Experiments show that this bound significantly outperforms the linear programming-based bound. We have therefore demonstrated that combinatorial algorithms can be a valuable alternative to linear programming for computing tight bounds on large scheduling problems. Ivan D. Baev, Waleed Meleis, Alexandre E. Eichenberger |
ICPP | 3 |
| 2000 | An integrated approach to accelerate data and predicate computations in hyperblocks
Alexandre E. Eichenberger, Waleed Meleis, Suman Maradani |
MICRO | 1 |
| 1999 | Balance Scheduling: Weighting Branch Tradeoffs in SuperblocksabstractSince there is generally insufficient instruction level parallelism within a single basic block, higher performance is achieved by speculatively scheduling operations in superblocks. This is difficult in general because each branch competes for the processor's limited resources. Previous work manages the performance tradeoffs that exist between branches only indirectly. We show here that dependence and resource constraints can be used to gather explicit knowledge about scheduling tradeoffs between branches. The first contribution of this paper is a set of new, tighter lower bounds on the execution times of superblocks that specifically accounts for the dependence and resource conflicts between pairs of branches. The second contribution of this paper is a novel superblock scheduling heuristic that finds high performance schedules by determining the operations that each branch needs to be scheduled early and selecting branches with compatible needs that favor beneficial branch tradeoffs. Performance evaluations for superblocks from SPECint95 indicate that our bounds are very tight and that our scheduling heuristic outperforms well known superblock scheduling algorithms. Alexandre E. Eichenberger, Waleed Meleis |
MICRO | 1 |
| 1999 | Algorithms for Total Weighted Completion Time Scheduling
Ivan D. Baev, Waleed Meleis, Alexandre E. Eichenberger |
SODA | 3 |
| 1998 | Effective Cluster Assignment for Modulo SchedulingabstractClustering is one solution to the demand for wide issue machines and fast clock cycles because it allows for smaller, less ported register files and simpler bypass logic while remaining scaleable. Much of the previous work on scheduling for clustered architectures has focused on acyclic code. While minimizing schedule length of acyclic code is paramount, the primary objective when scheduling cyclic code is to maximize the throughput or steady state performance. This paper investigates a pre-modulo scheduling pass that performs cluster assignment in a way that minimizes performance degradation due to explicit communication required as the loops are split over clusters. The proposed cluster assignment algorithm annotates and adjusts the graph for use by the scheduler so that any traditional modulo scheduling algorithm, having no knowledge of clustering, can produce a valid and efficient schedule for a clustered machine. Erik Nystrom 0001, Alexandre E. Eichenberger |
MICRO | 2 |
| 1997 | Efficient Formulation for Optimal Modulo SchedulersabstractModulo scheduling algorithms based on optimal solvers have been proposed to investigate and tune the performance of modulo scheduling heuristics. While recent advances have broadened the scope for which the optimal approach is applicable, this approach increasingly suffers from large execution times. In this paper, we propose a more efficient formulation of the modulo scheduling space that significantly decreases the execution time of solvers based on integer linear programs. For example, the total execution time is reduced by a factor of 8.6 when 782 loops from the Perfect Club, SPEC, and Livermore Fortran Kernels are scheduled for minimum register requirements using the more efficient formulation instead of the traditional formulation. Experimental evidence further indicates that significantly larger loops can be scheduled under realistic machine constraints. Alexandre E. Eichenberger, Edward S. Davidson |
PLDI | 1 |
| 1996 | A Reduced Multipipeline Machine Description that Preserves Scheduling ConstraintsabstractHigh performance compilers increasingly rely on accurate modeling of the machine resources to efficiently exploit the instruction level parallelism of an application. In this paper, we propose a reduced machine description that results in faster detection of resource contentions while preserving the scheduling constraints present in the original machine description. The proposed approach reduces a machine description in an automated, error-free, and efficient fashion, Moreover, it fully supports schedulers that backtrack and process operations in arbitrary order. Reduced descriptions for the DEC Alpha 21064, MIPS R3000/R3010, and Cydra 5 result in 4 to 7 times faster detection of resource contentions and require 22 to 90% of the memory storage used by the original machine descriptions. Precise measurement for the Cydra 5 indicates that reducing the machine description results in a 2.9 times faster contention query module. Alexandre E. Eichenberger, Edward S. Davidson |
PLDI | 1 |
| 1995 | Impact of Load Imbalance on the Design of Software Barriers
Alexandre E. Eichenberger, Santosh G. Abraham |
ICPP (2) | 1 |
| 1995 | Optimum Modulo Schedules for Minimum Register RequirementsabstractModtdo schedulwsg is an eficient tech nzque for exploiting instruction level parallelism in a uaraety of ioopsl resulting in high performance code but increased register requirements.We present a combined approach that schedules the loop operations for the highest steady state throughput and minimum register requirements.Our method determines optimal register requirements for machines with jinite resources and for general dependence graphs.We compare the performance of this and other modulo schedulers for a benchmark of 6.29 loops from the Perfect Clubl SPEC-89, and the Livermore Fortran Kernels.Measurements demonstrate the potential of r-egister=sensittve modulo schedulers, wh~ch will be useful in evaluating the performance of register-sensitive modrslo scheduling heuristics. Alexandre E. Eichenberger, Edward S. Davidson, Santosh G. Abraham |
International Conference on Supercomputing | 1 |
| 1995 | Register allocation for predicated codeabstractCurrent compilers for VLIW and superscalar machines increase the instruction level parallelism of an application by merging several basic blocks into an enlarged predicated block, resulting in higher performance code but increased register requirements. We present a framework that computes precisely the interferences among virtual registers in the presence of predicated operations. Graph-coloring biased register allocators can directly use the resulting interference graph. For interval-graph based register allocators, and others, we propose a technique that reduces the register requirements by allowing non-interfering virtual registers that overlap in time to share a common virtual register. Preliminary measurements on a benchmark of loops from the Perfect Club, SPEC-89, and the Livermore Fortran Kernels indicate the effectiveness of this technique. Alexandre E. Eichenberger, Edward S. Davidson |
MICRO | 1 |
| 1995 | Stage scheduling: a technique to reduce the register requirements of a modulo scheduleabstractModulo scheduling is an efficient technique for exploiting instruction level parallelism in a variety of loops, resulting in high performance code but increased register requirements. We present a set of low computational complexity stage-scheduling heuristics that reduce the register requirements of a given modulo schedule by shifting operations by multiples of II cycles. Measurements on a benchmark suite of 1289 loops from the Perfect Club, SPEC-89, and the Livermore Fortran Kernels shows that our best heuristic achieves on overage 99% of the decrease in register requirements obtained by an optimal stage scheduler. Alexandre E. Eichenberger, Edward S. Davidson |
MICRO | 1 |
| 1994 | Minimum register requirements for a modulo scheduleabstractModule scheduling is an efficient technique for exploiting instruction level parallelism in a variety of loops, resulting in high performance code but increased register requirements. We present a combined approach that schedules the loop operations for minimum register requirements, given a module reservation table. Our method determines optimal register requirements for machines with finite resources and for general dependence graphs. This method demonstrates the potential of lifetime-sensitive module scheduling and is useful in evaluating the performance of lifetime-sensitive module scheduling heuristics. Alexandre E. Eichenberger, Edward S. Davidson, Santosh G. Abraham |
MICRO | 1 |