Weinig is zo veranderlijk als de toekomst van computers. De meeste experts en grote chipfabrikanten zijn het erover eens dat onze wereldwijde vraag naar rekenkracht zal uitmonden in een alomtegenwoordig Internet of Things – biljoenen apparaten die metingen verrichten, berekeningen uitvoeren en met elkaar communiceren. Daar brengt intermittent computing geen verandering in, maar het kan wel tot een omslag leiden in hoe deze apparaten van energie worden voorzien en, daarmee, in hoe ze op een fundamenteel niveau functioneren.
Pakhuizen vol dode batterijen
‘Batterijen zijn de grootste bedreiging voor een duurzaam Internet of Things, zelfs voor het gebruik van computers in het algemeen,’ zegt Przemyslaw Pawelczak, universitair docent in de Embedded and Networked Systems-groep van de TU Delft. ‘Het grote voordeel van een batterij is dat het continue bron van stroom is waardoor een apparaat zonder onderbrekingen zijn taken kan uitvoeren. Maar een batterij is onveilig en lomp en heeft een chemische impact op de omgeving. Bovendien beperkt het gebruik van een batterij, als er geen onderhoud of vervanging plaatsvindt, de levensduur van een draadloos apparaat tot één, hooguit twee jaar.’ Josiah Hester, universitair docent bij de afdeling Computer Science van Northwestern University in Evanston, Illinois (VS), beaamt deze zorgwekkende woorden. ‘Een biljoen met batterijen gevoede apparaten komt overeen met 130 batterijen voor elke persoon op aarde. Willen we werkelijk zoveel tijd besteden aan het vervangen daarvan en aan het vullen van pakhuizen met dode batterijen? In plaats van te proberen ons gedrag te veranderen, kunnen we misschien een passende technologische oplossing bedenken om de impact van computers op het milieu te beperken.’ Voor jouw met het internet verbonden alarmklok of vriezer volstaat uiteraard een stopcontact. Maar wanneer je een wolkenkrabber met duizenden in het beton gestorte sensoren wilt monitoren op gebreken in de constructie, of wanneer je voorziet dat de toekomst van de preventieve gezondheidszorg bestaat uit diep in het lichaam geplaatste micro-implantaten, dan moeten deze apparaten tientallen jaren functioneren, zonder onderhoud. Volgens Pawelczak is het niet realistisch te verwachten dat nieuwe ontwikkelingen in batterijtechnologie dit zullen oplossen. ‘Voor het bijna-continu monitoren van de omgeving, tegen lage kosten en met een gereduceerde ecologische impact, moeten we het ontwerp van zulke draadloze apparaten heroverwegen. We zullen het concept van ononderbroken werking moeten loslaten en batterijen vaarwelzeggen.’
Voor een duurzaam Internet of Things moeten we batterijen vaarwelzeggen.
Onthouden, onthouden, ont…
Waar klassiek programmeren en klassieke computerarchitectuur uitgaan van de aanwezigheid van een continue stroombron, vergaart een batterijloze sensor zijn energie vanuit de directe omgeving – door de energie van zonlicht, radiogolven, warmte of beweging om te zetten in elektriciteit. ‘Dit zijn vrijwel ongelimiteerde energiebronnen,’ zegt Pawelczak, ‘maar ze zijn onvoorspelbaar en je kan er in een klein apparaat slechts een zwakke stroom mee opwekken. Hierdoor zal een batterijloze sensor slechts met tussenpozen (intermittently) kunnen functioneren.’ Dit is alleen een optie als je laks bent over het exacte moment waarop iets moet gebeuren, zoals een temperatuurmeting of de berekening van een voortschrijdend gemiddelde. ‘Met het verwijderen van de batterij introduceer je een heel spectrum aan nieuwe problemen die het goed functioneren van deze draadloze apparaten in de weg staan,’ legt Hester uit. ‘De opgeslagen energie kan tot wel honderd keer per seconde opraken. Zodra de stroom onderbroken wordt, valt het apparaat uit. Hierdoor worden lopende berekeningen abrupt onderbroken en wordt data in niet-permanent geheugen gewist.’ Er was een nieuwe benadering nodig om chips en computers onder deze omstandigheden goed te laten werken. Dit heeft geleid tot het paradigma van (batteryless) intermittent computing.
Over Przemyslaw Pawelczak
Przemysław Pawełczak is geboren in Polen. In 2009 verkreeg hij zijn doctorstitel aan de TU Delft met zijn proefschrift getiteld ‘Opportunistic Spectrum Access’. Vervolgens werkte hij bij onderzoeksgroepen in Los Angeles en Berlijn. Ongeveer vijf jaar geleden veranderde hij van telecommunicatie naar het vakgebied van batteryless intermittent computing. Op dit moment werkt hij als universitair docent in de Embedded and Networked Systems-groep aan de TU Delft aan met name de softwarematige aspecten van intermittent computing. Af en toe bouwt hij met bestaande componenten zijn eigen hardware. Hij doet aan lange afstand hardlopen, met tussenpozen uiteraard.
Over Josiah Hester
Josiah Hester heeft een inheemse Hawaiiaanse achtergrond en groeide op met liefde en waardering voor de natuur. In 2017 verkreeg hij zijn doctorstitel met zijn proefschrift getiteld ‘Sophisticated Batteryless Sensing’. Momenteel is hij als universitair docent verbonden aan de afdeling Computer Science, de afdeling Electrical and Computer Engineering en de afdeling Preventive Medicine, allen onderdeel van Northwestern University in Evanston, Illinois (VS). Hij werkt aan zowel de software- als hardwarematige aspecten van intermittent computing. ‘Met co-design kun je iets ontwerpen dat klein en licht is en perfect afgestemd op het probleem dat je wilt oplossen,’ zegt hij. Zijn favoriete toepassingen hiervan zijn de preventieve gezondheidszorg en de grootschalige slimme landbouw.
Intermittent computing
Bij intermittent computing worden taken als meten, berekenen en communiceren pas uitgevoerd op het moment dat er voldoende energie is vergaard om de processor op te starten. Het computerprogramma wordt vervolgens uitgevoerd totdat de opgeslagen energie verbruikt is en het apparaat abrupt uitvalt. ‘Het paradigma bij intermittent computing is om de staat van het programma regelmatig naar het permanente geheugen te schrijven,’ legt Hester uit. ‘Maar hoe vaker je dat doet, hoe minder tijd je hebt voor lokale berekeningen en hoe minder geheugen je beschikbaar hebt voor het lokaal opslaan van meetdata. Schrijven naar het geheugen put bovendien de in het apparaat opgeslagen energie uit.’ De meeste wetenschappelijke bijdragen op het gebied van intermittent computing richten zich op het succesvol implementeren van deze strategie op reeds bestaande computer hardware. ‘Het gaat dan om hoe je een computerprogramma schrijft dat ondanks veelvuldige stroomonderbrekingen succesvol uitgevoerd wordt,’ zegt Pawelczak. ‘Bovendien wil je daarbij zo min mogelijk overhead introduceren.’ Doordat ze elkaar bij meerdere conferenties waren tegengekomen, ontdekten Pawelczak en Hester een gedeelde interesse in een duurzaam Internet of Things: energieneutraal, minimaal onderhoud vereisend en met een lage ecologische voetafdruk. Ze besloten tot samenwerking in plaats van competitie. Een succesvolle samenwerking want samen met hun vakgroepgenoten hebben ze nu oplossingen bedacht voor twee van de belangrijkste uitdagingen in intermittent computing – hoe kan je betrouwbaar tijd meten en hoe kan je het programmeren van deze apparaten vereenvoudigen?
Simpel gezegd moet oma zelf een Internet of Things apparaat kunnen bouwen om haar pillen bij te houden.
De onderzoekers integreerden hun nieuwe methode voor tijdsregistratie in een op maat gemaakt software en hardware platform, Botoks genaamd.
Juist, tijd!
Timeouts en timestamps# liggen aan de basis van elke computerapplicatie, met name als deze ontworpen zijn voor communicatiedoeleinden en het uitvoeren van metingen. Betrouwbare tijdsregistratie is dan ook een van de belangrijkste uitdagingen voor batterijloze sensoren. ‘Met een nauwkeurig inzicht in de verstreken tijd kan het apparaat ook bepalen of reeds opgeslagen data nog valide is,’ zegt Hester. ‘Een apparaat kan direct na een meting langdurig uitvallen. Moet het dan bij een uiteindelijke herstart deze opgeslagen data versturen of eerst een nieuwe, meer representatieve, meting doen?’ Bestaande oplossingen voor tijdsregistratie, zoals ultra-laag-verbruik real-time klokken, hebben na elke stroomstoring meerdere seconden nodig om op te starten, waarbij ze bovendien veel energie verbruiken. Ze zijn dan ook niet geschikt voor intermittent computing. De onderzoekers richtten zich daarom op zogenoemde remanence timekeepers (zie kader). ‘Het voordeel hiervan is dat ze sterk te miniaturiseren zijn en dat de losse componenten minder dan een eurocent kosten,’ zegt Pawelczak. ‘Door het combineren van meerdere van zulke remanence timekeepers konden we een batterijloze tijdsregistratie ontwerpen met een resolutie van milliseconden bij stroomonderbrekingen die tot enkele seconden duren. Onze oplossing start bovendien in enkele milliseconden op en heeft een heel laag energieverbruik.’ De onderzoekers integreerden hun nieuwe methode voor tijdsregistratie in een op maat gemaakt software en hardware platform, Botoks genaamd. Het platform bestaat daarnaast uit een sensor, een zonnepaneel, een microcontroller, radio en een antenne. ‘In ons vakgebied schrijven we geen wetenschappelijke artikelen op basis van alleen een simulatie,’ zegt Hester. ‘We moeten laten zien dat het ook echt werkt. Daarom hebben we de rekensnelheid, energiezuinigheid en het geheugengebruik van Botoks nauwkeurig in kaart gebracht. Dit alles onder verschillende omstandigheden voor het vergaren van energie uit de omgeving.’
Remanence timekeepers
Een remanence timekeeper bestaat in essentie uit twee elektronische componenten, een condensator en een weerstand. In een condensator kan elektrische lading worden opgeslagen. Door een weerstand kan een elektrische stroom lopen. Een redelijke analogie voor deze componenten zijn een emmer en een kraan bevestigd aan de onderkant van de emmer. De condensator wordt met beschikbare elektrische energie opgeladen (de emmer wordt gevuld). Hoe meer lading er is opgeslagen, hoe hoger de elektrische spanning over de condensator (het waterniveau in de emmer stijgt). Als de stroomvoorziening hapert, zal de condensator zich door de weerstand heen ontladen (water zal uit de kraan stromen waardoor de emmer steeds verder leegstroomt). De verandering in de elektrische spanning over de condensator (verandering in het waterniveau) op het moment dat er weer elektrische stroom is, is een maat voor de tijd die is verstreken tussen uitval en herstart. Door de grootte van de condensator (emmer) en weerstand (diameter van de kraan) te variëren, is het mogelijk de tijdskarakteristieken van een remanence timekeeper te optimaliseren.
Een extra stukje code
Op dit moment is intermittent computing nog een niche onderwerp binnen de computerwetenschappen. ‘Wereldwijd zijn er misschien tien groepen die hier onderzoek naar doen, maar deze zijn wel allemaal verbonden aan zeer vooraanstaande universiteiten,’ zegt Pawelczak. Het onderwerp wint bovendien snel terrein. Voor het eerste heeft een van de belangrijkste conferenties op het gebied van computersystemen (ASPLOS) een hele sessie aan intermittent computing gewijd. ‘Onze vakgenoten beginnen in te zien dat dit een erg interessant en oplosbaar probleem is, met in potentie een enorme impact,’ zegt Hester. ‘We maken dat op uit de toename in wetenschappelijke publicaties over dit onderwerp. Met het vakgebied overtuigd zullen de instanties voor financiering van zulk onderzoek volgen.’ Om daadwerkelijk tot een duurzaam Internet of Things te komen is het belangrijk dat zowel consumenten als ondernemingen intermittent computing omarmen. ‘Het draait om perceptie en dat men deze apparaten gaat gebruiken,’ benadrukt Hester. ‘Simpel gezegd moet oma zelf een Internet of Things apparaat kunnen bouwen waarmee ze haar pillen kan bijhouden.’ De onderzoekers hebben een grote stap gezet met het ontwikkelen en vrijgeven van TICS (Time-sensitive Intermittent Computing System). ‘Er bestaan al miljoenen computerprogramma’s, allemaal ontworpen voor apparatuur die continu van stroom voorzien wordt,’ legt Pawelczak uit. Het zou normaal gesproken een gigantische inspanning vereisen om deze programma’s geschikt te maken voor intermittent apparatuur die om de haverklap uitvalt. Dankzij TICS kunnen deze oude programma’s gewoon draaien zonder daar enige wijziging in te moeten aanbrengen. TICS neemt het geheugenbeheer, de tijdsregistratie en datavaliditeit voor zijn rekening.’ Daarmee brengt TICS intermittent computing binnen handbereik van computerhobbyisten. ‘Ze kunnen hun klassieke programmeervaardigheden blijven gebruiken,’ gaat Pawelczak verder, ‘inclusief de geavanceerde mogelijkheden van de programmeertaal. Ze moeten alleen een extra stukje code op het systeem zetten.’
Wat is moeilijker dan een computer te laten werken terwijl die honderd keer per seconde uitvalt?
Oneindige toepassingen
Batterijloze apparaten openen de weg naar compleet nieuwe toepassingen, veel geavanceerder dan een Apple Watch die nooit opgeladen hoeft te worden, mocht dat het eerste zijn wat je te binnen schoot. Denk aan het volgen de wildstand, aan grootschalige landbouw met behulp van geüpgrade insecten en aan satellieten met de omvang van een postzegel die jarenlang atmosferische data verzamelen en doorsturen. Bovendien kan de impact van intermittent computing wel eens veel verder reiken dan het gebruik ervan in kleine apparaten. ‘Wetenschappelijk gezien is wat wij ontwerpen het ultieme in veerkrachtigheid,’ zegt Hester. ‘Wat is moeilijker dan een computer te laten werken terwijl die honderd keer per seconde uitvalt? We verwachten dan ook dat onze inzichten vertaald worden naar andere vakgebieden binnen de computerwetenschappen. Degenen die werken met grootschalige computertechnologie, met beveiligingssystemen of in de ruimtevaart proberen hun systemen ook zo robuust mogelijk te maken tegen storingen.’ Alhoewel de aankomstdatum nog onbekend is, kunnen we met zijn allen uitkijken naar een toekomst waarbij batterijen niet zijn inbegrepen. ‘Maar voordat ons werk gemeengoed zal zijn, zullen we misschien eerst moeten aantonen dat intermittent computing verder reikt dan minieme sensoren voor wetenschappelijk gebruik, en dat het ook bestaansrecht heeft in grotere apparatuur zoals consumentenelektronica,’ zegt Pawelczak. ‘Daar werken we nu aan.’
#Een timeout is een vooraf gespecificeerde tijdsduur waarna een bepaalde actie dient plaats te vinden. Een timestamp is een label dat bijvoorbeeld voor een datapunt specificeert op welk moment de onderliggende meting heeft plaatsgevonden.
Tekst: Merel Engelsman | Portretfoto: Mark Prins