DOI: 10.32725/978-80-7394-976-1.36

Energy-Efficient Application Programming for Green Cloud Computing

Tomáš Zeman, Jan Fesl, Ludvík Friebel
University of South Bohemia in České Budějovice, Faculty of Science, Department of Informatics, Faculty of Science, Branišovská 31a, 370 05 České Budějovice, Czech Republic
University of South Bohemia in České Budějovice, Faculty of Science, Department of Informatics, Faculty of Science, Branišovská 31a, 370 05 České Budějovice, Czech Republic
University of South Bohemia in České Budějovice, Faculty of Economics, Department of applied mathematics and informatics, Stu-dentská 13, 370 05 České Budějovice, Czech Republic, ludva@ef.jcu.cz

Green Cloud Computing is a very interesting area that deals with different ways to reduce the energy consumption of clouds and data centres. Software solutions (native applications or those running inside containers) whose optimization (especially at the binary code level) can achieve a significant increase in computational performance or a reduction in computational time and thus directly reduce power consumption have a significant impact on the power consumption in these environments. In our study, we focused on the optimization of programming code in the C++ programming language, both in terms of the syntactic constructs of the programming language and the code generator itself. Our findings show that the difference in the efficiency of the resulting binary form of the program can be as much as tens of percent lower in terms of energy consumption.

Keywords: Cloud computing, code, optimization, energy, efficiency, green computing

pages: 244-252



References

  1. Bharany, S., Sharma, Osamah, I., S., Khalaf, O. I., Abdulsahib, G. M., Al Humaimeedy, A. S., Aldhyani, T. H. H., Maashi, M., Alkahtani, H. (2022). A Systematic Survey on Energy-Efficient Techniques in Sustainable Cloud Computing. Sustainability, 14(10), DOI: 10.3390/su14106256. Go to original source...
  2. Lefevre, L., Orgerie, A. (2010). Designing and evaluating an energy efficient Cloud. J Supercomput 51, 352-373. DOI: 10.1007/s11227010-0414. Go to original source...
  3. Nordman, B. and Berkeley, L. (2009). Greener PCs for the Enterprise no. August, 2009, DOI: 10.1109/MITP.2009.71. Go to original source...
  4. Younge, J., von Laszewski, G., Wang, L., Lopez-Alarcon, S., Carthers, W. (2010). Efficient resource management for Cloud computing environments. International Conference on Green Computing, Chicago, IL, 357-364, DOI: 10.1109/GREENCOMP.2010.5598294. Go to original source...
  5. Kim, J. M., Kim, M., Kong, J., Jang, H. B., Chung, S. W. (2011). Display Power Management That Detects User Intent. Computer. 44(10), 60-66. DOI: 10.1109/MC.2011.312 Go to original source...
  6. Lin, C. (2012). A Novel Green Cloud Computing Framework for Improving System Efficiency. Physics Procedia 24, 2326-2333. DOI: 10.1016/j.phpro.2012.02.345, Go to original source...
  7. Ketankumar, D. C., Verma, G., Chandrasekaran, K. (2015). A Green Mechanism Design Approach to Automate Resource Procurement in Cloud. Procedia Computer Science, 54, 108-117. DOI: 10.1016/j.procs.2015.06.013. Go to original source...
  8. Khanna, R., Zuhayri, F., Nachimuthu, M., Le, C, Kumar, M. J. (2011) Unified extensible firmware interface: An innovative approach to DRAM power control. 2011 International Conference on Energy Aware Computing (ICEAC). IEEE. 1-6. DOI: 10.1109/ICEAC.2011.6136703. Go to original source...
  9. Esmaeilzadeh, H., Cao, T., Xi, Y., Blackburn, S. M., McKinley, K. S. (2011). Looking back on the language and hardware revolutions: measured power, performance, and scaling. ACM SIGARCH Computer Architecture News. vol. 39. ACM. 319-332. DOI: 10.1145/1961295.1950402. Go to original source...
  10. Chen, Y., Chen, T., Xu, Z., Sun, N., Temam, O. (2016). DianNao family: energy-efficient hardware accelerators for machine-learning. Communications of the ACM. 59(11), 105-112. DOI: 10.1145/2996864. Go to original source...
  11. Mashayekhy, L., Nejad, M. M., Grosu, D. (2015). Physical Machine Resource Management in Clouds: A Mechanism Design Approach. IEEE Transactions on Cloud Computing, 3(3), 247-260. DOI: 10.1109/tcc.2014.2369419. Go to original source...
  12. Singh, K., Ku, M.-L. (2015). Toward Green Power Allocation in Relay-Assisted Multiuser Networks: A Pricing-Based Approach. IEEE Transactions on Wireless Communications. 14(5), 2470-2486. DOI: 10.1109/twc.2014.2387165. Go to original source...
  13. Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J. P., Saraiva, J. (2021). Ranking programming languages by energy efficiency. Science of Computer Programming. 205, 102609. DOI: 10.1016/j.scico.2021.102609. Go to original source...
  14. Calandra, A. (2022). Modern C++ features. https://github.com/AnthonyCalandra/modern-cpp-features Microsoft documents. C++ Standard Library header files, https://learn.microsoft.com/en-us/cpp/standard-library/chrono?view=msvc-170 cppreference.com. Modules (2022), https://en.cppreference.com/w/cpp/language/modules
  15. Lischner, R. (2020) Exploring C++20: The Programmer's Introduction to C++. 3rd ed. Berkeley: Apress, Go to original source...
  16. Stroustrup, B. (2020). Thriving in a Crowded and Changing World: C++ 2006-2020. https://www.stroustrup.com/hopl20main-p5-p-bfc9cd4--final.pdf Go to original source...
  17. Fertig, A. (2021). C++20: A neat trick with consteval. https://andreasfertig.blog/2021/07/cpp20-a-neat-trick-with-consteval
  18. Stroustrup, B., Sutter, H. (2022) C++ Core Guidelines. https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
  19. Microsoft documents (2022). Overview of modules in C++, https://learn.microsoft.com/en-us/cpp/cpp/modules-cpp?view=msvc-170
  20. Stroustrup, B. (2018). A tour of C++. Second edition. Boston: Addison-Wesley. C++ In-Depth series.
  21. ModernesCpp.com (2020). C++20: The Advantages of Modules. https://www.modernescpp.com/index.php/cpp20-modules.