Title: Why is garbage collection causing my service level objectives to fail?

Authors: Panagiotis Patros; Kenneth B. Kent; Michael Dawson

Addresses: Faculty of Computer Science, University of New Brunswick, Fredericton, NB, Canada ' Faculty of Computer Science, University of New Brunswick, Fredericton, NB, Canada ' IBM Runtime Technologies, IBM Canada, Ottawa, ON, Canada

Abstract: Cloud computing abstracts resources and provides them as-a-service to its tenant clients. Platform as a service clouds, which are one of the main types of cloud computing, provide large parts of the hardware/software stack to their users. Cloud systems are expected to abide by certain service level objectives and maintain a certain quality of service, which can be impacted by garbage collection (GC). However, cloud benchmarking is mostly focused in the interconnectivity of cloud services and often neglects the inner workings of language runtimes. In this paper, we present and evaluate CloudGC, a benchmark aiming to stress the GC component of a runtime in various and controllable ways. We then deploy our CloudGC on a cloud system to evaluate the SLO satisfaction of the four GC policies of the IBM J9 Java runtime. Our findings indicate that the default policy Gencon generally outperforms the other three policies, including Balanced, the policy which aims in amortising the costs.

Keywords: cloud; garbage collection; service level objectives; benchmarking; performance interference; CloudGC.

DOI: 10.1504/IJCC.2018.095396

International Journal of Cloud Computing, 2018 Vol.7 No.3/4, pp.282 - 322

Received: 11 Aug 2017
Accepted: 30 Apr 2018

Published online: 20 Sep 2018 *

Full-text access for editors Access for subscribers Purchase this article Comment on this article