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

Erik R. Altman

dblp:75/5714 · also Erik Altman · DBLP profile ↗
← Back
26ranked-venue papers
10as first author
4since 2021 · last 2024
0009-0001-0978-0360ORCID · verified

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

Systems, architecture and hardware · 15 · 4 first-author · 1 since 2021Software engineering, systems software and programming languages · 7 · 4 first-authorArtificial intelligence and machine learning · 2 · 1 first-author · 2 since 2021Graphics, computer vision, multimedia, augmented reality and games · 2 · 2 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 2 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.

Artificial intelligence
1 paper
Graph learning · 87% Trustworthy machine learning · 13%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Computational finance and economics · 100%
Databases, data mining, and information retrieval
1 paper
Data integration and cleaning · 100%
Software engineering, system software, and programming languages
10 papers
Compilers and program optimization · 55% Runtime systems and virtual machines · 44% Operating systems · 1%
Computer architecture, parallel and distributed computing, and storage systems
8 papers
Processor architecture and microarchitecture · 50% Performance modeling and evaluation · 30% Distributed systems · 9%
Network and information security
1 paper
Security and privacy of machine learning · 100%

Topics — the 30 heaviest of 34, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Machine learning › Graph learning
graph neural network
0.812024
Provably Powerful Graph Neural Networks for Directed Multigraphs · AAAI 2024
Machine learning › Graph learning › graph analytics › graph mining
subgraph detection
0.812024
Provably Powerful Graph Neural Networks for Directed Multigraphs · AAAI 2024
Computational finance and economics › financial fraud detection
anti-money laundering
0.712023
Realistic Synthetic Financial Transactions for Anti-Money Laundering Models · NeurIPS 2023
Computational finance and economics
financial fraud detection
0.712023
Realistic Synthetic Financial Transactions for Anti-Money Laundering Models · NeurIPS 2023
Data integration and cleaning › data generation
synthetic data generation
0.712023
Realistic Synthetic Financial Transactions for Anti-Money Laundering Models · NeurIPS 2023
Performance modeling and evaluation
bottleneck analysis
0.112010
Performance analysis of idle programs · OOPSLA 2010
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.122007
Efficient Register Mapping and Allocation in LaTTe, an Open-Source Java Just-in-Time Compiler · IEEE Trans. Parallel Distributed Syst. 2007
Advances and future challenges in binary translation and optimization · Proc. IEEE 2001
Compilers and program optimization
register allocation
0.132007
Efficient Register Mapping and Allocation in LaTTe, an Open-Source Java Just-in-Time Compiler · IEEE Trans. Parallel Distributed Syst. 2007
A Framework for Resource-Constrained Rate-Optimal Software Pipelining · IEEE Trans. Parallel Distributed Syst. 1996
Minimizing register requirements under resource-constrained rate-optimal software pipelining · MICRO 1994
Compilers and program optimization › instruction scheduling
software pipelining
0.141996
A Framework for Resource-Constrained Rate-Optimal Software Pipelining · IEEE Trans. Parallel Distributed Syst. 1996
Co-Scheduling Hardware and Software Pipelines · HPCA 1996
Scheduling and Mapping: Software Pipelining in the Presence of Structural Hazards · PLDI 1995
Runtime systems and virtual machines › binary translation
dynamic binary translation
0.122001
Advances and future challenges in binary translation and optimization · Proc. IEEE 2001
Optimizations and Oracle Parallelism with Dynamic Translation · MICRO 1999
Processor architecture and microarchitecture › instruction-level parallelism
VLIW
0.022001
Dynamic Binary Translation and Optimization · IEEE Trans. Computers 2001
DAISY: Dynamic Compilation for 100% Architectural Compatibility · ISCA 1997
Processor architecture and microarchitecture
instruction set architecture
0.022001
Dynamic Binary Translation and Optimization · IEEE Trans. Computers 2001
Advances and future challenges in binary translation and optimization · Proc. IEEE 2001
Runtime systems and virtual machines
garbage collection
0.012010
Performance analysis of idle programs · OOPSLA 2010
Compilers and program optimization
binary optimization
0.012001
Advances and future challenges in binary translation and optimization · Proc. IEEE 2001
Runtime systems and virtual machines
binary translation
0.012001
Advances and future challenges in binary translation and optimization · Proc. IEEE 2001
Runtime systems and virtual machines
dynamic compilation
0.012001
Dynamic Binary Translation and Optimization · IEEE Trans. Computers 2001
Compilers and program optimization › dynamic optimization
profile-guided optimization
0.012001
Dynamic Binary Translation and Optimization · IEEE Trans. Computers 2001
Processor architecture and microarchitecture › binary translation
dynamic binary translation
0.012001
Dynamic Binary Translation and Optimization · IEEE Trans. Computers 2001
Processor architecture and microarchitecture
instruction-level parallelism
0.021999
Optimizations and Oracle Parallelism with Dynamic Translation · MICRO 1999
A Framework for Resource-Constrained Rate-Optimal Software Pipelining · IEEE Trans. Parallel Distributed Syst. 1996
Compilers and program optimization
instruction scheduling
0.021995
Scheduling and Mapping: Software Pipelining in the Presence of Structural Hazards · PLDI 1995
Minimizing register requirements under resource-constrained rate-optimal software pipelining · MICRO 1994
Compilers and program optimization
compiler back end
0.012007
Efficient Register Mapping and Allocation in LaTTe, an Open-Source Java Just-in-Time Compiler · IEEE Trans. Parallel Distributed Syst. 2007
Compilers and program optimization › parallelization
dynamic parallelization
0.011997
DAISY: Dynamic Compilation for 100% Architectural Compatibility · ISCA 1997
Compilers and program optimization › instruction scheduling
instruction-level parallelism
0.011997
DAISY: Dynamic Compilation for 100% Architectural Compatibility · ISCA 1997
Processor architecture and microarchitecture
binary translation
0.011997
DAISY: Dynamic Compilation for 100% Architectural Compatibility · ISCA 1997
Reconfigurable computing and FPGAs
dynamic compilation
0.011997
DAISY: Dynamic Compilation for 100% Architectural Compatibility · ISCA 1997
Processor architecture and microarchitecture › pipelining
pipeline design
0.011996
Co-Scheduling Hardware and Software Pipelines · HPCA 1996
Parallel and multicore computing › task scheduling
pipeline scheduling
0.011996
Co-Scheduling Hardware and Software Pipelines · HPCA 1996
Compilers and program optimization › register allocation
register pressure reduction
0.011994
Minimizing register requirements under resource-constrained rate-optimal software pipelining · MICRO 1994
Operating systems › virtualization
hypervisor
0.011997
DAISY: Dynamic Compilation for 100% Architectural Compatibility · ISCA 1997
Electronic design automation › high-level synthesis › scheduling
resource-constrained scheduling
0.011994
Minimizing register requirements under resource-constrained rate-optimal software pipelining · MICRO 1994

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

