Прерывистые вычисления

Прерывистые вычисления — парадигма вычислений, ориентированная на системы, работающие в условиях ненадёжного или нерегулярного энергоснабжения. Такие устройства, часто питающиеся за счёт окружающих источников энергии, таких как солнечная, радиочастотная, кинетическая энергия или пьезоэлектричество, испытывают частые перебои питания, что приводит к прерыванию выполнения вычислений. Прерывистые вычисления обеспечивают возможность эффективного продолжения программ даже после сбоев электропитания, позволяя устройствам сохранять прогресс и поддерживать полезное функционирование.

Традиционные вычислительные системы предполагают стабильное и непрерывное электропитание. Однако во многих новых приложениях, особенно связанных с интернетом вещей (IoT), оборудование развёртывается в условиях, когда постоянное питание отсутствует. Такие устройства используют собираемую из окружающей среды энергию, из-за чего их доступ к энергии становится прерывистым. Прерывистые вычисления решают задачи, возникающие в подобных условиях, обеспечивая сохранение вычислительного прогресса между циклами подачи питания, что особенно важно для надёжности и эффективности в энергодефицитных сценариях[1].

Такой подход особенно востребован в отдалённых или труднодоступных местах, где замена или подзарядка батарей затруднительна. Использование технологий сбора энергии и энергонезависимой памяти позволяет создавать устойчивые и не требующие обслуживания устройства, способные надёжно работать в широком спектре сложных условий.

Сбор энергии

Сбор энергии — это процесс захвата и преобразования энергии окружающей среды в электричество для питания электронных систем. Данный подход рассматривается как устойчивая альтернатива традиционным источникам, особенно там, где заменить или зарядить аккумулятор проблематично. При этом появляются новые трудности — низкий КПД преобразования, непредсказуемость ресурсов и значительные временные флуктуации в доступности энергии[1].

Для поддержки встроенных и прерывистых вычислительных систем используются различные методы сбора энергии. Хотя существуют технологии на основе ветра и воды, их размеры и требования к условиям развертывания зачастую делают их неэффективными для компактных IoT-приложений. При проектировании систем с учётом энергии важно учитывать особенности и ограничения каждого метода, чтобы повысить вычислительный прогресс в условиях ограниченности энергетических ресурсов.

Фотоэлектрический метод

Фотоэлектрический (фотовольтаический, ФЭ) способ сбора энергии — один из самых распространённых методов питания беспроводных сенсорных систем. Он использует солнечные панели для преобразования солнечного света в электричество. При достаточном освещении фотоэлектрические системы могут обеспечивать практически беспрерывную работу устройств. Однако их эффективность снижается ночью и в затемнённых помещениях. Современные исследования уделяют внимание разработке специализированных фотоэлементов для искусственного освещения, что делает метод привлекательным для применения в контролируемых условиях — больницах, заводах, коммерческих помещениях[2][3].

Радиочастотный метод (RF)

Радиочастотный (RF) сбор энергии преобразует электромагнитные волны в электричество с помощью специальных антенн. Как правило, уровень окружающей радиочастотной энергии низок, однако целенаправленная беспроводная передача энергии (вкупе с передачей данных или отдельно) может обеспечить питание для маломощных устройств. В сетях этот подход позволяет делить питание между несколькими узлами[3][4].

Кинетический метод

Кинетический сбор энергии основан на преобразовании механического движения в электричество. Этот способ особенно эффективен в динамичных средах — носимая электроника, транспорт, вращающиеся механизмы. Обычно применяются инерционные генераторы, использующие относительное перемещение массы относительно остова; их можно настроить на резонанс с частотой движения для повышения КПД.

Пьезоэлектрический метод

Пьезоэлектрические генераторы используют материалы, способные вырабатывать напряжение в ответ на механический стресс или деформацию. Обычно они формируют высокое напряжение при небольшом токе и эффективны в системах, подверженных регулярным вибрациям. Их малые размеры и пассивная работа делают пьезоэлектрические элементы удобными для интеграции в миниатюрные сенсорные системы[1].

Технологии прерывистых вычислений

Прерывистые вычисления предполагают устойчивую работу систем при частых и непредсказуемых потерях питания, возникающих при использовании энергии окружающей среды. Для поддержания вычислительного прогресса разработаны различные программные и архитектурные методы, включая контрольные сохранения, разбивку на задачи и реактивные энергозависимые стратегии с разным балансом между сложностью, эффективностью и надёжностью.

Контрольные сохранения

