5 ms·
Integer division powered by lemonade-bleach battery
- Aelinsaar 10y agoI'm not sure that I understand the application, or if there is even supposed to be an application, but this is certainly very novel. Or rather, it's an interesting take on the potato battery.
- nishanttotla 10y agoDisclaimer: I worked on this project for a year in the past, and was also involved with recording this video. I haven't worked on the project for a while though, and it has advanced significantly. We were using a GreenArrays chip (http://www.greenarraychips.com/ http://www.greenarraychips.com/) which is a 144-core ultra low power architecture. That's great, but it's super difficult to program, and only a few experts can really do it. We were working on building a high-level programming language and compiler toolchain that would allow anyone with programming experience to write GreenArrays programs. So we were basically building a compiler, but with a twist - instead of a traditional compiler which generates machine code from source code through a series of transformations, we used a technique called program synthesis. Synthesis treats the high-level program (source) as a specification, and performs a search across the space of possible target programs (machine code), trying to find the optimal one (in our case, optimal meant energy efficient). The backend uses a bunch of Programming Language techniques and SMT solving (https://en.wikipedia.org/wiki/Satisfiability_modulo_theories https://en.wikipedia.org/wiki/Satisfiability_modulo_theories). As you can imagine, this is a hard problem and synthesis isn't quite ready to replace sophisticated compilers. But where synthesis can really shine is in places where you don't have mature compilers and need to generate complicated optimal code, that perhaps no human or human-written compiler might. Or in cases where parts of the program need to be extra-optimized. Coming back to the experiment, the integer division code running on the chip was generated using synthesis, and we wanted to show that we could run it on low energy.
- Aelinsaar 10y agoThanks for such a complete and lucid explanation!
- zitterbewegung 10y agoThis is an interesting idea that explores if you limit your power supply to extremely small amounts and see what you can compute with that. Makes me think of what you could do really low power ARM M0 hooked up to piezo electric battery or something.
- david-given 10y agoThe MSP430 will run flat out at about 200 μA / MHz, and they have 32 to 64 kB of non-volatile RAM. You could certainly get useful stuff done with that.
- amelius 10y agoIt would be nice if the machine kept its state when the power temporarily becomes too low.
- piratebroadcast 10y agohttps://www.youtube.com/watch?v=-XP7yflhOtE https://www.youtube.com/watch?v=-XP7yflhOtE
- Scoundreller 10y agoAnd I just found out that the potato-powered webserver was a hoax! http://hoaxes.org/archive/permalink/spud_server http://hoaxes.org/archive/permalink/spud_server
- zokier 10y agoWhile neat demo, 3-5 mW does not sound that efficient compared to modern microcontrollers, which by themselves might use order of magnitude less power. Of course whole system power will be bit higher than just the microcontroller alone, that blinking LED probably consuming almost as much as the controller :)
- userbinator 10y agoThe ASICs used in solar-powered calculators operate in the uA range, but I'm not sure how many MIPS/W they are.
- discordianfish 10y ago(Much) older hn discussion of the chip which powers this: https://news.ycombinator.com/item?id=1810450 https://news.ycombinator.com/item?id=1810450 Sounds like the neural network example is a better fit for this and makes it indeed interesting.
- ars 10y agoNot directly relevant but that battery is not powered by lemonade or bleach! It's powered by the metal wires placed in the electrolyte, not the electrolyte. The metal oxidizes (corrodes, burns), and that is what provides the energy.