Ph.D. in Information Technology: Thesis Defense
DEIB - Alpha Room (Building 24)
February 15th, 2018
2.30 pm
February 15th, 2018
2.30 pm
Abstract
The PhD Program in Information Technology is pleased to announce the following defense for our Doctoral student:
February 15th, 2018, DEIB Alpha Room (Building 24) at 2.30 pm:
Naveed Anwar BHATTI – XXX Cycle
"System Support for Transiently-Powered Embedded Sensing Systems"
Advisor: Prof. Luca Mottola
Abstract:
Transiently powered embedded systems are becoming popular because of their self-sustainable, no maintenance and easily deployable nature. However, there is an intrinsic challenge with these systems: they can be unpredictably interrupted, as energy harvesting by no means can ensure a predictable supply of energy. Reboots will frequently happen, which translates into a waste of resources, including energy, as applications need to re-initialize and re-acquire the state. As a result, the overall performance inevitably suffers. To allow an application to cross the boundaries of periods of energy unavailability, prior solutions, either save only a portion of program memory (avoiding the heap) limiting developers to employ sophisticated programming techniques, or resort to hardware modifications by replacing SRAM with FRAM, that may not only impact cost but also processing speed. This thesis aims to design software techniques for transiently-powered embedded devices, allowing an application to make progress, with a minimum possible energy spent on saving the system state and without resorting to hardware modifications. In the first part of the thesis, we present the detailed analysis of the existing energy harvesting and wireless energy transfer solutions for wireless sensor networks (WSNs). We define desirable properties, classify existing solutions, and argue about their applicability in different deployment environments. Later, we conduct a comprehensive survey of the state of the art for transiently-powered embedded systems. We discuss challenges, define goals and classify transiently-powered embedded system solutions into different categories based on the techniques they use to ensure forward progress of the application. In the second part of the thesis, we develop three different techniques for saving system state quickly and in an energy-efficient manner, exploiting different properties of non-volatile memory. Key to their efficiency is the way the state information is organized on non-volatile memory. Our results, through extensive evaluation, crucially indicate that there is no "one-size-fits-all" solution. It is the application's memory characteristics that will make one technique preferable over another. These evaluation results also lead us to design an additional technique, DICE, in which, instead of reading non-volatile memory to compute changes in the main memory (which is energy-hungry operation and used in previous techniques), we track changes in the main memory through just code instrumentation. This makes DICE not only further reduce the amount of data to write onto non-volatile memory to ensure forward progress of the application, but also helps existing system support complete a given workload with better energy efficiency and reduced execution latency. Finally, we present HarvOS that decides when to save the system state by looking at the worst-case energy cost required to reach the next opportunity to save system state, depending on the program structure as represented in the control-flow graph. HarvOS allows the system to make an informed decision, at every opportunity to save system state, on whether to continue with the normal execution or save the system state. Our evaluation indicates that HarvOS allows transiently-powered embedded systems to complete a given workload with 68% fewer restarts, compared to existing literature.
PhD Committee:
Prof. Luca Mottola, DEIB - Politecnico di Milano
Prof. Christian Renner, Hamburg University of Technology
Prof. Olga Saukh, Graz University of Technology
February 15th, 2018, DEIB Alpha Room (Building 24) at 2.30 pm:
Naveed Anwar BHATTI – XXX Cycle
"System Support for Transiently-Powered Embedded Sensing Systems"
Advisor: Prof. Luca Mottola
Abstract:
Transiently powered embedded systems are becoming popular because of their self-sustainable, no maintenance and easily deployable nature. However, there is an intrinsic challenge with these systems: they can be unpredictably interrupted, as energy harvesting by no means can ensure a predictable supply of energy. Reboots will frequently happen, which translates into a waste of resources, including energy, as applications need to re-initialize and re-acquire the state. As a result, the overall performance inevitably suffers. To allow an application to cross the boundaries of periods of energy unavailability, prior solutions, either save only a portion of program memory (avoiding the heap) limiting developers to employ sophisticated programming techniques, or resort to hardware modifications by replacing SRAM with FRAM, that may not only impact cost but also processing speed. This thesis aims to design software techniques for transiently-powered embedded devices, allowing an application to make progress, with a minimum possible energy spent on saving the system state and without resorting to hardware modifications. In the first part of the thesis, we present the detailed analysis of the existing energy harvesting and wireless energy transfer solutions for wireless sensor networks (WSNs). We define desirable properties, classify existing solutions, and argue about their applicability in different deployment environments. Later, we conduct a comprehensive survey of the state of the art for transiently-powered embedded systems. We discuss challenges, define goals and classify transiently-powered embedded system solutions into different categories based on the techniques they use to ensure forward progress of the application. In the second part of the thesis, we develop three different techniques for saving system state quickly and in an energy-efficient manner, exploiting different properties of non-volatile memory. Key to their efficiency is the way the state information is organized on non-volatile memory. Our results, through extensive evaluation, crucially indicate that there is no "one-size-fits-all" solution. It is the application's memory characteristics that will make one technique preferable over another. These evaluation results also lead us to design an additional technique, DICE, in which, instead of reading non-volatile memory to compute changes in the main memory (which is energy-hungry operation and used in previous techniques), we track changes in the main memory through just code instrumentation. This makes DICE not only further reduce the amount of data to write onto non-volatile memory to ensure forward progress of the application, but also helps existing system support complete a given workload with better energy efficiency and reduced execution latency. Finally, we present HarvOS that decides when to save the system state by looking at the worst-case energy cost required to reach the next opportunity to save system state, depending on the program structure as represented in the control-flow graph. HarvOS allows the system to make an informed decision, at every opportunity to save system state, on whether to continue with the normal execution or save the system state. Our evaluation indicates that HarvOS allows transiently-powered embedded systems to complete a given workload with 68% fewer restarts, compared to existing literature.
PhD Committee:
Prof. Luca Mottola, DEIB - Politecnico di Milano
Prof. Christian Renner, Hamburg University of Technology
Prof. Olga Saukh, Graz University of Technology