Background: I am developing a scheduler for a system in Service Oriented Architecture (SOA) with a framework similar to Internet Communications Engine(ICE) .
Services in the system run on multiple machines depending on their workloads. For example, service A will run on 10 machines when workload is 1000/second and on 100 machines when workload is 10000/second.
In the system, one service calls other services, too. As a result, the response time of service A not only depends on workload on every machine, but also depends on response times of service B,C,D which are called by service A. If service B goes wrong, service A goes wrong, too. When the service-calling network is complicated, a lot of service go wrong when one service starts to go wrong. It is hard to determine which service should have more machines.
Because of system performance reasons, we cannot have a whole picture of all services when scheduling. As a result, we need to make decision based on local information of service A.
The question is can we model service A to predict performance of service A given circumstances of service A (current workload of service A, current performance of service B, C, D and current resource utilization on the machines).
Purpose: we can use the model to find which factor causes the performance degradation of service A (Performance degradation of service B/C/D or resource limitation?).
Given: Training data can be historical performance (average response time, workload) of service A, B, C, D and resource utilization on machines where service A runs.