Контрольные сохранения (checkpointing) — базовая техника обеспечения прогресса вычислений при прерывистом питании. В этой схеме система периодически сохраняет своё состояние (регистры, память, текущий шаг вычислений) в энергонезависимой памяти. После восстановления питания устройство продолжает работу с последнего сохранения без полной перезагрузки. Такой способ отличается простотой и малым вмешательством со стороны программиста[5][6]. Недостатком выступают дополнительные энергозатраты на операции записи и риск потери данных либо ненужного расхода энергии при сбое во время сохранения[7].

Пооперационное выполнение (разбиение на задачи)

Пооперационное выполнение (task-based execution) разбивает программу на независимые, атомарные задачи. Каждая задача проектируется так, чтобы укладываться в доступный бюджет одной сессии питания. Вместо сохранения полного состояния системы сохраняется лишь минимальная информация на границах задач, что значительно снижает накладные расходы по сравнению с классическими контрольными сохранениями[8]. Такой подход экономит энергию, но усложняет разработку: необходимо обеспечивать идемпотентность задач и точно определять, какой минимум состояния нужно сохранять[9][10].

Реактивный подход

Реактивные контрольные сохранения повышают адаптивность за счёт динамического реагирования на текущие энергетические условия. Системы, реализующие данный метод, отслеживают параметры наподобие напряжения питания, чтобы предсказать приближение сбоя. При падении ниже критического уровня система инициирует сохранение состояния ещё до отключения питания.[6][5][11]

В некоторых схемах система использует пороговые значения напряжения для автоматического перехода в энергосберегающий режим и сохранения критических данных при обнаружении падения питания[6]. Более сложные методы отслеживают, какие фрагменты памяти были изменены, и резервируют только новые данные, что экономит энергию. Важно, чтобы при реактивных схемах оставался необходимый запас энергии для завершения сохранения и защиты атомарных (FASE) участков без сбоев[11].

Применение

Прерывистые вычисления поддерживают работу систем в условиях ограниченного или непредсказуемого энергоснабжения. Особенно они востребованы для маломощных автономных устройств, установленных в отдалённых или труднодоступных местах, где отсутствует традиционная энергетическая инфраструктура. Такие системы отличаются длительным сроком службы, минимальными затратами на обслуживание и возможностью функционировать даже при разрывах в поступлении энергии.

Экологический и промышленный мониторинг

Самый частый сценарий — беспроводные сенсорные сети, используемые для экологического мониторинга. Датчики, измеряющие температуру, влажность, качество воздуха или загрязнение воды, развертываются на больших территориях, где замена батарей невозможна. Эти устройства собирают энергию окружающей среды (солнечную, вибрации и др.) и передают данные по мере накопления заряда. В промышленности подобные системы встраивают в оборудование для мониторинга вибраций, контроля состояния или выявления поломок без проводного питания.

Медицинские и носимые устройства

Носимая техника и имплантируемые медицинские устройства существенно выигрывают от использования прерывистых вычислений. Компактные по дизайну и энергоэффективные, они используют энергию движения тела или свет для задач мониторинга жизненных показателей, отслеживания шагов, программированной доставки медикаментов. Прерывистые вычисления позволяют им сохранять работоспособность и надежность даже при дефиците энергии, повышая безопасность пациентов и удобство использования.

Интеллектуальные здания и инфраструктура

В умных зданиях технологии прерывистых вычислений поддерживают системы управления освещением, автоматику HVAC (отопление, вентиляция, кондиционирование), детекторы присутствия и др. Такие устройства черпают энергию от внутреннего освещения или вибраций конструкций, не нуждаются в сетевом питании и работают только при наличии энергии, снижая совокупное энергопотребление и расходы на обслуживание.

Агротехнологии

В прецизионном земледелии сенсорные узлы распределяются по полю для контроля за влажностью почвы, температурой, количеством питательных веществ, состоянием растений. Прерывистые вычисления позволяют этим устройствам работать от солнечной или кинетической энергии, снять зависимость от батарей и уменьшить потребность в ручном обслуживании. Обработка данных локально повышает устойчивость к сетевым сбоям и снижает нагрузку на коммуникационные ресурсы.

Космические и удалённые исследования

Прерывистые вычисления актуальны для космических миссий и систем дистанционного мониторинга, где энергия крайне ограничена. Например, на малых спутниках (Кубсаты) и планетарных зондов электропитание может быть непостоянным из-за внешних условий или приоритетов критических задач миссии. Сохраняя прогресс вычислений между подачей питания, подобные системы снижают риски сбоев на длинных участках автономной работы.

