Making energy-harvesting computers reliable

A revolutionary and emerging class of energy-harvesting computer systems require neither a battery nor a power outlet to operate, instead operating by harvesting energy from their environment. While radio waves, solar energy, heat, and vibrations have the ability to power devices, harvested energy sources are weak leading to an "intermittent execution", with periodic power failures and unreliable behavior.

Brandon Lucia, an assistant professor of electrical and computer engineering at Carnegie Mellon University, and his Ph.D. student Alexei Colin created the first programming language designed to build reliable software for intermittent, energy-harvesting computers. Colin will present the work at the 2016 SPLASH conference in Amsterdam, Netherlands, on November 3rd.

"Energy is not always available in the environment for a device to harvest," explains Lucia. "Intermittent operation makes it difficult to build applications because existing software programming languages—and programmers themselves—assume that energy is a continuously available resource."

The innovative new programming language, called Chain, asks an application developer to define a set of computational tasks that compute and exchange data through a novel way of manipulating the computer's memory, called a channel. Chain guarantees that tasks execute correctly despite arbitrary power failures.

"When power is not continuously available, power failures disrupt the software's execution, often leading to unrecoverable errors," says Lucia. "Chain solves this problem by requiring computational tasks in the program to use a novel channel-based memory abstraction that ensures tasks complete without error."

Channel-based memory is the key to Chain's ability to avoid software errors: regardless of when power fails, channels ensure that a computational task always has an intact version of the data it needs when power resumes. Restarting a Chain program after a failure has virtually zero time cost because Chain does not rely on an expensive, conventional approach, like memory checkpointing. The extreme scarcity of energy makes efficient restarting essential for energy-harvesting applications including IoT devices and implantable or ingestible medical devices.

"Chain provides important reliability guarantees in a familiar and flexible programming interface that is well-positioned to be the foundation for today's and future energy-harvesting applications," says Lucia.

Lucia, Colin, and Dr. Alanson Sample, a collaborator at Disney Research Pittsburgh, worked together to push Chain into real-world deployment; early next year, in cooperation with nano-satellite company KickSat, software written in Chain will run on-board two tiny, postage stamp-sized satellites in a low-earth orbit of Earth. Once in orbit, these satellites will use tiny solar panels to harvest solar energy, powering them to collect and process sensor data and send information back to earth. While satellites are typically powered by solar energy, these satellites will be the first with the strong software correctness guarantees furnished by Chain ensuring continuous, reliable operation.

"The potential benefit of reliable energy-harvesting computer systems is far-reaching," says Lucia. "Small satellites are proliferating and the space industry itself is expanding. If we can guarantee that even tiny, energy-harvesting satellites operate without interruption, we can make it easier to conduct other scientific research in space. Further out, we may even see future applications like extraterrestrial natural resource discovery relying on this technology."

Related Stories

Researchers at Disney Research and Carnegie Mellon University (CMU) have developed a system for finding computer bugs in small devices that scavenge their energy from their environment and are subject to intermittent power ...

Scientists at VTT have developed a prototype of a tree that harvests solar energy from its surroundings - whether indoors or outdoors - stores it and turns it into electricity to power small devices such as mobile phones, ...

The "Internet of Things" could make cities "smarter" by connecting an extensive network of tiny communications devices to make life more efficient. But all these machines will require a lot of energy. Rather than adding to ...

(Phys.org)—Energy from the ocean, or "blue energy," is arguably the most underexploited power source, according to researchers in a new study. Although the oceans contain enough energy to meet all of the world's energy ...

For our modern, technologically-advanced society, in which technology has become the solution to a myriad of challenges, energy is critical not only for growth but also, more importantly, survival. The sun is an abundant ...

Recommended for you

Past studies have found that a variety of complex networks, from biological systems to social media networks, can exhibit universal topological characteristics. These universal characteristics, however, do not always translate ...

Metasurfaces are two-dimensional (2-D) metamaterials that can control scattering waves of a light beam. Their applications include thin-sheet polarizers, beam splitters, beam steerers and lenses. These structures can control ...

The Transiting Exoplanet Survey Satellite (TESS) was launched on April 18 of last year with the primary objective of discovering transiting planets smaller than Neptune around stars bright enough for spectroscopic investigations ...

A pair of researchers at Purdue University has found a way to use a diatomic Ni-Ni catalyst to synthesize cyclopentenes. In their paper published in the journal Science, You-Yun Zhou and Christopher Uyeda describe their method ...

Photocatalysts – materials that trigger chemical reactions when hit by light – are important in a number of natural and industrial processes, from producing hydrogen for fuel to enabling photosynthesis.

Neutron stars are among the densest-known objects in the universe, withstanding pressures so great that one teaspoon of a star's material would equal about 15 times the weight of the moon. Yet as it turns out, protons—the ...

3 comments

An important concept. Other uses include: battlefield computing for soldiers, passive home electronics like a refrigerator (during blackout does not need batteries), autonomous data collecting such as ocean bouyes, solar pointing devices, etc. The cause of the intermittent power cannot always be pre-determined, but the effect is either re-boot or proceed. proceed is generally better when no fault in the software has occurred. Consider a surgeon using an automated heart stent placement tool and the power goes off for a moment. The APC kicks in, but the software controlled placement device resets to zero. Either the software writer identified the possibility of this situation and coded accordingly, or the stent placement is no longer oriented correctly. With the software defined above, the required placement information was maintained automatically regardless of the programmer's perfect programming skills.