- Parallel Computing and Optimization Techniques
- Distributed systems and fault tolerance
- Energy Harvesting in Wireless Networks
- Software System Performance and Reliability
- IoT and Edge/Fog Computing
- Security and Verification in Computing
- Advanced Data Storage Technologies
- Cloud Computing and Resource Management
- Green IT and Sustainability
- Software Testing and Debugging Techniques
- Interconnection Networks and Systems
- Embedded Systems Design Techniques
- Opportunistic and Delay-Tolerant Networks
- Distributed and Parallel Computing Systems
- Graph Theory and Algorithms
- Age of Information Optimization
- Satellite Communication Systems
- Energy Efficient Wireless Sensor Networks
- Advanced Memory and Neural Computing
- Innovative Energy Harvesting Technologies
- Modular Robots and Swarm Intelligence
- RFID technology advancements
- Real-Time Systems Scheduling
- Radiation Effects in Electronics
- Cryptography and Data Security
Carnegie Mellon University
2016-2025
Pennsylvania State University
2022
Microsoft (United States)
2014
University of Washington
2008-2013
University of Michigan
2009
Current shared memory multicore and multiprocessor systems are nondeterministic. Each time these execute a multithreaded application, even if supplied with the same input, they can produce different output. This frustrates debugging limits ability to properly test code, becoming major stumbling block much-needed widespread adoption of parallel programming.In this paper we make case for fully deterministic multiprocessing (DMP). The behavior an arbitrary program on DMP system is only function...
The emergence of energy harvesting devices creates the potential for batteryless sensing and computing devices. Such operate only intermittently, as is available, presenting a number challenges software developers. Programmers face complex design space requiring reasoning about energy, memory consistency, forward progress. This paper introduces Alpaca, low-overhead programming model intermittent on energy-harvesting Alpaca programs are composed sequence user-defined tasks. runtime preserves...
Energy harvesting enables novel devices and applications without batteries, but intermittent operation under energy poses new challenges to memory consistency that threaten leave in failed states not reachable continuous execution. This paper presents analytical models aid reasoning about intermittence. Using these, we develop DINO (Death Is Not an Option), a programming execution model simplifies for systems ensures volatile nonvolatile data despite near-constant interruptions. is the first...
Energy harvesting computers enable general-purpose computing using energy collected from their environment. Energy-autonomy of such devices has great potential, but intermittent power supply poses a challenge. Intermittent program execution compromises progress and leaves state inconsistent. This work describes Chain: new model for programming devices.
Energy-harvesting technology provides a promising platform for future IoT applications. However, since communication is very expensive in these devices, applications will require inference "beyond the edge" to avoid wasting precious energy on pointless communication. We show that application performance highly sensitive accuracy. Unfortunately, accurate requires large amounts of computation and memory, energy-harvesting systems are severely resource-constrained. Moreover, operate...
Advances in nanosatellite technology and a declining cost of access to space have fostered an emergence large constellations sensor-equipped satellites low-Earth orbit. Many these satellite systems operate under "bent-pipe" architecture, which ground stations send commands orbit reply with raw data. In this work, we observe that bent-pipe architecture for Earth-observing breaks down as constellation population increases. Communication is limited by the physical configuration constraints...
Processing-in-memory (PIM) architectures cannot use traditional approaches to cache coherence due the high off-chip traffic consumed by messages. We propose LazyPIM, a new hardware mechanism designed specifically for PIM. LazyPIM uses combination of speculative and compressed signatures greatly reduce overhead keeping PIM coherent with processor. find that improves average performance across range applications 49.1 percent over best prior approach, coming within 5.5 an ideal mechanism.
Battery-free, energy-harvesting devices operate using energy collected exclusively from their environment. Energy-harvesting allow maintenance-free deployment in extreme environments, but requires a power system to provide the right amount of when an application needs it. Existing systems must provision capacity statically based on application's peak demand which compromises efficiency and responsiveness not at demand. This work presents Capybara: co-designed hardware/software with...
The maturation of energy-harvesting technology and ultra-low-power computer systems has led to the advent intermittently-powered, batteryless devices that operate entirely using energy extracted from their environment. Intermittently operating present a rich vein programming languages research challenges purpose this paper is illustrate these PL community. To provide depth, includes survey hardware software design space intermittent computing platforms. On foundation state art in software,...
We propose a new algorithm for dynamic data-race detection. Our reports no false positives and runs on arbitrary C C++ code. Unlike previous algorithms, we do not have to instrument every memory access or track full happens-before relation. detector, which call IFRit, is based run-time abstraction called an interference-free region (IFR). An IFR interval of one thread's execution during any write specific variable by different thread data race. insert instrumentation at compile time monitor...
Energy harvesting enables novel devices and applications without batteries, but intermittent operation under energy poses new challenges to memory consistency that threaten leave in failed states not reachable continuous execution. This paper presents analytical models aid reasoning about intermittence. Using these, we develop DINO (Death Is Not an Option), a programming execution model simplifies for systems ensures volatile nonvolatile data despite near-constant interruptions. is the first...
Specialized on-chip accelerators are widely used to improve the energy efficiency of computing systems. Recent advances in memory technology have enabled near-data (NDAs), which reside off-chip close main and can yield further benefits than accelerators. However, enforcing coherence with rest system, is already a major challenge for accelerators, becomes more difficult NDAs. This because (1) cost communication between NDAs CPUs high, (2) NDA applications generate lot data movement. As...
Batteryless energy-harvesting devices have the potential to be foundation of applications for which batteries are infeasible. Just-In-Time checkpointing supports intermittent execution on by processor state right before a power failure. While effective software execution, remains vulnerable unrecoverable failures involving peripherals(e.g., sensors and accelerators) because during peripheral operation may lead inconsistency between program state. Additionally, that uses more energy than...
Batteryless, energy-harvesting systems could reshape the Internet of Things into a more sustainable societal infrastructure.
We argue in this paper that concurrency errors should be treated as exceptions, i.e., have fail-stop behavior and precise semantics. propose an exception model based on conflict of synchronization free regions, which precisely detects a broad class data-races. show our exceptions provide enough guarantees to simplify high-level programming language semantics debugging, but are significantly cheaper enforce than traditional data-race detection. To make the performance cost enforcement...
Incorrect thread synchronization often leads to concurrency bugs that manifest nondeterministically and are difficult detect fix. Past work on detecting has addressed the general problem in an ad-hoc fashion, focusing mostly data races atomicity violations.
Writing shared-memory parallel programs is error-prone. Among the concurrency errors that programmers often face are atomicity violations, which especially challenging. They happen when make incorrect assumptions about and fail to enclose memory accesses should occur atomically inside same critical section. If these be interleaved with conflicting from different threads, program might behave incorrectly. Recent architectural proposals arbitrarily group consecutive dynamic operations into...
Writing shared-memory parallel programs is error-prone. Among the concurrency errors that programmers often face are atomicity violations, which especially challenging. They happen when make incorrect assumptions about and fail to enclose memory accesses should occur atomically inside same critical section. If these be interleaved with conflicting from different threads, program might behave incorrectly. Recent architectural proposals arbitrarily group consecutive dynamic operations into...
Energy-harvesting devices have the potential to be foundation of emerging, sensor-rich application domains where use batteries is infeasible, such as in space and civil infrastructure. Programming on an energy-harvesting device difficult because operates only intermittently, energy available. Intermittent operation requires programmer reason about understand data consistency forward progress their program. Energy varies with input environment, making intermittent programming difficult....
Energy harvesting enables intermittently powered devices to compute without built-in power. But frequent power failures, combined with nonvolatile memory intended protect computational state, introduce strange control flow that turns sequential code into unwieldy concurrent code: programs must grapple their own state from previous interrupted runs. This paper describes the broken time machine problem for these and outlines potential solutions perspective of safe programming.
Edge computing is an emerging paradigm aiding responsiveness, reliability, and scalability of terrestrial sensing networks like cellular IoT. However, edge largely unexplored in high-datarate nanosatellite constellations. Cubesats are small, energy-limited sensors separated from the cloud by hundreds kilometers atmosphere space. As they proliferate, centralized architectures impede advanced applications. In this work, we define characterize Orbital Computing. We describe power software...
Batteryless energy-harvesting devices eliminate the need in batteries for deployed sensor systems, enabling longer lifetime and easier maintenance. However, such cannot support an event-driven execution model (e.g., periodic or reactive execution), restricting use cases hampering real-world deployment. Without knowing exactly how much energy can be harvested future, robustly scheduling workloads is challenging. We introduce CatNap, system with a new programming that asks programmer to...
Emerging energy-harvesting computer systems extract energy from their environment to compute, sense, and communicate with no battery or tethered power supply. Building software for devices is a challenge, because they operate only intermittently as available. Programs frequently reboot due loss, which can corrupt program state prevent forward progress. Task-based programming models allow intermittent execution of long-running applications, but require the programmer decompose code into tasks...
Energy-neutral Internet of Things requires freeing embedded devices from batteries and powering them ambient energy. Ambient energy is, however, unpredictable can only power a device intermittently. Therefore, the paradigm intermittent execution is to save program state into non-volatile memory frequently preserve progress. In task-based programming, saved at task transition. Tasks are fixed compile time agnostic conditions. Thus, may be either more often than necessary or not enough for...
Batteryless image sensors present an opportunity for pervasive wide-spread remote sensor deployments that require little maintenance and have low cost. However, the reliance of these devices on energy harvesting presents tight constraints in quantity can be stored used, as well limited, energy-dependent availability. In this work, we develop Camaroptera, first batteryless, energy-harvesting sensing platform to support active, long-range communication. Camaroptera reduces high latency cost...