skip to main content
research-article

Look into details: the benefits of fine-grain streaming buffer analysis

Published:13 April 2010Publication History
Skip Abstract Section

Abstract

Many embedded applications demand processing of a seemingly endless stream of input data in real-time. Productive development of such applications is typically carried out by synthesizing software from high-level specifications, such as data-flow graphs. In this context, we study the problem of inter-actor buffer allocation, which is a critical step during compilation of streaming applications. We argue that fine-grain analysis of buffers' spatio-temporal characteristics, as opposed to conventional live range analysis, enables dramatic improvements in buffer sharing. Improved sharing translates to reduction of the compiled binary memory footprint, which is of prime concern in many embedded systems. We transform the buffer allocation problem to two-dimensional packing using complex polygons. We develop an evolutionary packing algorithm, which readily yields buffer allocations. Experimental results show an average of over 7X and 2X improvement in total buffer size, compared to baseline and conventional live range analysis schemes, respectively.

References

  1. Mathworks simulink - simulation and model-based design. available online at http://www.mathworks.com/products/simulink/.Google ScholarGoogle Scholar
  2. S. S. Bhattacharyya, P. K. Murthy, and E. A. Lee. Software Synthesis from Dataflow Graphs. Kluwer, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Eker, J. W. Janneck, E. A. Lee, J. Liu, X. Liu, J. Ludvig, S. Neuendorffer, S. Sachs, and Y. Xiong. Taming heterogeneity - the ptolemy approach. Proceedings of the IEEE, 91(1):127?144, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  4. M. Geilen and T. Basten. Reactive process networks. In International Conference on Embedded Software, pages 137?146, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. I. Gordon, W. Thies, M. Karczmarek, J. Lin, A. S. Meli, A. A. Lamb, C. Leger, J. Wong, H. Hoffmann, D. Maze, and S. P. Amarasinghe. A stream compiler for communication-exposed architectures. In International Conference on Architectural Support for Programming Languages and Operating Systems, pages 291?303, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Hashemi and S. Ghiasi. Versatile task assignment for heterogeneous soft dual-processor platforms. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Jakobs. On the genetic algorithms for the packing of polygons. European Journal of Operational Research, 88:165?181, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  8. M. Karczmarek, W. Thies, and S. Amarasinghe. Phased scheduling of stream programs. In Conference on Languages, Compilers and Tools for Embedded Systems, pages 103?112, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. E. A. Lee and D. G. Messerschmitt. Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers, 36(1), 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. A. Lee and D. G. Messerschmitt. Synchronous data flow. Proceedings of the IEEE, 75(9):1235?1245, September 1987.Google ScholarGoogle ScholarCross RefCross Ref
  11. A. Lodi, S. Martello, and M. Monaci. Two-dimensional packing problems: a survey. European Journal of Operational Research, 141:241?252, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  12. P. K. Murthy and S. S. Bhattacharyya. Shared buffer implementations of signal processing systems using lifetime analysis techniques. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 20(2), 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Stuijk, M. Geilen, and T. Basten. Throughput-buffering trade-off exploration for cyclo-static and synchronous dataflow graphs. IEEE Transactions on Computers, 57(10):1331?1345, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Wiggers, M. Bekooij, and G. J. M. Smit. Efficient computation of buffer capacities for cyclo-static dataflow graphs. In Design Automation Conference, pages 658?663, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Look into details: the benefits of fine-grain streaming buffer analysis

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!