For software developers, being sustainable and contributing to Green IT means designing software programs that make efficient use of computing resources. For SAP programmers, this becomes even more imperative if we take the huge number of all business transactions worldwide into consideration that is handled by a SAP system in one way or another.
In addition when we analyze the impact of single thread performance it is obvious that “Free lunch is over!”. The reason is that power saving in servers is most efficiently done by reducing speed of processor. This slows down the single thread performance.
Furthermore there is a trend to consolidate infrastructure on fewer servers to reduce costs. This typically goes in line with higher average utilization which again has a slight negative impact on response times. On top of this in many situations virtualization is used for consolidation which again creates some performance overhead. So all in all the current technology trends increases the pressure on development towards high performing software.
The goals for a high performance are to ensure that software is scalable, and that it achieves stable end user response times and the expected throughput.
Adhering to these goals helps when programming for a Green IT:
Performance-optimized programming often (but not always) equates to energy efficient programming.
In an SAP system, the main power consumers are CPU, memory and disks. Performance optimizations reduce power consumption in SAP system landscapes if they lead to:
1. Fewer processing cycles (CPU optimization)
2. Less disk I/O (indexes, buffers and caches)
3. Optimized use of memory (shared caches)
4. Reduction of TCO and hardware sizing
The equation “performance-optimized coding = power-optimized coding” is not always true – sometimes there is a tradeoff between power and performance. Looking more closely at specific performance requirements we can see different degrees of interdependence between high-performance program code and power consumption.
Performance optimization leading to linear dependency directly reduces power consumption.
In a scalable architecture, efficient client-server programming reduces power consumption in most situations
Parallel processing can lead to additional power consumption
In the related article we discuss the following topics with regards to sustainable programming in more detail:
The Sustainability Rationale
Power Consumers in an SAP System
o Power Consumers in an SAP System – Server
o Power Consumers in an SAP System – Storage
Performance-Optimized Code and Power Efficiency
o General effects of performance optimizations on power consumption
o Specific effects of performance optimizations on power consumption
One example for Performance-Optimized Code and Power Efficiency
Please let us know what you think from a software developer’s perspective, being sustainable and contributing to Green IT by designing software programs that make efficient use of computing resources?
How important is this topic within your company?
Your insights will help us immensely.
Please give us feedback via this blog or via mail: