Method and apparatus for allocating resources to a plurality of
applications. In various embodiments instrumentation data may be gathered
for work requests processed by the applications. An associated workload
level may be determined for work requests processed by the applications.
For each application an application resource requirement may be
determined as a function of the workload levels and a service level
metric associated with the application. For each application an assigned
subset of resources may be determined as a function of the application
resource requirement, a minimization of communication delays between
resources, and a bandwidth capacity requirement of the application. The
resources may be automatically reconfigured consistent with the assigned
subset of resources for each application.