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.

Klíčová slova: Cloud computing, code, optimization, energy, efficiency, green computing

stránky: 244-252



Reference

  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. Přejít k původnímu zdroji...
  2. Lefevre, L., Orgerie, A. (2010). Designing and evaluating an energy efficient Cloud. J Supercomput 51, 352-373. DOI: 10.1007/s11227010-0414. Přejít k původnímu zdroji...
  3. Nordman, B. and Berkeley, L. (2009). Greener PCs for the Enterprise no. August, 2009, DOI: 10.1109/MITP.2009.71. Přejít k původnímu zdroji...
  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. Přejít k původnímu zdroji...
  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 Přejít k původnímu zdroji...
  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, Přejít k původnímu zdroji...
  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. Přejít k původnímu zdroji...
  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. Přejít k původnímu zdroji...
  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. Přejít k původnímu zdroji...
  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. Přejít k původnímu zdroji...
  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. Přejít k původnímu zdroji...
  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. Přejít k původnímu zdroji...
  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. Přejít k původnímu zdroji...
  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, Přejít k původnímu zdroji...
  16. Stroustrup, B. (2020). Thriving in a Crowded and Changing World: C++ 2006-2020. https://www.stroustrup.com/hopl20main-p5-p-bfc9cd4--final.pdf Přejít k původnímu zdroji...
  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.