Abstract
Stream processing applications are becoming increasingly complex, requiring parallel and adaptable architectures under real-time constraints. Currently, selecting appropriate computing platforms for these applications is done manually through prototyping and benchmarking. To simplify this selection process, Dataflow (DF) modeling has been utilized to identify opportunities for parallelism. This approach utilizes the Algorithm Architecture “Adequation” (AAA) methodology to make efficient decisions at compile-time by considering data movement and scheduling needs in stream processing environments.
This paper presents a new architecture named “Scratchy”, that is specially designed for stream processing applications. Scratchy is a multi-RISC-V architecture that features software-managed communication using scratchpad memories and customizable interconnect topologies. The architecture supports different topology options and is demonstrated using a 3-core Scratchy. The capabilities of the architecture are presented through a design space exploration that focuses on optimizing the topology for specific applications. It also highlights the low resource overhead of the architecture and quick synthesis time on an Intel MAX10.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Amarasinghe, S., et al.: Language and compiler design for streaming applications. Int. J. Parallel Prog. (2005). https://doi.org/10.1007/s10766-005-3590-6
Amid, A., et al.: Chipyard: integrated design, simulation, and implementation framework for custom SoCs. IEEE Micro (2020). https://doi.org/10.1109/MM.2020.2996616
Asanović, K., et al.: The rocket chip generator. Technical report, EECS Department, University of California, Berkeley (2016)
Balkind, J., et al.: Openpiton at 5: a nexus for open and agile hardware design. IEEE Micro (2020). https://doi.org/10.1109/MM.2020.2997706
Balkind, J., et al.: Openpiton: an open source manycore research framework. SIGARCH Comput. Archit. News (2016). https://doi.org/10.1145/2980024.2872414
Banakar, R., Steinke, S., Lee, B.S., Balakrishnan, M., Marwedel, P.: Scratchpad memory: a design alternative for cache on-chip memory in embedded systems. In: Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No. 02TH8627) (2002). https://doi.org/10.1145/774789.774805
Ghasemi, A.: Notifying memories for dataflow applications on shared-memory parallel computer. Ph.D. thesis, Université de Bretagne Sud (2022). https://tel.archives-ouvertes.fr/tel-03704297v2
Ghasemi, A., Cataldo, R., Diguet, J.P., Martin, K.J.M.: On cache limits for dataflow applications and related efficient memory management strategies. In: Workshop on Design and Architectures for Signal and Image Processing (14th Edition). Association for Computing Machinery (2021). https://doi.org/10.1145/3441110.3441573
Hennessy, J.L., Patterson, D.A.: A new golden age for computer architecture. Commun. ACM (2019). https://doi.org/10.1145/3282307
Kermarrec, F., Bourdeauducq, S., Lann, J.L., Badier, H.: Litex: an open-source SoC builder and library based on migen python DSL. CoRR (2020). https://api.semanticscholar.org/CorpusID:199423893
Krishnasamy, E., Varrette, S., Mucciardi, M.: Edge computing: an overview of framework and applications. Technical report, PRACE aisbl, Bruxelles, Belgium (2020)
Kurth, A., Capotondi, A., Vogel, P., Benini, L., Marongiu, A.: HERO: an open-source research platform for HW/SW exploration of heterogeneous manycore systems. In: Proceedings of the 2nd Workshop on AutotuniNg and aDaptivity AppRoaches for Energy Efficient HPC Systems. ACM (2018). https://doi.org/10.1145/3295816.3295821
Liu, T., Tanougast, C., Weber, S.: Toward a methodology for optimizing algorithm-architecture adequacy for implementation reconfigurable system. In: 2006 13th IEEE International Conference on Electronics, Circuits and Systems, pp. 1085–1088 (2006). https://doi.org/10.1109/ICECS.2006.379627
Martin, K.J.M., Rizk, M., Sepulveda, M.J., Diguet, J.P.: Notifying memories: a case-study on data-flow applications with NoC interfaces implementation. In: Proceedings of the 53rd Annual Design Automation Conference. ACM, New York (2016). https://doi.org/10.1145/2897937.2898051
Maurer, P.: The florida hardware design language. In: IEEE Proceedings on Southeastcon (1990). https://doi.org/10.1109/SECON.1990.117849
Medvidovic, N., Taylor, R.: A classification and comparison framework for software architecture description languages. IEEE Trans. Software Eng. (2000). https://doi.org/10.1109/32.825767
Mellor-Crummey, J.M., Scott, M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. (1991)
Niang, P., Grandpierre, T., Akil, M., Sorel, Y.: AAA and SynDEx-Ic: a methodology and a software framework for the implementation of real-time applications onto reconfigurable circuits. In: Becker, J., Platzner, M., Vernalde, S. (eds.) FPL 2004. LNCS, vol. 3203, pp. 1119–1123. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30117-2_143
Pelcat, M., Desnos, K., Heulot, J., Guy, C., Nezan, J.F., Aridhi, S.: Preesm: a dataflow-based rapid prototyping framework for simplifying multicore DSP programming. In: 2014 6th European Embedded Design in Education and Research Conference (EDERC) (2014). https://doi.org/10.1109/EDERC.2014.6924354
Petrisko, D., et al.: BlackParrot: an agile open-source RISC-V multicore for accelerator SoCs. IEEE Micro (2020). https://doi.org/10.1109/MM.2020.2996145
Rouxel, B., Skalistis, S., Derrien, S., Puaut, I.: Hiding communication delays in contention-free execution for SPM-based multi-core architectures. In: Euromicro Conference on Real-Time Systems (2019). https://doi.org/10.4230/LIPIcs.ECRTS.2019.25
Zuckerman, J., Mantovani, P., Giri, D., Carloni, L.P.: Enabling heterogeneous, multicore SoC research with RISC-V and ESP. arXiv (2022). https://doi.org/10.48550/arXiv.2206.01901
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Faye, J.W. et al. (2024). Scratchy: A Class of Adaptable Architectures with Software-Managed Communication for Edge Streaming Applications. In: Dias, T., Busia, P. (eds) Design and Architectures for Signal and Image Processing. DASIP 2024. Lecture Notes in Computer Science, vol 14622. Springer, Cham. https://doi.org/10.1007/978-3-031-62874-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-62874-0_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-62873-3
Online ISBN: 978-3-031-62874-0
eBook Packages: Computer ScienceComputer Science (R0)