Instruction scheduling and register allocation are two very important optimizations in modern compilers for advanced processors. These two optimizations must be performed simultaneously in order to maximize the instru...
详细信息
Instruction scheduling and register allocation are two very important optimizations in modern compilers for advanced processors. These two optimizations must be performed simultaneously in order to maximize the instruction-level parallelism and to fully utilize the registers [1]. In this paper, we solve register allocation and instruction scheduling simultaneously using integer linear programming (ILP). We have successfully worked out the ILP formulations for the problem with and without register spilling. Two kinds of optimizations are considered: (1) fix the number of free registers and then solve the minimum number of cycles to execute the instructions, or (2) fix the maximum execution cycles for the instructions and solve the minimum number of registers needed. Besides being theoretically interesting, our solution serves as a reference point for other heuristic solutions. The formulations are also applicable to high-level synthesis of ASICs and designs for embedded processors. In these application domains, the code quality is more important than the compilation time.
We propose an framework to estimate resource bounds. The framework takes imprecise system characteristics and multiple design attributes into account. Considering a design goal, an initial bound is first generated. Th...
详细信息
We propose an framework to estimate resource bounds. The framework takes imprecise system characteristics and multiple design attributes into account. Considering a design goal, an initial bound is first generated. Then, a polynomial-time process called inclusion scheduling is used as a tool to determine a schedule under impreciseness and improve the bounds. Our experiments show that considering impreciseness can achieve a better bound than the traditional approach.
Systems in the process industry commonly incorporate both batch and continuous processes. These processes must be scheduled to satisfy product specifications, requirements from downstream processes and physical plant ...
详细信息
Systems in the process industry commonly incorporate both batch and continuous processes. These processes must be scheduled to satisfy product specifications, requirements from downstream processes and physical plant constraints. In doing so, the need to maximise various production objectives within a highly constrained environment can present an extremely difficult problem. This paper demonstrates the difficulties of attempting to schedule the combination of discrete tasks of varying cycle times with continuous elements. Two implementations of a heuristic genetic algorithm (GA) approach are demonstrated on a processing problem that has similar characteristics to a sugar mill. The implementations include problem-specific representations, single and multiobjective approaches to handle the four problem costs, and various uses of penalty functions to avoid constraint violations. In addition, highly tailored problem-specific operators allow the GA to match its behaviour to the critical elements in the problem definition, specifically those relating to a highly constrained shared storage facility. The results and implications of using such techniques for this type of problem are presented and discussed.
This paper presents a method for thread partitioning for a hardware compiler Bach. Bach synthesizes RT level circuits from a system description written in Bach-C language, where a system is modeled as communicating pr...
详细信息
This paper presents a method for thread partitioning for a hardware compiler Bach. Bach synthesizes RT level circuits from a system description written in Bach-C language, where a system is modeled as communicating processes running in parallel. The system description is decomposed into threads, i.e., strings of sequential processes, and then converted into synthesizable behavioral VHDL models. The proposed method attempts to find a partitioning of a given system description into threads that maximize resource sharing among processes in the threads. Experiments on two real designs show that the circuit sizes were reduced by 3.7% and 14.7%. We also show the detailed statistics and analysis of the size of the resulting gate level circuits.
The work presented in this paper focuses on behavioral level power optimization. Specifically, we address the problem of scheduling a data-flow graph (DFG) under latency constraints. We have developed a revised intege...
详细信息
The work presented in this paper focuses on behavioral level power optimization. Specifically, we address the problem of scheduling a data-flow graph (DFG) under latency constraints. We have developed a revised integerlinear program (ILP) model that minimizes both the peak power and the number of resources while satisfying timing constraints. Our modified integer linear programming (MILP) algorithm extends the traditional ILP approach, that minimizes, resources to include peak power considerations while adding extensions for multi-cycle and pipelined arithmetic components. To demonstrate the MILP algorithm's efficacy, two DFGs were examined: a second order differential equation solver (DiffEq) and a finite length impulse response filter (FIR). In our benchmark results, the peak power in DiffEq was reduced 25% after scheduling alone and reduced 50% after scheduling and pipelining were both applied. The FIR filter was reduced 63% after scheduling and reduced 75% after scheduling and pipelining.
In this paper, we address the problem of partitioning a large design on a reconfigurable single-chip emulator under resource constraints. First, we extract an acyclic flow graph of the design to be emulated. Then, we ...
详细信息
ISBN:
(纸本)0769504876
In this paper, we address the problem of partitioning a large design on a reconfigurable single-chip emulator under resource constraints. First, we extract an acyclic flow graph of the design to be emulated. Then, we model the problem as an integer linear programming problem (IP) based on the acyclic flow graph of the design where the structure of the assignment and precedence constraints produce a tight formulation. This formulation is suitable for small designs. For larger designs, we generate a smaller formulation of the integerprogramming problem based on a reduced form of the acylic graph. Then we use an incremental iterative technique to keep the problem formulation as small as possible. To partition a large design, our algorithm uses two distinct steps with different objectives. In the first step, we minimize the number of cycles needed to schedule every lookup table (LUT) in the circuit. Then flip-flops (FFs) are inserted into the appropriate cycles of the schedule in the second step. Experiments are conducted on small and moderately large circuits from the MCNC Partitioning93 benchmark suite. The obtained results show that our algorithm produces optimal partitioning schedules.
Operations research tools vary significantly. In this paper, several operations research tools that can handle uncertainty are investigated. They include sensitivity analysis, parametric analysis, mean-variance analys...
详细信息
Operations research tools vary significantly. In this paper, several operations research tools that can handle uncertainty are investigated. They include sensitivity analysis, parametric analysis, mean-variance analysis, stochastic linearprogramming, fuzzy linearprogramming, and value at risk (VaR). In addition, these tools are compared and contrasted based on their applicability, time, and technical requirements.
This paper presents a very general, exact technique for scheduling looping data-flow graphs. In contrast to the conventional technique using loop iteration variables and integer linear programming, the new technique u...
详细信息
This paper presents a very general, exact technique for scheduling looping data-flow graphs. In contrast to the conventional technique using loop iteration variables and integer linear programming, the new technique uses implicit symbolic automata techniques to represent the problem instance. The new technique has several advantages, such as incremental refinement, efficient variable usage and ability to accommodate practical design constraints. A small case study demonstrates the flexibility and viability of this technique.
This paper presents a simulation model to be used for water supply planning by a metropolitan water utility, Water supply operations for a single, monthly time step are formulated as a mixed integerlinear program (or...
详细信息
This paper presents a simulation model to be used for water supply planning by a metropolitan water utility, Water supply operations for a single, monthly time step are formulated as a mixed integerlinear program (or more simply, LP). The LP is then embedded in a month-by-month simulation model, The LP is formulated using a priority-based objective function, The model has been used successfully by the Alameda County Water District (California) staff for its long-range, integrated planning. The model also shows that some of the inherent weaknesses of math programming in general and mixed integer linear programming in particular, can be overcome to build a successful model.
Current deep-submicron VLSI technology appears to cause severe crosstalk problems, since it requires adjacent wires to be placed closer and closer together. This paper deals with a horizontal layer assignment problem ...
详细信息
ISBN:
(纸本)9643600572
Current deep-submicron VLSI technology appears to cause severe crosstalk problems, since it requires adjacent wires to be placed closer and closer together. This paper deals with a horizontal layer assignment problem for three layer HVH channel routing to minimize coupling capacitance, a main source of crosstalk. It is formulated in a 0/1 integer linear programming problem which is then solved by a linear pseudo Boolean optimization technique. Experiments show that our accurate upper bound estimation technique effectively reduces crosstalk in a reasonable amount of running time.
暂无评论