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.
- Mathworks simulink - simulation and model-based design. available online at http://www.mathworks.com/products/simulink/.Google Scholar
- S. S. Bhattacharyya, P. K. Murthy, and E. A. Lee. Software Synthesis from Dataflow Graphs. Kluwer, 1996. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- M. Geilen and T. Basten. Reactive process networks. In International Conference on Embedded Software, pages 137?146, 2004. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- S. Jakobs. On the genetic algorithms for the packing of polygons. European Journal of Operational Research, 88:165?181, 1996.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- E. A. Lee and D. G. Messerschmitt. Synchronous data flow. Proceedings of the IEEE, 75(9):1235?1245, September 1987.Google Scholar
Cross Ref
- A. Lodi, S. Martello, and M. Monaci. Two-dimensional packing problems: a survey. European Journal of Operational Research, 141:241?252, 2003.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
Look into details: the benefits of fine-grain streaming buffer analysis
Recommendations
Look into details: the benefits of fine-grain streaming buffer analysis
LCTES '10: Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systemsMany 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 ...
Postscheduling buffer management trade-offs in streaming software synthesis
Special section on verification challenges in the concurrent worldStreaming applications, which are abundant in many disciplines such as multimedia, networking, and signal processing, require efficient processing of a seemingly infinite sequence of input data. In the context of streaming software synthesis from data ...
Performance Analysis of Reconfigurations in Adaptive Real-Time Streaming Applications
We propose a performance analysis framework for adaptive real-time synchronous data flow streaming applications on runtime reconfigurable FPGAs. As the main contribution, we present a constraint based approach to capture both streaming application ...







Comments