1. A method comprising: receiving a plurality of task containers representing a plurality of tasks, where each task container is a grouping of either task containers or resource containers, which describe one or more resources required for the represented task; generating a cost for each task based on probabilities that the task will influence each other task in the plurality of tasks using the containers; and scheduling the task with the least cost.