7 research outputs found

    Waldo: Batteryless Occupancy Monitoring with Reflected Ambient Light

    Get PDF
    Reliable and accurate room-level occupancy-tracking systems can enable many new advances in sensors and applications of modern smart buildings. This allows buildings to be more capable of adapting to the needs of their occupants in their day-to-day activities and better optimize certain resources, such as power and air conditioning, to do so. Unfortunately, existing occupancy-tracking systems are plagued by large size, high energy consumption, and, unsurprisingly, short battery lifetimes. In this paper, we present Waldo, a batteryless, room-level occupancy monitoring sensor that harvests energy from indoor ambient light reflections, and uses changes in these reflections to detect when people enter and exit a room. Waldo is mountable at the top of a doorframe, allowing for detection of a person and the direction they are traveling at the entry and exit point of a room. We evaluated the Waldo sensor in an office-style setting under mixed lighting conditions (natural and artificial) on both sides of the doorway with subjects exhibiting varying physical characteristics such as height, hair color, gait, and clothing. 651 number of controlled experiments were ran on 6 doorways with 12 individuals and achieved a total detection accuracy of 97.38%. Further, it judged the direction of movement correctly with an accuracy of 95.42%. This paper also evaluates and discusses various practical factors that can impact the performance of the current system in actual deployments. This work demonstrates that ambient light reflections provide both a promising low-cost, long-term sustainable option for monitoring how people use buildings and an exciting new research direction for batteryless computing

    ETAP: Energy-aware Timing Analysis of Intermittent Programs

    Get PDF
    Energy harvesting battery-free embedded devices rely only on ambient energy harvesting that enables stand-alone and sustainable IoT applications. These devices execute programs when the harvested ambient energy in their energy reservoir is sufficient to operate and stop execution abruptly (and start charging) otherwise. These intermittent programs have varying timing behavior under different energy conditions, hardware configurations, and program structures. This paper presents Energy-aware Timing Analysis of intermittent Programs (ETAP), a probabilistic symbolic execution approach that analyzes the timing and energy behavior of intermittent programs at compile time. ETAP symbolically executes the given program while taking time and energy cost models for ambient energy and dynamic energy consumption into account. We evaluated ETAP on several intermittent programs and compared the compile-time analysis results with executions on real hardware. The results show that ETAP's normalized prediction accuracy is 99.5%, and it speeds up the timing analysis by at least two orders of magnitude compared to manual testing.Comment: Corrected typos in the previous submissio

    The Parallel Persistent Memory Model

    Full text link
    We consider a parallel computational model that consists of PP processors, each with a fast local ephemeral memory of limited size, and sharing a large persistent memory. The model allows for each processor to fault with bounded probability, and possibly restart. On faulting all processor state and local ephemeral memory are lost, but the persistent memory remains. This model is motivated by upcoming non-volatile memories that are as fast as existing random access memory, are accessible at the granularity of cache lines, and have the capability of surviving power outages. It is further motivated by the observation that in large parallel systems, failure of processors and their caches is not unusual. Within the model we develop a framework for developing locality efficient parallel algorithms that are resilient to failures. There are several challenges, including the need to recover from failures, the desire to do this in an asynchronous setting (i.e., not blocking other processors when one fails), and the need for synchronization primitives that are robust to failures. We describe approaches to solve these challenges based on breaking computations into what we call capsules, which have certain properties, and developing a work-stealing scheduler that functions properly within the context of failures. The scheduler guarantees a time bound of O(W/PA+D(P/PA)log1/fW)O(W/P_A + D(P/P_A) \lceil\log_{1/f} W\rceil) in expectation, where WW and DD are the work and depth of the computation (in the absence of failures), PAP_A is the average number of processors available during the computation, and f1/2f \le 1/2 is the probability that a capsule fails. Within the model and using the proposed methods, we develop efficient algorithms for parallel sorting and other primitives.Comment: This paper is the full version of a paper at SPAA 2018 with the same nam
    corecore