30 research outputs found

    Energyware analysis

    Get PDF
    This documents introduces \Energyware" as a software engineering discipline aiming at defining, analyzing and optimizing the energy consumption by software systems. In this paper we present energyware analysis in the context of programming languages, software data structures and program's source code. For each of these areas we describe the research work done in the context of the Green Software Laboratory at Minho University: we describe energyaware techniques, tools, libraries, and repositories.This work is financed by the ERDF European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme within project POCI-01-0145-FEDER-006961, and by National Funds through the Portuguese funding agency, FCT - Fundao para a Ciłncia e a Tecnologia within project POCI-01-0145-FEDER-016718 and UID/EEA/50014/2013. The first author is also sponsored by FCT grant SFRH/BD/112733/2015

    Energyware engineering: techniques and tools for green software development

    Get PDF
    Tese de Doutoramento em Informática (MAP-i)Energy consumption is nowadays one of the most important concerns worldwide. While hardware is generally seen as the main culprit for a computer’s energy usage, software too has a tremendous impact on the energy spent, as it can cancel the efficiency introduced by the hardware. Green Computing is not a newfield of study, but the focus has been, until recently, on hardware. While there has been advancements in Green Software techniques, there is still not enough support for software developers so they can make their code more energy-aware, with various studies arguing there is both a lack of knowledge and lack of tools for energy-aware development. This thesis intends to tackle these two problems and aims at further pushing forward research on Green Software. This software energy consumption issue is faced as a software engineering question. By using systematic, disciplined, and quantifiable approaches to the development, operation, and maintenance of software we defined several techniques, methodologies, and tools within this document. These focus on providing software developers more knowledge and tools to help with energy-aware software development, or Energyware Engineering. Insights are provided on the energy influence of several stages performed during a software’s development process. We look at the energy efficiency of various popular programming languages, understanding which are the most appropriate if a developer’s concern is energy consumption. A detailed study on the energy profiles of different Java data structures is also presented, alongwith a technique and tool, further providing more knowledge on what energy efficient alternatives a developer has to choose from. To help developers with the lack of tools, we defined and implemented a technique to detect energy inefficient fragments within the source code of a software system. This technique and tool has been shown to help developers improve the energy efficiency of their programs, and even outperforming a runtime profiler. Finally, answers are provided to common questions and misconceptions within this field of research, such as the relationship between time and energy, and howone can improve their software’s energy consumption. This thesis provides a great effort to help support both research and education on this topic, helps continue to grow green software out of its infancy, and contributes to solving the lack of knowledge and tools which exist for Energyware Engineering.Hoje em dia o consumo energético é uma das maiores preocupações a nível global. Apesar do hardware ser, de umaforma geral, o principal culpado para o consumo de energia num computador, o software tem também um impacto significativo na energia consumida, pois pode anular, em parte, a eficiência introduzida pelo hardware. Embora Green Computing não seja uma área de investigação nova, o foco tem sido, até recentemente, na componente de hardware. Embora as técnicas de Green Software tenham vindo a evoluir, não há ainda suporte suficiente para que os programadores possam produzir código com consciencialização energética. De facto existemvários estudos que defendem que existe tanto uma falta de conhecimento como uma escassez de ferramentas para o desenvolvimento energeticamente consciente. Esta tese pretende abordar estes dois problemas e tem como foco promover avanços em green software. O tópico do consumo de energia é abordado duma perspectiva de engenharia de software. Através do uso de abordagens sistemáticas, disciplinadas e quantificáveis no processo de desenvolvimento, operação e manutencão de software, foi possível a definição de novas metodologias e ferramentas, apresentadas neste documento. Estas ferramentas e metodologias têm como foco dotar de conhecimento e ferramentas os programadores de software, de modo a suportar um desenvolvimento energeticamente consciente, ou Energyware Engineering. Deste trabalho resulta a compreensão sobre a influência energética a ser usada durante as diferentes fases do processo de desenvolvimento de software. Observamos as linguagens de programação mais populares sobre um ponto de vista de eficiência energética, percebendo quais as mais apropriadas caso o programador tenha uma preocupação com o consumo energético. Apresentamos também um estudo detalhado sobre perfis energéticos de diferentes estruturas de dados em Java, acompanhado por técnicas e ferramentas, fornecendo conhecimento relativo a quais as alternativas energeticamente eficientes que os programadores dispõem. Por forma a ajudar os programadores, definimos e implementamos uma técnica para detetar fragmentos energicamente ineficientes dentro do código fonte de um sistema de software. Esta técnica e ferramenta têm demonstrado ajudar programadores a melhorarem a eficiência energética dos seus programas e em algum casos superando um runtime profiler. Por fim, são dadas respostas a questões e conceções erradamente formuladas dentro desta área de investigação, tais como o relacionamento entre tempo e energia e como é possível melhorar o consumo de energia do software. Foi empregue nesta tese um esforço árduo de suporte tanto na investigação como na educação relativo a este tópico, ajudando à maturação e crescimento de green computing, contribuindo para a resolução da lacuna de conhecimento e ferramentas para suporte a Energyware Engineering.This work is partially funded by FCT – Foundation for Science and Technology, the Portuguese Ministry of Science, Technology and Higher Education, through national funds, and co-financed by the European Social Fund (ESF) through the Operacional Programme for Human Capital (POCH), with scholarship reference SFRH/BD/112733/2015. Additionally, funding was also provided the ERDF – European Regional Development Fund – through the Operational Programmes for Competitiveness and Internationalisation COMPETE and COMPETE 2020, and by the Portuguese Government through FCT project Green Software Lab (ref. POCI-01-0145-FEDER-016718), by the project GreenSSCM - Green Software for Space Missions Control, a project financed by the Innovation Agency, SA, Northern Regional Operational Programme, Financial Incentive Grant Agreement under the Incentive Research and Development System, Project No. 38973, and by the Luso-American Foundation in collaboration with the National Science Foundation with grant FLAD/NSF ref. 300/2015 and ref. 275/2016

    CPM LCA Database – Life Cycle Inventory Datasets

    Get PDF
    This report contains all 748 complete LCI datasets in the CPM LCA Database as published in 2020-11-20. Contents:Table 1 (pp 3-23) lists all LCI process names in alphabetical order.Table 2 (pp 24-2543) lists all complete LCI datasets in alphabetical order.For information about the database please refer to the Swedish Life Cycle Center, lifecyclecenter.se

    SPELLing out energy leaks: Aiding developers locate energy inefficient code

    Get PDF
    Although hardware is generally seen as the main culprit for a computer's energy usage, software too has a tremendous impact on the energy spent. Unfortunately, there is still not enough support for software developers so they can make their code more energy-aware.This paper proposes a technique to detect energy inefficient fragments in the source code of a software system. Test cases are executed to obtain energy consumption measurements, and a statistical method, based on spectrum-based fault localization, is introduced to relate energy consumption to the source code. The result of our technique is an energy ranking of source code fragments pointing developers to possible energy leaks in their code. This technique was implemented in the SPELL toolkit.Finally, in order to evaluate our technique, we conducted an empirical study where we asked participants to optimize the energy efficiency of a software system using our tool, while also having two other groups using no tool assistance and a profiler, respectively. We showed statistical evidence that developers using our technique were able to improve the energy efficiency by 43% on average, and even out performing a profiler for energy optimization. (C) 2019 Elsevier Inc. All rights reserved.This work is funded by the ERDF -European Regional Development Fund through the Operational Programme for Competitiveness and Internationalization -COMPETE 2020 Programme within project POCI-01-0145-FEDER-006961, and by National Funds through the Portuguese funding agency, FCT -Fundacao para a Ciencia e a Tecnologia within project POCI010145FEDER016718, UID/EEA/50014/2013, and by FCT grant SFRH/BD/132485/2017. This work is also supported by operation Centro010145FEDER000019 -C4 -Centro de Competencias em Cloud Computing, cofinanced by the European Regional Development Fund (ERDF) through the Programa Operacional Regional do Centro (Centro 2020), in the scope of the Sistema de Apoio a Investigacao Cientifica e Tecnologica -Programas Integrados de IC&DT, and the first author was financed by post-doc grant referencia C4_SMDS_L1-1_D

    Improving Energy Consumption Of Java Programs

    Get PDF
    Information and Communications Technologies (ICT) amounts for 10% of the world energy which will keep on growing in the future and 3% of the overall carbon footprint which is now more than the level of CO2 emission as that of the aviation industry. For many past years, the focus was on hardware to optimize the energy consumption of ICT systems. This includes dynamic adaptation of hardware techniques such as fine-grain clock gating, power gating, and dynamic voltage/frequency scaling. However, recent demands of exascale computation, as well as the increasing carbon footprint, require new breakthroughs to make ICT systems more energy-efficient. This is not possible by only making the hardware energy-efficient. As a result, the focus is shifting on software now. Software is one of the most critical bottlenecks while trying to optimize the energy consumption of any ICT system. Software energy consumption can be optimized in several ways like choosing the energy-efficient option in a programming language, using an energy-efficient programming language or choosing an energy-efficient compiling option. In this work, we concentrate on the energy-efficient options and command-line options to optimize software energy consumption. Today’s programming languages provide software developers with several options to perform the same task. For example, in Java, an Array can be copied to other Array either manually or using Java methods. However, not every option available is energy-efficient and the software developers lack the knowledge to choose the best energy-efficient option. We perform various analyses to decide on choosing the best option for different components of Java programming language. These components include data types, operators, control statements, String, exceptions, objects, and Arrays. Java has different command-line options that can be used to tune the JVM. These options can significantly affect the energy behavior of Java applications. We conduct a comprehensive study to evaluate the energy efficiency of Java command-line options. We first stabilize the idle energy consumption of two ICT systems and then evaluate the active energy consumption of SPECjvm2008 benchmarks using different JDKs (Open and Oracle) and Java command-line options. The Java command-line options include client, server, Xbatch, Xcomp, Xfuture, Xint, Xmixed, Xrs, AggressiveOpts, AggressiveHeap, Inline, AlwaysPreTouch, Xnoclassgc, UseSerialGC, UseParallelGC, UseConcMarkSweepGC, and UseG1GC. Next, we present Java Energy Profiler and Optimizer (JEPO) tool to help software developers to write energy-efficient code. This tool is an Eclipse IDE plugin and provides energy efficiency suggestions for Java programming language. It can provide suggestions dynamically while writing code or statically to refactor already written code. For providing suggestions, it analyzes each line of Java file and matches it to the pool of suggestions. JEPO can also help the software developers to automatically measure energy consumption at method granularity to determine the energy-hungry Java methods in software. We hope our findings and tool can help software developers to write energy-efficient code in the future

    Low carbon scenarios for higher thermal comfort in the residential building sector of South Eastern Europe

    Get PDF
    The paper presents the residential sector building typology, thermal energy balance, and scenarios prepared at several levels of sector segmentation to assist the design of low-carbon development policies for Albania, Serbia, and Montenegro. The research is breakthrough for developing Europe and could be replicated in its countries. The paper describes methodological steps and selected results. First, representative building types were identified; their energy performances by end-use, retrofit packages, as well as associated costs were assessed. Second, this information was inserted into a bottom-up simulation model prepared in the Long-range Energy Alternatives Planning System (LEAP) software. Using it, sector energy balances, the reference scenario, as well as moderate and advanced low-carbon high-thermal-comfort scenarios were prepared. The low-carbon scenarios assumed ambitious regulatory and financial policies. It was found that due to fuel poverty partial and intermittent heating is a typical situation; therefore, the thermal demand as predicted by the models applied to the different segments of the dwelling stock is much higher than its actual consumption. Also, actual consumption by energy source was found not fitting official energy balances because households use more wood and more heating systems than officially reported. In 2030, the moderate and ambitious scenarios lead to a reduction of CO2 emissions by 23–73% and 16–73% respectively versus the reference, offering however at the same time higher thermal comfort. The priority is to retrofit small buildings constructed after 1991 in Albania and those built in 1971–1990 in Montenegro and Serbia. Assuming the discount rate of 4% and counting saved energy costs as benefits, almost all scenarios are cost-effective as a whole on the country level, however not for many building categories. Therefore, not only saved energy costs but also other benefits should be monetized and compared to the scenario costs that present the next research opportunity

    Java stream optimization through program fusion

    Get PDF
    Dissertação de mestrado integrado em Computer ScienceCombining different programs or code fragments is a natural way to build larger programs. This allows programmers to better separate a complex problem into simple parts. Furthermore, by writing programs in a modular way, we increase code reusability. However, these simple parts need to be connected somehow. These connections are done via intermediate structures that communicate results between the different components, harming performance because of the overhead introduced by the allocation and deallocation of multiple structures. Fusion, a very commonly used technique in functional programming, aims to remove the creation of these unnecessary structures, as they don’t take part in the final result. With the introduction of streams and lambda expressions, Java made its way into a more functional programming style. Yet, these mechanisms lack optimization and the adaptation of fusion techniques used by some compilers for functional languages could benefit the performance of Java streams. In this thesis, we study how functional fusion can be adapted to Java Streams.Combinar diferentes programas ou fragmentos de código é uma forma natural de construir programas maiores. Isto permite aos programadores melhor separar um problema complexo em partes simples. Além disso, ao escrever programas de forma modular, estamos a aumentar a reutilização do código. Contudo, estas partes têm de ser ligadas de alguma maneira. Estas conexões são feitas via estruturas intermédias que comunicam os resultados entre os diferentes componentes, prejudicando a performance com o overhead introduzido pela alocação e desalocação de várias estruturas. A fusão, uma técnica muito usada em programação funcional, pretende remover a criação destas estruturas desnecessárias, uma vez que não tomam parte no resultado final. Com a introdução de streams e expressões lambda, o Java abriu caminho para um estilo de programação mais funcional. Mesmo assim, estes mecanismos não possuem otimização e a adaptação de técnicas de fusão utilizadas por alguns compiladores de linguagens funcionais poderiam beneficiar a performance das streams do Java. Nesta dissertação, é estudado como a fusão em programação funcional pode ser adaptada às streams do Java.This work is funded by ERDF - European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation – COMPETE 2020 Programme and by National Funds through the FCT - Foundation for Science and Technology within the project FCOMP-01-0124-FEDER-020484 and grant ref. BI2-2017_PTDC/EEI-ESS/5341/2014_UMINHO

    Energia solar fotovoltaica e geração distribuída : um salto de inovação na matriz elétrica brasileira entre 2009-2018

    Get PDF
    Orientador: Prof. Dr. José Wladimir Freitas da FonsecaDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Sociais Aplicadas, Programa de Pós-Graduação em Desenvolvimento Econômico. Defesa : Curitiba, 31/05/2019Inclui referências: p. 60-66Resumo: Em consonância com o ideal de desenvolvimento sustentável pregado por diversos órgãos internacionais, e com a expectativa de alcançar 10% da matriz elétrica do Brasil até 2040, agentes que atuam no setor de energia solar fotovoltaica (FV) vem trabalhando na última década para garantir a expansão do uso da fonte no território nacional cada vez mais. Entre 2009 e 2018, o que se denota dos dados de capacidade instalada e produção de energia desse segmento, publicados pelo Ministério de Minas e Energia, é um contínuo movimento de ascensão que aponta para uma tendência de fortalecimento e consolidação no futuro próximo. Diante deste cenário de transformação, o objetivo deste trabalho é mostrar que a expansão da energia solar fotovoltaica é resultado de um processo de inovação dentro da matriz elétrica brasileira, que teve nas modalidades de geração distribuída (mini e micro) um dínamo. Tal crescimento é garantido pelo sistema setorial de inovação instituído no país, que tem como desafio o desenvolvimento de novas tecnologias de geração, com insumos mais baratos, processos mais eficientes e modalidades mais acessíveis à população, entre as quais as próprias modalidades distribuídas. Palavras-chave: Energias renováveis; Energia solar fotovoltaica; Matriz Elétrica, Sistema Setorial de Inovação; Geração Centralizada e DistribuídaAbstract: In line with the ideal of sustainable development promoted by several international bodies, and with the expectation of reaching 10% of Brazil's electricity matrix by 2040, agents operating in the solar photovoltaic (PV) sector have been working in the last decade to guarantee expansion of the use of the source in the national territory more and more. Between 2009 and 2018, what is denoted by the data on installed capacity and energy production of this segment, published by the Ministry of Mines and Energy, is a continuous upward movement that points to a trend of strengthening and consolidation in the near future. In view of this scenario of transformation, the objective of this work is to show that the expansion of photovoltaic solar energy is the result of a process of innovation within the Brazilian electric matrix, which had in the modalities of distributed generation (mini and micro) a dynamo. Such growth is guaranteed by the sectorial innovation system established in the country, which has as challenge the development of new generation technologies, with cheaper inputs, more efficient processes and more accessible modalities to the population, among them the distributed modalities themselves. Keywords: Renewable energies; Photovoltaic solar energy; Electrical matrix; Sectorial System of Innovation; Centralized and Distributed Generatio

    Improving Energy Efficiency in Commercial Buildings: Proceedings of the International Conference IEECB'06

    Get PDF
    The IEECB conference brought together all the key players from this sector, including commercial buildings’ investors and property managers, energy efficiency experts, equipment manufacturers, service providers (ESCOs, utilities, facilities management companies) and policy makers, with a view to exchange information, to learn from each other and to network. At the conference key representatives of leading organisations and companies, institutions and equipment industry presented the overall picture and give details of policies, recent advancements and examples of best practice. The wide scope of topics covered during the IEECB'06 conference included: macro/micro approaches, state-of-the-art equipment and systems (lighting, HVAC auxiliary equipment, ICT & office equipment, miscellaneous equipment, BEMS, electricity on-site production, renewable energies, etc.) and the latest advances in R&D, tools, regulation & policy, demand-side and supply-side perspectives for all branches of activity (public and private sector, the commerce and retail sectors, hotels and restaurants, banks and insurance companies, local authorities, civil services & public bodies, education, universities & laboratories, hospitals, airport and stations, etc.) We hope that the present proceedings could be a valuable contribution to disseminate information and best practices in policies, programmes and technologies to foster the penetration of highly efficient buildings in the commercial sector.JRC.H.8-Renewable energie
    corecore