MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Removal of memory access bottlenecks for scheduling control-flow intensive behavioral descriptions (1998) [1 citations — 0 self]

Download:
Download as a PDF | Download as a PS
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