Workflow Refactoring for Concurrent Task Execution

Mingzhong Wang,Jinjun Chen,Liehuang Zhu
DOI: https://doi.org/10.1109/cgc.2012.82
2012-01-01
Abstract:The performance and reliability of workflow execution are highly dependent on the scheduling algorithm. However, existing approaches usually confines the scheduling on the predefined workflow structure, neglecting the possibility that a workflow graph itself may be changeable when certain conditions are satisfied. Therefore, in this paper we propose the concept of graph refactoring which transforms certain types of sequential tasks to run in parallel without changing system's functionality. We first propose a classification of task dependencies in DAG-style workflow graphs as data, strict control, and loose control dependency according to task interaction and user requirements, and identify that previously sequential task ordering in loose control dependency can be scheduled to run in parallel as long as supporting services are trustworthy. Corresponding refactoring algorithms are designed to traverse, restructure, and parallelize loose control dependencies in the graph when the reputations of related executing services are above certain threshold. Experiments and analysis show that graph refactoring can improve the system performance scalably because of concurrent execution of previously sequential tasks.
What problem does this paper attempt to address?