Skip to main content

Software for Multiprocessor Networks on Chip

  • Chapter
Networks on Chip

Abstract

Multiprocessor SoC becomes increasingly software-intensive due to multiplatform design, real-time performance, robustness, reliability, availability, and safety constraints. In this chapter, we examine multiprocessor SoC software, by focusing on user-space, i.e. application and middleware layers, and kernel space, i.e. “RTOS, system libraries and device drivers” and hardware layers. For the RTOS substrate, which forms the backbone of system design, we relate software performance to parallel programming and concurrency issues, as well as program correctness to consistency, fault tolerance, reliability, and verification and validation aspects. A case study based on a multiprocessor set-top-box design by STMicroelectronics illustrates the complexity issues inherent to SoC software design.

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Adve, S. V., and Gharachorloo, K. “Shared memory consistency models: a tutorial”. IEEE Trans. Comput. C-45(12), 1996, pp. 1145–1155.

    Google Scholar 

  2. Benini, L., and De Micheli, G. “Networks on chips: a new SoC paradigm”. Computer, Vol. 35 No 1, 2002, pp. 70–78.

    Article  Google Scholar 

  3. Culler, D. E., Singh, J. P., Gupta, A. “Parallel computer architecture: a hardware/software approach”. Morgan-Kaufmann, 1998

    Google Scholar 

  4. Dahbura, A.T., Sabnani, K.K., and King. L. “The comparison approach to multiprocessor diagnosis”. IEEE Trans. Computers, C-36(3), 1987, pp. 373–378.

    Google Scholar 

  5. Diefendorff, K. and Dubey, P., “How Multimedia Workloads Will Change Processor Design”. IEEE Computer, September 1997, pp. 43–45.

    Google Scholar 

  6. Diefendorff, K., and Duquesne, Y., “New degress of parallelism in SoCs”. EE Times, Sept. 13, 2002

    Google Scholar 

  7. Elster, A.C., Uycar, M.U., and Reeves. A.P. “Fault tolerant matrix operations on hypercube multiprocessors”. Proc. IEEE Conf. Parallel Proc., 1989, v. III pp. 169–176.

    Google Scholar 

  8. Grammatikakis, M. D., Hsu, D.F., Kraetzl, M. “Parallel System Interconnections and Communications”, CRC press, 2000.

    Google Scholar 

  9. Grammatikakis, M. D., and Liesche, S. “Priority queues and sorting for parallel simulation”. IEEE Trans. Soft. Engin. SE-26(5), 2000, pp. 401–422.

    Google Scholar 

  10. Hakimi, S.C., and Amin, A.T. “Characterization of connection assignment of diagnosable systems”. IEEE Trans. Computers, C-23(1), 1974, pp. 86–88.

    MathSciNet  Google Scholar 

  11. Hastad, J., Leighton, F.T., and Newman, M. “Reconfiguring a hypercube in the presence of faults”. Proc. 19th ACM Symp. Theory Comput., 1987, pp. 274–284.

    Google Scholar 

  12. Herlihy, M. “Wait-free synchronization”. ACM Trans. Progr. Lang. Syst. C-13(1), 1991, pp. 124–149.

    Google Scholar 

  13. Huang K.H., and Abraham, J.A. “Algorithm based fault tolerance for matrix operations”. Proc. IEEE Conf. Parallel Proc., 1984, pp. 518–528.

    Google Scholar 

  14. Hill, M.D. “Multiprocessors should support simple memory consistency models”. IEEE Computer C-31(8), 1998, pp. 28–34

    Google Scholar 

  15. R.C. Ho, C.H. Yang, M.A. Horowitz, and D.L. Dill. “Architecture validation for processors”. Proc. 22nd IEEE Symp. Comput. Arch., 1995, pp. 404–413.

    Google Scholar 

  16. Kumar, V., Grama, A., Gupta, A. and Karypis, G. “Introduction to parallel computing”. Benjamin Cummings, 1994.

    Google Scholar 

  17. Lamport, L. “How to make a multiprocessor computer that correctly executes multiprocess programs”. IEEE Trans. Comput. C-28(9), 1979, pp. 690–691.

    Google Scholar 

  18. Mellor-Crummey, J. M. and Scott, M. L. “Algorithms for scalable synchronization on shared-memory multiprocessors”. ACM Trans. Comp. Syst. C-9(1), 1991, pp. 21–65.

    Google Scholar 

  19. Nair, V.S.S., Abraham, J.A., and Banerjee, P. “Efficient techniques for the analysis of algorithm-based fault tolerance schemes”. IEEE Trans. Computers, C-40(9), 1996, pp. 499–503.

    Google Scholar 

  20. Prakash, S., Yann-Hang, L., Johnson, T. “A non-blocking algorithm for shared queues using compare-and-swap.” IEEE Trans. Comput., C-43(5), 1994, pp. 548–559.

    Google Scholar 

  21. Rabin, M. “Efficient dispersal of information for security, load balancing and fault tolerance”. J. ACM, 36(2), 1989, pp. 335–348.

    Article  MathSciNet  MATH  Google Scholar 

  22. Savage, S., Burrows, M., Nelson, G., et al. “Eraser: A dynamic data race detector for multi-threaded programs.” Proc. 16th ACM Symp. on OS Princ., Saint-Malo, France, 1997, pp. 26–37.

    Google Scholar 

  23. Shandle, J., and Martin, G. “Making Embedded Software Reusable for SoCs”. EEDesign, March 1, 2002.

    Google Scholar 

  24. Stolper, S.A. “Software that travels”. EE Times, Oct. 1, 2002.

    Google Scholar 

  25. Tullsen, D.M., Eggers, S.J., and Levy, “Simultaneous multithreading: maximizing on-chip parallelism”. Proc. 22nd IEEE Symp. Comput. Arch., 1995, pp. 392–403.

    Google Scholar 

  26. Turek, J., Shasha, D., and Prakash, S. “Locking without blocking: making lock based concurrent data structure algorithms nonblocking”. Proc. 11th ACM Symp. Princ. Database Syst., 1992, pp. 212–222.

    Google Scholar 

  27. Valois, J. “Lock-free linked lists using compare-and-swap”. Proc. 14th ACM Symp. Princ. Distr. Comput., 1995, pp. 214–222.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Kluwer Academic Publishers

About this chapter

Cite this chapter

Grammatikakis, M., Coppola, M., Sensini, F. (2003). Software for Multiprocessor Networks on Chip. In: Jantsch, A., Tenhunen, H. (eds) Networks on Chip. Springer, Boston, MA. https://doi.org/10.1007/0-306-48727-6_14

Download citation

  • DOI: https://doi.org/10.1007/0-306-48727-6_14

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4020-7392-2

  • Online ISBN: 978-0-306-48727-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics