On the Effect of Exploiting GPUs for a More Eco-Sustainable Lease of Life

It has been estimated that about 2% of global carbon dioxide emissions can be attributed to IT systems. Green (or sustainable) computing refers to supporting business critical computing needs with the least possible amount of power. This phenomenon changes the priorities in the design of new software systems and in the way companies handle existing ones. In this paper, we present the results of a research project aimed to develop a migration strategy to give an existing software system a new and more eco-sustainable lease of life. We applied a strategy for migrating a subject system that performs intensive and massive computation to a target architecture based on a Graphics Processing Unit (GPU). We validated our solution on a system for path finding robot simulations. An analysis on execution time and energy consumption indicated that: (i) the execution time of the migrated system is less than the execution time of the original system; and (ii) the migrated system reduces energy waste, so suggesting that it is more eco-sustainable than its original version. Our findings improve the body of knowledge on the effect of using the GPU in green computing.

[1]  Michele Risi,et al.  Design pattern recovery through visual language parsing and source code analysis , 2009, J. Syst. Softw..

[2]  Maurizio Morisio,et al.  Exploring initial challenges for green software engineering: summary of the first GREENS workshop, at ICSE 2012 , 2013, SOEN.

[3]  Philippe Thiran,et al.  Wrapper-based evolution of legacy information systems , 2006, TSEM.

[4]  Arie van Deursen,et al.  A Systematic Survey of Program Comprehension through Dynamic Analysis , 2008, IEEE Transactions on Software Engineering.

[5]  Christoforos E. Kozyrakis,et al.  Models and Metrics to Enable Energy-Efficiency Optimizations , 2007, Computer.

[6]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[7]  Forrest Shull,et al.  The empirical investigation of Perspective-Based Reading , 1995, Empirical Software Engineering.

[8]  Liming Zhu,et al.  Evaluating guidelines for reporting empirical software engineering studies , 2008, Empirical Software Engineering.

[9]  Lionel C. Briand,et al.  Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software , 2006, IEEE Transactions on Software Engineering.

[10]  Periklis Andritsos,et al.  Information-theoretic software clustering , 2005, IEEE Transactions on Software Engineering.

[11]  Winifred Menezes,et al.  Marketing Technology to Software Practitioners , 2000, IEEE Softw..

[12]  Nils J. Nilsson,et al.  Correction to "A Formal Basis for the Heuristic Determination of Minimum Cost Paths" , 1972, SGAR.

[13]  Jean-Francois Girard,et al.  A comparison of abstract data types and objects recovery techniques , 2000, Sci. Comput. Program..

[14]  Giuseppe Scanniello,et al.  Evaluating legacy system migration technologies through empirical studies , 2009, Inf. Softw. Technol..

[15]  Hewijin Christine Jiau,et al.  Reengineering windows software applications into reusable CORBA objects , 2004, Inf. Softw. Technol..

[16]  Bing Wu,et al.  Legacy Information Systems: Issues and Directions , 1999, IEEE Softw..

[17]  Luiz André Barroso,et al.  The Case for Energy-Proportional Computing , 2007, Computer.

[18]  Stéphane Ducasse,et al.  Software Architecture Reconstruction: A Process-Oriented Taxonomy , 2009, IEEE Transactions on Software Engineering.

[19]  Yung-Hsiang Lu,et al.  Cloud Computing for Mobile Users: Can Offloading Computation Save Energy? , 2010, Computer.

[20]  Harry M. Sneed,et al.  Planning the Reengineering of Legacy Systems , 1995, IEEE Softw..

[21]  Ugo Erra,et al.  Real-Time Adaptive GPU Multiagent Path Planning , 2012 .

[22]  Victor R. Basili,et al.  The Future Engineering of Software: A Management Perspective , 1991, Computer.