1. A data processing system for provisioning grid resources for a set of grid services, the data processing system comprising: a bus system; a processor device connected to the bus system; and a storage device connected to the bus system, wherein the storage device stores instructions that are executed by the processor device for: receiving a plurality of requests from a plurality of clients that use the set of grid services, wherein the set of grid services has a set of service levels, wherein the set of grid services provides different service levels to respective clients, wherein the plurality of clients are divided into classes based on specified service levels for the respective clients, wherein a separate grid service is set-up for each service level and each class of client, wherein a specific grid resource is allocated to a single grid service, and wherein each grid service in the set of grid services is allocated a plurality of grid resources; distributing tasks associated with the plurality of requests to the plurality of grid resources allocated to respective grid services in the set of grid services, wherein the tasks are distributed according to the service level and the class of respective requesting clients; monitoring service performance of each of the set of grid services, wherein each grid service in the set of grid services has an assigned service level objective; determining whether current allocations of grid resources for each grid service in the set of grid services is sufficient to maintain service performance levels for each grid service in the set of grid services to meet the assigned service level objective of each grid service in the set of grid services in response to monitoring service performance levels of the set of grid services, further comprising: predicting a number of servers needed to maintain a service level that meets the assigned service level objective for each grid service in the set of grid services to form predicted allocations of grid resources; and determining whether the current allocations of grid resources for each grid service in the set of grid services are sufficient to meet the predicted allocations of grid resources; and dynamically reallocating the current allocations of the grid resources to the set of grid services to maintain assigned service level objectives for each grid service in the set of grid services to form dynamic allocations of grid resources in response to the current allocations grid resources for each grid service in the set of grid services being insufficient to maintain at least some service performance levels, wherein the dynamic allocations maintain the service levels for each grid service in the set of grid services as loads associated with a portion of the plurality of requests change for each grid service in the set of grid services.