Научные лаборатории

Значительный вклад в развитие прерывистых вычислений внесли несколько исследовательских лабораторий, специализирующихся на сборе энергии, прерывистом исполнении, совместном проектировании аппаратного и программного обеспечения и устойчивых вычислительных системах:

Лаборатория KA MOAMOA, Технологический институт Джорджии

KA MOAMOA Lab под руководством доцента Джоса́ии Хестера занимается исследованием в области встроенных систем без батарей, прерывистых вычислений, проектированием устойчивых сенсоров и автономных носимых устройств.

Лаборатория Abstract, Университет Карнеги-Меллон

Abstract Lab под руководством профессора Брэндона М. Луши разрабатывает методы исполнения задач на прерывистых и энергоэффективных устройствах, компиляторную и системную поддержку, а также строгие методы анализа для вычислений с ограниченным питанием.

Лаборатория eLab, Висконсинский университет в Мадисоне

В Университете Висконсин – Мадисон лаборатория энергоэффективных встраиваемых систем (eLab) под руководством доцента Умита Й. Ограса исследует энергоосознающие архитектуры, системы для IoT и методы энергосберегающего проектирования для устройств с переменным питанием.

Лаборатория SIRIUS, Университет Иллинойса в Чикаго

Лаборатория SIRIUS (Self-sustainable Intelligent Resilient Ubiquitous Systems) Университета Иллинойса в Чикаго под руководством доцента Армана Руихи изучает системы сбора энергии, платформы прерывистых вычислений и архитектуры устойчивых маломощных распределённых устройств.

Лаборатория энергоадаптивных IoT-систем, Калифорнийский университет в Риверсайде

В Калифорнийском университете Риверсайда группа доцента Хёсёна Кима разрабатывает энергоадаптивные IoT-системы, методы планирования задач при переменном питании и архитектуры надёжных вычислений для сенсорных платформ без батарей.

