Abstract
Real-time streaming signal processing systems typically desire high throughput and low latency. Many such systems can be modeled as synchronous data flow graphs. In this paper, we address the problem of multi-objective mapping of SDF graphs onto heterogeneous multiprocessor platforms, where we account for the overhead of bus-based inter-processor communication. The primary contributions include (1) an integer linear programming (ILP) model that globally optimizes throughput, latency and cost; (2) low-complexity two-stage heuristics based on a combination of an evolutionary algorithm with an ILP to generate either a single sub-optimal mapping solution or a Pareto front for design space optimization. In our simulations, the proposed heuristic shows up to 12x run-time efficiency compared to the global ILP while maintaining a 10 − 6 optimality gap in throughput.
Similar content being viewed by others
Notes
The ratio of weights between throughput and cost is kept approximately the same as in the global ILP.
References
Alander, J. (2002). On optimal population size of genetic algorithms. In Proc. IEEE int. conf. on comp. sys. and software eng. (pp. 65–70).
Aslam, N., Arslan, T., & Erdogan, A. (2007). Algorithmic level design space exploration tool for creation of highly optimized synthesizable circuits. In Proc. IEEE int. conf. on acoustics, speech and signal processing (Vol. 2).
Bambha, N., Bhattacharyya, S., Teich, J., & Zitzler, E. (2004). Systematic integration of parameterized local search into evolutionary algorithms. IEEE Transactions on Evolutionary Computation, 8(2), 137–155.
Bambha, N., Kianzad, V., Khandelia, M., & Bhattacharyya, S. (2002). Intermediate representations for design automation of multiprocessor dsp systems. Design Automation for Embedded Systems, 7(4), 307–323.
Bhattacharyya, S., Murthy, P., & Lee, E. (1996). Software synthesis from dataflow graphs. New York: Springer.
Bonfietti, A., Benini, L., Lombardi, M., & Milano, M. (2010). An efficient and complete approach for throughput-maximal SDF allocation and scheduling on multi-core platforms. In Proc. IEEE conf. on design, automation and test in Europe (pp. 897–902).
Glover, F. (1975). Improved linear integer programming formulations of nonlinear integer problems. Management Science, 22(4), 455–460.
Lee, E., & Messerschmitt, D. (1987). Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers, 36(1), 24–35.
Lin, J., Srivatsa, A., Gerstlauer, A., & Evans, B. (2011). Heterogeneous multiprocessor mapping for real-time streaming systems. In Proc. IEEE int. conf. on acoustics, speech and signal processing.
Marwedel, P. (2010). Embedded system design: Embedded systems foundations of cyber-physical systems. New York: Springer.
Pino, J., Parks, T., & Lee, E. (1994). Automatic code generation for heterogeneous multiprocessors. In Proc. IEEE int. conf. on acoustics, speech and signal processing (pp. 445–448).
Ruggiero, M., Guerri, A., Bertozzi, D., Poletti, F., & Milano, M. (2006). Communication-aware allocation and scheduling framework for stream-oriented multi-processor systems-on-chip. In Proc. conf. on design, automation and test in Europe (pp. 3–8). European Design and Automation Association.
Sih, G. (1992). Multiprocessor scheduling to account for interprocessor communication. Berkeley, CA: University of California at Berkeley.
Sriram, S., & Lee, E. (1994). Statically sceduling communication resources in multiprocessor dsp architectures. In 1994 conference record of the twenty-eighth asilomar conference on signals, systems and computers (Vol. 2, pp. 1046–1051). IEEE.
Stuijk, S., Basten, T., Geilen, M., Ghamarian, A., & Theelen, B. (2008). Resource-efficient routing and scheduling of time-constrained streaming communication on networks-on-chip. Journal of Systems Architecture, 54(3–4), 411–426.
Stuijk, S., Geilen, M., & Basten, T. (2006). SDF3: SDF for free. In Proc. IEEE int. conf. on application of concurrency to system design (pp. 276–278). Available at http://www.es.ele.tue.nl/sdf3.
Zhu, J., Sander, I., & Jantsch, A. (2009). Buffer minimization of real-time streaming applications scheduling on hybrid CPU/FPGA architectures. In Proc. IEEE conf. on design, automation and test in Europe (pp. 1506–1511).
Zitzler, E., Laumanns, M., & Thiele, L. (2001). SPEA2: Improving the strength Pareto evolutionary algorithm. In Eurogen (Vol. 3242).
Zitzler, E., Teich, J., & Bhattacharyya, S. (2000). Evolutionary algorithms for the synthesis of embedded software. IEEE Transactions on VLSI Systems, 8(4), 452–455.
Zitzler, E., & Thiele, L. (1999). Multiobjective evolutionary algorithms: A comparative case study and the strength pareto approach. IEEE Transactions on Evolutionary Computation, 3(4), 257–271.
Author information
Authors and Affiliations
Corresponding author
Additional information
This research was supported by an equipment gift from Intel.
The work in this paper was presented in part at the 2011 IEEE International Conference on Acoustics, Speech and Signal Processing.
Appendix: Scheduling ILP
Appendix: Scheduling ILP
When given a partition, the execution time of conventional SDF actors as well as the communication delays of the send and receive actors become fixed parameters. For conciseness, we slightly abuse the notation by defining parameters
where v * denotes a specific value of a variable v. Let us define the index set \(\mathcal{T}_p=[T_{\rm max}-Period^*,T_{\rm max}]\), in which Period * is the minimum period determined by the partition. Also denote \(\mathcal{K}_s\stackrel{\triangle}{=}\{k|ipc^*_k=1\}\) and \(\mathcal{K}_r\stackrel{\triangle}{=}\{k|ipc^*_k\cdot ch^*_k=1\}\), i.e. the set of edges with an active send or an active receive actor, respectively.
The scheduling sub-problem can then be formalized as an ILP that minimizes
subject to
Precedence
Resource sharing
Periodicity
Rights and permissions
About this article
Cite this article
Lin, J., Gerstlauer, A. & Evans, B.L. Communication-aware Heterogeneous Multiprocessor Mapping for Real-time Streaming Systems. J Sign Process Syst 69, 279–291 (2012). https://doi.org/10.1007/s11265-012-0674-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-012-0674-6