DOT NET PROJECTS ABSTRACT 2016-2017 A DATA AND TASK CO-SCHEDULING ALGORITHM FOR SCIENTIFIC CLOUD WORKFLOWS ABSTRACT: Cloud computing has emerged as a promising computational infrastructure for cost-efficient workflow execution by provisioning on-demand resources in a pay-as-you-go manner. While scientific workflows require accessing community-wide resources, they usually need to be performed in collaborative cloud environments composed of multiple datacenters. Although such environments facilitate scientific collaboration, the movements of input and intermediate datasets across geographically distributed data centers may cause intolerable latency that would hinder efficient execution of large-scale data-intensive scientific workflows. To address the problem, in this article we propose a novel multi-level K-cut graph partitioning algorithm to minimize the volume of data transfer across data centers while satisfying load balancing and fixed data constraints. The algorithm first contracts the fixed input datasets in the same data center and their consuming tasks, and coarsens the contracted graph to a predefined scale in a level-by-level manner. Then, aK-cut algorithm is used to partition the resulted graph into K parts such that the cut size is minimized. After that, the partitioned graphis projected back to the original workflow graph, during which the load balancing constraint is maintained. We evaluate our algorithm using three real-world workflow applications and the results demonstrate that the proposed algorithm outperforms other state-of-the-art algorithms.