Skip to main content

Circular Buffers with Multiple Overlapping Windows for Cyclic Task Graphs

  • Chapter
  • First Online:
Transactions on High-Performance Embedded Architectures and Compilers V

Abstract

Multimedia applications process streams of values and can often be represented as task graphs. For performance reasons, these task graphs are executed on multiprocessor systems. Inter-task communication is performed via buffers, where the order in which values are written into a buffer can differ from the order in which they are read. Some existing approaches perform inter-task communication via first-in-first-out buffers in combination with reordering tasks and require applications with affine index-expressions. In our previous work, we used circular buffers with a non-overlapping read and write window, such that a reordering task is not required. However, these windows can cause deadlock for cyclic task graphs.

In this paper, we introduce circular buffers with multiple overlapping windows that do not delay the release of locations and therefore they do not introduce deadlock for cyclic task graphs. We show that buffers with multiple overlapping read and write windows are attractive, because they avoid that a buffer has to be selected from which a value has to be read or into which a value has to be written. This significantly simplifies the extraction of a task graph from a sequential application. These buffers are also attractive, because a buffer capacity equal to the array size is sufficient for deadlock-free execution, instead of performing global analysis to compute sufficient buffer capacities. Our case-study presents two applications that require these buffers.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Agarwal, A., et al.: The MIT Alewife machine: architecture and performance. In: Proceedings of the International Symposium on Computer Architecture (ISCA), pp. 2–13. ACM, New York (1995)

    Google Scholar 

  2. Alverson, R., et al.: The Tera computer system. In: International Conference on Supercomputing (ICS), pp. 1–6. ACM, New York (1990)

    Google Scholar 

  3. Bijlsma, T., Bekooij, M.J.G., Smit, G.J.M.: Inter-task communication via overlapping read and write windows for deadlock-free execution of cyclic task graphs. In: Proceedings of the International Workshop on Systems, Architectures, Modeling, and Simulation (SAMOS), pp. 140–148. IEEE Computer Society, Los Alamitos, July 2009

    Google Scholar 

  4. Bijlsma, T., et al.: Communication between nested loop programs via circular buffers in an embedded multiprocessor system. In: Proceedings of the International Workshop on Software and Compilers for Embedded Systems (SCOPES), pp. 33–42. ACM, New York (2008)

    Google Scholar 

  5. van den Brand, J.W., Bekooij, M.J.G.: Streaming consistency: a model for efficient MPSoC design. In: Proceedings of the Euromicro Symposium on Digital System Design (DSD), pp. 27–34. IEEE Computer Society, Washington (2007)

    Google Scholar 

  6. Culler, D.E., Gupta, A., Singh, J.P.: Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann, San Francisco (1999)

    Google Scholar 

  7. Gharachorloo, K., et al.: Memory consistency and event ordering in scalable shared-memory multiprocessors. In: Proceedings of the International Symposium on Computer Architecture (ISCA), pp. 15–26. ACM, New York (1990)

    Google Scholar 

  8. Huang, K., Grünert, D., Thiele, L.: Windowed FIFOs for FPGA-based multiprocessor systems. In: Proceedings of the International Conference on Application-Specific Systems, Architectures, and Processors (ASAP), pp. 36–42. IEEE Computer Society, Los Alamitos (2007)

    Google Scholar 

  9. Lee, E.A., Parks, T.M.: Dataflow process networks. Proc. IEEE 83(5), 773–801 (1995)

    Article  Google Scholar 

  10. Oh, J., et al.: Exploiting thread-level parallelism in lockstep execution by partially duplicating a single pipeline. Electron. Telecommun. Res. Inst. (ETRI) J. 30(4), 576–586 (2008)

    Google Scholar 

  11. Turjan, A., Kienhuis, B., Deprettere, E.F.: Realizations of the extended linearization model in the Compaan tool chain. In: Proceedings of the International Workshop on Systems, Architectures, Modeling, and Simulation (SAMOS), pp. 1–24 (2002)

    Google Scholar 

  12. Turjan, A., Kienhuis, B., Deprettere, E.: An integer linear programming approach to classify the communication in process networks. In: Schepers, H. (ed.) SCOPES 2004. LNCS, vol. 3199, pp. 62–76. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30113-4_6

    Chapter  Google Scholar 

  13. Turjan, A., Kienhuis, B., Deprettere, E.F.: Translating affine nested-loop programs to process networks. In: Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES), pp. 220–229. ACM, New York (2004)

    Google Scholar 

  14. Verdoolaege, S., Nikolov, H., Stefanov, T.: PN: a tool for improved derivation of process networks. EURASIP J. Adv. Sig. Process. 2007(1), 1–13 (2007)

    Google Scholar 

  15. van der Wolf, P., et al.: Design and programming of embedded multiprocessors: an interface-centric approach. In: Proceedings of the International Conference on Hardware-Software Codesign and System Synthesis (CODES+ISSS), pp. 206–217. ACM, New York (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tjerk Bijlsma .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer-Verlag GmbH Germany, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Bijlsma, T., Bekooij, M.J.G., Smit, G.J.M. (2019). Circular Buffers with Multiple Overlapping Windows for Cyclic Task Graphs. In: Silvano, C., Bertels, K., Schulte, M. (eds) Transactions on High-Performance Embedded Architectures and Compilers V. Lecture Notes in Computer Science(), vol 11225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-58834-5_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-58834-5_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-58833-8

  • Online ISBN: 978-3-662-58834-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics