CS 807 Task: C: A GPU-based Parallel Ant Colony Algorithm For Scientific Workflow Scheduling
CS 807 Task: C: A GPU-based Parallel Ant Colony Algorithm For Scientific Workflow Scheduling
TASK: C
A GPU-based Parallel Ant Colony Algorithm for Scientific
Workflow Scheduling.
Abstract
The workflow management system that is designed specifically to compose and
perform series of computational or data manipulation steps is called as scientific
workflow system. A very simple example of a Scientific workflow can be the scripts
that call in data, programs, and other inputs and produce other outputs which
might include visualizations and some analytical outputs. To schedule this Scientific
workflow programs poses combinatorial optimization problem [1]. A scientific
workflow generally has thousands of nodes in a real application. So the scheduling
of this large-scale workflows has very humongous computational overhead
associated with them. The method proposed in the paper [1] uses ant colony
optimization approaches on GPU to increase the efficiency of scientific workflow
programs. This paper will talk about the GPU approach for ant colony optimization
to improve the performance of scientific workflow scheduling.
Introduction:
The ant colony optimization (ACO) algorithm was originally proposed by Marco
Dorigo in 1992 [2][3]. This algorithm works efficiently while solving combination
optimization problems [4]. A parallel variant of ant colony algorithm is designed to
run on a parallel platform. There is a large scale intensive computation in Ant colony
algorithm which requires parallel hardware to finish calculations. There are some
parallel versions of Ant colony algorithm available for example cluster and MPI
based parallel algorithm [5], Multi-core CPU and OpenMP based algorithm [6] and
GPU and CUDA based algorithm [7-10].
There are many solutions to solve scientific workflow scheduling problems. This
problem is known as a combinatorial optimization problem for scientific workflow for
scheduling. Benedict et al. have solved this problem by using Niched Pareto genetic
Algorithm (NGPA) [11]. A genetic approach for solve this problem [12-13] by Jia Yu
et al. is also a nice approach to solving scientific workflow scheduling problem.
Plankensteiner et al. have proposed a dynamic execution and scheduling heuristic
capable scheduling application which supports a high degree of fault tolerance [13].
In this paper, we are going to discuss Workflow scheduling algorithm based on GPU
accelerated ant colony optimization algorithm [1]. The speed of GPU computation is
generally higher than that of CPU; the authors in the paper [1] selected this
approach. They have implemented their parallel algorithm using CUDA [12] and
tested their code in NVIDIA Tesla M2070. The GPU implementation of their algorithm
attained a speed up factor of 5.8 ~20.7 over the conventional CPU implementation.
Problem Description:
The above image [1] shows all mathematical equations to describe scientific
workflow scheduling problem.
Explanation:Equation 1: The core objective function is described in this equation. It summates
the cost of scientific workflow which is the sum of each tasks cost.
Equation 2: This equation represents the constraint in the relationship among the
tasks. Task Tj should wait till , Task Ti, completes itself.
Equation 3: This shows that the time taken by each node to complete itself is
nonnegative.
Equation 4: This represents the total time of the workflow
Equation 5: The constraint that each task node can only select one and only one
candidate computing resource.
Equation 6: The problem decision variables are Boolean variables.
Data Initialization
Solution construction
Pheromone update
Implementing algorithm
The algorithm is implemented in 3 core parts
The Initializing part is executed by CPU and other two are executed by
GPU.
Constructing Problem solution:
It consists of four kernel function ant_create_solution, evalue_total_time,
evalue_cost and select_node.
Pheromone matrix update:
It consists of two main kernel functions local_update and global_update
Step by step implementation
rule of the algorithm. Just like a roulette wheel method ,which generates a
random number every time.
Evalue_total_time function computes the overall time span of the workflow.
This function searches the DAG of the workflow using breadth-first search
method.
The function evalue_cost calculates the total cost of the workflow. If the
makespan of the workflow is created then the deadline D, that means the
solution is unacceptable. Then this function adds a very big number into the
cost.
This is the core functionality of GPU implementation of Ant Colony search
algorithm.
Experimental results
The above figure [1] shows the performance of the algorithm in CPU vs GPU
environment.
When N=1000, i.e 1000 tasks in the scientific workflow, the best cost of the
workflow by sequential algorithm is4880.1 and by the parallel algorithm is 4214.28.
When N= 12, the cost found by the parallel algorithm is bigger than that of
sequential algorithm. So the algorithm works better with higher values of N.
Conclusion:
Ant colony algorithm is one of the best algorithms to solve workflow management
system computing problems. In real applications, the scientific workflow will have
thousands of nodes and the problem is huge. The commonly used sequential
algorithm needs a long time to obtain the optimal solution. This makes is practically
infeasible for practically implementing in scientific workflow scheduling. GPU-based
parallel ant colony optimization algorithm is the first step towards the parallel
solution of workflow scheduling. Although there is much more work to be done in
this field.
References
[1]P. Wang, H. Li and B. Zhang, "A GPU-based Parallel Ant Colony Algorithm for
Scientific Workflow Scheduling", International Journal of Grid and Distributed
Computing, vol. 8, no. 4, pp. 37-46, 2015.
[2] M. Dorigo, Optimization, learning and natural algorithms, Ph.D. dissertation,
Dipartimento di Elettronica, Politecnico di Milano, (1992).
[3] M. Dorigo, V. Maniezzo and A. Colorni, The ant system, Optimization by a colony of
cooperating agents, IEEE Transactions on Systems, Man, and CyberneticsPart B. vol.
26, no. 1, (1996).
[4] M. Dorigo, T. Sttzle, Ant Colony Optimization, MIT Press, (2004).
[5] Y. Liu, G. Wu, Research on MPI-based parallel max-min ant system, Applied
Mechanics and Materials, (2012), pp. 198-199.
[6]
[14] [2]"Applying Ant Colony Optimization Algorithms to Solve the Traveling Salesman
Problem - CodeProject", Codeproject.com, 2013.
http://www.codeproject.com/Articles/644067/Applying-Ant-Colony-OptimizationAlgorithms-to-Sol#_Toc364710425.