Dynamically Compiled Artifact Sharing for Clouds

Platform as a Service (PaaS) clouds provide part of the hardware/software stack and related services to tenant applications. Increased load is handled elastically by scaling, which either modifies the number of instances an application has available on the cloud or increases their available resources. However, because all these instances run inside isolated containers, experience gained by the first instance of an application cannot be easily shared with subsequent scaled instances. This results in both increased startup time and response timeout errors for the scaled instances as well as increased performance interference for any co-located applications; reacquiring this experience is a time-consuming and resource-intensive process. We propose a scalable and secure technique to share dynamically compiled artifacts produced by the first execution instance of an application and otherwise created for intra-OS sharing only with subsequent scaled or restarted instances as a solution to these problems. Our solution abides by the usual PaaS limitations and uses a distributed and containerized cloud service, which we experimentally show to be scalable on a Docker Swarm running on top of a 6-VM cluster; also, we discuss the results of a usability survey for the service's GUI conducted with expert subjects. The effectiveness of the DCAS technique was experimentally tested on an isolated installation of the PaaS software Cloudy Foundry; we measured significant reductions in both the startup time and response errors of scaled out instances as well as performance interference to co-located tenants during scaling.

[1]  Kenneth B. Kent,et al.  Using field access frequency to optimize layout of objects in the JVM , 2016, SAC.

[2]  Franz J. Hauck,et al.  Component-based scalability for cloud applications , 2013, CloudDP '13.

[3]  Andy P. Field,et al.  Discovering Statistics Using Ibm Spss Statistics , 2017 .

[4]  Toshio Nakatani,et al.  Cloneable JVM: a new approach to start isolated java applications faster , 2007, VEE '07.

[5]  Devarghya Bhattacharya Enhancing the usage of the Shared Class Cache , 2016 .

[6]  Jun Wei,et al.  Application-Level CPU Consumption Estimation: Towards Performance Isolation of Multi-tenancy Web Applications , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[7]  Rouven Krebs,et al.  Metrics and techniques for quantifying performance isolation in cloud environments , 2014, Sci. Comput. Program..

[8]  Azden Bierbrauer,et al.  Real-world application improvement with user controlled object sharing , 2016 .

[9]  Kenneth B. Kent,et al.  Multitenancy benefits in application servers , 2015, CASCON.

[10]  Kenneth B. Kent,et al.  Object layout optimization in the JVM based on affinity , 2016, 2016 IEEE Canadian Conference on Electrical and Computer Engineering (CCECE).

[11]  Ian Lumb,et al.  A Taxonomy and Survey of Cloud Computing Systems , 2009, 2009 Fifth International Joint Conference on INC, IMS and IDC.

[12]  David Bremner,et al.  A Java util concurrent park contention tool , 2015, PMAM '15.

[13]  Kenneth B. Kent,et al.  Effects of false sharing and locality on object layout optimization for multi-threaded applications , 2016, 2016 IEEE Canadian Conference on Electrical and Computer Engineering (CCECE).

[14]  Marin Litoiu,et al.  Enabling devops for containerized data-intensive applications: an exploratory study , 2016, CASCON.

[15]  Kazunori Ogata,et al.  Increasing the Transparent Page Sharing in Java , 2013, 2013 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).

[16]  Seetharami R. Seelam,et al.  Polyglot Application Auto Scaling Service for Platform as a Service Cloud , 2015, 2015 IEEE International Conference on Cloud Engineering.

[17]  Lawrie Brown,et al.  Computer Security: Principles and Practice , 2007 .

[18]  Michael J. Kavis,et al.  Architecting the Cloud: Design Decisions for Cloud Computing Service Models (Saas, Paas, and Iaas) , 2014 .

[19]  Gerhard W. Dueck,et al.  PC Based Escape Analysis in the Java Virtual Machine , 2014 .

[20]  Hovav Shacham,et al.  Hey, you, get off of my cloud: exploring information leakage in third-party compute clouds , 2009, CCS.

[21]  Nikola Grcevski,et al.  Java Just-in-Time Compiler and Virtual Machine Improvements for Server and Middleware Applications , 2004, Virtual Machine Research and Technology Symposium.

[22]  Kenneth B. Kent,et al.  Investigating resource interference and scaling on multitenant PaaS clouds , 2016, CASCON.

[23]  Xi Chen,et al.  CloudScope: Diagnosing and Managing Performance Interference in Multi-tenant Clouds , 2015, 2015 IEEE 23rd International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems.

[24]  Kenneth B. Kent,et al.  Inter‐JVM Sharing , 2016, Softw. Pract. Exp..