Skip to main content

Specification and Verification of a MPI Implementation for a MP-SoC

  • Conference paper
Theoretical Aspects of Computing – ICTAC 2010 (ICTAC 2010)

Abstract

System-on-Chip is a solution that integrates several components of a computer into a single chip substrate. Those systems are generally targeted for embedded applications and can increase their processing power by using multiple processors and an on-chip interconnection. STORM is a Multi-Processor System-on-Chip virtual platform which uses a basic implementation of the MPI standard to provide communication among their applications. STORM implements a small set of MPI routines for essential point-to-point and collective communication in order to provide more programmability and portability for the applications of the platform. In this work, we make use of CSP to build a formal model of those MPI routines and eliminate imprecision and ambiguities that may arise from their informal descriptions on the MPI standard. Also, we use the FDR model checker to ensure that the implemented routines have no errors introduced during the development process.

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 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Loghi, M., Angiolini, F., Bertozzi, D., Benini, L., Zafalon, R.: Analyzing On-Chip Communication in a MPSoC Environment. In: Conference on Design, Automation and Test in Europe, pp. 752–757. IEEE Computer Society, Washington (2004)

    Chapter  Google Scholar 

  2. Jerraya, A.A., Wolf, W.: The What, Why, and How of MPSoCs. In: Jerraya, A.A., Wolf, W. (eds.) Multiprocessor Systems-on-Chips, pp. 1–18. Morgan Kauffman, San Francisco (2005)

    Chapter  Google Scholar 

  3. Girão, G., Oliveira, B.C., Soares, R., Silva, I.S.: Cache Coherency Communication Cost In A NoC-Based Mp-Soc Platform. In: 20th annual conference on Integrated Circuits and Systems Design, pp. 288–293. ACM, New York (2007)

    Google Scholar 

  4. IEEE Comp. Society: IEEE Standard SystemC Language Reference Manual (2006)

    Google Scholar 

  5. Benini, L., De Micheli, G.: Networks on Chips: A New SoC Paradigm. Computer 35, 70–78 (2002)

    Article  Google Scholar 

  6. Zeferino, C.A., Kreutz, M.E., Carro, L., Susin, A.A.: A Study on Communication Issues for Systems-on-Chip. In: 15th Symposium on Integrated Circuits and Systems Design, pp. 121–126. IEEE Computer Society, Washington (2002)

    Chapter  Google Scholar 

  7. Snir, M., Otto, S., Huss-Lederman, S., Walker, D., Dongarra, J.: MPI: The Complete Reference. The MIT Press, Massachusetts (1998)

    Google Scholar 

  8. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Upper Saddle River (1985)

    MATH  Google Scholar 

  9. Roscoe, A.W., Hoare, C.A.R., Bird, R.: The Theory and Practice of Concurrency. Prentice Hall, Upper Saddle River (1997)

    Google Scholar 

  10. Formal Systems Ltd: Failures-Divergence Refinement. FDR2 User Manual (2005)

    Google Scholar 

  11. Oliveira, B.C.: Simulação de reservatórios de petróleo em ambiente MPSoC. Master’s Dissertation, Pós-Graduação em Sistemas e Computação, UFRN (2009)

    Google Scholar 

  12. Van de Velde, E.F.: Concurrent Scientific Computing. Springer, New York (1994)

    MATH  Google Scholar 

  13. Palmer, R., Delisi, M., Gopalakrishnan, G., Kirby, R.M.: An Approach to Formalization and Analysis of Message Passing Libraries. In: Leue, S., Merino, P. (eds.) FMICS 2007. LNCS, vol. 4916, pp. 164–181. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  14. Lamport, L.: Specifying Concurrent Systems with TLA+. In: Broy, M., Steinbrüggen, R. (eds.) Calculational System Design. NATO Science Series F, vol. 173, pp. 183–247. IOS Press, Amsterdam (1999)

    Google Scholar 

  15. Li, G., Delisi, M., Gopalakrishnan, G., Kirby, R.M.: Formal specification of the MPI-2.0 standard in TLA+. In: 13th Symposium on Principles and Practice of Parallel Programming, pp. 283–284. ACM Press, New York (2008)

    Chapter  Google Scholar 

  16. Siegel, S.F., Avrunin, G.S.: Modeling MPI programs for verification. Technical report, Department of Computer Science, University of Massachusetts (2004)

    Google Scholar 

  17. Siegel, S.F., Avrunin, G.S.: Verification of MPI-Based Software for Scientific Computation. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 286–303. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  18. Siegel, S.F.: Model Checking Nonblocking MPI Programs. In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, pp. 44–58. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  19. Carter, J.D., Gardner, W.B.: A Formal CSP Framework for Message-Passing HPC Programming. In: Canadian Conference on Electrical and Computer Engineering (CCECE), pp. 1466–1470. IEEE Computer Society, Washington (2006)

    Chapter  Google Scholar 

  20. Burns, G., Daoud, R., Vaigl, J.: LAM: An Open Cluster Environment for MPI. In: Supercomputing Symposium, pp. 379–386. ACM Press, New York (1994)

    Google Scholar 

  21. Matlin, O.S., Lusk, E.L., McCune, W.: SPINning Parallel Systems Software. In: Bošnački, D., Leue, S. (eds.) SPIN 2002. LNCS, vol. 2318, pp. 213–220. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

da Costa, U.S., de Medeiros Júnior, I.S., Oliveira, M.V.M. (2010). Specification and Verification of a MPI Implementation for a MP-SoC. In: Cavalcanti, A., Deharbe, D., Gaudel, MC., Woodcock, J. (eds) Theoretical Aspects of Computing – ICTAC 2010. ICTAC 2010. Lecture Notes in Computer Science, vol 6255. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14808-8_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14808-8_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14807-1

  • Online ISBN: 978-3-642-14808-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics