Using an Actor Framework for Scientific Computing: Opportunities and Challenges

We examine the challenges and advantages of using an actor framework for programming and execution of scientific workflows. The following specific topics are studied: implementing workflow semantics and typical workflow patterns in the actor model, parallel and distributed execution of workflow activities using actors, leveraging event sourcing as a novel approach for workflow state persistence and recovery, and applying supervision as a fault tolerance model for workflows. In order to practically validate our research, we have created Scaflow, an Akka-based programming library and workflow execution engine. We study an example workflow implemented in Scaflow, and present experimental measurements of workflow persistence overhead.

[1]  Allen D. Malony,et al.  WOOL: A Workflow Programming Language , 2008, 2008 IEEE Fourth International Conference on eScience.

[2]  Miklós Kozlovszky,et al.  DCI Bridge: Executing WS-PGRADE Workflows in Distributed Computing Infrastructures , 2014, Science Gateways for Distributed Computing Infrastructures.

[3]  E. Madeira,et al.  Prediction-based Auto-scaling of Scientific Workflows , 2011 .

[4]  Miron Livny,et al.  Pegasus, a workflow management system for science automation , 2015, Future Gener. Comput. Syst..

[5]  Edward A. Lee,et al.  Scientific workflow management and the Kepler system , 2006, Concurr. Comput. Pract. Exp..

[6]  Jun Qin,et al.  Scientific Workflows: Programming, Optimization, and Synthesis with ASKALON and AWDL , 2012 .

[7]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[8]  Bartosz Balis,et al.  HyperFlow: A model of computation, programming approach and enactment engine for complex distributed workflows , 2016, Future Gener. Comput. Syst..

[9]  Miklós Kozlovszky,et al.  WS-PGRADE/gUSE Generic DCI Gateway Framework for a Large Variety of User Communities , 2012, Journal of Grid Computing.

[10]  Ian J. Taylor,et al.  Workflows and e-Science: An overview of workflow system features and capabilities , 2009, Future Gener. Comput. Syst..

[11]  David Abramson,et al.  Approaches to Distributed Execution of Scientific Workflows in Kepler , 2013, Fundam. Informaticae.

[12]  Carole A. Goble,et al.  Taverna/myGrid: Aligning a Workflow System with the Life Sciences Community , 2007, Workflows for e-Science, Scientific Workflows for Grids.

[13]  Gul A. Agha,et al.  Actor frameworks for the JVM platform: a comparative analysis , 2009, PPPJ '09.

[14]  Carole A. Goble,et al.  Common motifs in scientific workflows: An empirical analysis , 2012, 2012 IEEE 8th International Conference on E-Science.

[15]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2003, Distributed and Parallel Databases.

[16]  Bertram Ludäscher,et al.  Improving Workflow Fault Tolerance through Provenance-Based Recovery , 2011, SSDBM.

[17]  Omer F. Rana,et al.  An uncoordinated asynchronous checkpointing model for hierarchical scientific workflows , 2010, J. Comput. Syst. Sci..

[18]  Péter Kacsuk,et al.  Building Science Gateways by Utilizing the Generic WS-Pgrade/gUSE Workflow System , 2013, Comput. Sci..

[19]  Philipp Haller,et al.  On the integration of the actor model in mainstream technologies: the scala perspective , 2012, AGERE! 2012.

[20]  Gul Agha,et al.  Concurrent programming using actors , 1987 .

[21]  Scott Klasky,et al.  Workflow automation for processing plasma fusion simulation data , 2007, WORKS '07.