skip to main content
research-article

CoMPSoC: A template for composable and predictable multi-processor system on chips

Published:23 January 2009Publication History
Skip Abstract Section

Abstract

A growing number of applications, often with firm or soft real-time requirements, are integrated on the same System on Chip, in the form of either hardware or software intellectual property. The applications are started and stopped at run time, creating different use-cases. Resources, such as interconnects and memories, are shared between different applications, both within and between use-cases, to reduce silicon cost and power consumption.

The functional and temporal behaviour of the applications is verified by simulation and formal methods. Traditionally, designers resort to monolithic verification of the system as whole, since the applications interfere in shared resources, and thus affect each other's behaviour. Due to interference between applications, the integration and verification complexity grows exponentially in the number of applications, and the task to verify correct behaviour of concurrent applications is on the system designer rather than the application designers.

In this work, we propose a Composable and Predictable Multi-Processor System on Chip (CoMPSoC) platform template. This scalable hardware and software template removes all interference between applications through resource reservations. We demonstrate how this enables a divide-and-conquer design strategy, where all applications, potentially using different programming models and communication paradigms, are developed and verified independently of one another. Performance is analyzed per application, using state-of-the-art dataflow techniques or simulation, depending on the requirements of the application. These results still apply when the applications are integrated onto the platform, thus separating system-level design and application design.

