Advertisement

Lazy Parallel Kronecker Algebra-Operations on Heterogeneous Multicores

  • Wasuwee Sodsong
  • Robert Mittermayr
  • Yoojin Park
  • Bernd Burgstaller
  • Johann Blieberger
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10417)

Abstract

Kronecker algebra is a matrix calculus which allows the generation of thread interleavings from the source-code of a program. Thread interleavings have been shown effective for proving the absence of deadlocks. Because the number of interleavings grows exponentially in the number of threads, deadlock analysis is still a challenging problem.

To make the computation of thread interleavings tractable, we propose a lazy, parallel evaluation method for Kronecker algebra. Our method incorporates the constraints induced by synchronization constructs. To reduce problem size, only interleavings legal under the locking behavior of a program are considered. We leverage the data-parallelism of Kronecker sum- and product-operations for multicores and GPUs. Proposed algebraic transformations further improve performance. For one synthetic and two real-world benchmarks, our GPU implementation is up to 5453\(\times \) faster than our multi-threaded version. Lazy evaluation significantly reduces memory consumption compared to both the sequential and the multicore versions of the SPIN model-checker.

Keywords

Kronecker algebra Lazy evaluation Deadlock detection Heterogeneous multicores GPUs 

Notes

Acknowledgments

This research was supported by the Austrian Science Fund (FWF) project I 1035N23, and by the Next-Generation Information Computing Development Program through the National Research Foundation of Korea (NRF), funded by the Ministry of Science, ICT & Future Planning under grant NRF2015M3C4A7065522.

References

  1. 1.
    Bartocci, E., DeFrancisco, R., Smolka, S.A.: Towards a GPGPU-parallel SPIN model checker. In: 2014 International SPIN Symposium on Model Checking of Software, pp. 87–96. ACM (2014)Google Scholar
  2. 2.
    Buchholz, P., Kemper, P.: Efficient computation and representation of large reachability sets for composed automata. Discrete Event Dyn. Syst. 12(3), 265–286 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Burgstaller, B., Blieberger, J.: Kronecker algebra for static analysis of Ada programs with protected objects. In: Ada-Europe International Conference on Reliable Software Technologies, vol. 8454, pp. 27–42 (2014)Google Scholar
  4. 4.
    Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Progress on the state explosion problem in model checking. In: Wilhelm, R. (ed.) Informatics. LNCS, vol. 2000, pp. 176–194. Springer, Heidelberg (2001). doi: 10.1007/3-540-44577-3_12 CrossRefGoogle Scholar
  5. 5.
    Holzmann, G.J.: The model checker SPIN. IEEE Trans. Softw. Eng. 23, 279–295 (1997). IEEE Computer SocietyCrossRefGoogle Scholar
  6. 6.
    Holzmann, G.J., Bosnacki, D.: The design of a multicore extension of the SPIN model checker. IEEE Trans. Softw. Eng. 33, 659–674 (2007)CrossRefGoogle Scholar
  7. 7.
    Kuich, W., Salomaa, A.: Semirings, Automata, Languages. Springer, Heidelberg (1986)CrossRefzbMATHGoogle Scholar
  8. 8.
    Li, X., Andersen, D.G., Kaminsky, M., Freedman, M.J.: Algorithmic improvements for fast concurrent cuckoo hashing. In: Proceedings of the Ninth European Conference on Computer Systems, EuroSys 2014. ACM (2014)Google Scholar
  9. 9.
    Mittermayr, R., Blieberger, J.: Static partial-order reduction of concurrent systems in polynomial time. In: Margaria, T., Steffen, B. (eds.) ISoLA 2008. CCIS, vol. 17, pp. 619–633. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-88479-8_44 CrossRefGoogle Scholar
  10. 10.
    Mittermayr, R., Blieberger, J.: Shared memory concurrent system verification using Kronecker algebra. Technical report 183/1-155, TU Vienna. http://arxiv.org/abs/1109.5522 (Sept 2011)
  11. 11.
    Mittermayr, R., Blieberger, J.: Timing analysis of concurrent programs. In: 12th International Workshop on Worst-Case Execution Time Analysis, pp. 59–68 (2012)Google Scholar
  12. 12.
    Mittermayr, R., Blieberger, J.: Kronecker algebra for static analysis of barriers in Ada. In: Bertogna, M., Pinho, L.M., Quiñones, E. (eds.) Ada-Europe 2016. LNCS, vol. 9695, pp. 145–159. Springer, Cham (2016). doi: 10.1007/978-3-319-39083-3_10 Google Scholar
  13. 13.
    Mittermayr, R., Blieberger, J.: Deadlock and WCET analysis of barrier-synchronized concurrent programs. Computing pp. 1–22 (2017)Google Scholar
  14. 14.
    Mittermayr, R., Blieberger, J., Schöbel, A.: Kronecker algebra-based deadlock analysis for railway systems. PROMET-Traffic Transp. 24(5), 359–369 (2012)Google Scholar
  15. 15.
    Park, Y.: Kronecker algebra-based deadlock analysis in the Linux kernel. Technical report, Yonsei University. http://elc.yonsei.ac.kr/publications/KernelDeadlockAnalysis.pdf
  16. 16.
    Plateau, B.: On the stochastic structure of parallelism and synchronization models for distributed algorithms. In: ACM SIGMETRICS, vol. 13, pp. 147–154 (1985)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Yonsei UniversitySeoulKorea
  2. 2.Vienna University of TechnologyViennaAustria

Personalised recommendations