Characterizing Checkpointing Techniques for Intermittent Energy Harvesting IoT Systems
Abstract
Energihøsting presenterer en lovende tilnærming til å drive tingenes internett-systemer som opererer uregelmessig. Spesielt på avsidesliggende eller utilgjengelige steder hvor batterivedlikehold er upraktisk. Denne avhandlingen utforsker sjekkpunktsteknikker for å forbedre påliteligheten og effektiviteten til tingenes internett-systemer drevet av energihøsting. Ved å karakterisere ulike sjekkpunktløsninger øker denne avhandlingen forståelsen av hvilke applikasjoner og miljøforhold som drar nytte av sjekkpunkting. I tillegg finner den konfigurasjoner som generelt drar nytte av sjekkpunkting.
Denne avhandlingen beskriver implementasjonen og tester av tre sjekkpunktingsteknikker, en periodisk og to just-in-time, ved å bruke simuleringer og fysiske eksperimenter. Simuleringsmodeller er laget med Python og de fysiske eksperimentene bruker en evalueringsplattform. Plattformen består av et evalueringsbrett laget av Lukas Liedtke og et testprogram tidligere utviklet av forfatterne i samarbeid med L. Liedtke. Resultatene indikerer at just-in-time sjekkpunkting utkonkurrerer periodisk sjekkpunkting med stor margin i de fleste tilfeller. På det verste oppnår periodisk sjekkpunkting bare 8 % gjennomføring sammenlignet med de andre metodene. Likevel er det viktig å erkjenne at det ikke finnes et enkelt, definitivt svar på hvilken sjekkpunktingsmetode som er best, da ytelse og energiforbruk er sterkt avhengig av både applikasjonen og miljøforholdene.
I motsetning til mesteparten av den undersøkte relaterte litteraturen viser denne avhandlingen at en tilnærming hvor energilagringsspenningen måles etter hver vellykkede oppgave, er bedre enn en konstant kjørende komparator. Forskjellen i gjennomføring er målt til å være opp til omtrent 26 %. De energihøstende tingenes internett-systemene i de nyeste tilnærmingene er enda mindre og mer strømgjerrige enn de som er brukt på evalueringsbrettet, noe som gjør denne motsetningen bare relevant for visse systemstørrelser. Energy Harvesting presents a promising approach to powering intermittently operating Internet of Things systems, especially in remote or inaccessible locations where battery maintenance is impractical. This thesis explores checkpointing techniques to enhance the reliability and efficiency of Internet of Things systems powered by energy harvesting. By characterizing different checkpointing schemes, this thesis increases the understanding of what kind of applications and environmental conditions benefit from specific checkpointing techniques. In addition, it finds configurations that benefit from checkpointing in general.
This thesis describes the implementation and tests of three checkpointing techniques, one periodic and two Just-In-Time, in simulations and physical experiments. Simulation models are made in Python, while the physical experiments utilize an evaluation platform. The platform consists of an evaluation board created by Lukas Liedtke and a test program previously developed by the authors in collaboration with L. Liedtke. The results indicate that Just-In-Time checkpointing outperforms periodic checkpointing by a large margin in most cases. At worst, periodic checkpointing achieves only 8 % throughput compared to the other methods. Nevertheless, it is important to recognize that there is no single definitive answer as to which checkpointing method is best, as performance and energy consumption are highly dependent on both the application and the environmental conditions.
In contradiction to most of the researched related work, this thesis shows that an approach where the energy storage voltage is measured after each successful task is better than a constantly running comparator. At most, the difference in throughput is up to approximately 26 %. The Energy Harvesting Iinternet of Things systems of the state-of-the-art approaches are even smaller and more low-power than that of the evaluation board, which makes the contradiction only applicable for certain system sizes.