Parallelization of Transition Counting for Process Mining on Multi-core CPUs and GPUs

  • Diogo R. Ferreira
  • Rui M. Santos
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 281)


Many process mining tools and techniques produce output models based on the counting of transitions between tasks or users in an event log. Although this counting can be performed in a forward pass through the event log, when analyzing large event logs according to different perspectives it may become impractical or time-consuming to perform multiple such passes. In this work, we show how transition counting can be parallelized by taking advantage of CPU multi-threading and GPU-accelerated computing. We describe the parallelization strategies, together with a set of experiments to illustrate the performance gains that can be expected with such parallelizations.


Flow Algorithm Output Array Compute Unify Device Architecture Global Matrix Handover Algorithm 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    van der Aalst, W.M.P., Weijters, A.J.M.M., Maruster, L.: Workflow mining: Discovering process models from event logs. IEEE Trans. Knowl. Data Eng. 16, 1128–1142 (2004)CrossRefGoogle Scholar
  2. 2.
    Weijters, A.J.M.M., van der Aalst, W.M.P., de Medeiros, A.K.A.: Process mining with the HeuristicsMiner algorithm. Technical Report WP 166, Eindhoven University of Technology (2006)Google Scholar
  3. 3.
    Günther, C.W., Rozinat, A.: Disco: Discover your processes. In: BPM 2012 Demonstration Track, CEUR Workshop Proceedings, Vol. 940 (2012)Google Scholar
  4. 4.
    van der Aalst, W.M.P., Song, M.: Mining social networks: Uncovering interaction patterns in business processes. In: Desel, J., Pernici, B., Weske, M. (eds.) BPM 2004. LNCS, vol. 3080, pp. 244–260. Springer, Heidelberg (2004). doi: 10.1007/978-3-540-25970-1_16 CrossRefGoogle Scholar
  5. 5.
    van der Aalst, P.W.M., Reijers, A.H., Song, M.: Discovering social networks from event logs. Comput. Support. Coop. Work 14(6), 549–593 (2005)CrossRefGoogle Scholar
  6. 6.
    Rauber, T., Rünger, G.: Parallel Programming for Multicore and Cluster Systems. Springer, Heidelberg (2013)zbMATHGoogle Scholar
  7. 7.
    Veiga, G.M., Ferreira, D.R.: Understanding spaghetti models with sequence clustering for ProM. In: Rinderle-Ma, S., Sadiq, S., Leymann, F. (eds.) BPM 2009. LNBIP, vol. 43, pp. 92–103. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-12186-9_10 CrossRefGoogle Scholar
  8. 8.
    Kundra, D., Juneja, P., Sureka, A.: Vidushi: Parallel implementation of alpha miner algorithm and performance analysis on CPU and GPU architecture. In: Reichert, M., Reijers, H.A. (eds.) BPM 2015. LNBIP, vol. 256, pp. 230–241. Springer, Cham (2016). doi: 10.1007/978-3-319-42887-1_19 CrossRefGoogle Scholar
  9. 9.
    Butenhof, D.R.: Programming with POSIX Threads. Addison-Wesley, Reading (1997)Google Scholar
  10. 10.
    Nickolls, J., Buck, I., Garland, M., Skadron, K.: Scalable parallel programming with CUDA. ACM Queue 6(2), 40–53 (2008)CrossRefGoogle Scholar
  11. 11.
    Ferreira, D.R., Vasilyev, E.: Using logical decision trees to discover the cause of process delays from event logs. Comput. Ind. 70, 194–207 (2015)CrossRefGoogle Scholar
  12. 12.
    van Dongen, B.F., van Der Aalst, W.M.P.: A meta model for process mining data. In: EMOI-INTEROP 2005, CEUR Workshop Proceedings, Vol. 160 (2005)Google Scholar
  13. 13.
    Verbeek, H.M.W., Buijs, J.C.A.M., van Dongen, B.F., Aalst, W.M.P.: XES, XESame, and ProM 6. In: Soffer, P., Proper, E. (eds.) CAiSE Forum 2010. LNBIP, vol. 72, pp. 60–75. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-17722-4_5 CrossRefGoogle Scholar
  14. 14.
    Magro, W., Petersen, P., Shah, S.: Hyper-threading technology: Impact on compute-intensive workloads. Intel Technol. J. 6(1), 1–9 (2002)Google Scholar
  15. 15.
    Nickolls, J., Dally, W.J.: The GPU computing era. IEEE Micro 30(2), 56–69 (2010)CrossRefGoogle Scholar
  16. 16.
    Bell, N., Hoberock, J.: Thrust: A productivity-oriented library for CUDA. In: GPU Computing Gems, 359–371. Jade Edition. Morgan Kaufmann (2011)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Instituto Superior Técnico (IST)University of LisbonLisbonPortugal

Personalised recommendations