Modeling and improving the performance of cloud systems
University of New Brunswick
Cloud computing enables the transparent allocation and sharing of computing resources offered by a multitenant cloud provider to its tenants. Cloud applications are predominately following the client-server paradigm; the server part of an application is the one executed on the cloud and it is responsible for serving its clients while abiding by certain constraints, called Service Level Agreements (SLAs). However, multitenancy comes at the cost of performance interference, which can risk SLA satisfaction. This work investigates a number of performance improvements targeting multitenant cloud application servers as well as theoretically modeling and predicting their behavior. In particular, multitenancy at the application server level is proposed and evaluated; CPU contention during scaling is modeled and cloud applications are classified based on their resource slowdown; cloud performance during scaling is improved through a cross-instance experience sharing technique; the SLA satisfaction of tenants is modeled and improved; the effects of Garbage Collection on SLA satisfaction are studied; and low-load periods are utilized towards decreasing GC-induced performance interference.