1. A system comprising: a server for gathering and organizing topology information for a hierarchical assignment of a job to a shared pool of resources having a hierarchical structure, the shared pool of resources a physical topology comprising a plurality of physical machines, each of the physical machines hosting at least one local virtual machine and having an embedded monitor, the embedded monitor collects virtual machine status from the local virtual machine, and each local virtual machine having an embedded agent that collects associated resource utilization from the local virtual machine; and the server comprising a functional unit to support efficient processing of the job within the shared pool of resources, the processing responsive to the hierarchical assignment of the job to the shared pool of resources based on physical topology information of the shared pool of resources, the physical topology information including network topology information and storage topology information, the functional unit comprising: a director to periodically communicate with each embedded monitor and embedded agent, and to gather and organize the storage topology information comprising data storage information in the shared pool of resources as a mapping between a virtual device containing a data set and the local virtual machine for the virtual device, and the network topology information comprising distance data between each local virtual machine and associated resource utilization information; and the director to leverage the assignment of the job based on the topology information for the one or more resources from the shared pool of resources.