Modern integrated circuits, fabricated in nanometer technologies, suffer from significant power/performance variation across-chip, chip-to-chip and over time due to aging and ambient fluctuations. Furthermore, several existing and emerging reliability loss mechanisms have caused increased transient, intermittent and permanent failure rates. While this variability has been typically addressed by process, device and circuit designers, there has been a recent push towards sensing and adapting to variability in the various layers of software. Current hardware platforms, however, typically lack variability sensing capabilities. Even if sensing capabilities were available, evaluating variability-aware software techniques across a significant number of hardware samples would prove exceedingly costly and time consuming.We introduce VarEMU, an extension to the QEMU virtual machine monitor that serves as a framework for the evaluation of variability-aware software techniques. VarEMU provides users with the means to emulate variations in power consumption and in fault characteristics and to sense and adapt to these variations in software. Through the use (and dynamic change) of parameters in a power model, users can create virtual machines that feature both static and dynamic variations in power consumption. Faults may be injected before or after, or completely replace the execution of any instruction. Power consumption and susceptibility to faults are also subject to dynamic change according to an aging model. A software stack for VarEMU features precise control over faults and provides virtual energy monitors to the operating system and processes. This allows users to precisely quantify and evaluate the effects of variations on individual applications. We show how VarEMU tracks energy consumption according to variation-aware power and aging models and give examples of how it may be used to quantify how faults in instruction execution affect applications.
Abstract:In a wireless sensor network, several sensor nodes obtain local data and communicate among themselves in order to create a global vision of an object of study. The idea of a self-managed network of low-power, autonomous devices, that collects data from an environment and propagates information through a wireless link brought about several new challenges and requirements in application run-time support. Several research projects have aimed at solving the problem of system support for sensor networks. However, most of them have failed in dealing with two requirements: transparent configuration of the data communication channel and efficient and unified sensor hardware abstraction. In this work we designed and implemented a run-time support environment for wireless sensor network applications based on the EPOS operating system. Through this environment, applications were allowed to configure the communication channel according to their needs and to acquire sensor data through a family-based, uniform, sensor data acquisition API. Our tests showed that the introduction this environment did not incur in excessive overhead and presented significant advantages in relation to the solutions found in other operating systems for sensor networks.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.