New Programming Language Tackles Energy Harvesting’s Problem with Intermittent Power

Researchers from Carnegie Mellon University have created a new programming language that makes energy harvesting systems more reliable than ever.

The Problem with Harvesting Energy

Everyday objects are becoming increasingly integrated with electronics. So it comes as no surprise that the global demand for energy is increasing. Ever since the industrial revolution, most of the energy we use (be it electrical or mechanical) has primarily come from fossil fuels such as coal, oil, and gas. Other forms of electricity generation, however, are becoming popular, especially renewable sources like solar and wind.
One problem faced that electrical generation constantly faces is getting the power to the needed device. This is not an issue for appliances that are plugged into a wall socket (such as washing machines, cookers, etc.), but what about mobile devices? Recent years have seen a massive boom in portable devices that rely on a portable power source such as batteries and small solar cells (commonly found on calculators).
Batteries, however, do not last indefinitely and either need to be replaced or recharged. This can be very inconvenient, especially if you forget to charge your phone overnight or your smoke alarm does that constant dying beeps routine.


Thermoelectric generators can generate electricity from a heat gradient. Image courtesy of michbich [CC BY 3.0]
 
One solution to portable power is the use of energy harvesting techniques that allow the environment, itself, to be the power source. This could include harvesting energy from sources like thermal energy, background radiation, solar, wind, and even mechanical (think piezoelectrical generation).
The only problem with energy harvesting is the volatile nature of availability, given that there are days that the wind doesn't blow and the sun doesn't shine quite as much. In other words, energy harvesting cannot guarantee that there will always be power and therefore any programs running off of devices attached to these power sources would crash every time there was an intermittent “blackout”. This intermittent behavior, therefore, cannot be used in situations where data loss is unacceptable and reliability is of the utmost importance.
This is where a research team from Carnegie Mellon University has stepped in to make energy harvesting systems more reliable.

Chain: A New Programming Language

The problem with power failure in a computing device is that information stored in volatile storage related to the program is lost (especially in DRAM). Information that is typically lost include all the register states (such as program counter, temporary variables) and any information stored in RAM (such as the program, itself, if it was loaded into RAM via a bootloader or operating systems).
There's ongoing research on energy storage aiming to address these issues with intermittent power failure from energy harvesting. But Carnegie Mellon's ECE department is looking into the actual system stack for devices that aim to use harvested energy intermittently. Brandon Lucia and his colleagues in his Abstract Research Group, including PhD student Alexei Colin, have created a programming language called Chain that can overcome these problems using a channel-based memory abstraction.
Firstly, Chain will ask a programmer to define a process where the computer’s memory is processed via a "channel". Chain then ensures that the process is executed correctly even in the event of intermittent power failures, ensuring that the information is preserved.


What makes Chain important in energy harvesting environments is the time needed to restart a Chain program. According to the researchers, it takes virtually no time for a Chain program to restart which is vital in an environment where a secondary power failure could occur at any time.
Currently, the plan is to test Chain in an unforgiving environment that requires reliability above all else. When it comes to testing environments, it's harder to get more unforgiving than space.
The plan is that KickSat, a Kickstarter project that aims to put tiny satellites into space, will carry two computers the size of postage stamps running Chain (along with energy harvesting modules) to determine if the system can function reliably. If this works, Chain could potentially become a monstrously popular computer language, considering that IoT devices could potentially run off energy harvesting modules in the near future.



The Future of Energy Harvesting

Convenient power distribution is a dream that has always given people headaches. While energy harvesting modules sound great, the amount of power generated with current designs is barely enough to get a laptop running.
However, there are a great deal number of devices that could truly benefit from environmental energy harvesting such as IoT devices that merely need to wake up every so often to perform a simple task such as sensor reading relaying or instructing a light to turn on. With an increase in internet-enabled devices and a decrease in individual device power consumption, energy harvesting could be the future of power. Combined with Chain, it could be the future of mobile device programming sooner than we thought.
Check out Chain on GitHub here.


