We present an algorithm for scheduling distributed data intensive Bag-of-Task applications on Data Grids that have costs associated with requesting, transferring and processing datasets. We evaluate the algorithm on a Data Grid testbed and present the results.