Примечания

  1. 1 2 3 Rodriguez Arreola, A., Balsamo, D., Das, A. K., Weddell, A. S., Brunelli, D., Al-Hashimi, B. M., & Merrett, G. V. (2015). Approaches to transient computing for energy harvesting systems: A quantitative evaluation. Proceedings of the 3rd International Workshop on Energy Harvesting & Energy Neutral Sensing Systems, 3–8. Rodriguez Arreola, A.; Balsamo, D.; Das, A. K.; Weddell, A. S.; Brunelli, D.; Al-Hashimi, B. M.; Merrett, G. V. (2015). “Approaches to transient computing for energy harvesting systems: A quantitative evaluation”. Proceedings of the 3rd International Workshop on Energy Harvesting & Energy Neutral Sensing Systems [англ.]: 3—8. DOI:10.1145/2820645.2820652. Дата обращения 28 мая 2024. |access-date= требует |url= (справка)
  2. Raghunathan, V., Kansal, A., Hsu, J., Friedman, J., & Srivastava, M. (2005). Design considerations for solar energy harvesting wireless embedded systems. In Fourth International Symposium on Information Processing in Sensor Networks (IPSN 2005), 457–462. Raghunathan, V.; Kansal, A.; Hsu, J.; Friedman, J.; Srivastava, M. (2005). “Design considerations for solar energy harvesting wireless embedded systems”. Fourth International Symposium on Information Processing in Sensor Networks (IPSN 2005) [англ.]: 457—462. DOI:10.1109/IPSN.2005.1440973. Дата обращения 28 мая 2024. |access-date= требует |url= (справка)
  3. 1 2 Shaikh, F. K., & Zeadally, S. (2016). Energy harvesting in wireless sensor networks: A comprehensive review. Renewable and Sustainable Energy Reviews, 55, 1041–1054. Shaikh, F. K.; Zeadally, S. (2016). “Energy harvesting in wireless sensor networks: A comprehensive review”. Renewable and Sustainable Energy Reviews [англ.]. 55: 1041—1054. DOI:10.1016/j.rser.2015.11.010. Дата обращения 28 мая 2024. |access-date= требует |url= (справка)
  4. Ejaz, W., Naeem, M., Shahid, A., Anpalagan, A., & Jo, M. (2017). Efficient energy management for the Internet of Things in smart cities. IEEE Communications Magazine, 55(1), 84–91. Ejaz, W.; Naeem, M.; Shahid, A.; Anpalagan, A.; Jo, M. (2017). “Efficient energy management for the Internet of Things in smart cities”. IEEE Communications Magazine [англ.]. 55 (1): 84—91. DOI:10.1109/MCOM.2017.1600218CM. Дата обращения 28 мая 2024. |access-date= требует |url= (справка)
  5. 1 2 Ransford, B., Sorber, J., & Fu, K. (2011). Mementos: System support for long-running computation on RFID-scale devices. In Proceedings of the 16th international conference on Architectural support for programming languages and operating systems, pp. 159–170. Ransford, B.; Sorber, J.; Fu, K. (2011). “Mementos: System support for long-running computation on RFID-scale devices”. Proceedings of the 16th international conference on Architectural support for programming languages and operating systems [англ.]: 159—170. Дата обращения 28 мая 2024. |access-date= требует |url= (справка)
  6. 1 2 3 Balsamo, D., Weddell, A. S., Merrett, G. V., Al-Hashimi, B. M., Brunelli, D., & Benini, L. (2015). Hibernus: Sustaining computation during intermittent supply for energy-harvesting systems. IEEE Embedded Systems Letters, 7(1), 15–18. Balsamo, D.; Weddell, A. S.; Merrett, G. V.; Al-Hashimi, B. M.; Brunelli, D.; Benini, L. (2015). “Hibernus: Sustaining computation during intermittent supply for energy-harvesting systems”. IEEE Embedded Systems Letters [англ.]. 7 (1): 15—18. Дата обращения 28 мая 2024. |access-date= требует |url= (справка)
  7. Jayakumar, H., Raha, A., & Raghunathan, V. (2014). QuickRecall: A low overhead HW/SW approach for enabling computations across power cycles in transiently powered computers. In 2014 27th International Conference on VLSI Design and 13th International Conference on Embedded Systems, pp. 330–335. Jayakumar, H.; Raha, A.; Raghunathan, V. (2014). “QuickRecall: A low overhead HW/SW approach for enabling computations across power cycles in transiently powered computers”. 27th International Conference on VLSI Design and 13th International Conference on Embedded Systems [англ.]: 330—335. Дата обращения 28 мая 2024. |access-date= требует |url= (справка)
  8. Maeng, K., Colin, A., & Lucia, B. (2017). Alpaca: Intermittent execution without checkpoints. Proceedings of the ACM on Programming Languages, 1(OOPSLA), 1–30. Maeng, K.; Colin, A.; Lucia, B. (2017). “Alpaca: Intermittent execution without checkpoints”. Proceedings of the ACM on Programming Languages [англ.]. 1 (OOPSLA): 1—30. Дата обращения 28 мая 2024. |access-date= требует |url= (справка)
  9. Yıldırım, K. S., Majid, A. Y., Patoukas, D., Schaper, K., Pawelczak, P., & Hester, J. (2018). Ink: Reactive kernel for tiny batteryless sensors. In Proceedings of the 16th ACM Conference on Embedded Networked Sensor Systems, pp. 41–53. Yıldırım, K. S.; Majid, A. Y.; Patoukas, D.; Schaper, K.; Pawelczak, P.; Hester, J. (2018). “Ink: Reactive kernel for tiny batteryless sensors”. Proceedings of the 16th ACM Conference on Embedded Networked Sensor Systems [англ.]: 41—53. Дата обращения 28 мая 2024. |access-date= требует |url= (справка)
  10. Lucia, B., & Ransford, B. (2015). A simpler, safer programming and execution model for intermittent systems. In Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 575–585. Lucia, B.; Ransford, B. (2015). “A simpler, safer programming and execution model for intermittent systems”. Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation [англ.]: 575—585. Дата обращения 28 мая 2024. |access-date= требует |url= (справка)
  11. 1 2 Balsamo, D., Weddell, A. S., Merrett, G. V., Al-Hashimi, B. M., Brunelli, D., & Benini, L. (2015). Hibernus: Sustaining computation during intermittent supply for energy-harvesting systems. IEEE Embedded Systems Letters, 7(1), 15–18. Balsamo, D.; Weddell, A. S.; Merrett, G. V.; Al-Hashimi, B. M.; Brunelli, D.; Benini, L. (март 2015). “Hibernus: Sustaining Computation During Intermittent Supply for Energy-Harvesting Systems”. IEEE Embedded Systems Letters [англ.]. 7 (1): 15—18. DOI:10.1109/LES.2014.2371494. Дата обращения 28 мая 2024. Проверьте дату в |date= (справка на английском)