Holistic performance analysis for large scale distributed systems
1 CONTEXT The complexity of systems hosted in cloud infrastructures raises challenges in managing resources to ensure the performance stated in Service Level Agreements. The heterogeneity and interdependencies of integrated off of the shelf and custom software, along with virtualization layers and the unknown behavior of those systems, i.e. how their components interact among themselves, make it difficult to pinpoint the root cause of bottlenecks and act accordingly. Effective resource management is strongly related to the knowledge about the system [8] Knowing how each system is composed and how its components interact not only eases the task of pinpointing bottlenecks but also allows a better prediction of the effects of resource management on the overall performance, that is, after changing resources allocated to components of the system [1] This project aims at discovering behavior of complex, multi tier, black box large scale distributed systems. This is suitable for wide range of scenarios: from performance analysis over in house systems, potentially built along with other opaque sub systems, to effective resource management in cloud infrastructures that host these systems. Such systems raise challenges not only in pinpointing the root cause of a performance bottleneck but also in predicting the consequences in holistic performance, good or bad, of allocating and deallocating resources assigned to each component of each system. In fact, as the knowledge of a given system increases, better decisions can be made. To this end, three main challenges are addressed: Discover the architecture and behavior of software components. Determining how black box composite systems operate allows to build a representation of the whole system. This should cause a minimal overhead and be applicable to heterogenous components; Simulate systems behavior under several scenarios. This should somehow rely on a correlation between performance key indicators and hardware configuration and be easily adapted for various workloads; Leverage knowledge about black box systems and its simulated behavior and apply effective resource management, without harming the overall system performance. In this project we foresee two main scientific contributions: A method to extract and model the behavior of a given composite system; and a method to quantify scalability of the whole system under a given scenario. These contributions will be embodied in prototype tools that are used for experimental evaluation.