1. A computer program product comprising one or more computer-readable media having thereon computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, cause the computing system to operating and/or instantiate a job scheduler that comprises the following: an interface for receiving expected server performance information from a plurality of servers, the expected server performance information for a given server comprising expected performance parameters for performance of tasks of each of a variety of task categories if assigned to the server, the interface also for receiving cluster-level information associated with a cluster of servers that include the plurality of servers; and a job management component that is configured to manage a job assignment associated with a computational job by identifying a plurality of tasks associated with the computational job, identifying task dependencies in performance of the plurality of tasks, determining which of the plurality of tasks are ready for execution based on the dependencies, and for each of at least some tasks that are ready for execution, performing the following: an act of identifying a particular task category of the corresponding task; an act of using the expected server performance information for the particular task category received through the interface, and using the cluster-level information received through the interface to select a server from amongst the plurality of servers to perform the corresponding task; and an act of submitting a request to perform the corresponding task to the selected server.