International Journal of Scientific Engineering and Technology (ISSN : 2277-1581) Volume No.3 Issue No.6, pp : 715-717 1 June 2014 IJSET@2014 Page 715 Green Computing Strategies for Improving Energy Efficiency in IT Systems Jacob John Sinhgad Institute of Business Administration and Computer Application, Lonavala, Pune, India jj31270@yahoo.co.in Abstract Increasing energy efficiency and reducing the use of hazardous materials are the main goals of Green computing. Energy efficiency has become an important issue in today’s global IT scenario. From embedded systems to large scale systems, all sectors of IT are facing this challenge. The various facts and challenges faced in the Green IT environment are discussed in this paper. This paper also focuses on the various energy conservation methods in the software and hardware levels of computing systems. A survey is also done on the solutions proposed by researchers and practices to be followed in data centers for improving energy efficiency. KeywordsGreen computing, Green IT, energy efficiency, Data centers. I. Introduction Utilizing resources effectively, improving environmental performance and defending global warming are in priority on the list of global challenges that must be addressed urgently. Governments and business associations have introduced a range of programmes and initiatives to address environmental challenges, particularly global warming and energy use. Business associations have mainly developed initiatives to reduce energy costs and to demonstrate corporate social responsibility. Green computing is a large and increasing area. The need for saving energy has become a top priority in almost all segments of the IT market. The need for power efficiency has become a critical factor in the design of high performance computing. The information and communications technology (ICT) industry needs to further improve its environmental performance, and ICT applications have very large potential to enhance performance across the economy and society. Energy conservation can be made at hardware and software levels. Software level energy conservation can be achieved by implementing various Green scheduling techniques in the operating system. Energy can also be saved during various stages of software development life cycle such as software analysis and design, by applying different green approaches. Data centers are found in all economic sectors, as they provide computational infrastructure for a wide range of applications. The most valuable possession of companies is information. It is expected that data centers should always be available with its secured data. A loss of information or lack of availability may result in large economical loss. The need for power efficiency has become a critical factor in the design of data centers also. This paper focuses on the various energy conservation methods in the software and hardware levels of computing systems. The paper also lists out the best practices to be followed in data centers for improving energy efficiency. In section II, the green techniques that can be applied at the compiler are explained. The green strategies, which can be followed by programmers during software development, are discussed in section III. Various methods for reducing energy consumption at the hardware level are given in the section IV. The best practices to be followed in energy efficient data center design are described in section V. In section VI, the paper is concluded. II. Green Strategies for Compilers Software programs are analysed at run time using energy aware compilers and software source code are reshaped by applying several green aspects during code transformation. The green techniques that can be applied at local, global or inter- procedural level to make program energy aware [1] are given below. 2.1 Cache skipping Loops are very useful in programming and it increases performance, but causes high energy consumption due to repetition of the same thing. A good method is skipping of cache operations during unnecessary replication. The study in [2] presents an efficient method to solve cache-skipping problem by modification in compiler. In this technique, compiler needs to separate the blocks that has less chance for execution. It is found from study that in some cases there is no use of cache and hence this technique results in reduced power consumption. 2.2 Instruction clustering The study in [3] shows that instruction clustering can conserve energy from 26% to 47%. A compiler with special type of architecture, can execute a cluster of instructions in one cycle. For example in signal processing applications, a cluster of related or similar signals can be compiled in one run. It will reduce the running time of program and leads to energy conservation. 2.3 Instruction reordering and memory addressing Sometimes the order of instructions and memory addressing is not in the favourable order which supports energy saving mode. Energy consumption can be reduced by changing the order of instruction in such a way to suit the power-safe mode. A method is proposed in [4] using Gray Code and Cold Scheduling. Gray code is used to reference consecutive memory location. Using Gray code reduces the energy consumption by 36% as compared to binary representation of memory. Cold scheduling algorithm for instruction scheduling uses gray code that reduces 20% to 30% instruction switching. 2.4 Optimized energy cost tree Energy aware compilers can use energy cost database for each transaction/instruction. This database can be used in code parsing and parse tree generation algorithms. During the first run of code processing, all possible parse trees are generated and their respective energy cost is stored in energy cost database. In subsequent run, tree with minimum cost will be selected for further compilation [4]. 2.5 Loop optimization Loop optimization methods are used to increase energy efficiency, which checks nested loops across dependency graph. Dependency graph are prepared for loop body in which