Abstract

Clouds abstract the provisioning of computing resources and offer them in a pay-as-you-go manner. Containerized platform clouds, in particular, offer large parts of the software/hardware stack to their clients. Through multitenancy, cloud resources can be transparently shared among the client-tenants of the cloud provider. However, multitenancy causes performance interference that leads to unpredictable behavior and Service Level Objective (SLO) violations. The applications commonly deployed on clouds use high-level languages, which provide automatic memory management, also known as Garbage Collection (GC). Depending on the selected GC policy and the cloud's resource management strategy, CPU utilization spikes by the GC threads can severely affect any co-located tenants. This paper proposes a technique of GC elasticity that scales down the GC threads and heap size at times of low load, while executing preemptive GCs. Experimental results on top of an isolated Cloud Foundry installation using the IBM JVM/Liberty stack, suggest that our prototype reduced SLO violations on co-located tenants, only when the GC-scaled tenant maintained a large object graph and used a GC policy with long stop-the-world phases.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call