A Framework for Certification of Large-scale Component-based Parallel Computing Systems in a Cloud Computing Platform for HPC Services

Allberson Bruno de Oliveira Dantas, Francisco Heron de Carvalho Junior, Luís Soares Barbosa

2017

Abstract

This paper addresses the verification of software components in the context of their orchestration to build cloud-based scientific applications with high performance computing requirements. In such a scenario, com- ponents are often supplied by different sources and their cooperation rely on assumptions of conformity with their published behavioral interfaces. Therefore, a faulty or ill-designed component, failing to obey to the envisaged behavioral requirements, may have dramatic consequences in practice. Certifier components, intro- duced in this paper, implement a verification as a service framework and are able to access the implementation of other components and verify their consistency with respect to a number of functional, safety and liveness requirements relevant to a specific application or a class of them. It is shown how certifier components can be smoothly integrated in HPC Shelf , a cloud-based platform for high performance computing in which different sorts of users can design, deploy and execute scientific applications.

References

  1. Albert, E., de Boer, F. S., Hähnle, R., Johnsen, E. B., Schlatte, R., Tarifa, S., and Wong, P. (2014). Formal modeling and analysis of resource management for cloud architectures: an industrial case study using real-time ABS. Service Oriented Computing and Applications, 8(4):323-339.
  2. Apt, K. R. (1986). Correctness Proofs of Distributed Termination Algorithms. ACM Trans. Program. Lang. Syst., 8(3):388-405.
  3. Barnett, M., Chang, B.-Y. E., DeLine, R., Jacobs, B., and Leino, K. R. M. (2006). Boogie: A Modular Reusable Verifier for Object-oriented Programs. InProceedings of the 4th International Conference on Formal Methods for Components and Objects, FMCO'05, pages 364-387. Springer-Verlag.
  4. Bellettini, C., Camilli, M., Capra, L., and Monga, M. (2015). Distributed CTL model checking using MapReduce: theory and practice. Concurrency and Computation: Practice and Experience.
  5. Berriman, G. B., Deelman, E., Good, J. C., Jacob, J. C., Katz, D. S., Kesselman, C., Laity, A. C., Prince, T. A., Singh, G., and Su, M.-H. (2004). Montage: a grid-enabled engine for delivering custom sciencegrade mosaics on demand. In SPIE Astronomical Telescopes+ Instrumentation, pages 221-232. International Society for Optics and Photonics.
  6. Bobot, F., Filliaˆtre, J.-C., Marché, C., and Paskevich, A. (2011). Why3: Shepherd your herd of provers. In Boogie 2011: First International Workshop on Intermediate Verification Languages, pages 53-64.
  7. Cohen, E., Dahlweid, M., Hillebrand, M., Leinenbach, D., Moskal, M., Santen, T., Schulte, W., and Tobies, S. (2009). VCC: A practical system for verifying concurrent C. In Theorem Proving in Higher Order Logics, pages 23-42. Springer.
  8. Cuoq, P., Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., and Yakobowski, B. (2012). Frama-C. In International Conference on Software Engineering and Formal Methods, pages 233-247. Springer.
  9. de Carvalho Junior, F. H., Lins, R., Correa, R. C., and Araújo, G. A. (2007). Towards an Architecture for Component-Oriented Parallel Programming. Concurrency and Computation: Practice and Experience, 19(5):697-719.
  10. de Carvalho Junior, F. H., Rezende, C. A., Silva, J. C., and Al Alam, W. G. (2016). Contextual abstraction in a type system for component-based high performance computing platforms. Science of Computer Programming.
  11. de Carvalho Silva, J. and de Carvalho Junior, F. H. C. (2016). A Platform of Scientific Workflows for Orchestration of Parallel Components in a Cloud of High Performance Computing Applications. In Lecture Notes in Computer Science. Springer.
  12. Dean, J. and Ghemawat, S. (2008). Mapreduce: Simplified data processing on large clusters. Communications of the ACM, 51(1):107-113.
  13. Dongarra, J., Otto, S. W., Snir, M., and Walker, D. (1995). An Introduction to the MPI Standard. Technical Report CS-95-274, University of Tennessee.
  14. Franc¸ois Bobot, Jean-Christophe Filli aˆtre, Claude Marché, and Andrei Paskevich (2014). Let's Verify This with Why3. International Journal on Software Tools for Technology Transfer (STTT), pages 1-19.
  15. Groote, J. F., Mathijssen, A., Reniers, M., Usenko, Y., and van Weerdenburg, M. (2007). The Formal Specification Language mCRL2. In Methods for Modelling Software Systems: Dagstuhl Seminar 06351.
  16. Jacobs, B., Smans, J., Philippaerts, P., Vogels, F., Penninckx, W., and Piessens, F. (2011). VeriFast: A powerful, sound, predictable, fast verifier for C and Java. In NASA Formal Methods, pages 41-55. Springer.
  17. Kai Hu, Lei Lei, and Wei-Tek Tsai (2016). Multi-tenant Verification-as-a-Service (VaaS) in a cloud. Simulation Modelling Practice and Theory, 60:122 - 143.
  18. López, H. A., Marques, E. R. B., Martins, F., Ng, N., Santos, C., Vasconcelos, V. T., and Yoshida, N. (2015). Protocol-based verification of message-passing parallel programs. In Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 280-298. ACM.
  19. Mancini, T., Mari, F., Massini, A., Melatti, I., and Tronci, E. (2015). SyLVaaS: System level formal verification as a service. In 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, pages 476-483. IEEE.
  20. OpenMP, O. (1997). A Proposed Industry Standard API for Shared Memory Programming. OpenMP Architecture Review Board, 27.
  21. Owicki, S. and Gries, D. (1976). An axiomatic proof technique for parallel programs I. Acta informatica, 6(4):319-340.
  22. Reynolds, J. C. (2002). Separation Logic: A Logic for Shared Mutable Data Structures. In Logic in Computer Science, 2002. Proceedings. 17th Annual IEEE Symposium on, pages 55-74. IEEE.
  23. Schaefer, I. and Sauer, T. (2011). Towards verification as a service. In International Workshop on Eternal Systems, pages 16-24. Springer.
  24. Siegel, S. F., Zheng, M., Luo, Z., Zirkel, T. K., Marianiello, A. V., Edenhofner, J. G., Dwyer, M. B., and Rogers, M. S. (2015). CIVL: the concurrency intermediate verification language. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, page 61. ACM.
  25. Vo, A., Vakkalanka, S., DeLisi, M., Gopalakrishnan, G., Kirby, R. M., and Thakur, R. (2009). Formal Verification of Practical MPI Programs. SIGPLAN Not., 44(4):261-270.
Download


Paper Citation


in Harvard Style

Bruno de Oliveira Dantas A., Heron de Carvalho Junior F. and Soares Barbosa L. (2017). A Framework for Certification of Large-scale Component-based Parallel Computing Systems in a Cloud Computing Platform for HPC Services . In Proceedings of the 7th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER, ISBN 978-989-758-243-1, pages 229-240. DOI: 10.5220/0006306802290240


in Bibtex Style

@conference{closer17,
author={Allberson Bruno de Oliveira Dantas and Francisco Heron de Carvalho Junior and Luís Soares Barbosa},
title={A Framework for Certification of Large-scale Component-based Parallel Computing Systems in a Cloud Computing Platform for HPC Services},
booktitle={Proceedings of the 7th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,},
year={2017},
pages={229-240},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006306802290240},
isbn={978-989-758-243-1},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 7th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,
TI - A Framework for Certification of Large-scale Component-based Parallel Computing Systems in a Cloud Computing Platform for HPC Services
SN - 978-989-758-243-1
AU - Bruno de Oliveira Dantas A.
AU - Heron de Carvalho Junior F.
AU - Soares Barbosa L.
PY - 2017
SP - 229
EP - 240
DO - 10.5220/0006306802290240