DOI QR코드

DOI QR Code

Formal Analysis of Distributed Shared Memory Algorithms

  • Muhammad Atif (Department of Computer Science, The University of Lahore) ;
  • Muhammad Adnan Hashmi (Department of Computer Information Science, Higher Colleges of Technology) ;
  • Mudassar Naseer (Department of Computer Science, The University of Lahore) ;
  • Ahmad Salman Khan (Department of Software Engineering, The University of Lahore)
  • Received : 2024.04.05
  • Published : 2024.04.30

Abstract

The memory coherence problem occurs while mapping shared virtual memory in a loosely coupled multiprocessors setup. Memory is considered coherent if a read operation provides same data written in the last write operation. The problem is addressed in the literature using different algorithms. The big question is on the correctness of such a distributed algorithm. Formal verification is the principal term for a group of techniques that routinely use an analysis that is established on mathematical transformations to conclude the rightness of hardware or software behavior in divergence to dynamic verification techniques. This paper uses UPPAAL model checker to model the dynamic distributed algorithm for shared virtual memory given by K.Li and P.Hudak. We analyse the mechanism to keep the coherence of memory in every read and write operation by using a dynamic distributed algorithm. Our results show that the dynamic distributed algorithm for shared virtual memory partially fulfils its functional requirements.

Keywords

References

  1. Venkateswarlu Chennareddy and Jatindra Kumar Deka. Formally Verifying the Distributed Shared Memory Weak Consistency Models. IEEE, 2006. 
  2. Simon Wimmer and Peter Lammich. Verified model checking of timed automata. In Dirk Beyer and Marieke Huisman, editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 61-78, Cham, 2018. Springer International Publishing.
  3. Christel Baier, Joost-Pieter Katoen, et al. Principles of model checking, vol. 26202649. MIT Press Cambridge, 26:58, 2008. 
  4. Johan Bengtsson, WO David Griffioen, Kare J Kristoffersen, Kim G Larsen, Fredrik Larsson, Paul Pettersson, and Wang Yi. Verification of an audio protocol with bus collision using uppaal. In Computer Aided Verification, pages 244-256. Springer, 1996. 
  5. Lemerre M. Loulergue F. Blanchard A., Kosmatov N. A Case Study on Formal Verification of the Anaxagoros Hypervisor Paging System with Frama-C. Springer, Cham, 2015. 
  6. Peter Bulychev, Alexandre David, Kim Larsen, Marius Mikucionis, Danny Poulsen, Axel Legay, and Zheng Wang. Uppaal-smc: Statistical model checking for priced timed automata. EPTCS, 85, 07 2012. 
  7. Edmund M Clarke and Jeannette M Wing. Formal methods: State of the art and future directions. ACM Computing Surveys (CSUR), 28(4):626-643, 1996.  https://doi.org/10.1145/242223.242257
  8. A. Fernandez G. David, Kim G. Larsen, Axel Legay, Marius Mikucionis, and Danny Bogsted Poulsen. Uppaal smc tutorial. International Journal on Software Tools for Technology Transfer, 17:397-415, 2014. 
  9. David Fabian and Radek Marik. Configuration dynamics verification using Uppaal. In Configuration Workshop, 2013. 
  10. Y. Fei, H. Zhu, and X. Li. Modeling and verification of nlsr protocol using uppaal. In 2018 International Symposium on Theoretical Aspects of Software Engineering (TASE), pages 108-115, Aug 2018. 
  11. Eduardo Tovar Leandro Buss Becker Fernando Silvano Goncalves, David Pereira. Formal Verification of AADL Models Using UPPAAL. IEEE, 2017. 
  12. Christopher Gerking, Stefan Dziwok, Christian Heinzemann, and Wilhelm Schafer. Domain-specific model checking for cyber-physical systems. 09 2015. 
  13. Naseem Ibrahim and Ismail Khalil Al Ani. Verifying web services compositions using Uppaal. 12 2012. 
  14. Paul Hudak and Kai Li. Memory coherence in shared virtual memory systems. In ACM Transactions on Computer Systems, 1989, Proceedings, The 5th Annual ACM Symposium on Principles of Distributed Computing, pages 321-359. ACM, 1989. 
  15. Kim G Larsen, Paul Pettersson, and Wang Yi. Uppaal in a nutshell. International Journal on Software Tools for Technology Transfer (STTT), 1(1):134- 152, 1997. https://doi.org/10.1007/s100090050010