Do Google App Engine’s Runtimes Perform Homogeneously? An Empirical Investigation for Bonus Computing

Bonus computing is a new metacomputing form that takes advantage of free computing power from the public Cloud market. To maximize the value of free Cloud resources and facilitate dividing Bonus computing tasks, it would particularly be crucial to understand the performance of candidate Cloud services before using them in production. By offering free quotas in its standard environment, Google App Engine (GAE) has become a popular public Platform-as-a-Service (PaaS) for Bonus computing. Since GAE natively supports various programming languages with flexible configurations (e.g., region selection), it will be possible and valuable to squeeze GAE’s free computing power if there is an optimal choice of its different runtimes. Following the performance evaluation methodology DoKnowMe, we implemented several versions of the Fibonacci(-like) calculation as benchmarks to fundamentally investigate GAE’s standard environment. Our investigation results reveal that GAE does not support its runtime environments homogeneously in terms of their computation speed and memory efficiency. The heterogeneity could be related not only to the characteristics of different programming languages but also to the diverse GAE infrastructures. For example, Go runtime seems to be a well-trade-off to satisfy Bonus computing among all the options, while the GAE service located in southamerica-east1 and us-central1 performs dramatically worse than that in the other regions.

[1]  M. Prange,et al.  Scientific Computing in the Cloud , 2008, Computing in Science & Engineering.

[2]  Alexander Maedche,et al.  PaaS Characteristics for Productive Software Development: An Evaluation Framework , 2014, IEEE Internet Computing.

[3]  Marian Bubak,et al.  How to Use Google App Engine for Free Computing , 2013, IEEE Internet Computing.

[4]  Michael A. Rodriguez,et al.  Bonus Computing: An Evolution from and a Supplement to Volunteer Computing , 2018, ISD.

[5]  Adriaan de Jonge Essential App Engine: Building High-Performance Java Apps with Google App Engine , 2011 .

[6]  Liam O'Brien,et al.  DoKnowMe: Towards a Domain Knowledge-driven Methodology for Performance Evaluation , 2016, SIGMETRICS Perform. Evaluation Rev..

[7]  Liam O'Brien,et al.  Evaluation of Commercial Cloud Services : A Systematic Literature Review , 2018 .

[8]  Ralph Deters,et al.  Is the cloud the answer to scalability of ecologies? Using GAE to enable horizontal scalability , 2011, 5th IEEE International Conference on Digital Ecosystems and Technologies (IEEE DEST 2011).

[9]  David J. Powell,et al.  Teaching web programming using the Google Cloud , 2010, ACM SE '10.

[10]  Radu Prodan,et al.  Scientific computing with Google App Engine , 2013, Future Gener. Comput. Syst..

[11]  J. D. Y. Correa,et al.  Web Application Deveploment Technologies Using Google Web Toolkit And Google App Engine-Java , 2014, IEEE Latin America Transactions.

[12]  A. Barabasi,et al.  Parasitic computing , 2001, Nature.

[13]  Mohamed Hamada,et al.  Mobile Learning with Google App Engine , 2014, 2014 IEEE 8th International Symposium on Embedded Multicore/Manycore SoCs.

[14]  Vijay S. Pande,et al.  Folding@home: Lessons from eight years of volunteer distributed computing , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[15]  Jonathan D. Blower,et al.  GIS in the cloud: implementing a web map service on Google App Engine , 2010, COM.Geo '10.

[16]  Radu Prodan,et al.  Evaluating High-Performance Computing on Google App Engine , 2012, IEEE Software.

[17]  Nouman M. Durrani,et al.  Volunteer computing: requirements, challenges, and solutions , 2014, J. Netw. Comput. Appl..

[18]  Isak Shabani,et al.  Possibilities Offered by Google App Engine for Developing Distributed Applications Using Datastore , 2014, 2014 Sixth International Conference on Computational Intelligence, Communication Systems and Networks.

[19]  George Lawton,et al.  Developing Software Online With Platform-as-a-Service Technology , 2008, Computer.

[20]  M. Lepper,et al.  The Construction of Preference: When Choice Is Demotivating: Can One Desire Too Much of a Good Thing? , 2006 .

[21]  Paul Fisher,et al.  Cloud Computing: Assessing Azure, Amazon EC2, Google App Engine and Hadoop for IT Decision Making and Developer Career Growth , 2010 .