Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Reflex: using low-power processors in smartphones without knowing them

Published: 03 March 2012 Publication History

Abstract

To accomplish frequent, simple tasks with high efficiency, it is necessary to leverage low-power, microcontroller-like processors that are increasingly available on mobile systems. However, existing solutions require developers to directly program the low-power processors and carefully manage inter-processor communication. We present Reflex, a suite of compiler and runtime techniques that significantly lower the barrier for developers to leverage such low-power processors. The heart of Reflex is a software Distributed Shared Memory (DSM) that enables shared memory objects with release consistency among code running on loosely coupled processors. In order to achieve high energy efficiency without sacrificing performance much, the Reflex DSM leverages (i) extreme architectural asymmetry between low-power processors and powerful central processors, (ii) aggressive compile-time optimization, and (iii) a minimalist runtime that supports efficient message passing and event-driven execution. We report a complete realization of Reflex that runs on a TI OMAP4430-based development platform as well as on a custom tri-processor mobile platform. Using smartphone sensing applications reported in recent literature, we show that Reflex supports a programming style very close to contemporary smartphone programming. Compared to message passing, the Reflex DSM greatly reduces efforts in programming heterogeneous smartphones, eliminating up to 38% of the source lines of application code. Compared to running the same applications on existing smartphones, Reflex reduces the average system power consumption by up to 81%.

References

