Mobile User Experience with High-Latency Offload


These YouTube videos show an Android front-end application with a compute-intensive back-end offloaded to an Amazon EC2 cloud or a cloudlet.  As a user moves his smartphone, its accelerometer senses the movement and communicates the readings to a graphics engine in the back-end.    This graphics engine uses physics-based simulation of particle movements in a fluid  (Reference: SOLENTHALER, B., AND PAJAROLA, R. "Predictive-corrective incompressible SPH". ACM Transactions on Graphics 28, 3 (2009)).  The results of the simulation are periodically rendered on the smartphone, giving the illusion of a liquid sloshing around.    The end-to-end latency between the front-end (sensing and display) and back-end (simulation)  determines quality of the graphics.    As latency increases, the quality of the graphics degrades into jerky or sluggish motion.   The output frame rate (in frames per second (FPS)) is a good  metric of  graphics quality.     From best to worst, here are 5 cases: