Datorer för energiupptagning möjliggör beräkning av allmänna ändamål med hjälp av energi som samlas in från deras omgivning. Energi-autonomi av sådana apparater har stor potential, men deras intermittenta strömförsörjning innebär en utmaning. Intermittent program utförande äventyrar framsteg och lämnar staten inkonsekvent. Detta arbete beskriver Chain: en ny modell för programmering av intermittenta enheter. Ett Kedjeprogram är en uppsättning programmerade uppgifter som beräknar och utbyter data via kanaler. Kedjan garanterar framsteg framåt på uppgift granularitet. En uppgift är omstartbar och ser aldrig inkonsekvent tillstånd, eftersom dess ingångs- och utgångskanaler är åtskilda. Vårt system stöder språkfunktioner för att uttrycka avancerade datautbytesmönster och för att inkapsla återanvändbar funktionalitet. Kedjan skiljer sig i grunden från den senaste kontrollen och medför inte tillhörande overhead. Vi implementerar Chain som C språk förlängningar och en runtime bibliotek. Vi använde Chain för att implementera fyra applikationer: maskininlärning, kryptering, kompression och sensation. I experiment, Chain säkerställde konsekvens där tidigare strategier misslyckades och förbättrade genomströmningen med 2-7x över det ledande state-of-the-art systemet.
Kedjereferensen använder en uppsättning programmerade uppgifter som beräknar och utbyter data via kanaler.
Chain: tasks and channels for reliable intermittent programs
{'venue': 'OOPSLA 2016', 'journal': None, 'mag_field_of_study': ['Computer Science']}