[1]
Y. Agarwal, S. Hodges, R. Chandra et al., "Somniloquy: augmenting network interfaces to reduce PC energy usage," in Proc. USENIX Symp. Networked Systems Design & Implementation (NSDI), Boston, Massachusetts, 2009, pp. 365--380.
[2]
C. Barton, C. Casaval, G. Almasi et al., "Shared memory programming for large scale machines," in Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI), Ottawa, Ontario, Canada, 2006, pp. 108--117.
[3]
A. Baumann, P. Barham, P. Dagand et al., "The Multikernel: A new OS architecture for scalable multicore systems," in Proc. ACM Symp. Operating Systems Principles (SOSP), Big Sky, Montana, USA, 2009, pp. 29--44.
[4]
P. Bellens, J. M. Perez, R. M. Badia et al., "CellSs: a Programming Model for the Cell BE Architecture," in Proc. ACM/IEEE Conf. Supercomputing (SC), Tampa, Florida, 2006, pp. 86.
[5]
N. Brouwers, K. Langendoen, and P. Corke, "Darjeeling, a feature-rich VM for the resource poor," in Proc. ACM Int. Conf. Embedded Networked Sensor Systems (SenSys), Berkeley, California, 2009, pp. 169--182.
[6]
J. Carter, J. Bennett, and W. Zwaenepoel, "Implementation and performance of Munin," in Proc. ACM Symp. Operating Systems Principles (SOSP), Pacific Grove, California, United States, 1991, pp. 152--164.
[7]
D. Dhurjati, S. Kowshik, V. Adve et al., "Memory safety without runtime checks or garbage collection," ACM SIGPLAN Notices, vol. 38, no. 7, pp. 69--80, 2003.
[8]
B. Fleisch, and G. Popek, "Mirage: A coherent distributed shared memory design," ACM SIGOPS Operating Systems Review, vol. 23, no. 5, pp. 211--223, 1989.
[9]
I. Gelado, J. E. Stone, J. Cabezas et al., "An asymmetric distributed shared memory model for heterogeneous parallel systems," in Proc. ACM Int. Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS), Pittsburgh, Pennsylvania, USA, 2010, pp. 347--358.
[10]
C. C. Han, M. Goraczko, J. Helander et al., "CoMOS: An operating system for heterogeneous multi-processor sensor devices," Technical Report MSR-TR-2006--117, Microsoft Research, 2006.
[11]
S. Huang, A. Hormati, D. Bacon et al., "Liquid Metal: Object-Oriented Programming Across the Hardware/Software Boundary," ECOOP 2008 - Object-Oriented Programming, Lecture Notes in Computer Science, pp. 76--103: Springer Berlin / Heidelberg, 2008.
[12]
J. J. Labrosse, MicroC OS II: The Real Time Kernel: Newnes, 2002.
[13]
C. Lattner, and V. Adve, "LLVM: A compilation framework for lifelong program analysis & transformation," in Int. Symp. Code Generation and Optimization (CGO), Palo Alto, California, 2004, pp. 75--86.
[14]
K. Li, "Ivy: A shared virtual memory system for parallel computing," in Proc. Int. Conf. Parallel Processing, 1988, pp. 94--101.
[15]
F. X. Lin, A. Rahmati, and L. Zhong, "Dandelion: a framework for transparently programming phone-centered wireless body sensor applications for health," in ACM Wireless Health 2010, San Diego, California, 2010, pp. 74--83.
[16]
F. X. Lin, Z. Wang, R. LiKamWa et al., "Transparent Programming of Heterogeneous Smartphones for Sensing," Technical Report 0310--2011, Rice University, 2011.
[17]
M. D. Linderman, J. D. Collins, H. Wang et al., "Merge: a programming model for heterogeneous multi-core systems," in Proc. ACM Int. Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS), Seattle, WA, USA, 2008, pp. 287--296.
[18]
J. Liu, L. Zhong, J. Wickramasuriya et al., "uWave: accelerometer-based personalized gesture recognition and its applications," Pervasive and Mobile Computing, vol. 5, no. 6, pp. 657--675, 2009.
[19]
H. Lu, W. Pan, N. D. Lane et al., "SoundSense: scalable sound sensing for people-centric applications on mobile phones," in Proc. ACM/USENIX Int. Conf. Mobile Systems, Applications, and Services (MobiSys), Kraków, Poland, 2009, pp. 165--178.
[20]
C.-K. Luk, S. Hong, and H. Kim, "Qilin: exploiting parallelism on heterogeneous multiprocessors with adaptive mapping," in Proc. IEEE/ACM Int. Symp. Microarchitecture (MICRO), New York, New York, 2009, pp. 45--55.
[21]
D. Lymberopoulos, N. B. Priyantha, and F. Zhao, "mPlatform: a reconfigurable architecture and efficient data sharing mechanism for modular sensor nodes," in Proc. ACM Int. Conf. Information Processing in Sensor Networks (IPSN), Cambridge, Massachusetts, USA, 2007, pp. 128--137.
[22]
J. Manson, W. Pugh, and S. V. Adve, "The Java memory model," in Proc. ACM SIGPLAN-SIGACT Symp. Principles of Programming Languages (POPL), Long Beach, California, USA, 2005, pp. 378--391.
[23]
R. McIlroy, and J. Sventek, "Hera-JVM: a runtime system for heterogeneous multi-core architectures," in Proc. ACM Int. Conf. Object Oriented Programming Systems Languages and Applications (OOPSLA), Reno/Tahoe, Nevada, USA, 2010, pp. 205--222.
[24]
D. McIntire, K. Ho, B. Yip et al., "The low power energy aware processing (LEAP) embedded networked sensor system," in Proc. ACM Int. Conf. Information Processing in Sensor Networks (IPSN), Nashville, Tennessee, USA, 2006, pp. 499--457.
[25]
E. B. Nightingale, O. Hodson, R. McIlroy et al., "Helios: heterogeneous multiprocessing with satellite kernels," in Proc. ACM Symp. Operating Systems Principles (SOSP), Big Sky, Montana, USA, 2009, pp. 221--234.
[26]
NVIDIA, NVIDIA Tegra 2: http://www.nvidia.com/object/tegra-2.html.
[27]
OKI Semiconductor, ML8953A: MEMS 3-axis accelerometer: http://www.okisemi.eu/Products/Sensors/mems_accelerometer.html.
[28]
J. Paek, J. Kim, and R. Govindan, "Energy-efficient rate-adaptive GPS-based positioning for smartphones," in Proc. ACM/USENIX Int. Conf. Mobile Systems, Applications, and Services (MobiSys), San Francisco, California, USA, 2010, pp. 299--314.
[29]
B. Priyantha, D. Lymberopoulos, and J. Liu, "LittleRock: Enabing Energy Efficient Continuous Sensing on Moble Phones," Technical Report MSR-TR-2010--14, Microsoft Research, 2010.
[30]
Qualcomm, Snapdragon MSM8660 and APQ8060 Product Brief: http://www.qualcomm.com/documents/snapdragon-msm8x60-apq8060-product-brief.
[31]
B. Saha, X. Zhou, H. Chen et al., "Programming model for a heterogeneous x86 platform," in Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI), Dublin, Ireland, 2009, pp. 431--440.
[32]
Samsung, Exynos 4210 Application Processor: http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=844&partnum=Exynos%204210.
[33]
D. Scales, K. Gharachorloo, and C. Thekkath, "Shasta: A low overhead, software-only approach for supporting fine-grain shared memory," ACM SIGOPS Operating Systems Review, vol. 30, no. 5, pp. 174--185, 1996.
[34]
J. Sorber, N. Banerjee, M. D. Corner et al., "Turducken: hierarchical power management for mobile devices," in Proc. ACM/USENIX Int. Conf. Mobile Systems, Applications, and Services (MobiSys), Seattle, Washington, 2005, pp. 261--274.
[35]
D. J. Sorin, M. D. Hill, and D. A. Wood, A Primer on Memory Consistency and Cache Coherence: Morgan & Claypool, 2011.
[36]
STMicroelectronics, MEMS motion sensor 3-axis - 2g/8g smart digital output piccolo accelerometer: http://www.st.com/stonline/products/literature/ds/12726/lis302dl.htm
[37]
Texas Instruments, OMAP5 Platform - OMAP5430, http://www.ti.com/ww/en/omap/omap5/omap5-OMAP5430.html.
[38]
Texas Instruments, "OMAP4 Applications Processor: Technical Reference Manual," 2010.
[39]
Texas Instruments, "TI SYS/BIOS Real-time Operating System v6.x User's Guide (Rev. I)," 2010.
[40]
G. Venkatesh, J. Sampson, N. Goulding et al., "Conservation cores: reducing the energy of mature computations," in Proc. ACM Int. Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS), Pittsburgh, Pennsylvania, USA, 2010, pp. 205--218.
[41]
P. H. Wang, J. D. Collins, G. N. Chinya et al., "EXOCHI: architecture and programming environment for a heterogeneous multi-core multithreaded system," in Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI), San Diego, California, USA, 2007, pp. 156--166.
[42]
R. Want, "Invited Talk: Always-on Considerations for Mobile Systems," in DAC Wrkshp. Mobile and Cloud Computing, 2010.
[43]
Y. Weinsberg, D. Dolev, T. Anker et al., "Tapping into the fountain of CPUs: on operating system support for programmable devices," in Proc. ACM Int. Conf. Architectural Support for Programming Languages and Operating Systems (ASPLOS), Seattle, WA, USA, 2008, pp. 179--188.
[44]
S. Zhou, M. Stumm, K. Li et al., "Heterogeneous distributed shared memory," IEEE Trans. Parallel and Distributed Systems, vol. 3, no. 5, pp. 540--554, 2002.

Cited By

View all
  • (2023)Combatting Energy Issues for Mobile ApplicationsACM Transactions on Software Engineering and Methodology10.1145/352785132:1(1-44)Online publication date: 13-Feb-2023
  • (2022)Realizing Emotional Interactions to Learn User Experience and Guide Energy Optimization for Mobile ArchitecturesProceedings of the 55th Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO56248.2022.00064(868-884)Online publication date: 1-Oct-2022
  • (2022)Using Psychophysics to Guide Power Adaptation for Input Methods on Mobile Architectures2022 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA53966.2022.00045(514-527)Online publication date: Apr-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 47, Issue 4
ASPLOS '12
April 2012
453 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/2248487
Issue’s Table of Contents
  • cover image ACM Conferences
    ASPLOS XVII: Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
    March 2012
    476 pages
    ISBN:9781450307598
    DOI:10.1145/2150976
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 March 2012
Published in SIGPLAN Volume 47, Issue 4

Check for updates

Author Tags

  1. distributed shared memory
  2. energy-efficiency
  3. heterogeneous systems
  4. mobile systems

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)24
  • Downloads (Last 6 weeks)2
Reflects downloads up to 25 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Combatting Energy Issues for Mobile ApplicationsACM Transactions on Software Engineering and Methodology10.1145/352785132:1(1-44)Online publication date: 13-Feb-2023
  • (2022)Realizing Emotional Interactions to Learn User Experience and Guide Energy Optimization for Mobile ArchitecturesProceedings of the 55th Annual IEEE/ACM International Symposium on Microarchitecture10.1109/MICRO56248.2022.00064(868-884)Online publication date: 1-Oct-2022
  • (2022)Using Psychophysics to Guide Power Adaptation for Input Methods on Mobile Architectures2022 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA53966.2022.00045(514-527)Online publication date: Apr-2022
  • (2019)BannerProceedings of the 17th Annual International Conference on Mobile Systems, Applications, and Services10.1145/3307334.3326092(236-248)Online publication date: 12-Jun-2019
  • (2018)Power sandboxProceedings of the Thirteenth EuroSys Conference10.1145/3190508.3190533(1-15)Online publication date: 23-Apr-2018
  • (2020)Detecting and diagnosing energy issues for mobile applicationsProceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3395363.3397350(115-127)Online publication date: 18-Jul-2020
  • (2020)Scaling Shared Memory Multiprocessing Applications in Non-cache-coherent DomainsProceedings of the 13th ACM International Systems and Storage Conference10.1145/3383669.3398278(13-24)Online publication date: 30-May-2020
  • (2019)TranskernelProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358865(675-691)Online publication date: 10-Jul-2019
  • (2019)SODACM Transactions on Autonomous and Adaptive Systems10.1145/327552113:3(1-24)Online publication date: 15-Mar-2019
  • (2018)Power sandboxProceedings of the Thirteenth EuroSys Conference10.1145/3190508.3190533(1-15)Online publication date: 23-Apr-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media