Download:
|
by Srivaths Ravi, Ganesh Lakshminarayana, Niraj K. Jha
Proc. IEEE Intnl. Conf. Comp. Aided Design
http://www.ee.princeton.edu/~sravi/paper3.ps
Add To MetaCart
Abstract:
Application domains like signal and image processing, multimedia and networking protocols involve processing of huge amounts of data stored in memory modules. The behavioral descriptions of these applications may contain a large number of array references for data accesses. Dependencies between array accesses cause bottlenecks in the derivation of high-performance schedules. In this paper, we introduce a scheduling-integrated technique to identify and remove these bottlenecks. We first demonstrate that there is a significant loss in the quality of a schedule if these bottlenecks are not taken into account by the scheduler. We then propose a technique to overcome these bottlenecks by introducing new operations in the schedule called verification operations. Experimental results on several benchmarks show that a scheduler powered by our technique demonstrates a two-fold improvement in performance (measured in terms of the average number of clock cycles) over a recently-introduced scheduler for control-flow intensive behavioral descriptions, called Wavesched. Wavesched itself has a two-fold performance advantage over traditional methods such as path-based scheduling and loop-directed scheduling. Also, the best- and worst-case execution times for the enhanced schedules obtained by our method are usually equal to or much less than the corresponding values for the execution times obtained by previous schedulers.
Citations
|
1077
|
Numerical Recipes: The Art of Scientific Computing
– Press, Flannery, et al.
- 1986
|
|
363
|
The omega test: a fast and practical integer programming algorithm for dependence analysis
– Pugh
- 1991
|
|
153
|
Dynamic speculation and synchronization of data dependences
– Moshovos, Breach, et al.
- 1997
|
|
143
|
The Livermore Fortran Kernels: A Computer Test of the Numerical Performance Range
– McMahon
- 1986
|
|
79
|
An exact method for analysis of valuebased array data dependences
– Pugh, Wonnacott
- 1993
|
|
73
|
Path-based scheduling for synthesis
– Camposano
- 1991
|
|
45
|
Data dependence and data-flow analysis of arrays
– Maydan, Amarasinghe, et al.
- 1992
|
|
32
|
A Hardware Mechanism for Dynamic Memory Disambiguation
– Franklin, Sohi, et al.
- 1996
|
|
28
|
Performance analysis and optimization of schedules for conditional and loop-intensive specifications
– Bhattacharya, Dey, et al.
- 1994
|
|
23
|
Incorporating speculative execution into scheduling of control-flow intensive behavioral descriptions. Design Automation Conference
– Lakshminarayana, Raghunathan, et al.
- 1998
|
|
21
|
Wavesched: A novel scheduling technique for control-flow intensive behavioral descriptions
– Lakshminarayana, Khouri, et al.
- 1999
|
|
16
|
Effectiveness of Data Dependence Analysis
– Maydan, Hennessy, et al.
- 1992
|
|
9
|
Automating high level control flow transformations for DSP memory management
– Swaaij, Franssen, et al.
- 1992
|
|
5
|
Practical solutions for counting scalars and dependences in ATOMIUM – a memory management system for multi-dimensional signal processing
– Balasa, Catthoor, et al.
- 1997
|
|
2
|
Fast High-level Power Estimation for Control-flow Intensive Designs
– Khouri, Lakshminarayana, et al.
- 1998
|
|
1
|
Backgroundmemory estimation for multi-dimensional signal processing systems
– Balasa, Catthoor, et al.
- 1995
|