Do you know that there is an emerging class of computers that neither needs batteries nor power outlets for operation; these in fact, work by harnessing energy from their surroundings. While enough energy can be derived from miscellaneous sources like solar energy, wind, radio waves, etc there is one drawback that pulls these back. Most of these power sources are weak in nature which simply leads to “intermittent execution” with time-to-time power failures and very uncertain behavior. A duo from Carnegie Mellon University recently created a simple solution to this problem by designing the first programming language that can create reliable software for intermittent, energy-harvesting systems.
Brandon Lucia, the assistant professor of computer and electrical engineering at the University says that, “Energy is not always available in the environment for a device to harvest. Intermittent operation makes it difficult to build applications because existing software programming languages—and programmers themselves—assume that energy is a continuously available resource.” They have named their latest programming language as Chain, it asks the application developer to assign a series of computational tasks that can exchange and compute data through a latest method of computer memory manipulation referred to as channel. Chain ensures that the assigned tasks are executed in right manner even if the any arbitrary power failure takes place.
Lucia further explains, “When power is not continuously available, power failures disrupt the software’s execution, often leading to unrecoverable errors. 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.” The key to Chain’s ability to keep away software errors can be credited to its Channel-based memory that keeps working irrespective of power failures. It also assures that the computational task consistently has virtually zero time cost as the Chain doesn’t relies on any traditional and costly approach like check pointing. The extreme level energy scarcity mandates restart of application especially for the energy harvesting applications that include implantable devices or IoT devices as well as the ingestible devices. Lucia further explains, “Chain provides important reliability guarantees in a familiar and flexible programming interface that is well-positioned to be the foundation for todays and future energy-harvesting applications.”
Filed Under: News