1 Introduction
High-Throughput Computing (HTC) and Many-Task Computing (MTC) paradigms employ loosely coupled applications which consist of a large number of independent tasks [26]. Loosely coupled applications with tens of thousands or even billions of tasks are used to solve complex and demanding scientific problems in various areas such as drug discovery, high-energy physics, chemistry, and astronomy [28], [34]. HTC aims primarily to support long running applications with a large number of compute-intensive tasks, whereas MTC aims to finish many number of tasks which possibly vary in their runtimes within a relatively short period of time. To complete a large-scale loosely coupled application within expected time, we need to fully exploit all available resources from various computing platforms.