machine learning · 2.0agent-based simulation · 2.0reverse message passing · 0.8port numbering · 0.8message passing · 0.8ego IDs · 0.8sampling · 0.2expert system · 0.2declarative rules · 0.2dynamic translation · 0.1register mapping · 0.1register allocation · 0.1virtual device emulation · 0.1runtime profiling · 0.1just-in-time compilation · 0.1instruction-level parallelism extraction · 0.1instruction-level parallelism optimization · 0.0parallelization · 0.0
YearPublicationVenuePosition
2024 Provably Powerful Graph Neural Networks for Directed Multigraphs
abstract
This paper analyses a set of simple adaptations that transform standard message-passing Graph Neural Networks (GNN) into provably powerful directed multigraph neural networks. The adaptations include multigraph port numbering, ego IDs, and reverse message passing. We prove that the combination of these theoretically enables the detection of any directed subgraph pattern. To validate the effectiveness of our proposed adaptations in practice, we conduct experiments on synthetic subgraph detection tasks, which demonstrate outstanding performance with almost perfect results. Moreover, we apply our proposed adaptations to two financial crime analysis tasks. We observe dramatic improvements in detecting money laundering transactions, improving the minority-class F1 score of a standard message-passing GNN by up to 30%, and closely matching or outperforming tree-based and GNN baselines. Similarly impressive results are observed on a real-world phishing detection dataset, boosting three standard GNNs’ F1 scores by around 15% and outperforming all baselines. An extended version with appendices can be found on arXiv: https://arxiv.org/abs/2306.11586.
Beni Egressy, Luc von Niederhäusern, Jovan Blanusa, Erik R. Altman, Roger Wattenhofer, Kubilay Atasu
AAAI4
2023 Realistic Synthetic Financial Transactions for Anti-Money Laundering Models
abstract
With the widespread digitization of finance and the increasing popularity of cryptocurrencies, the sophistication of fraud schemes devised by cybercriminals is growing. Money laundering -- the movement of illicit funds to conceal their origins -- can cross bank and national boundaries, producing complex transaction patterns. The UN estimates 2-5\% of global GDP or \$0.8 - \$2.0 trillion dollars are laundered globally each year. Unfortunately, real data to train machine learning models to detect laundering is generally not available, and previous synthetic data generators have had significant shortcomings. A realistic, standardized, publicly-available benchmark is needed for comparing models and for the advancement of the area.To this end, this paper contributes a synthetic financial transaction dataset generator and a set of synthetically generated AML (Anti-Money Laundering) datasets. We have calibrated this agent-based generator to match real transactions as closely as possible and made the datasets public. We describe the generator in detail and demonstrate how the datasets generated can help compare different machine learning models in terms of their AML abilities. In a key way, using synthetic data in these comparisons can be even better than using real data: the ground truth labels are complete, whilst many laundering transactions in real data are never detected.
Erik R. Altman, Jovan Blanusa, Luc von Niederhäusern, Beni Egressy, Andreea Anghel, Kubilay Atasu
NeurIPS1
2023 Anomaly Detection on IBM Z Mainframes: Performance Analysis and More
abstract
Anomalous events can signal a variety of problems in any system. As such, robust, fast detection of anomalies is important so issues can be fixed before they cascade to create larger problems. In this paper we focus on IBM Z mainframes, although most of the problems addressed and techniques used are broadly applicable. For example, anomalies can signal issues such as disk malfunctions, slow or unresponsive modules, crashes and latent bugs, lock contention, excessive retries, the need to allocate more resources to reduce contention, etc. Although there are specific techniques for addressing individual issues, anomaly detection is useful in its broad spectrum utility, and its ability to identify combinations of problems for which there may not be a specific approach implemented. In addition, anomaly detection serves as a backstop: truly anomalous events suggest that normal mechanisms did not work.
Erik R. Altman, Benjamin Segal
SYSTOR1
2021 Tabular Transformers for Modeling Multivariate Time Series
abstract
Tabular datasets are ubiquitous in data science applications. Given their importance, it seems natural to apply state-of-the-art deep learning algorithms in order to fully unlock their potential. Here we propose neural network models that represent tabular time series that can optionally leverage their hierarchical structure. This results in two architectures for tabular time series: one for learning representations that is analogous to BERT and can be pre-trained end-to-end and used in downstream tasks, and one that is akin to GPT and can be used for generation of realistic synthetic tabular sequences. We demonstrate our models on two datasets: a synthetic credit card transaction dataset, where the learned representations are used for fraud detection and synthetic data generation, and on a real pollution dataset, where the learned encodings are used to predict atmospheric pollutant concentrations. Code and data are available at https://github.com/IBM/TabFormer.
Inkit Padhi, Yair Schiff, Igor Melnyk, Mattia Rigotti, Youssef Mroueh, Pierre L. Dognin, Jerret Ross, Ravi Nair, Erik R. Altman
ICASSP9
2014 Predicting GPU Performance from CPU Runs Using Machine Learning
abstract
Graphics processing units (GPUs) can deliver considerable performance gains over general purpose processors. However, GPU performance improvement vary considerably across applications. Porting applications to GPUs by rewriting code with GPU-specific languages requires significant effort. In consequence, it is desirable to predict which applications would benefit most before porting to the GPU. This paper shows that machine learning techniques can build accurate predictive models for GPU acceleration. This study presents an approach which applies supervised learning algorithms to infer predictive models, based on dynamic profile data collected via instrumented runs on general purpose processors. For a set of 18 parallel benchmarks, the results show that a small set of easily-obtainable features can predict the magnitude of GPU speedups on two different high-end GPUs, with accuracies varying between 77% and 90%, depending on the prediction mechanism and scenario. For already-ported applications, similar models can predict the best device to run an application with an effective accuracy of 91%.
Ioana Baldini, Stephen J. Fink, Erik R. Altman
SBAC-PAD3
2013 The Liquid Metal Blokus Duo Design
abstract
This paper describes the Liquid Metal entry in the 2013 ICFPT Design Competition. The Liquid Metal system provides a high-level language called Lime and a toolchain targeting FPGAs. Lime allowed us to use standard software development processes for programming, debugging, and performance tuning our FPGA design. We believe such iteration and refinement are far more challenging with low-level languages and design tools commonly used for FPGA development.
Erik R. Altman, Joshua S. Auerbach, David F. Bacon, Ioana Baldini, Perry Cheng, Stephen J. Fink, Rodric M. Rabbah
FPT1
2013 Preface
Erik R. Altman, Weisong Shi
J. Comput. Sci. Technol.1
2011 The language, optimizer, and tools mess
abstract
For many years, new languages promised higher performance in addition to other desirable characteristics such as higher productivity, better static checking, better reusability and composability, etc. However, in practice, virtually no new languages win in performance over historic languages like C and Fortran. Why? Higher level semantics were supposed to provide additional information so that optimizers could perform better analyses and so that conservative analyses could be less conservative.
Erik R. Altman
CGO1
2010 Performance analysis of idle programs
abstract
This paper presents an approach for performance analysis of modern enterprise-class server applications. In our experience, performance bottlenecks in these applications differ qualitatively from bottlenecks in smaller, stand-alone systems. Small applications and benchmarks often suffer from CPU-intensive hot spots. In contrast, enterprise-class multi-tier applications often suffer from problems that manifest not as hot spots, but as idle time, indicating a lack of forward motion. Many factors can contribute to undesirable idle time, including locking problems, excessive system-level activities like garbage collection, various resource constraints, and problems driving load.We present the design and methodology for WAIT, a tool to diagnosis the root cause of idle time in server applications. Given lightweight samples of Java activity on a single tier, the tool can often pinpoint the primary bottleneck on a multi-tier system. The methodology centers on an informative abstraction of the states of idleness observed in a running program. This abstraction allows the tool to distinguish, for example, between hold-ups on a database machine, insufficient load, lock contention in application code, and a conventional bottleneck due to a hot method. To compute the abstraction, we present a simple expert system based on an extensible set of declarative rules.WAIT can be deployed on the fly, without modifying or even restarting the application. Many groups in IBM have applied the tool to diagnosis performance problems in commercial systems, and we present a number of examples as case studies.
Erik R. Altman, Matthew Arnold, Stephen J. Fink, Nick Mitchell
OOPSLA1
2007 Efficient Register Mapping and Allocation in LaTTe, an Open-Source Java Just-in-Time Compiler
Byung-Sun Yang, Junpyo Lee, SeungIl Lee, Seongbae Park, Yoo C. Chung, Suhyun Kim 0001, Kemal Ebcioglu, Erik R. Altman, Soo-Mook Moon
IEEE Trans. Parallel Distributed Syst.8
2005 Panel Discussion: Architectures for the Future
Erik R. Altman
ISPASS1
2002 Precise Exception Semantics in Dynamic Compilation
Michael Gschwind, Erik R. Altman
CC2
2001 Advances and future challenges in binary translation and optimization
abstract
Binary translation and optimization have achieved a high profile in recent years. Binary translation has several potential attractions. While still in its early stages, could binary translation offer a new way to design processors, i.e. is it a disruptive technology? This paper discusses this question, examines some future possibilities for binary translation, and then gives an overview of selected projects (DAISY, Crusoe, Dynamo and LaTTe). One future possibility for binary translation is the Virtual IT Shop. Binary translation offers a possible solution for better utilization of computational resources as services over the World Wide Web. The Internet is radically changing the software landscape, and is fostering platform independence and interoperability. Along the lines of software convergence, recent advances in binary JIT (just-in-time) optimizations also present the future possibility of a convergence virtual machine (CVM). CVM aims to address research challenges in allowing the same standard operating system and application object code to run on different hardware platforms, through state-of-the-art JIT compilation and virtual device emulation.
Erik R. Altman, Kemal Ebcioglu, Michael Gschwind, Sumedh Sathaye
Proc. IEEE1
2001 Dynamic Binary Translation and Optimization
abstract
We describe a VLIW architecture designed specifically as a target for dynamic compilation of an existing instruction set architecture. This design approach offers the simplicity and high performance of statically scheduled architectures, achieves compatibility with an established architecture, and makes use of dynamic adaptation. Thus, the original architecture is implemented using dynamic compilation, a process we refer to as DAISY (Dynamically Architected Instruction Set from Yorktown). The dynamic compiler exploits runtime profile information to optimize translations so as to extract instruction level parallelism. This paper reports different design trade-offs in the DAISY system and their impact on final system performance. The results show high degrees of instruction parallelism with reasonable translation overhead and memory usage.
Kemal Ebcioglu, Erik R. Altman, Michael Gschwind, Sumedh W. Sathaye
IEEE Trans. Computers2
2000 A Theory for Software-Hardware Co-Scheduling for ASIPs and Embedded Processors
abstract
Exploiting instruction-level parallelism (ILP) is extremely important for achieving high performance in application specific instruction set processors (ASIPs) and embedded processors. Existing techniques deal with either scheduling hardware pipelines to obtain higher throughput or software pipeline-an instruction scheduling technique for iterative computation-loops for exploiting greater ILP. We integrate these techniques to co-schedule hardware and software pipelines to achieve greater instruction throughput. In this paper, we develop the underlying theory of co-scheduling, called the Modulo-Scheduled Pipeline (or MS-Pipeline) theory. More specifically, we establish the necessary and sufficient condition for achieving the maximum throughput in a given pipeline operating under module scheduling. Further, we establish a sufficient condition to achieve a specified throughput, based on which we also develop a methodology for designing the hardware pipelines that achieve such a throughput.
R. Govindarajan, Erik R. Altman, Guang R. Gao
ASAP2
2000 Binary translation and architecture convergence issues for IBM system/390
abstract
We describe the design issues in an implementation of the ESA/390 architecture based on binary translation to a very long instruction word (VLIW) processor. During binary translation, complex ESA/390 instructions are decomposed into instruction “primitives” which are then scheduled onto a wide-issue machine. The aim is to achieve high instruction level parallelism due to the increased scheduling and optimization opportunities which can be exploited by binary translation software, combined with the efficiency of long instruction word architectures. A further aim is to study the feasibility of a common execution platform for different instruction set architectures, such as ESA/390, RS?6000, AS/400 and the Java Virtual Machine, so that multiple systems can be built around a common execution platform.
Michael Gschwind, Kemal Ebcioglu, Erik R. Altman, Sumedh W. Sathaye
ICS3
1999 Execution-Based Scheduling for VLIW Architectures
Kemal Ebcioglu, Erik R. Altman, Sumedh W. Sathaye, Michael Gschwind
Euro-Par2
1999 Optimizations and Oracle Parallelism with Dynamic Translation
abstract
We describe several optimizations which can be employed in a dynamic binary translation (DBT) system, where low compilation/translation overhead is essential. These optimizations achieve a high degree of ILP, sometimes even surpassing a static compiler employing more sophisticated, and more time-consuming algorithms. We present results in which we employ these optimizations in a dynamic binary translation system capable of computing oracle parallelism.
Kemal Ebcioglu, Erik R. Altman, Sumedh W. Sathaye, Michael Gschwind
MICRO2
1998 An eight-issue tree-VLIW processor for dynamic binary translation
abstract
Presented is an 8-issue tree-VLIW processor designed for efficient support of dynamic binary translation. This processor confronts two primary problems faced by VLIW architectures: binary compatibility and branch performance. Binary compatibility with existing architectures is achieved through dynamic binary translation which translates and schedules PowerPC instructions to take advantage of the available instruction level parallelism. Efficient branch performance is achieved through tree instructions that support multi-way path and branch selection within a single VLIW instruction. The processor architecture is described, along with design details of the branch unit, pipeline, register file and memory hierarchy for a 0.25 micron standard-cell design. Performance simulations show that the simplicity of a VLIW architecture allows a wide-issue processor to operate at high frequencies.
Kemal Ebcioglu, Jason Fritts, Stephen V. Kosonocky, Michael Gschwind, Erik R. Altman, Krishnan Kailas, Terry Bright
ICCD5
1998 A Unified Framework for Instruction Scheduling and Mapping for Function Units with Structural Hazards
Erik R. Altman, R. Govindarajan, Guang R. Gao
J. Parallel Distributed Comput.1
1997 DAISY: Dynamic Compilation for 100% Architectural Compatibility
abstract
Although VLIW architectures offer the advantages of simplicity of design and high issue rates, a major impediment to their use is that they are not compatible with the existing software base. We describe new simple hardware features for a VLIW machine we call DAISY (DynamicallyArchitectedInstructionSet fromYorktown). DAISY is specifically intended to emulate existing architectures, so that all existing software for an old architecture (including operating system kernel code) runs without changes on the VLIW. Each time a new fragment of code is executed for the first time, the code is translated to VLIW primitives, parallelized and saved in a portion of main memory not visible to the old architecture, by a Virtual Machine Monitor (software) residing in read only memory. Subsequent executions of the same fragment do not require a translation (unless cast out). We discuss the architectural requirements for such a VLIW, to deal with issues including self-modifying code, precise exceptions, and aggressive reordering of memory references in the presence of strong MP consistency and memory mapped I/O. We have implemented the dynamic parallelization algorithms for the PowerPC architecture. The initial results show high degrees of instruction level parallelism with reasonable translation overhead and memory usage.
Kemal Ebcioglu, Erik R. Altman
ISCA2
1996 Co-Scheduling Hardware and Software Pipelines
abstract
In this paper we propose co-scheduling, a framework for simultaneous design of hardware pipelines structures and software-pipelined schedules. Two important components of the co-scheduling framework are: (1) An extension to the analysis of hardware pipeline design that meets the needs of periodic (or software pipelined) schedules. Reservation tables, forbidden latencies, collision vectors, and state diagrams from classical pipeline theory are revisited and extended to solve the new problems. (2) An efficient method, based on the above extension of pipeline analysis, to perform (a) software pipeline scheduling and (b) hardware pipeline reconfiguration which are mutually "compatible". The proposed method has been implemented and preliminary experimental results for 1008 kernel loops are reported. Co-scheduling successfully obtains a schedule for 95% of these loops. The median time to obtain these schedules is 0.25 seconds on a Sparc-20.
R. Govindarajan, Erik R. Altman, Guang R. Gao
HPCA2
1996 A Framework for Resource-Constrained Rate-Optimal Software Pipelining
abstract
The rapid advances in high-performance computer architecture and compilation techniques provide both challenges and opportunities to exploit the rich solution space of software pipelined loop schedules. In this paper, we develop a framework to construct a software pipelined loop schedule which runs on the given architecture (with a fixed number of processor resources) at the maximum possible iteration rate (a la rate-optimal) while minimizing the number of buffers-a close approximation to minimizing the number of registers. The main contributions of this paper are: First, we demonstrate that such problem can be described by a simple mathematical formulation with precise optimization objectives under a periodic linear scheduling framework. The mathematical formulation provides a clear picture which permits one to visualize the overall solution space (for rate-optimal schedules) under different sets of constraints. Secondly, we show that a precise mathematical formulation and its solution does make a significant performance difference. We evaluated the performance of our method against three leading contemporary heuristic methods. Experimental results show that the method described in this paper performed significantly better than these methods. The techniques proposed in this paper are useful in two different ways: 1) As a compiler option which can be used in generating faster schedules for performance-critical loops (if the interested users are willing to trade the cost of longer compile time with faster runtime). 2) As a framework for compiler writers to evaluate and improve other heuristics-based approaches by providing quantitative information as to where and how much their heuristic methods could be further improved.
R. Govindarajan, Erik R. Altman, Guang R. Gao
IEEE Trans. Parallel Distributed Syst.2
1995 Scheduling and Mapping: Software Pipelining in the Presence of Structural Hazards
abstract
Recently, software pipelining methods based on an ILP (Integer Linear Programming) framework have been successfully applied to derive rate-optimal schedules for architectures involving clean pipelines - pipelines without structural hazards. The problem for architectures beyond such clean pipelines remains open. One challenge is how, under a unified ILP framework, to simultaneously represent resource constraints for unclean pipelines, and the assignment or mapping of operations from a loop to those pipelines. In this paper we provide a framework which does exactly this, and in addition constructs rate-optimal software pipelined schedules. The proposed formulation and a solution method have been implemented and tested on a set of 1006 loops taken from various scientific and integer benchmark suites. The formulation found a rate-optimal schedule for 75% of the loops, and required a median time of only 2 seconds per loop on a Sparc 10/30.
Erik R. Altman, R. Govindarajan, Guang R. Gao
PLDI1
1994 Minimizing register requirements under resource-constrained rate-optimal software pipelining
abstract
In this paper we address the following software pipelining problem: given a loop and a machine architecture with a fixed number of processor resources (e.g. function units), how can one construct a software-pipelined schedule which runs on the given architecture at the maximum possible iteration rate (a` la rate-optimal) while minimizing the number of registers?
R. Govindarajan, Erik R. Altman, Guang R. Gao
MICRO2
1992 A Register Allocation Framework Based on Hierarchical Cyclic Interval Graphs
Laurie J. Hendren, Guang R. Gao, Erik R. Altman, Chandrika Mukerji
CC3