scispace - formally typeset
Book ChapterDOI

Improved Preprocessing Methods for Modulo Scheduling Algorithms

Reads0
Chats0
TLDR
This work constructs one automaton for each reservation table which acts as a compact encoding of all the conflict automata for this table, which can be recovered for use in modulo-scheduling.
Abstract
Instruction scheduling with an automaton-based resource conflict model is well-established for normal scheduling. Such models have been generalized to software pipelining in the modulo-scheduling framework. One weakness with existing methods is that a distinct automaton must be constructed for each combination of a reservation table and initiation interval. In this work, we present a different approach to model conflicts. We construct one automaton for each reservation table which acts as a compact encoding of all the conflict automata for this table, which can be recovered for use in modulo-scheduling. The basic premise of the construction is to move away from the Proebsting-Fraser model of conflict automaton to the Muller model of automaton modelling issue sequences. The latter turns out to be useful and efficient in this situation. Having constructed this automaton, we show how to improve the estimate of resource constrained initiation interval. Such a bound is always better than the average-use estimate. We show that our bound is safe: it is always lower than the true initiation interval. This use of the automaton is orthogonal to its use in modulo-scheduling. Once we generate the required information during pre-processing, we can compute the lower bound for a program without any further reference to the automaton.

read more

References
More filters
Proceedings ArticleDOI

Detecting pipeline structural hazards quickly

TL;DR: This paper describes a method for detecting structural hazards 5–80 times faster than its predecessors, which generally have simulated the pipeline at compile time.
Proceedings ArticleDOI

Efficient instruction scheduling using finite state automata

TL;DR: This study examines the use of commonly used libraries among 43 C and FORTRAN programs to see if the libraries have common behavior across different programs and found that libraries have very predictable behavior between applications.
Proceedings ArticleDOI

A limit study of local memory requirements using value reuse profiles

TL;DR: In this paper, the authors measure the minimum amount of local memory that programs require to run without delay in order to avoid the von Neuman bottleneck problem in modern high-performance microprocessors.
Proceedings ArticleDOI

Employing finite automata for resource scheduling

TL;DR: Several computationally inexpensive instruction scheduling strategies for a post-processor code optimizer for the Motorola 88110 are examined, including basic block scheduling using reservation tables for writeback buses as well as functional units, delayed branch removal, loop alignment, and special loop entry scheduling.
Proceedings ArticleDOI

Co-scheduling hardware and software pipelines

TL;DR: The proposed co-scheduling framework, a framework for simultaneous design of hardware pipelines structures and software-pipelined schedules, has been implemented, and preliminary experimental results for 1008 kernel loops are reported.
Related Papers (5)