Skip to content

Latest commit

 

History

History
190 lines (158 loc) · 12.8 KB

Les-articles.adoc

File metadata and controls

190 lines (158 loc) · 12.8 KB

Understanding Green Software Development: A Conceptual Framework :

  • Although the actual figures may vary depending on the specific hardware platform, the impact of software over energy consumption is definitely relevant. Realizing this implies a change of mindset for the software engineering community. Firstly, determining the responsibility of software means increasing the awareness of developers over the energy consumption caused by their applications. Secondly, a new perspective of software as hardware driver arises.

  • As a matter of fact, it gives developers a way to elaborate a strategy by analysing the causes of energy consumption and also to validate the efficacy of the formulated strategies by measuring their impact and effect.

  • stakeholders who are interested to or affected by sustainability issues. They trigger the need for developing energy-efficient software.

  • Main strategies: Refactoring and Self-adaptation.

  • The refactoring strategy : It is focused on minimizing software instructions and code patterns that may cause higher energy usage.

  • The self-adaptation strategy : has the main goal of creating an energy-aware application that is able to choose among different configurations, with respect to different scenarios and contexts, that we call “energy profiles”.

  • ”white-box” i.e. code-level or instruction-level metrics, and ”black-box” i.e. runtime metrics, such as usage ratios of system resources (CPU, RAM, etc.). Of course, timing is an important factor: white-box models can be used to provide both an on-line (run-time) and off-line (compile-time) estimation of the software impact, while black-box can only perform on-line because they rely on resource usage data.

  • In embedded systems, for example, we have observed that code-level constructs may have an observable impact over power consumption only in some cases. However, as the system architecture becomes more complex, these models appear to be too fine-grained to describe the effect of software over power consumption. In these cases, a resource-usage based model might be more meaningful: initial work has successfully proven the correlation between indicators of hardware resources and the power consumption of a desktop computer system. As a matter of fact, most of the software power profiling tools commercially available are based upon these types of models.

  • CPU is the most important component to monitor. And, metrics, such as memory usage and, more importantly, I/O operations, have a significant correlation with power consumption.

  • Software applications may require the activation of high power-consuming peripherals (e.g. GPS modules, 3G and WiFi antennas) that significantly modify the consumption profile of the device.

  • 1) these resources cannot be ignored by models and must be explicitly measured, 2) software developers need to be aware that decreasing the computational complexity of software applications is not enough to develop an energy-efficient application, but they need to adopt an holistic approach.

  • Refactoring: adopt code level guidelines to improve energy efficiency Predictive models embed the knowledge about both the resources (e.g., CPU) that consume power and the activities (e.g.,disk transfers) that drive their consumption. As a consequence, the next step, from a developer perspective, is to identify those code patterns that imply high usage of those resources and activities. implementation choices (at code, design or architectural level) that make the software execution less energy efficient.

  • Clean up useless code and data.

  • Look for Immortals.

  • Monitor the appropriate resources.

  • Scenario driven refactoring.

  • Reduce amount of data transferred.

  • Self-adaptation: Green software by design : self-adaptation techniques are a good solution when you can draw your software’s architecture from scratch. The key idea is to provide different configurations of the same application that can be activated at different times in order to find the best trade-off between features provided and energy consumed.

  • CONCLUSIONS : There is significant evidence that a growing share of green IT will be addressed by green software engineering. From a management perspective, making software greener is a challenging task that involves complex tradeoffs among stakeholders. From a technical perspective, several tools and good practices are available, although they are not yet well integrated in an organic framework able to provide the software developers and designers a unifying view. We presented a conceptual framework that provides an high-level view over the possible operational strategies for developing greener software, by leveraging the information provided by power consumption models and power profiling tools. We identified and explained two such strategies, i.e. refactoring and self adaptation, although other strategies, at technological or process level, can be plugged in the framework, provided that they have a measurable impact on power consumption. This fundamental condition is the natural consequence of one of the lesson learned in 45 years of software engineering: no improvement is possible without measurement.

Software Security Durability :

  • Software security features must be integrated in every level of development of software.

  • Software Security is a process to secure the software by its factors which are known as (C.I.A) that is Confidentiality, Integrity, and Availability.

  • Security of software take care two main issues which is mechanisms and design. Software security is a process to build design and analysis of the software security. Security of software provides a method to secure software from unauthorized access and malicious attacks.

  • The identified security factors are discussed below:

    • Confidentiality.

    • Integrity.

    • Authentication.

    • Non-repudiation.

    • Authorization.

    • Availability.

    • Survivability.

    • Reliability.

    • Auditability.

    • Trustworthiness.

    • Accountability.

  • Durability as a term is defined as follows: In the term of a machine or system durability is about the long lastingness of machine, same as in software context durability is concerned with the timeliness of a software. Timeliness of a software security is called durability.

  • So here it is said that time dependencies of software security is a factor of security. It depends on software attributes that how much software is secure; exactly the durability decides how long software will be secured. For durability purposes, the most important.

  • Durability of a software solution largely depends on its ability to address unpredictable future needs and that this in turn results primarily from how a software application is engineered, on the underlying architect it uses.

  • Security accent changed to survivability of the software. Availability, survivability and durability of software security are complement of each other. Durability effects where we want to check out that how long software will work.

  • Security attributes of software, defines that how much a software is secure but durability defines that for how long time, your software will be secured.

  • The security of software can be achieved by controlling the durability of software. * **Durability is the key factor of security has been identified.

    • Durability, a key factor for security is a major cause of software security issues.

    • Durability can be controlled by proper adjustment of design characteristics and relation among attributes of security at design level.

  • Durability is the major factor of security which defines how all attributes depends upon durability. Durability as a security factor will contribute in security of a software, if it is considered.

