Academia.eduAcademia.edu

Outline

Mapping Concurrent Applications onto Architectural Platforms

2004, Networks on Chip

https://doi.org/10.1007/0-306-48727-6_3

Abstract

Embedded system designers are faced with an expanding array of challenges in both application and architecture design. One challenge is the task of modelling heterogeneous concurrent applications. Another is the task of finding a programming model for heterogeneous multiprocessor architectural platforms. Compounding each of these challenges is the task of implementing heterogeneous applications on heterogeneous architectures. We believe that the key problem underlying each of these challenges is the modelling of concurrency, and the key to modelling concurrency is to capture concurrent communication formally in models of computation. This chapter broadly outlines a disciplined approach to the design and implementation of communication structures in embedded applications. Our approach combines the Network-on-Chip paradigm with the models of computation paradigm. We use models of computation to capture the communication requirements of an application as well as to abstract the capabilities of a communication architecture. Then, application requirements and architectural capabilities are matched using a discipline based on Network-on-Chip principles. In this chapter we describe this approach and present a case study where a Click network routing application is implemented on a multiprocessor architecture using this discipline.

References (15)

  1. E. Kohler et al. The Click Modular Router. ACM Transactions on Com- puter Systems. 18(3), pg. 263-297, August 2000.
  2. E.A. de Kock et al. YAPI: Application Modeling for Signal Processing Systems. Proc. of the Design Automation Conference. June 2000.
  3. G. Berry and G. Gonthier. The Esterel synchronous programming lan- guage: Design, semantics, implementation. Science of Computer Pro- gramming. 19(2), 1992.
  4. D. Harel. Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming. 8(3), pg. 231-274, 1987.
  5. K. Keutzer, S. Malik et al. System-level design: orthogonalization of con- cerns and platform-based design. IEEE Transactions on CAD. vol. 19, pg. 1523-1543. 2000.
  6. N. Shah. Understanding Network Processors. Master's Thesis, Dept. of Electrical Engineering and Computer Science, Univ. of California, Berke- ley. 2001.
  7. Intel Corporation. IXP1200 Network Processor Datasheet.
  8. G. Kahn. The semantics of a simple language for parallel programming. Proc. of IFIP Congress. August 1974.
  9. E. A. Lee. Computing for Embedded Systems. IEEE Instrumentation and Measurement Technology Conference. May 2001.
  10. B. Kienhuis, E. Deprettere et al. A Methodology to Design Programmable Embedded Systems. In LNCS series of Springer-Verlag, Volume 2268, SAMOS: Systems, Architectures, Modelling and Simulation. Eds. F. De- prettere et al. November 2001.
  11. J. Davis, R. Galicia et al. Ptolemy II: Heterogeneous Concurrent Modeling and Design in Java. Technical Report UCB/ERL No. M99/40, University of California, Berkeley. 1999.
  12. A. Mihal, C. Kulkarni et al. A Disciplined Approach to the Development of Architectural Platforms. IEEE Design and Test of Computers. Novem- ber/December 2002.
  13. C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall In- ternational Series in Computer Science. 1985.
  14. M. Sgroi, M. Sheets et al. Addressing the System-on-a-Chip Intercon- nect Woes Through Communication-Based Design. Proc. of the Design Automation Conference. pages 667-672, June 2001.
  15. E. A. Lee and Y. Xiong. System-Level Types for Component-Based De- sign. First Workshop on Embedded Software, EMSOFT2001. October 2001.