skip to main content
article

GreenWeb: language extensions for energy-efficient mobile web computing

Published:02 June 2016Publication History
Skip Abstract Section

Abstract

Web computing is gradually shifting toward mobile devices, in which the energy budget is severely constrained. As a result, Web developers must be conscious of energy efficiency. However, current Web languages provide developers little control over energy consumption. In this paper, we take a first step toward language-level research to enable energy-efficient Web computing. Our key motivation is that mobile systems can wisely budget energy usage if informed with user quality-of-service (QoS) constraints. To do this, programmers need new abstractions. We propose two language abstractions, QoS type and QoS target, to capture two fundamental aspects of user QoS experience. We then present GreenWeb, a set of language extensions that empower developers to easily express the QoS abstractions as program annotations. As a proof of concept, we develop a GreenWeb runtime, which intelligently determines how to deliver specified user QoS expectation while minimizing energy consumption. Overall, GreenWeb shows significant energy savings (29.2% ∼ 66.0%) over Android’s default Interactive governor with few QoS violations. Our work demonstrates a promising first step toward language innovations for energy-efficient Web computing.

References

  1. “9 Causes of Bad App Reviews.” http://blog.monkop.com/ post/120657007496/9-causes-of-bad-app-reviewsGoogle ScholarGoogle Scholar
  2. “Android CPUFreq Governors.” https://android.googlesource. com/kernel/common/+/android-4.4/Documentation/cpu-freq/ governors.txtGoogle ScholarGoogle Scholar
  3. “Android WebView APIs.” http://developer.android.com/ reference/android/webkit/WebView.htmlGoogle ScholarGoogle Scholar
  4. “big.LITTLE Technology: The Future of Mobile.” https://www.arm.com/files/pdf/big LITTLE Technology the Futue of Mobile.pdfGoogle ScholarGoogle Scholar
  5. “CSS animation Event.” https://developer.mozilla.org/en-US/ docs/Web/Events/animationendGoogle ScholarGoogle Scholar
  6. “CSS Animations.” http://www.w3.org/TR/css3-animations/Google ScholarGoogle Scholar
  7. “CSS Pseudo-classes.” http://www.w3.org/TR/selectors/ #pseudo-classesGoogle ScholarGoogle Scholar
  8. “CSS transitionend Event.” https://developer.mozilla.org/ en-US/docs/Web/Events/transitionendGoogle ScholarGoogle Scholar
  9. “CSS Transitions.” http://www.w3.org/TR/css3-transitions/Google ScholarGoogle Scholar
  10. “CSS Will Change Module Level 1.” http://www.w3.org/TR/ css-will-change-1/Google ScholarGoogle Scholar
  11. “CSS3 Media Queries.” http://www.w3.org/TR/ css3-mediaqueries/Google ScholarGoogle Scholar
  12. “Document Object Model (DOM).” http://www.w3.org/ DOM/Google ScholarGoogle Scholar
  13. “HTTrack.” https://www.httrack.com/Google ScholarGoogle Scholar
  14. “iOS Developer Library: UIWebView.” https: //developer.apple.com/library/ios/documentation/UIKit/ Reference/UIWebView Class/Google ScholarGoogle Scholar
  15. “Jank Busting for Better Rendering Performance.” http://www.html5rocks.com/en/tutorials/speed/rendering/Google ScholarGoogle Scholar
  16. “NVidia: Adaptive VSync Technology.” http://www.geforce. com/hardware/technology/adaptive-vsync/technologyGoogle ScholarGoogle Scholar
  17. “Speed, Performance, and Human Perception.” http://chimera.labs.oreilly.com/books/1230000000545/ch10. html#SPEED PERFORMANCE HUMAN PERCEPTIONGoogle ScholarGoogle Scholar
  18. “Survey: Exploring the Reasons Users Complain about Apps.” http://www.fiercedeveloper.com/story/ survey-exploring-reasons-users-complain-about-apps/ 2012-11-09Google ScholarGoogle Scholar
  19. “The Evolution of HTML5.” http://www.instantshift.com/ 2012/07/20/the-evolution-of-html5-infographic/Google ScholarGoogle Scholar
  20. “The Evolution of the Web.” http://www.evolutionoftheweb. com/Google ScholarGoogle Scholar
  21. “Timing Control for Script-based Animations.” http: //www.w3.org/TR/animation-timing/Google ScholarGoogle Scholar
  22. “V-sync.” https://en.wikipedia.org/wiki/Screen tearing# V-syncGoogle ScholarGoogle Scholar
  23. “Your Favourite App isnt Native.” http://kennethormandy. com/journal/your-favourite-app-isnt-nativeGoogle ScholarGoogle Scholar
  24. “Nvidia Tegra 4 Family CPU Architecture: 4-PLUS-1 Quad core,” in Nvidia Whitepaper, 2013.Google ScholarGoogle Scholar
  25. “Android Fragmentation Visualized,” 2014. http://opensignal. com/assets/pdf/reports/2014 08 fragmentation report.pdfGoogle ScholarGoogle Scholar
  26. “Chromium browser,” 2015. http://www.chromium.org/HomeGoogle ScholarGoogle Scholar
  27. Alexa, “Alexa,” 2015. http://www.alexa.com/Google ScholarGoogle Scholar
  28. W. Baek and T. M. Chilimbi, “Green: a Framework for Supporting Energy-conscious Programming using Controlled Approximation,” in Proc. of PLDI, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. E. A. Burton, G. Schrom, F. Paillet, J. Douglas, W. J. Lambert, K. Radhakrishnan, and M. J. Hill, “FIVR: Fully Integrated Voltage Regulators on 4th Generation Intel Core SoCs,” in Proc. of APEC, 2014.Google ScholarGoogle Scholar
  30. M. Butkiewicz, D. Wang, Z. Wu, H. V. Madhyastha, and V. Sekar, “Klotski: Reprioritizing Web Content to Improve User Experience on Mobile Devices,” in Proc. of NSDI, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. S. K. Card, G. G. Robertson, and J. D. Mackinlay, “The Information Visualizer: An Information Workspace,” in Proc. of CHI, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. G. Chadha, S. Mahlke, and S. Narayanasamy, “EFetch: Optimizing Instruction Fetch for Event-driven Web Applications,” in Proc. of PACT, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. ——, “Accelerating Asynchronous Programs through Event Sneak Peek,” in Proc. of ISCA, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. Claypool, K. Claypool, and F. Damaa, “The Effects of Frame Rate and Resolution on Users Playing First Person Shooter Games,” in Proc. of Multimedia Computing and Networking, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  35. M. Cohen, H. S. Zhu, S. E. Emgin, and Y. D. Liu, “Energy Types,” in Proc. of OOPSLA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. M. Dong and L. Zhong, “Chameleon: a Color-adaptive Web Browser for Mobile OLED Displays,” in Proc. of MobiSys, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. K. Eaton, “How 1s Could Cost Amazon $1.6 Billion in Sales,” 2013. http://www.fastcompany.com/1825005/ how-one-second-could-cost-amazon-16-billion-salesGoogle ScholarGoogle Scholar
  38. Y. Endo, Z. Wang, J. Chen, and M. Seltzer, “Using Latency to Evaluate Interactive System Performance,” in Proc. of OSDI, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. D. Fisher and G. Saksena, “Link Prefetching in Mozilla: A Server-driven Approach,” in Web content caching and distribution. Springer, 2004, pp. 283–291. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. D. Glazkov, “User Agent Intervention.” http://bit.ly/ user-agent-interventionGoogle ScholarGoogle Scholar
  41. M. Halpern, Y. Zhu, R. Peri, and V. J. Reddi, “Mosaic: Crossplatform User-interaction Record and Replay for the Fragmented Android Ecosystem,” in Proc. of ISPASS, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  42. M. Halpern, Y. Zhu, and V. J. Reddi, “Mobile CPU’s Rise to Power: Quantifying the Impact of Generational Mobile CPU Design Trends on Performance, Energy, and User Satisfaction,” in Proc. of HPCA, 2016.Google ScholarGoogle ScholarCross RefCross Ref
  43. S. Hao, D. Li, W. G. Halfond, and R. Govindan, “Estimating Mobile Application Energy Consumption using Program Analysis,” in Proc. of ICSE, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. S. He, Y. Liu, and H. Zhou, “Optimizing Smartphone Power Consumption through Dynamic Resolution Scaling,” in Proc. of MobiCom, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. J. Huang, F. Qian, A. Gerber, Z. M. Mao, S. Sen, and O. Spatscheck, “A Close Examination of Performance and Power Characteristics of 4G LTE Networks,” in Proc. of MobiSys, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. A. Kansal, S. Saponas, A. B. Brush, K. S. McKinley, T. Mytkowicz, and R. Ziola, “The Latency, Accuracy, and Battery (LAB) Abstraction: Programmer Productivity and Energy Efficiency for Continuous Mobile Context Sensing,” in Proc. of OOPSLA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. W. Kim, M. S. Gupta, G.-Y. Wei, and D. Brooks, “System Level Analysis of Fast, Per-Core DVFS using On-Chip Switching Regulators,” in Proc. of HPCA, 2008.Google ScholarGoogle Scholar
  48. KPCB, “KPCB 2015 Internet Trends,” 2015. http: //www.kpcb.com/blog/2015-internet-trendsGoogle ScholarGoogle Scholar
  49. R. Kumar, K. I. Farkas, N. P. Jouppi, P. Ranganathan, and D. M. Tullsen, “Single-ISA Heterogeneous Multi-Core Architectures: The Potential for Processor Power Reduction,” in Proc. of MICRO, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. P. Lewis, “Rendering Performance,” 2014. https://developers. google.com/web/fundamentals/performance/rendering/Google ScholarGoogle Scholar
  51. T. Li, C. An, Z. Tian, A. T. Campbell, and X. Zhou, “Human Sensing Using Visible Light Communication,” in Proc. of MobiCom, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. M. Linares-Vásquez, G. Bavota, C. Bernal-Cárdenas, R. Oliveto, M. Di Penta, and D. Poshyvanyk, “Mining Energy-greedy API Usage Patterns in Android Apps: an Empirical Study,” in Proc. of MSR, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. D. Lo, T. Song, and G. E. Suh, “Prediction-Guided Performance-Energy Trade-off for Interactive Applications,” in Proc. of MICRO, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. R. B. Miller, “Response Time in Man-computer Conversational Transactions,” in AFIPS Fall Joint Computer Conference, 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. N. C. Nachiappan, P. Yedlapalli, N. Soundararajan, A. Sivasubramaniam, M. T. Kandemir, R. Iyer, and C. R. Das, “Domain Knowledge based Energy Management in Handhelds,” in Proc. of HPCA, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  56. N. C. Nachiappan, H. Zhang, J. Ryoo, N. Soundararajan, A. Sivasubramaniam, M. T. Kandemir, R. Iyer, and C. R. Das, “VIP: Virtualizing IP Chains on Handheld Platforms,” in Proc. of ISCA, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. J. Nielsen, Usability Engineering. Morgan Kaufmann, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. ODroid, “ODROID-XU+E Development Board,” 2015. http://www.hardkernel.com/main/products/prdt info. php?g code=G137463363079Google ScholarGoogle Scholar
  59. A. J. Oliner, A. P. Iyer, I. Stoica, E. Lagerspetz, and S. Tarkoma, “Carat: Collaborative Energy Diagnosis for Mobile Devices,” in Proc. of Sensys, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. A. Pathak, Y. C. Hu, and M. Zhang, “Where is the Energy Spent Inside My App?: Fine Grained Energy Accounting on Smartphones with Eprof,” in Proc. of EuroSys, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. M. Pradel, P. Schuh, G. Necula, and K. Sen, “EventBreak: Analyzing the Responsiveness of User Interfaces through Performance-guided Test Generation,” in Proc. of OOPSLA, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. K. Sakamoto, “Time-to-first-X-paint Metrics: Status and Refinement Plans,” 2015. https://docs.google.com/document/d/ 1Owfs6arciEnWgT2-8bWCcHdYRIKRKZ0Xj8UtqRx4c3k/ editGoogle ScholarGoogle Scholar
  63. A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman, “EnerJ: Approximate Data Types for Safe and General Low-Power Computation,” in Proc. of PLDI, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. C. Shepard, A. Rahmati, C. Tossell, L. Zhong, and P. Kortum, “LiveLab: Measuring Wireless Networks and Smartphone Users in the Field,” in SIGMETRICS Performance Evaluation Review, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. S. Singh, “HTML5 On The Rise: No Longer Ahead Of Its Time,” 2015. http://techcrunch.com/2015/10/28/ html5-on-the-rise-no-longer-ahead-of-its-time/Google ScholarGoogle Scholar
  66. J. Sorber, A. Kostadinov, M. Garber, M. Brennan, M. D. Corner, and E. D. Berger, “Eon: A Language and Runtime System for Perpetual Systems,” in Proc. of SenSys, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. M. A. Suleman, Y. N. Patt, E. Sprangle, A. Rohillah, A. Ghuloum, and D. Carmean, “Asymmetric Chip Multiprocessors: Balancing Hardware Efficiency and Programmer Efficiency,” The University of Texas as Austin, Technical Report TR-HPS- 2007-001, 2007.Google ScholarGoogle Scholar
  68. Q. Wu, V. Reddi, Y. Wu, J. Lee, D. Connors, D. Brooks, M. Martonosi, and D. W. Clark, “A Dynamic Compilation Framework for Controlling Microprocessor Energy and Performance,” in Proc. of MICRO, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. F. Xie, M. Martonosi, and S. Malik, “Compile-time Dynamic Voltage Scaling Settings: Opportunities and Limits,” in Proc. of PLDI, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Y. Zhu, M. Halpern, and V. J. Reddi, “Event-based Scheduling for Energy-Efficient QoS (eQoS) in Mobile Web Applications,” in Proc. of HPCA, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  71. ——, “The Role of the CPU in Energy-Efficient Mobile Web Browsing,” in Micro, IEEE, 2015.Google ScholarGoogle Scholar
  72. Y. Zhu and V. J. Reddi, “High-Performance and Energy-Efficient Mobile Web Browsing on Big/Little Systems,” in Proc. of HPCA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. ——, “WebCore: Architectural Support for Mobile Web Browsing,” in Proc. of ISCA, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. GreenWeb: language extensions for energy-efficient mobile web computing

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 51, Issue 6
        PLDI '16
        June 2016
        726 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2980983
        • Editor:
        • Andy Gill
        Issue’s Table of Contents
        • cover image ACM Conferences
          PLDI '16: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation
          June 2016
          726 pages
          ISBN:9781450342612
          DOI:10.1145/2908080
          • General Chair:
          • Chandra Krintz,
          • Program Chair:
          • Emery Berger

        Copyright © 2016 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 2 June 2016

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!