References

  1. Abeni, L. and Buttazzo, G. 2004. Resource reservation in dynamic real-time systems. Real-Time Syst. 27, 2, 123--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Akesson, B., Goossens, K., and Ringhofer, M. 2007. Predator: a predictable SDRAM memory controller. In Proceedings of the International Conference on Hardware/Software Codesign (CODES+ISSS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. ARM Limited 2003. AMBA AXI Protocol Specification. ARM Limited.Google ScholarGoogle Scholar
  4. Avionics Application Software Standard Interface 1997. ARINC Specification 653. Avionics Application Software Standard Interface.Google ScholarGoogle Scholar
  5. Baghdadi, A., Lyonnard, D., Zergainoh, N., and Jerraya, A. 2001. An efficient architecture model for systematic design of application-specific multiprocessor SoC. In Proceedings of the Conference on Design, Automation, and Test in Europe (DATE), 55--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bartic, T., Desmet, D., Mignolet, J.-Y., Marescaux, T., Verkest, D., Vernalde, S., Lauwereins, R., Miller, J., and Robert, F. 2004. Network-on-chip for reconfigurable systems: from high-level design down to implementation. In Proceedings of the International Conference on Feild Programmable Logic Applications (FPL). Springer.Google ScholarGoogle Scholar
  7. Bekooij, M., Moreira, O., Poplavko, P., Mesman, B., Pastrnak, M., and van Meerbergen, J. 2004. Predictable embedded multiprocessor system design. Lecture notes in computer science, 77--91.Google ScholarGoogle Scholar
  8. Benini, L. 2006. Application specific NoC design. In Proceedings of the Conference on Design, Automation, and Test in Europe (DATE). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Brand, van den, J. and Bekooij, M. 2007. Streaming consistency: a model for efficient MPSoC design. In Proceedings of the Euromicm Conference on Digital System Design (DSD). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Bril, R. J., Hentschel, C., Steffens, E. F., Gabrani, M., van Loo, G., and Gelissen, J. H. 2001. Multimedia QoS in consumer terminals. In Proceedings of the IEEE Workshop on Signal Processing Systems, 332--343.Google ScholarGoogle Scholar
  11. Buttazo, G. C. 1977. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Kluwer Publishers. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Chen, K., Malik, S., and August, D. 2001. Retargetable static timing analysis for embedded software. In Proceedings of the International Conference on Hardware/Software Codesign (CODES+ISSS), 39--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Coenen, M., Murali, S., Rădulescu, A., Goossens, K., and De Micheli, G. 2006. A buffer-sizing algorithm for networks on chip using TDMA and credit-based end-to-end flow control. In Proceedings of the International Conference on Hardware/Software Codesign (CODES+ISSS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Culler, D. J., Singh, J. P., and Gupta, A. 1999. Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann Publishers. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Dutta, S. et al. 2001. Viper: a multiprocessor SOC for advanced set-top box and digital TV systems. IEEE Design Test Computers. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Genko, N., Atienza, D., Micheli, G. D., Mendias, J., Hermida, R., and Catthoor, F. 2005. A complete network-on-chip emulation framework. In Proceedings of the Conference on Design, Automation, and Test in Europe (DATE). Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Gharachorloo, K., Lenoski, D., Laudon, J., Gibbons, P., Gupta, A., and Hennessy, J. 1990. Memory consistency and event ordering in scalable shared-memory multiprocessors. In Proceedings of the International Symposium on Computer Architecture. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Goossens, K., Dielissen, J., Gangwal, O. P., González Pestana, S., Rădulescu, A., and Rijpkema, E. 2005. A design flow for application-specific networks on chip with guaranteed performance to accelerate SOC design and verification. In Proceedings of the Conference on Design, Automation, and Test in Europe (DATE). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Goossens, K., Dielissen, J., and Rădulescu, A. 2005. The æthereal network on chip: Concepts, architectures, and implementations. IEEE Design Test Computers. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Graham, R. 1969. Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 17, 2.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Hansson, A., Coenen, M., and Goossens, K. 2007a. Channel trees: Reducing latency by sharing time slots in time-multiplexed networks on chip. In Proceedings of the International Conference on Hardware/Software Codesign (CODES+ISSS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Hansson, A., Coenen, M., and Goossens, K. 2007b. Undisrupted quality-of-service during reconfiguration of multiple applications in networks on chip. In Proceedings of the Conference on Design, Automation, and Test in Europe (DATE). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Hansson, A. and Goossens, K. 2007. Trade-offs in the configuration of a network on chip for multiple use-cases. In Proceedings of the International Symposium on Networks-on-Chips (NOCS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Hansson, A., Wiggers, M., Moonen, A., Goossens, K., and Bekooij, M. 2008. Applying dataflow analysis to dimension buffers for guaranteed performance in networks on chip. In Proceedings of the International Symposium on Networks-on-Chips (NOCS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Ivimey-Cook, R. 1999. Legacy of the transputer. In Architectures, Languages and Techniques, B. M. Cook, Ed. IOS Press.Google ScholarGoogle Scholar
  26. Jantsch, A. 2006. Models of computation for networks on chip. In Proceedings of the International Conference on Application of Concurrency to System Design (ACSD). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Jerraya, A., Bouchhima, A., and Pétrot, F. 2006. Programming models and HW-SW interfaces abstraction for multi-processor SoC. In Proceedings of the Design Automation Conference (DAC). Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Keutzer, K., Malik, S., Newton, A. R., Rabaey, J. M., and Sangiovanni-Vincentelli, A. 2000. System-level design: orthogonalization of concerns and platform-based design. IEEE Trans. Integrat. Circ. Syst. 19, 12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Kopetz, H. 1997. Real-Time Systems: Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Kopetz, H. and Bauer, G. 2003. The time-triggered architecture. Proc. IEEE 91, 1.Google ScholarGoogle ScholarCross RefCross Ref
  31. Kopetz, H., Obermaisser, R., Salloum, C. E., and Huber, B. 2007. Automotive software development for a multi-core system-on-a-chip. In Proceedings of the International Workshop on Software Engineering for Automotive Systems (SEAS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Kumar, A., Hansson, A., Huisken, J., and Corporaal, H. 2007. An FPGA design flow for reconfigurable network-based multi-processor systems on chip. In Proceedings of the Conference on Design, Automation, and Test in Europe (DATE). Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Leijten, J., van Meerbergen, J., Timmer, A., and Jess, J. 2000. Prophid: a platform-based design method. J. Des. Autom. Embed. Syst. 6, 1, 5--37.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Liang, J., Swaminathan, S., and Tessier, R. 2000. aSOC: A scalable, single-chip communications architecture. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT), 37--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Martin, G. 2006. Overview of the MPSoC design challenge. In Proceedings of the Design Automation Conference (DAC). Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Mercer, C. W., Savage, S., and Tokuda, H. 1994. Processor capacity reserves: Operating system support for multimedia systems. In Proceedings of the IEEE International Conference of Multimedia Computing and Systems. IEEE Computer Society Press, 90--99.Google ScholarGoogle Scholar
  37. Moonen, A., Bekooij, M., van den Berg, R., and van Meerbergen, J. 2007. Practical and accurate throughput analysis with the cyclo static data flow model. In Proceedings of the International Symposium on Modeling Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Moraes, F., Calazans, N., Mello, A., Möller, L., and Ost, L. 2004. HERMES: an infrastructure for low area overhead packet-switching networks on chip. Integration VLSI J. 38, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Moreira, O., Valente, F., and Bekooij, M. 2007. Scheduling multiple independent hard-real-time jobs on a heterogeneous multiprocessor. In Proceedings of the International Conference on Embedded Systems (EMSOFT). Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Nieuwland, A., Kang, J., Gangwal, O., Sethuraman, R., Busá, N., Goossens, K., Peset Llopis, R., and Lippens, P. 2002. C-HEAP: A heterogeneous multi-processor architecture template and scalable and flexible protocol for the design of embedded signal processing systems. Des. Autom. Embed. Syst. 7, 3.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. OCP International Partnership 2007. OCP Specification 2.2. OCP International Partnership.Google ScholarGoogle Scholar
  42. Philips Semiconductors 2002. Device Transaction Level (DTL) Protocol Specification. Version 2.2. Philips Semiconductors.Google ScholarGoogle Scholar
  43. Poplavko, P. 2003. Task-level timing models for guaranteed performance in multiprocessor networks-on-chip. In Proceedings of the International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES). Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Radulescu, A., Dielissen, J., Goossens, K., Rijpkema, E., and Wielage, P. 2005. An efficient on-chip network interface offering guaranteed services, shared-memory abstraction, and flexible network programming. IEEE Trans. CAD Interact. Circ. Syst.Google ScholarGoogle Scholar
  45. Rajkumar, R., Juvva, K., Molano, A., and Oikawa, S. 1998. Resource kernels: a resource-centric approach to real-time systems. In Proceedings of the SPIE/ACM Conference on Multimedia Computing and Networking, 150--164.Google ScholarGoogle Scholar
  46. Rowen, C. and Leibson, S. 2004. Engineering the Complex SOC: Fast, Flexible Design with Configurable Processors. Prentice Hall PTR.Google ScholarGoogle Scholar
  47. Rumpler, B. 2006. Complexity management for composable real-time systems. In Proceedings of the International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC). Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Rutten, M., Pol, E.-J., van Eijndhoven, J., Walters, K., and Essink, G. 2005. Dynamic reconfiguration of streaming graphs on a heterogeneous multiprocessor architecture. IS&T/SPIE Electron. Imag. 5683.Google ScholarGoogle Scholar
  49. Sasaki, H. 1996. Multimedia complex on a chip. In Proceedings of the International Solid-State Circuits Conference (ISSCC), 16--19.Google ScholarGoogle ScholarCross RefCross Ref
  50. Silicon Hive 2007. Silicon hive. http://www.siliconhive.com.Google ScholarGoogle Scholar
  51. Soudris, D., Zervas, N. D., Argyriou, A., Dasygenis, M., Tatas, K., Goutis, C., and Thanailakis, A. 2000. Data-reuse and parallel embedded architectures for low-power, real-time multimedia applications. In Proceedings of the IEEE International Workshop on Power and Timing Modeling, Optimization and Simulation (PATMOS), 243--254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Sriram, S. and Bhattacharyya, S. 2000. Embedded Multiprocessors: Scheduling and Synchronization. CRC Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Stiliadis, D. and Varma, A. 1998. Latency-rate servers: a general model for analysis of traffic scheduling algorithms. IEEE/ACM Trans. Netw. 6, 5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Vercauteren, S., Lin, B., and De Man, H. 1996. Constructing application-specific heterogeneous embedded architectures from custom HW/SW applications. In Proceedings of the Design Automation Conference (DAC), 521--526. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Wiggers, M., Bekooij, M., Jansen, P., and Smit, G. 2007. Efficient computation of buffer capacities for cyclo-static real-time systems with back-pressure. In Proceedings of the Real Time and Embedded Technology and Applications Symposium (RTAS). Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Wüst, C., Steffens, L., Verhaegh, W., Bril, R., and Hentschel, C. 2005. QoS control strategies for high-quality video processing. Real-Time Syst. 30, 1, 7--29. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. CoMPSoC: A template for composable and predictable multi-processor system on chips

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Design Automation of Electronic Systems
      ACM Transactions on Design Automation of Electronic Systems  Volume 14, Issue 1
      January 2009
      444 pages
      ISSN:1084-4309
      EISSN:1557-7309
      DOI:10.1145/1455229
      Issue’s Table of Contents

      Copyright © 2009 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 23 January 2009
      • Accepted: 1 August 2008
      • Revised: 1 March 2008
      • Received: 1 September 2007
      Published in todaes Volume 14, Issue 1

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader