Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2486788.2486859acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Green streams for data-intensive software

Published: 18 May 2013 Publication History

Abstract

This paper introduces GREEN STREAMS, a novel solution to address a critical but often overlooked property of data-intensive software: energy efficiency. GREEN STREAMS is built around two key insights into data-intensive software. First, energy consumption of data-intensive software is strongly correlated to data volume and data processing, both of which are naturally abstracted in the stream programming paradigm; Second, energy efficiency can be improved if the data processing components of a stream program coordinate in a “balanced” way, much like an assembly line that runs most efficiently when participating workers coordinate their pace. GREEN STREAMS adopts a standard stream programming model, and applies Dynamic Voltage and Frequency Scaling (DVFS) to coordinate the pace of data processing among components, ultimately achieving energy efficiency without degrading performance in a parallel processing environment. At the core of GREEN STREAMS is a novel constraint-based inference to abstract the intrinsic relationships of data flow rates inside a stream program, that uses linear programming to minimize the frequencies – hence the energy consumption – for processing components while still maintaining the maximum output data flow rate. The core algorithm of GREEN STREAMS is formalized, and its optimality is established. The effectiveness of GREEN STREAMS is evaluated on top of the StreamIt framework, and preliminary results show the approach can save CPU energy by an average of 28% with a 7% performance improvement.

References

[1]
J. J. Tran, L. Cinquini, C. A. Mattmann, P. A. Zimdars, D. T. Cuddy, K. S. Leung, O.-I. Kwoun, D. Crichton, and D. Freeborn, “Evaluating cloud computing in the NASA DESDynI ground data system,” in Proceedings of the 2nd International Workshop on Software Engineering for Cloud Computing, ser. SECLOUD ’11, 2011, pp. 36–42.
[2]
C. A. Mattmann, D. J. Crichton, N. Medvidovic, and S. Hughes, “A software architecture-based framework for highly distributed and data intensive scientific applications,” in ICSE ’06, 2006, pp. 721–730.
[3]
R. Mahjourian, “An architectural style for data-driven systems,” in Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems, ser. ICSR ’08, 2008, pp. 14–25.
[4]
W. Thies, M. Karczmarek, and S. P. Amarasinghe, “StreamIt: A language for streaming applications,” in Proceedings of the 11th International Conference on Compiler Construction, 2002, pp. 179–196.
[5]
K. Fisher and R. Gruber, “PADS: a domain-specific language for processing ad hoc data,” in PLDI ’05, 2005, pp. 295–304.
[6]
J. Dean and S. Ghemawat, “MapReduce: Simplified data processing on large clusters,” in OSDI’04, 2004.
[7]
Nvidia, “Compute unified device architecture programming guide,” NVIDIA: Santa Clara, CA, 2007.
[8]
G. Wassermann, C. Gould, Z. Su, and P. Devanbu, “Static checking of dynamically generated queries in database applications,” ACM Trans. Softw. Eng. Methodol., vol. 16, no. 4, Sep. 2007.
[9]
W. R. Cook and S. Rai, “Safe query objects: statically typed objects as remotely executable queries,” in ICSE, 2005, pp. 97–106.
[10]
E. S. P. U.S. Environmental Protection Agency, “Report to congress on server and data center energy efficiency public law 109-431,” 2007.
[11]
J. Koomey, “Growth in data center electricity use 2005 to 2010,” August 2011.
[12]
J. Clause, C. Sahin, F. Cayci, I. L. M. Gutierrez, F. Kiamilev, L. Pollock, and K. Winbladh, “Initial explorations on design pattern energy usage,” in Proceedings of Workshop on Green and Sustainable Software (GREENS’12), 2012.
[13]
Y. D. Liu, “Energy-efficient synchronization through program patterns,” in Proceedings of Workshop on Green and Sustainable Software (GREENS’12), 2012.
[14]
W. Baek and T. M. Chilimbi, “Green: a framework for supporting energy-conscious programming using controlled approximation,” in PLDI ’10, 2010, pp. 198–209.
[15]
A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman, “EnerJ: Approximate data types for safe and general lowpower computation,” in PLDI’11, Jun. 2011.
[16]
M. Cohen, H. S. Zhu, S. E. Emgin, and Y. D. Liu, “Energy types,” in OOPSLA ’12, October 2012.
[17]
F. Xie, M. Martonosi, and S. Malik, “Compile-time dynamic voltage scaling settings: opportunities and limits,” in PLDI ’03, 2003, pp. 49– 62.
[18]
C.-H. Hsu and U. Kremer, “The design, implementation, and evaluation of a compiler algorithm for CPU energy reduction,” in PLDI ’03, 2003, pp. 38–48.
[19]
M. Weiser, B. Welch, A. Demers, and S. Shenker, “Scheduling for reduced CPU energy,” in OSDI ’94. Berkeley, CA, USA: USENIX Association, 1994, p. 2.
[20]
J. H. Spring, J. Privat, R. Guerraoui, and J. Vitek, “Streamflex: highthroughput stream programming in java,” in OOPSLA ’07, 2007, pp. 211–228.
[21]
J. Zhou and B. Demsky, “Bamboo: a data-centric, object-oriented approach to many-core software,” in PLDI’10. ACM, 2010, pp. 388– 399.
[22]
M. I. Gordon, “Compiler techniques for scalable performance of stream programs on multicore architectures,” Ph.D. dissertation, Massachusetts Institute of Technology, Cambridge, MA, May 2010.
[23]
W. M. Johnston, J. R. P. Hanna, and R. J. Millar, “Advances in dataflow programming languages,” ACM Comput. Surv., vol. 36, pp. 1–34, March 2004.
[24]
T. Reps, S. Horwitz, and M. Sagiv, “Precise interprocedural dataflow analysis via graph reachability,” in POPL ’95, 1995, pp. 49–61.
[25]
P. Haller and M. Odersky, “Scala Actors: Unifying thread-based and event-based programming,” Theor. Comput. Sci., vol. 410, no. 2-3, pp. 202–220, Feb. 2009.
[26]
Google, “The Go language, http://golang.org/.”
[27]
M. Shaw and D. Garlan, Software architecture: perspectives on an emerging discipline. Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 1996.
[28]
L. A. Meyerovich, A. Guha, J. Baskin, G. H. Cooper, M. Greenberg, A. Bromfield, and S. Krishnamurthi, “Flapjax: a programming language for Ajax applications,” in OOPSLA ’09, 2009, pp. 1–20.
[29]
A. Manjhi, S. Nath, and P. B. Gibbons, “Tributaries and deltas: efficient and robust aggregation in sensor network streams,” in SIGMOD ’05, 2005, pp. 287–298.
[30]
S. Madden, M. Shah, J. M. Hellerstein, and V. Raman, “Continuously adaptive continuous queries over streams,” in SIGMOD ’02, 2002, pp. 49–60.
[31]
Z. Wan and P. Hudak, “Functional reactive programming from first principles,” in PLDI ’00, 2000, pp. 242–252.
[32]
T. Pering, T. Burd, and R. Brodersen, “The simulation and evaluation of dynamic voltage scaling algorithms,” in Proceedings of the 1998 international symposium on Low power electronics and design (ISLPED), 1998, pp. 76–81.
[33]
C. Isci, A. Buyuktosunoglu, C.-Y. Cher, P. Bose, and M. Martonosi, “An analysis of efficient multi-core global power management policies: Maximizing performance for a given power budget,” in IEEE/ACM International Symposium on Microarchitecture (MICRO), 2006, pp. 347– 358.
[34]
A. Benoit, P. Renaud-Goud, Y. Robert, and R. Melhem, “Energy-aware mappings of series-parallel workflows onto chip multiprocessors,” in 2011 International Conference on Parallel Processing (ICPP), 2011, pp. 472 –481.
[35]
Y. Yetim, S. Malik, and M. Martonosi, “EPROF: An energy/performance/reliability optimization framework for streaming applications,” in Design Automation Conference (ASP-DAC), 2012 17th Asia and South Pacific, 2012, pp. 769 –774.
[36]
A. Rangasamy and Y. N. Srikant, “Evaluation of dynamic voltage and frequency scaling for stream programs,” in Proceedings of the 8th ACM International Conference on Computing Frontiers (CF), 2011, pp. 40:1– 40:10.

Cited By

View all
  • (2019)Toward a language design for energy predictionCompanion Proceedings of the 3rd International Conference on the Art, Science, and Engineering of Programming10.1145/3328433.3328445(1-5)Online publication date: 1-Apr-2019
  • (2017)Toward energy-aware programming for unmanned aerial vehiclesProceedings of the 3rd International Workshop on Software Engineering for Smart Cyber-Physical Systems10.5555/3105716.3105724(30-33)Online publication date: 20-May-2017
  • (2016)AEQUITASProceedings of the 2016 International Conference on Supercomputing10.1145/2925426.2926260(1-12)Online publication date: 1-Jun-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '13: Proceedings of the 2013 International Conference on Software Engineering
May 2013
1561 pages
ISBN:9781467330763

Sponsors

Publisher

IEEE Press

Publication History

Published: 18 May 2013

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '13
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Toward a language design for energy predictionCompanion Proceedings of the 3rd International Conference on the Art, Science, and Engineering of Programming10.1145/3328433.3328445(1-5)Online publication date: 1-Apr-2019
  • (2017)Toward energy-aware programming for unmanned aerial vehiclesProceedings of the 3rd International Workshop on Software Engineering for Smart Cyber-Physical Systems10.5555/3105716.3105724(30-33)Online publication date: 20-May-2017
  • (2016)AEQUITASProceedings of the 2016 International Conference on Supercomputing10.1145/2925426.2926260(1-12)Online publication date: 1-Jun-2016
  • (2015)Mining energy-aware commitsProceedings of the 12th Working Conference on Mining Software Repositories10.5555/2820518.2820528(56-67)Online publication date: 16-May-2015
  • (2015)Refactoring for energy efficiencyProceedings of the Fourth International Workshop on Green and Sustainable Software10.5555/2820158.2820165(29-35)Online publication date: 16-May-2015
  • (2015)A programming model for sustainable softwareProceedings of the 37th International Conference on Software Engineering - Volume 110.5555/2818754.2818847(767-777)Online publication date: 16-May-2015
  • (2015)Compilers for Low Power with Design Patterns on Embedded Multicore SystemsJournal of Signal Processing Systems10.1007/s11265-014-0917-980:3(277-293)Online publication date: 1-Sep-2015
  • (2014)Understanding energy behaviors of thread management constructsACM SIGPLAN Notices10.1145/2714064.266023549:10(345-360)Online publication date: 15-Oct-2014
  • (2014)Rate types for stream programsACM SIGPLAN Notices10.1145/2714064.266022549:10(213-232)Online publication date: 15-Oct-2014
  • (2014)Understanding energy behaviors of thread management constructsProceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications10.1145/2660193.2660235(345-360)Online publication date: 15-Oct-2014
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media