Featured image used courtesy of Carnegie Mellon.
Previous
Next Post »
My photo

Hi, I`m Sostenes, Electrical Technician and PLC`S Programmer.
Everyday I`m exploring the world of Electrical to find better solution for Automation. I believe everyday can become a Electrician with the right learning materials.
My goal with BLOG is to help you learn Electrical.
Related Posts Plugin for WordPress, Blogger...

Label

KITAIFA NEWS KIMATAIFA MICHEZO BURUDANI SIASA TECHNICAL ARTICLES f HAPA KAZI TU. LEKULE TV EDITORIALS ARTICLES DC DIGITAL ROBOTICS SEMICONDUCTORS MAKALA GENERATOR GALLERY AC EXPERIMENTS MANUFACTURING-ENGINEERING MAGAZETI REFERENCE IOT FUNDAMENTAL OF ELECTRICITY ELECTRONICS ELECTRICAL ENGINEER MEASUREMENT VIDEO ZANZIBAR YETU TRANSDUCER & SENSOR MITINDO ARDUINO RENEWABLE ENERGY AUTOMOBILE SYNCHRONOUS GENERATOR ELECTRICAL DISTRIBUTION CABLES DIGITAL ELECTRONICS AUTOMOTIVE PROTECTION SOLAR TEARDOWN DIODE AND CIRCUITS BASIC ELECTRICAL ELECTRONICS MOTOR SWITCHES CIRCUIT BREAKERS MICROCONTROLLER CIRCUITS THEORY PANEL BUILDING ELECTRONICS DEVICES MIRACLES SWITCHGEAR ANALOG MOBILE DEVICES CAMERA TECHNOLOGY GENERATION WEARABLES BATTERIES COMMUNICATION FREE CIRCUITS INDUSTRIAL AUTOMATION SPECIAL MACHINES ELECTRICAL SAFETY ENERGY EFFIDIENCY-BUILDING DRONE NUCLEAR ENERGY CONTROL SYSTEM FILTER`S SMATRPHONE BIOGAS POWER TANZIA BELT CONVEYOR MATERIAL HANDLING RELAY ELECTRICAL INSTRUMENTS PLC`S TRANSFORMER AC CIRCUITS CIRCUIT SCHEMATIC SYMBOLS DDISCRETE SEMICONDUCTOR CIRCUITS WIND POWER C.B DEVICES DC CIRCUITS DIODES AND RECTIFIERS FUSE SPECIAL TRANSFORMER THERMAL POWER PLANT cartoon CELL CHEMISTRY EARTHING SYSTEM ELECTRIC LAMP FUNDAMENTAL OF ELECTRICITY 2 BIPOLAR JUNCTION TRANSISTOR ENERGY SOURCE 555 TIMER CIRCUITS AUTOCAD C PROGRAMMING HYDRO POWER LOGIC GATES OPERATIONAL AMPLIFIER`S SOLID-STATE DEVICE THEORRY DEFECE & MILITARY FLUORESCENT LAMP HOME AUTOMATION INDUSTRIAL ROBOTICS ANDROID COMPUTER ELECTRICAL DRIVES GROUNDING SYSTEM BLUETOOTH CALCULUS REFERENCE DC METERING CIRCUITS DC NETWORK ANALYSIS ELECTRICAL SAFETY TIPS ELECTRICIAN SCHOOL ELECTRON TUBES FUNDAMENTAL OF ELECTRICITY 1 INDUCTION MACHINES INSULATIONS ALGEBRA REFERENCE HMI[Human Interface Machines] INDUCTION MOTOR KARNAUGH MAPPING USEUL EQUIATIONS AND CONVERSION FACTOR ANALOG INTEGRATED CIRCUITS BASIC CONCEPTS AND TEST EQUIPMENTS DIGITAL COMMUNICATION DIGITAL-ANALOG CONVERSION ELECTRICAL SOFTWARE GAS TURBINE ILLUMINATION OHM`S LAW POWER ELECTRONICS THYRISTOR USB AUDIO BOOLEAN ALGEBRA DIGITAL INTEGRATED CIRCUITS FUNDAMENTAL OF ELECTRICITY 3 PHYSICS OF CONDUCTORS AND INSULATORS SPECIAL MOTOR STEAM POWER PLANTS TESTING TRANSMISION LINE C-BISCUIT CAPACITORS COMBINATION LOGIC FUNCTION COMPLEX NUMBERS ELECTRICAL LAWS HMI[HUMANI INTERFACE MACHINES INVERTER LADDER DIAGRAM MULTIVIBRATORS RC AND L/R TIME CONSTANTS SCADA SERIES AND PARALLEL CIRCUITS USING THE SPICE CIRCUIT SIMULATION PROGRAM AMPLIFIERS AND ACTIVE DEVICES BASIC CONCEPTS OF ELECTRICITY CONDUCTOR AND INSULATORS TABLES CONDUITS FITTING AND SUPPORTS CONTROL MOTION ELECTRICAL INSTRUMENTATION SIGNALS ELECTRICAL TOOLS INDUCTORS LiDAR MAGNETISM AND ELECTROMAGNETISM PLYPHASE AC CIRCUITS RECLOSER SAFE LIVING WITH GAS AND LPG SAFETY CLOTHING STEPPER MOTOR SYNCHRONOUS MOTOR AC METRING CIRCUITS BASIC AC THEORY BECOME AN ELECTRICIAN BINARY ARITHMETIC BUSHING DIGITAL STORAGE MEMROY ELECTRICIAN JOBS HEAT ENGINES HOME THEATER INPECTIONS LIGHT SABER MOSFET NUMERATION SYSTEM POWER FACTORS REACTANCE AND IMPEDANCE INDUCTIVE RESONANCE SCIENTIFIC NOTATION AND METRIC PREFIXES SULFURIC ACID TROUBLESHOOTING TROUBLESHOOTING-THEORY & PRACTICE 12C BUS APPLE APPS & SOFTWARE BATTERIES AND POWER SYSTEMS ELECTROMECHANICAL RELAYS ENERGY EFFICIENCY-LIGHT INDUSTRIAL SAFETY EQUIPMENTS MEGGER MXED-FREQUENCY AC SIGNALS PRINCIPLE OF DIGITAL COMPUTING QUESTIONS REACTANCE AND IMPEDANCE-CAPATIVE RECTIFIER AND CONVERTERS SEQUENTIAL CIRCUITS SERRIES-PARALLEL COMBINATION CIRCUITS SHIFT REGISTERS BUILDING SERVICES COMPRESSOR CRANES DC MOTOR DRIVES DIVIDER CIRCUIT AND KIRCHHOFF`S LAW ELECTRICAL DISTRIBUTION EQUIPMENTS 1 ELECTRICAL DISTRIBUTION EQUIPMENTS B ELECTRICAL TOOL KIT ELECTRICIAN JOB DESCRIPTION LAPTOP THERMOCOUPLE TRIGONOMENTRY REFERENCE UART WIRELESS BIOMASS CONTACTOR ELECTRIC ILLUMINATION ELECTRICAL SAFETY TRAINING FILTER DESIGN HARDWARE INDUSTRIAL DRIVES JUNCTION FIELD-EFFECT TRANSISTORS NUCLEAR POWER VALVE WWE oscilloscope 3D TECHNOLOGIES COLOR CODES ELECTRIC TRACTION FLEXIBLE ELECTRONICS FLUKE GEARMOTORS INTRODUCTION LASSER MATERIAL PID PUMP SCIENCE SEAL ELECTRICIAN CAREER ELECTRICITY SUPPLY AND DISTRIBUTION FEATURED MUSIC NEUTRAL PERIODIC TABLES OF THE ELEMENTS POLYPHASE AC CIRCUITS PROJECTS REATORS SATELLITE STAR DELTA VIBRATION WATERPROOF