38 research outputs found

    Achieving Energy Saving through Proxying Applications on behalf of Idle Devices

    Get PDF
    AbstractSeveral studies in the past have revealed that network end user devices are left powered up 24/7 even when idle just for the sake of maintaining Internet connectivity. Network devices normally support low power states but are kept inactive due to their inability to maintain network connectivity. The Network Connectivity Proxy (NCP) has recently been proposed as an effective mechanism to impersonate network connectivity on behalf of high power devices and enable them to sleep when idle without losing network presence. The NCP can efficiently proxy basic networking protocol, however, proxying of Internet based applications have no absolute solution due to dynamic and non-predictable nature of the packets they are sending and receiving periodically. This paper proposes an approach for proxying Internet based applications and presents the basic software architectures and capabilities. Further, this paper also practically evaluates the proposed framework and analyzes expected energy savings achievable under- different realistic conditions

    E-Net-Manager: a Power Management System for Networked PCs based on Soft Sensors

    Get PDF
    The overall energy consumption due to ICT equipment has followed an increasing trend over the last years. A considerable fraction of the consumed energy is caused by user devices, such as Personal Computers (PCs) and displays. However, a large part of this energy is wasted due to an inefficient use. Users leave their PCs on for long periods even when unused, especially in workplaces. Hence, significant energy savings could be achieved just turning them off. However, it is not wise to rely on user collaboration, and, thus, automated tools are needed. In this paper, we present E-Net-Manager, a power management system for large environments, which turns unused PCs off and switches them on when the user is about to use them. To this end, E-Net-Manager leverages soft sensors, i.e., software/hardware tools already in use by the users, thus not introducing any additional cost. E-Net-Manager combines information provided by the users and data obtained from a number of these soft sensors. This way, it is possible to accurately determine the user presence/activity near her/his PC and, therefore, eliminate wastes also due to short periods of inactivity

    Green Buildings and Ambient Intelligence: case study for N.A.S.A. Sustainability Base and future Smart Infrastructures

    Get PDF
    Con la diffusione delle smart infrastructures, espressione con cui ci si riferisce collettivamente ai concetti di smart cities e smart grid, i sistemi di building automation vedono il proprio ruolo espandersi oltre i tradizionali limiti degli ambienti isolati che sono progettati per gestire, supervisionare ed ottimizzare. Da sistemi isolati all’interno di edifici residenziali o commerciali, stanno iniziando ad ottenere un ruolo importante su scala più ampia nell’ambito di scenari più complessi a livello urbano o a livello di infrastruttura. Esempi di questa tendenza possono essere le attuali sperimentazioni in varie città del mondo per automatizzare l’illuminazione pubblica, complessi residenziali diffusi (spesso denominati smart connected comunities) e microgrid locali generate dalla federazione di varie unità residenziali a formare cosidette virtual power plants. A causa di questo processo, ci sono aspettative crescenti circa il potenziale delle reti di automazione di introdurre funzionalità sofisticate da un parte ed efficienza energetica dall’altra, ed entrambi gli aspetti su vasta scala. Sfortunatamente questi due obiettivi sono per diversi motivi in conflitto ed è dunque inevitabile individuare un ragionevole compromesso di progettazione. Questa ricerca realizza una caratterizzazione delle attuali tecnologie di automazione per identificare i termini di tale compromesso, con un’attenzione maggiormente polarizzata sugli aspetti di efficienza energetica, analizzata seguendo un approccio olistico, affrontando diversi aspetti del problema. Indubbiamente, data la complessità del vasto scenario tecnologico delle future smart infrastructures, non c’è una finalità sistematica nel lavoro. Piuttosto si intende fornire un contributo alla conoscenza, dando priorità ad alcune sfide di ricerca che sono altresì spesso sottovalutate. Il Green networking, ovvero l’efficienza energetica nel funzionamento di rete, è una di tali sfide. L’attuale infrastruttura IT globale è costruita su attrezzature che collettivamente consumano 21.4 TWh/anno (Global e-Sustainability Initiative, 2010). Questo è dovuto alla scarsa consapevolezza del fatto che le specifiche dei protocolli di comunicazione hanno varie implicazioni sull’efficienza energetica e alla generale tendenza ad una progettazione ridondante e sovra-dimensionata per il caso peggiore. Questo problema potrebbe essere riscontrato anche nelle reti di automazione, specialmente data la tendenza di cui si discuteva sopra, e in tal caso, queste potrebbero introdurre un ulteriore carbon footprint, in aggiunta a quello della rete internet. In questa ricerca si intende dimensionare tale problema e proporre approcci alternativi agli attuali modelli di hardware e protocollo tipici delle tecnologie di automazione in commercio. Spostandosi dalla rete di controllo all’ambiente fisico, altro obiettivo di questo lavoro è la caratterizzazione di sistemi di gestione automatica dei plug loads, carichi elettrici altrimenti non gestiti da alcun impianto di building automation. Per tali sistemi verranno mostrati i limiti e le potenzialità, identificando potenziali problematiche di design e proponendo un approccio integrato di tali sistemi all’interno di sistemi più ampi di gestione dell’energia. Infine, il meccanismo introdotto nella parte di green networking è potenzialmente in grado di fornire informazioni in tempo reale circa il contesto controllato. Si tratta di un potenziale sfruttabile per sviluppare soluzioni di Demand Side Management, allo scopo di effettuare previsioni di picco e di carico. Questa analisi è attualmente in corso, attraverso una partnership con Enel Distribuzione. With the advent of smart infrastructures, collective expression used here to refer to novel concepts such as smart cities and smart grid, building automation and control networks are having their role expanded beyond the traditional boundaries of the isolated environments they are designed to manage, supervise and optimize. From being confined within residential or commercial buildings as islanded, self-contained systems, they are starting to gain an important role on a wider scale for more complex scenarios at urban or infrastructure level. Example of this ongoing process are current experimental setups in cities worldwide to automate urban street lighting, diffused residential facilities (also often addressed to as smart connected communities) and local micro-grids generated by the federation of several residential units into so-called virtual power plants. Given this underlying process, expectations are dramatically increasing about the potential of control networks to introduce sophisticated features on one side and energy efficiency on the other, and both on a wide scale. Unfortunately, these two objectives are, in several ways, conflicting, and impose to settle for reasonable trade-offs. This research work performs an assessment of current control and automation technologies to identify the terms of this trade-off with a stronger focus on energy efficiency which is analyzed following a holistic approach covering several aspects of the problem. Nevertheless, given the complexity of the wide technology scenario of future smart infrastructure, there isn’t a systematic intention in the work. Rather, this research will aim at providing valuable contribution to the knowledge in the field, prioritizing challenges within the whole picture that are often neglected. Green networking, that is energy efficiency of the very network operation, is one of these challenges. The current worldwide IT infrastructure is built upon networking equipment that collectively consume 21.4 TWh/year (Global e-Sustainability Initiative, 2010). This is the result of an overall unawareness of energy efficiency implications of communication protocols specifications and a tendency toward over-provisioning and redundancy in architecture design. As automation and control networks become global, they may be subject to the same issue and introduce an additional carbon footprint along with that of the internet. This research work performs an assessment of the dimension of this problem and proposes an alternative approach to current hardware and protocol design found in commercial building automation technologies. Shifting from the control network to the physical environment, another objective of this work is related to plug load management systems, which will be characterized as to their performance and limitations, highlighting potential design pitfalls and proposing an approach toward integrating these systems into more general energy management systems. Finally, the mechanism introduced above to increase networking energy efficiency also demonstrated a potential to provide real-time awareness about the context being managed. This potential is currently under investigation for its implications in performing basic load/peak forecasting to support demand side management architectures for the smart grid, through a partnership with the Italian electric utility

    Contributions to the solution of the energy efficient file distribution problem

    Get PDF
    It has been realized that energy; one of the key requirements for modern human civilization, must be used efficiently for the civilization to be sustainable. The Information and Communications Technology (ICI) sector is no exception. It has been shown through research that ICT is consuming energy comparable to the aviation sector and is still increasing rapidly. In order to address this issue, many energy efficient approaches applicable to ICT sector have been proposed in the literature. In this Thesis, we pick one of the most ubiquitous task in ICT, file distribution and concentrate on finding ways of transferring a file from one server to many hosts in the most energy efficient manner. We study the problem for one server and many host problem but our algorithms can be applied to many general scenarios inducing P2P file distri­bution, replication of content in a doud, synchronization of caches in content distribution networks, downloading software updates to millions of PCs worldwide, and many more applications w here the data disseminated does not have to be consumed instantaneous y; for example, in video streaming. We study the problem for one server and many hosts but our algorithms can be applied to more general scenarios inducing P2P file distribution, replication of content in a doud, synchronization of caches in content distribution networks, downloading soft­ware updates to millions of PCs worldwide, We assume that the time is slotted and that the file is transferred in units of data called blocks. Each host can have arbitrary power consumption, upload and download capacities. To begin with, we prove that the prob­lem of energy efficient file distribution is NP-complete. In order to solve the problem optimally; we assume additional constraints and impose that all the hosts involved in the file transfer should have same upload and download capacity. Moreover; we also assume that the upload and download capacities are such that they are integral multi­ples of each other, which is typically the case. Under these conditions, we prove lower bounds on energy and design algorithms for file distribution that achieve the calculated lower bounds. Our algorithms minimize the amount of time a host has to be on to down­load and/ or upload in the distribution process. Apart from being theoretically sound, we also evaluate our model by extending our analysis through extensive numerical evaluation to compare the proposed algorithms with the already existing schemes of transfers. Our algorithms show promising improvement over not just the traditional energy agnostic approaches but also over the schemes designed for energy efficient file distribution. It has been shown that our algorithms are at least 50% more energy efficient than any of the proposals compared with. We advance our numerical analysis to relax the constraints in the theoretical analysis and conclude that our algorithms are also applicable in scenarios in which the comput­ing and networking hardware is energy efficient. Our algorithms can exploit the power proportionality of the devices. No efficiency comes without a cost. In this case, we pay the cost in terms of the tight synchronization that our algorithms require. However, we argue that such a tight syn­chronization at each slot level is possible in today's Internet particularly if the algorithms are applied to the hosts inside a corporation in which all the hosts and network are controlled by a central entity. For example, servers of a cloud, content distribution network, software updates inside a corporation, etc.Programa Oficial de Doctorado en Ingeniería TelemáticaPresidente: Fidel Cacheda Seijo.- Secretario: María Carmen Guerrero López.- Vocal: Guillermo Agustín Ibáñez Fernánde

    Study of Desktop Computer Energy Waste at Worcester Polytechnic Institute

    Get PDF
    This IQP sought to improve sustainability at WPI by reducing the energy wasted by the university’s desktop computers. Energy waste was calculated by inventorying desktop computers, measuring their power draw, and estimating the ways in which they were used. It was found that the university’s desktop computers waste approximately 300,000 kWh of electricity annually; however, a policy of putting idle computers to sleep with Windows 7 Power Options could reduce this waste by 69%

    Programming models for mobile environments

    Get PDF
    For the last decade, mobile devices have grown in popularity and became the best-selling computing devices. Despite their high capabilities for user interactions and network connectivity, the computing power of mobile devices is low and the lifetime of the application running on them limited by the battery. Mobile Cloud Computing (MCC) is a technology that tackles the limitations of mobile devices by bringing together their mobility with the vast computing power of the Cloud. Programming applications for Mobile Cloud Computing (MCC) environments is not as straightforward as coding monolithic applications. Developers have to deal with the issues related to parallel programming for distributed infrastructures while considering the battery lifetime and the variability of the network produced by the high mobility of this kind of devices. As with any other distributed environment, developers turn to programming models to improve their productivity by avoiding the complexity of manually dealing with these issues and delegate on the corresponding model all the management of these concerns. This thesis contributes to the current state of the art with an adaptation of the COMPSs programming model for MCC environments. COMPSs allows application programmers to code their applications in a sequential, infrastructure-agnostic fashion without calls to any COMPSs-specific API using the native language for the target platform as if they were to run on the mobile device. At execution time, a runtime system automatically partitions the application into tasks and orchestrates their execution on top of the available resources. This thesis contributes with an extension to the programming model to allow task polymorphism and let the runtime exploit computational resources other than the CPU of the resources. Besides, the runtime architecture has been redesigned with the characteristics of MCC in mind, and it runs as a common service which all the applications running simultaneously on the mobile device contact for submitting the execution of their tasks. For collaboratively exploiting both, local and remote resources, the runtime clusters the computational devices into Computing Platforms according to the mechanisms required to provide the processing elements with the necessary input values, launch the task execution avoiding resource oversubscription and fetching the results back from them. The CPU Platform run tasks on the cores of the CPU. The GPU Platform leverages on OpenCL to run tasks as kernels on GPUs or other accelerators embedded in the mobile device. Finally, the Cloud Platform offloads the execution of tasks onto remote resources. To holistically decide whether is worth running a task on embedded or on remote resources, the runtime considers the the costs -- time, energy and money -- of running the computation on each of the platforms and picks the best. Each platform manages internally its resources and orchestrates the execution of tasks on them using different scheduling policies. Using local and remote computing devices forces the runtime to share data values among the nodes of the infrastructure. This data is potentially privacy-sensitive, and the runtime exposes it to possible attackers when transferring it through the network. To protect the application user from data leaks, the runtime has to provide communications with secrecy, integrity and authenticity. In the extreme case of a network breakdown that isolates the mobile device from the remote nodes, the runtime has to ensure that the execution continues to provide the application user with the expected result even if the connection never re-establishes. The mobile device has to respond using only the resources embedded in it, what could incur in the re-execution of computations already ran on the remote resources. Remote workers have to continue with the execution so that, in case of reconnection, both parts synchronize its progress to reduce the impact of the disruption.Els últims anys, els dispositius mòbils han guanyat en popularitat i s'han convertit en els dispositius més venuts. Tot i la connectivitat i la bona interacció amb l'usuari que ofereixen, la seva capacitat de càlcul is baixa i limitada per la vida de la bateria. El Mobile Cloud Computing (MCC) és una tecnologia que soluciona les limitacions d'aquests dispositius ajuntant la seva mobilitat amb la gran capacitat de còmput del Cloud. Programar aplicacions per entorns MCC no és tan directe com fer aplicacions monolítiques. Els desenvolupadors han de tractar amb els problemes relacionats amb la programació paral·lela mentre tenen en compte la duració de la bateria i la variabilitat de la xarxa degut a la mobilitat inherent a aquest tipus de dispositius. Com per qualsevol altre entorn distribuït, els desenvolupadors recorren a models de programació que millorin la seva productivitat i els evitin tractar manualment amb aquests problemes delegant la seva gestió en el model. Aquesta tesis contribueix a l'estat de l'art actual amb una adaptació del model de programació COMPSs als entorns MCC. COMPSs permet als desenvolupadors programar les aplicacions de forma agnòstica a la infraestructura i seqüencial sense necessitat d'invocar cap API específica utilitzant el llenguatge natiu de la platforma com si l'aplicació s'executés directament en el mòbil. En temps d'execució, una eina (runtime) automàticament divideix l'aplicació en tasques i n'orquestra la seva execució sobre els recursos disponibles. Aquesta tesis estèn el model de programació per tal de permetre polimorfisme a nivell de tasca i deixar al runtime explotar els recursos computacionals dels que disposa el mòbil a part de la CPU. A més a més, l'arquitectura del runtime s'ha redissenyat tenint en compte les característiques pròpies del MCC, i aquest s'executa com un servei comú al que totes les aplicacions del mòbil contacten per tal d'executar les seves tasques. Per explotar col·laborativament tots els recursos, locals i remots, el runtime agrupa els recursos en Computing Platforms en funció dels mecanismes necessaris per proveir el recurs amb les dades d'entrada necessàries, llançar l'execució i recuperar-ne els resultats. La CPU Platform executa tasques en els nuclis de la CPU. La GPU Platform utilitza OpenCL per executar tasques en forma de kernels a la GPU o altres acceleradors integrats en el mòbil. Finalment, la Cloud Platform descàrrega l'execució de tasques en recursos remots. Per decidir holisticament si és millor executar una tasca en un recurs local o en un remot, el runtime considera els costs (temporal, energètic econòmic) d'executar la tasca en cada una de les plataformes i n'escull la millor. Cada plataforma gestiona internament els seus recursos i orquestra l'execució de les tasques en ells seguint diferents polítiques de planificació. L'ús de recursos locals i remots força la compartició de dades entre els nodes de la infraestructura. Aquestes dades són potencialment sensibles i de caràcter privat i el runtime les exposa a possibles atacs que les transfereix per la xarxa. Per tal de protegir l'usuari de possibles fuites de dades, el runtime ha de dotar les comunicacions amb confidencialitat, integritat i autenticitat. En el cas extrem en que un error de xarxa aïlli el dispositiu mòbil dels nodes remots, el runtime ha d'assegurar que l'execució continua i que eventualment l'usuari rebrà el resultat esperat fins i tot en cas de que la connexió no és restableixi mai. El mòbil ha de ser capaç d'executar l'aplicació utilitzant únicament les dades i recursos disponibles en aquell moment, la qual cosa pot forçar la re-execució d'algunes tasques ja calculades en els recursos remots. Els recursos remots han de continuar l'execució per tal que en cas de reconnexió, ambdues parts sincronitzin el seu progrés i es minimitzi l'impacte de la desconnexió

    Programming models for mobile environments

    Get PDF
    Premi extraordinari doctorat UPC curs 2017-2018. Àmbit d’Enginyeria de les TICFor the last decade, mobile devices have grown in popularity and became the best-selling computing devices. Despite their high capabilities for user interactions and network connectivity, the computing power of mobile devices is low and the lifetime of the application running on them limited by the battery. Mobile Cloud Computing (MCC) is a technology that tackles the limitations of mobile devices by bringing together their mobility with the vast computing power of the Cloud. Programming applications for Mobile Cloud Computing (MCC) environments is not as straightforward as coding monolithic applications. Developers have to deal with the issues related to parallel programming for distributed infrastructures while considering the battery lifetime and the variability of the network produced by the high mobility of this kind of devices. As with any other distributed environment, developers turn to programming models to improve their productivity by avoiding the complexity of manually dealing with these issues and delegate on the corresponding model all the management of these concerns. This thesis contributes to the current state of the art with an adaptation of the COMPSs programming model for MCC environments. COMPSs allows application programmers to code their applications in a sequential, infrastructure-agnostic fashion without calls to any COMPSs-specific API using the native language for the target platform as if they were to run on the mobile device. At execution time, a runtime system automatically partitions the application into tasks and orchestrates their execution on top of the available resources. This thesis contributes with an extension to the programming model to allow task polymorphism and let the runtime exploit computational resources other than the CPU of the resources. Besides, the runtime architecture has been redesigned with the characteristics of MCC in mind, and it runs as a common service which all the applications running simultaneously on the mobile device contact for submitting the execution of their tasks. For collaboratively exploiting both, local and remote resources, the runtime clusters the computational devices into Computing Platforms according to the mechanisms required to provide the processing elements with the necessary input values, launch the task execution avoiding resource oversubscription and fetching the results back from them. The CPU Platform run tasks on the cores of the CPU. The GPU Platform leverages on OpenCL to run tasks as kernels on GPUs or other accelerators embedded in the mobile device. Finally, the Cloud Platform offloads the execution of tasks onto remote resources. To holistically decide whether is worth running a task on embedded or on remote resources, the runtime considers the the costs -- time, energy and money -- of running the computation on each of the platforms and picks the best. Each platform manages internally its resources and orchestrates the execution of tasks on them using different scheduling policies. Using local and remote computing devices forces the runtime to share data values among the nodes of the infrastructure. This data is potentially privacy-sensitive, and the runtime exposes it to possible attackers when transferring it through the network. To protect the application user from data leaks, the runtime has to provide communications with secrecy, integrity and authenticity. In the extreme case of a network breakdown that isolates the mobile device from the remote nodes, the runtime has to ensure that the execution continues to provide the application user with the expected result even if the connection never re-establishes. The mobile device has to respond using only the resources embedded in it, what could incur in the re-execution of computations already ran on the remote resources. Remote workers have to continue with the execution so that, in case of reconnection, both parts synchronize its progress to reduce the impact of the disruption.Els últims anys, els dispositius mòbils han guanyat en popularitat i s'han convertit en els dispositius més venuts. Tot i la connectivitat i la bona interacció amb l'usuari que ofereixen, la seva capacitat de càlcul is baixa i limitada per la vida de la bateria. El Mobile Cloud Computing (MCC) és una tecnologia que soluciona les limitacions d'aquests dispositius ajuntant la seva mobilitat amb la gran capacitat de còmput del Cloud. Programar aplicacions per entorns MCC no és tan directe com fer aplicacions monolítiques. Els desenvolupadors han de tractar amb els problemes relacionats amb la programació paral·lela mentre tenen en compte la duració de la bateria i la variabilitat de la xarxa degut a la mobilitat inherent a aquest tipus de dispositius. Com per qualsevol altre entorn distribuït, els desenvolupadors recorren a models de programació que millorin la seva productivitat i els evitin tractar manualment amb aquests problemes delegant la seva gestió en el model. Aquesta tesis contribueix a l'estat de l'art actual amb una adaptació del model de programació COMPSs als entorns MCC. COMPSs permet als desenvolupadors programar les aplicacions de forma agnòstica a la infraestructura i seqüencial sense necessitat d'invocar cap API específica utilitzant el llenguatge natiu de la platforma com si l'aplicació s'executés directament en el mòbil. En temps d'execució, una eina (runtime) automàticament divideix l'aplicació en tasques i n'orquestra la seva execució sobre els recursos disponibles. Aquesta tesis estèn el model de programació per tal de permetre polimorfisme a nivell de tasca i deixar al runtime explotar els recursos computacionals dels que disposa el mòbil a part de la CPU. A més a més, l'arquitectura del runtime s'ha redissenyat tenint en compte les característiques pròpies del MCC, i aquest s'executa com un servei comú al que totes les aplicacions del mòbil contacten per tal d'executar les seves tasques. Per explotar col·laborativament tots els recursos, locals i remots, el runtime agrupa els recursos en Computing Platforms en funció dels mecanismes necessaris per proveir el recurs amb les dades d'entrada necessàries, llançar l'execució i recuperar-ne els resultats. La CPU Platform executa tasques en els nuclis de la CPU. La GPU Platform utilitza OpenCL per executar tasques en forma de kernels a la GPU o altres acceleradors integrats en el mòbil. Finalment, la Cloud Platform descàrrega l'execució de tasques en recursos remots. Per decidir holisticament si és millor executar una tasca en un recurs local o en un remot, el runtime considera els costs (temporal, energètic econòmic) d'executar la tasca en cada una de les plataformes i n'escull la millor. Cada plataforma gestiona internament els seus recursos i orquestra l'execució de les tasques en ells seguint diferents polítiques de planificació. L'ús de recursos locals i remots força la compartició de dades entre els nodes de la infraestructura. Aquestes dades són potencialment sensibles i de caràcter privat i el runtime les exposa a possibles atacs que les transfereix per la xarxa. Per tal de protegir l'usuari de possibles fuites de dades, el runtime ha de dotar les comunicacions amb confidencialitat, integritat i autenticitat. En el cas extrem en que un error de xarxa aïlli el dispositiu mòbil dels nodes remots, el runtime ha d'assegurar que l'execució continua i que eventualment l'usuari rebrà el resultat esperat fins i tot en cas de que la connexió no és restableixi mai. El mòbil ha de ser capaç d'executar l'aplicació utilitzant únicament les dades i recursos disponibles en aquell moment, la qual cosa pot forçar la re-execució d'algunes tasques ja calculades en els recursos remots. Els recursos remots han de continuar l'execució per tal que en cas de reconnexió, ambdues parts sincronitzin el seu progrés i es minimitzi l'impacte de la desconnexió.Award-winningPostprint (published version
    corecore