Efficient Partitioning and Allocation of Data for Workflow Compositions