Harnessing Green IT: Principles and Practices :

  • What are the key environmental impacts arising from IT? What are the major environmental IT issues that we must address? How can we make our IT infrastructure, products, services, operations, applications, and practices environmentally sound? What are the regulations or standards with which we need to comply? How can IT assist businesses and society at large in their efforts to improve our environmental sustainability.

  • Electricity is a major cause of climate change, because the coal or oil that helps generate electricity also releases carbon dioxide, pollutants, and sulfur into the atmosphere.

  • Reducing electric power consumption is a key to reducing carbon dioxide emissions and their impact on our environment and global warming.

  • IT affects our environment in several different ways. Each stage of a computer’s life, from its production, throughout its use, and into its disposal, presents environmental problems.

  • The increased number of computers and their use, along with their frequent replacements, make the environmental impact of IT a major concern. Consequently, there Green IT refers to environmentally sound IT.

  • Green IT also strives to achieve economic viability and improved system performance and use, while abiding by our social and ethical responsibilities.

  • Green IT spans a number of focus areas and activities, including :

    • Design for environmental sustainability.

    • Energy-efficient computing.

    • Power management.

    • Data center design layout and location.

    • Server virtualization.

    • Responsible disposal and recycling.

    • Regulatory compliance.

    • Green metrics assessment tools and methodology.

    • Environment related risk mitigation.

    • Use of renewable energy sources and eco-labeling of IT product.

  • To build a greener environment, we must modify or abolish many old and familiar ways of doing things and discover new methods.

  • Green use. Reduce the energy consumption of computers and other information systems and use them in an environmentally sound manner.

  • Green disposal. Refurbish and reuse old computers and properly recycle unwanted computers and other electronic equipment.

  • Green design. Design energy efficient and environmentally sound components, computers, servers, and cooling equipment.

  • Green manufacturing. Manufacture electronic components, computers, and other associated subsystems with minimal or no impact on the environment.

  • Using IT : Environmentally sound practices :

    • Reducing energy consumption by PCs.

    • Enabling power management features.

    • Turning off the system when not in use.

    • Using screensavers.

    • Using thin-client computers.

    • Energy conservation.

    • Eco-friendly design.

    • Virtualization.

  • Green computer design aims to reduce the environmental impact of computers by adopting new technologies and using new techniques and materials while balancing environmental compatibility with economic viability and performance. Green design is quickly becoming a necessary business practice. Many computer manufacturers are in the process of making green PCs using non toxic materials that consume less electrical power and are easily reassembled.

  • Entreprise Green IT Strategy :

    • Tactical incremental approach.

    • Strategic approach.

    • Deep green approach.

Les obsolescence Programmé : Pico :

  • L’obsolescence Programmé définie comme L’ensemble des techninques par lesquelles un metteur sur le marché vise à réduire délibérément la durée de vie d’un produit pour en augmenter le taux de replacement.

  • Quatre barrières à la réparation : Le coût, La distace, Le transport, La solution.

L’obsolescence ou les raisons du remplacement d’un bien durable : proposition d’une échelle de mesure :

  • Les définitions et travaux sur l’obsolescence évoluent selon l’angle d’approche :*obsolescence du point de vue du produit* : baisse délibérée de la durée de vie d’un produit par le fabricant-obsolescence planifiée. obsolescence du point de vue de l’usage : raisons pour lesquelles l’usager se sépare d’un produit. Elle diffèrent également selon le type de fin de vie du produit. obsolescence absolue (fin de vie technique du produit). obsolescence relative (finde vie prématurée du produit).

  • Cette littérature fait cependant ressortir trois types de raisons invoquées pour expliquer le rempalcement :

    • L’obsolescence économique.

    • L’obsolescence technologique.

    • L’obsolescence psychologique associée aux tendances de la mode.

  • La littérature académique :

    • Une dimension économique liée au rapport qualité/ prix du produit (économie, qualité, fonction, défaillance, physique).

    • Une dimension technoligique liée aux améliorations des characteristics du produit (technologie, gonction, insatifaction).

    • Une dimension psychologique liée à l’image et aux changement de vie/ de besoins des consommateurs (désirabilit ou psychologie, style, durabilité symbolique, changement dans la vie du consommateur).

    • Obsolescence par péremption, obsolescence écologique.