간헐적 컴퓨팅 소프트웨어 기술 동향
Trends in Intermittent Computing Software Technology
- 저자
-
임유진온디바이스시스템SW연구실 yoojin.lim@etri.re.kr 김영빈온디바이스시스템SW연구실 yb.kim@etri.re.kr 이문수DNA+드론플랫폼연구센터 mslee@etri.re.kr
- 권호
- 40권 3호 (통권 214)
- 논문구분
- 산업과 사회를 변화시키는 디지털 융합기술 동향
- 페이지
- 1-10
- 발행일자
- 2025.06.02
- DOI
- 10.22648/ETRI.2025.J.400301
본 저작물은 공공누리 제4유형: 출처표시 + 상업적이용금지 + 변경금지 조건에 따라 이용할 수 있습니다.- 초록
- Batteries, which are the conventional means of providing stable power, may impede the expansion of the internet of things (IoT). This limitation stems from the need for periodic recharging, a finite number of charge-discharge cycles, and aging-related degradation, all of which raise concerns regarding battery disposal costs and environmental impact. To overcome the constraints of battery-powered systems, extensive research is being conducted on intermittent computing technologies that leverage energy-harvesting devices, capacitors, and non-volatile memory. These technologies enable computational processes and general applications to persist even in power-unstable environments characterized by frequent power interruptions. Consequently, given their potential to serve as robust solutions for IoT and edge computing applications in scenarios where the power supply is unreliable and maintenance is impractical, the demand for intermittent computing technologies is increasing across various industrial domains. This paper explores the latest advancements in intermittent computing from a software technology perspective, covering checkpointing techniques, system-level support for peripheral management and timeliness assurance, and system resource modeling methodologies. Furthermore, we discuss key technical challenges related to networking, security, and artificial intelligence that must be addressed to advance this field further.
Share
Ⅰ. 서론
스마트 더스트, 보이지 않는 웨어러블 기기, 칩-위성 등 미래 사물인터넷(IoT: Internet of Things)을 위한 상당한 기술 진전에도 불구하고 그 실현에 있어서의 가장 큰 장애물은 전력 공급원이다[1]. 배터리는 IoT 기기에 안정적인 전력을 공급할 수 있는 일반적이고 편리한 수단이지만 IoT의 확장을 저해하는 주요소이기도 하다. 배터리는 관리자에 의해 정기적으로 충전이 필요할 뿐만 아니라 충전/방전 횟수, 즉 수명이 제한되어서 노후화 발생 시 교체와 같은 유지관리가 이루어져야 하기 때문이다.
배터리를 활용하는 IoT의 확산은 노후화된 폐배터리 처리 비용과 이로 인한 환경오염 우려의 증가를 일으켰으며, 이를 해결하기 위하여 새로운 형태의 시스템 운영 개념이 등장하게 됐다.
먼저, 에너지 하베스팅 기술을 활용한 IoT 기기 연구가 활발하게 진행되고 있다. 에너지 하베스팅은 진동, 열, 태양광, 생화학, 무선주파수 신호 등 주변 환경에서 에너지를 습득하여 전력으로 변환시켜 제공하는 기술이며[2], 외부 충전 없이도 지속적으로 시스템을 구동시킬 수 있다.
에너지 하베스팅 기반 IoT 기기들은 에너지 하베스팅 장치와 함께 반영구적 사용이 가능한 소형 커패시터를 에너지 저장소로 활용한다. 그래서 초기 설치 후 인간의 개입 없이 반영구적, 친환경적으로 작동함으로써 IoT 확장을 저해하는 배터리의 한계를 극복할 수 있다.
한편, 이러한 에너지 하베스팅 기반 시스템을 특징짓는 가장 중요한 요소는 전원의 불안정성이다. 즉, 고정된 전원에 비해 불안정한 전력 공급 때문에 시스템 중단 또는 초기화가 발생할 수 있는 것이다. 또한 현재의 에너지 하베스팅 성능은 IoT 기기가 사용하는 전력을 꾸준히 공급하기에는 부족하며, 따라서 컴퓨팅 시스템은 에너지가 충분히 모일 때마다 일정 시간 동안에만 작동할 수 있다.
이렇게 일시적으로 컴퓨팅을 수행하고 다시 충전을 반복하는 특성이 나타나는 시스템을 간헐적 컴퓨팅 시스템이라 한다. 간헐적 컴퓨팅 기술은 이한 잦은 전원 중단이 발생하는 환경에서 일반적인 컴퓨팅을 지속시킬 수 있는 기술로써 다양한 하드웨어 및 소프트웨어 기술을 활용한 방법들이 연구되고 있다.
본고에서는 소프트웨어 기술 관점에서 간헐적 컴퓨팅 기술의 최신 연구 동향 및 기술적 과제를 살펴본다.
Ⅱ. 간헐적 컴퓨팅 시스템 동향
1. 기술 개요
가. 시스템 하드웨어 구성
그림 1은 일반적인 간헐적 컴퓨팅 시스템의 하드웨어 구성을 나타내고 있다. 기존 시스템이 배터리를 통해 프로세서에 전력을 공급하는 것과 달리, 간헐적 컴퓨팅 시스템에서는 이 부분이 에너지 하베스터와 소형 커패시터로 대체된다. 또한 간헐적 컴퓨팅 시스템은 비휘발성 메모리(NVM: Non-Volatile Memory)를 탑재하는데, 이는 상태 보존 기술 구현에 사용된다.
IoT 기기에 일반적으로 활용되는 SRAM(Static Random Access Memory)과 달리 NVM은 전원이 공급되지 않아도 저장된 데이터를 유지할 수 있다. 초기 간헐적 컴퓨팅 연구 분야에서는 주로 플래시 메모리를 활용하였으며, 최근의 연구들에서는 임의의 바이트 주소로 접근이 가능한 FRAM(Ferroelectric RAM)이 가장 활발하게 사용되고 있다. 또한 Re-RAM(Resistive RAM), MRAM(Magnetoresistive RAM)과 같은 차세대 메모리의 활용도 시도되고 있다.
나. 컴퓨팅 수행 모델
그림 2는 인터미턴트 시스템의 수행 모델을 나타내고 있다. 그래프의 X축은 시간, Y축은 커패시터의 전압을 나타내며, 에너지가 축적됨에 따라 값이 점점 상승함을 볼 수 있다. 전압이 전원 공급 임계치 Vh에 도달하면 커패시터에 저장된 에너지가 프로세서로 공급되고 프로세서는 연산을 수행하며(그래프의 회색 부분), 이에 따라 전압이 빠르게 감소한다. 이후 전압이 전원 중단 임계치 Vl에 도달하게 되면 전원 공급이 중지되며, 프로세서는 다시 전원 중단 상태로 돌아가 다음 수행 사이클을 기다리게 된다.
다. 상태 보존 소프트웨어 기술
에너지 하베스팅 성능과 커패시터 크기를 고려하면 일반적으로 연산이 가능한 시간은 수십에서 수백 밀리초에 불과하다. 따라서 긴 프로그램을 수행하기 위해서는 전원 공급 이후 이전 상태를 복구하여 연산을 지속시킬 수 있는 상태 보존 기술이 필수적이다.
소프트웨어 기반 간헐적 컴퓨팅 기술들은 이를 위하여 레지스터값, SRAM 저장 데이터와 같이 프로그램의 현재 컨텍스트를 나타내는 모든 휘발성 데이터를 비휘발성 메모리에 저장했다가 전원 공급 후 다시 복구하는 체크포인트 및 리커버리 기술을 사용한다.
이러한 체크포인트 기술은 체크포인트 수행 시점, 범위, 구현 방법 등 여러 기준으로 분류될 수 있으며 각 기법은 고유한 장단점을 제공한다.
2. 체크포인트 기술 분류
체크포인트 기술을 정적 체크포인트, 동적 체크포인트, 프로그래밍 언어 기반 체크포인트와 같이 세 가지로 분류할 수 있으며, 각 방식의 특징과 장단점은 표 1과 같이 요약할 수 있다.
표 1 체크포인트(CKP) 방식 분류
가. 정적 체크포인트 기술
정적 체크포인트는 실행 프로그램에 직접 체크포인트 명령을 삽입하는 방식이며, 일반적으로 프로그래머의 개입을 최소화하고 컴파일러 단계에서 체크포인트 명령을 삽입한다.
예를 들어 반복문의 Back Edge나 함수 호출 전후에 체크포인트 호출 명령을 삽입하고, 각 호출에서는 가용 에너지를 확인하여 에너지가 적을 때만 체크포인트를 실행할 수 있다[3].
정적 체크포인트는 소프트웨어가 직접 체크포인트를 호출하므로 하드웨어에 독립적이고, 컴파일 단계에서 다양한 최적화를 적용할 수 있다는 장점이 있다.
그림 3은 이러한 최적화의 예시를 보여준다. 참고문헌[4]는 한 전원 사이클 내에 수행할 수 있는 최소 명령어 수를 구한 후, 이를 기준으로 프로그램을 분할하고, 각 분할된 구역 내 스택 크기가 최소화되는 지점에 체크포인트를 삽입하여 체크포인트 빈도와 크기를 최소화하는 방법을 제안하였다.
그림 3
MCU 사이클 수를 이용한 제어흐름그래프 분할 개념
출처 Naveed Anwar Bhatti and Luca Mottola. 2017. HarvOS: efficient code instrumentation for transiently-powered embedded sensing. In Proceedings of the 16th ACM/IEEE International Conference on Information Processing in SensorNetworks (IPSN '17). Association for Computing Machinery, New York, NY, USA, pp. 209–219. https://doi.org/10.1145/3055031.3055082. Fig. 2.

한편, 그림 4의 DICE[5]는 한번 체크포인트가 수행되면 다음 체크포인트에서는 변경된 부분만을 구별하여 저장하는 기술을 통해 체크포인트 데이터를 한층 더 감소시키는 기술을 개발하였다. 참고문헌[6]은 여기서 한층 더 나아가 데이터 의존성 분석을 통해 앞으로 사용되지 않을 데이터까지 제거하는 컴파일러 분석을 제안하였다.
그림 4
DICE 기본 작업(메모리의 데이터 변경으로 발생한 ‘차이’ 부분만 재작성 수행): (a) DICE, (b) 기존 시스템
출처 Saad Ahmed, Naveed Anwar Bhatti, Muhammad Hamad Alizai, Junaid Haroon Siddiqui, and Luca Mottola. 2019. Efficient intermittent computing with differential checkpointing. In Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2019). Association for Computing Machinery, New York, NY, USA, pp. 70–81. https://doi.org/10.1145/3316482.3326357. Fig. 1.

반면, 잦은 체크포인트 호출에 따른 오버헤드, 런타임에 변화하는 환경에 적응할 수 있는 유연성 부족 등은 정적 체크포인트 기술의 약점이다.
나. 동적 체크포인트 기술
동적 체크포인트 기술은 프로그램의 수정 없이 커패시터 전압이 낮을 때 인터럽트를 발생시키도록 구성된 시스템 하드웨어를 활용하여 체크포인트를 수행하는 방법이다[7,8].
그림 5는 이러한 Just-In-Time(JIT) 체크포인팅의 시나리오를 나타내고 있다. 그림에서는 좌측의 변경되지 않은 소프트웨어 코드가 실행되고 있으며, 에너지 버퍼 상태에 따라 가용 에너지가 낮아지면 그림의 우측과 같이 동적으로 체크포인트를 수행하고 리부트를 수행하는 것을 볼 수 있다.
그림 5
JIT 체크포인팅 시스템의 실행 추적
출처 Kiwan Maeng and Brandon Lucia. 2019. Supporting peripherals in intermittent systems with just-in-timecheckpoints. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation(PLDI 2019). Association for Computing Machinery, New York, NY, USA, pp. 1101–1116. https://doi.org/10.1145/3314221.3314613. Fig. 1.

이러한 방법은 운영체제 수준에서 구현 가능하여 임의의 프로그램에 대해 수행 가능하고, 정적 체크포인트에 존재하는 잦은 체크포인트 호출을 피할 수 있는 장점이 있다.
반면, 전압을 모니터링하고 인터럽트를 발생시키는 하드웨어의 필요성, 임의의 시점에 체크포인트가 수행되는 것으로 인한 체크포인트 무결성 보장 및 최적화 난해와 같은 한계점도 존재한다.
다. PL 기반 체크포인트 기술
프로그래밍 언어(PL: Programming Language) 기반 기술들은 C 언어 등 기존의 PL을 확장하거나 간헐적 시스템 응용 작성에 적합한 PL을 제안한다. 이런 기술들은 사용자가 직접 프로그램의 최소 단위인 태스크를 작성하고 태스크 간 교환하는 데이터 명시를 요구한다.
그림 6은 PL 기반 기법 중 하나인 Chain[10]의 태스크 구성 예시를 보여주고 있다. 각 태스크가 ChIn, ChOut 등 어떤 데이터를 주고받는지, Next-Task와 같이 다음에 어떤 태스크를 호출하는지 등 특정한 PL을 활용한 구현을 볼 수 있다. 그리고 시스템은 태스크가 수행을 완료할 때마다 다음 태스크와 교환하는 데이터를 체크포인트하여 태스크가 원자적으로 작동하도록 보장한다.
그림 6
Chain 프로그램 예제
출처 Alexei Colin and Brandon Lucia. 2016. Chain: tasks and channels for reliable intermittent programs. InProceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2016). Association for Computing Machinery, New York, NY, USA, pp. 514–530. https://doi.org/10.1145/2983990.2983995. Fig. 4.

이러한 PL 기반 기술들은 분석이 어려운 부분을 프로그래머가 명시하도록 함으로써 높은 효율로 체크포인트를 수행할 수 있다는 장점이 있다. 그러나 기존 프로그램이나 라이브러리를 재사용할 수 없고, 기존 프로그램을 적당한 크기의 태스크들로 분할시키는 결정의 어려움 같은 한계도 가지고 있다.
3. 시스템 레벨 지원 기술
앞 절에서 소개한 체크포인트 기술들은 MPU (Micro Processing Unit) 관점에서의 상태 보존을 지원하는 기술로, 간헐적 컴퓨팅을 위한 필수적인 기술이다. 그러나 대부분의 IoT 기기는 MPU 외에도 센서나 데이터 전송을 위한 주변기기와 함께 작동하며, 이들의 올바른 수행을 보장하기 위해서는 추가적인 소프트웨어 지원이 필요하다.
또한, 응용에 따라서는 명령어들이 올바른 순서 뿐만 아니라 동일한 전원 사이클 안에서 수행되어야만 설계된 의도대로 동작하는 경우가 있다. 이 경우에는 간헐적 컴퓨팅의 수행 적시성(Timeliness) 보장을 위한 지원도 필요하다.
본 절에서는 이러한 시스템 레벨에서 간헐적 컴퓨팅을 지원하는 기술과 간헐적 시스템의 설계를 돕기 위한 모델링 연구를 살펴본다.
가. 주변기기 지원
센서, 카메라, 통신과 같은 주변기기는 일반적으로 동일한 전원 사이클 안에 수행을 완료해야 하는 원자성을 요구한다. 즉, 주변기기 수행 중 전원 중단이 발생하면 MPU가 중단된 명령어부터 수행을 재개한다고 해도 하드웨어 상태가 초기화되거나 얻은 결과가 무의미해질 수 있다.
이러한 문제는 다양한 관점에서 연구가 진행되었는데, 주변기기 실행 중 전원이 중단되는 경우 다음 사이클에는 더 작은 단위로 주변기기 접근이 가능하도록 조정하는 스케일링 규칙을 사용자가 제공하는 기법이 있다[9].
또한 프로그래머가 주변기기에 접근할 때 하드웨어 추상화 계층(HAL: Hardware Abstraction Layer)을 호출한다는 점을 활용하여, HAL 안에 현재 운용 상태를 저장할 수 있는 상태 머신(State Machine)을 구현하여 HAL 수준에서 상태 보존 기능을 제공하는 기법도 있다[11].
그림 7은 하드웨어 추상화 계층과 드라이버 계층 사이에 상태 보존을 지원하는 중간 계층을 추가하여, 시스템 복구 시 이전 전원 사이클에서 수행되던 HAL API를 감지하고 상태를 복구하는 기술을 개괄적으로 보여준다.
그림 7
간헐적인 비동기 주변기기 작업을 위한 중간 계층 활용
출처 Adriano Branco, Luca Mottola, Muhammad Hamad Alizai, and Junaid Haroon Siddiqui. 2019. Intermittent asynchronous peripheral operations. In Proceedings of the 17th Conference on Embedded Networked Sensor Systems(SenSys '19). Association for Computing Machinery, New York, NY, USA, pp. 55–67. https://doi.org/10.1145/3356250.3360033. Fig. 6.

나. 수행 적시성 지원
간헐적 컴퓨팅 시스템을 위한 적시성 및 시각 획득에 관련된 연구가 진행 중인데, 적시성 문제를 입력 데이터의 최신 상태(Freshness) 문제와 시간 일관성(Time Consistency) 문제로 분류하고 이를 Rust 언어의 확장으로 표현한 연구가 있다[12].
여기서 Freshness는 온도를 읽고 이를 기반으로 Branch를 수행하는 경우 같이, 데이터를 획득하는 시점과 사용하는 시점 사이에 시차가 발생하면 안되는 문제이다. 그리고 Time Consistency는 여러 데이터를 사용할 때 이들이 획득된 시간 사이에 차이가 없어야 하는 문제이다.
한편, 시각 획득 문제는 시스템이 종료된 후 복구되었을 때 얼마나 시간이 흘렀는지를 파악하는 문제로, 참고문헌[13]에서는 다양한 크기의 커패시터를 구성하고 커패시터가 방전된 양을 기준으로 시스템이 얼마나 전원 중단 상태였는지 예측하는 방법을 제안한다.
다. 시스템 자원 모델링
간헐적 컴퓨팅 시스템을 실제 환경에 적용 또는 제품화하기 위해서는 목표 응용에 적합한 커패시터의 품질과 크기, 동작 전압 범위 등 다양한 하드웨어 파라미터를 최적으로 결정하는 것이 중요하다. 이는 해당 요소들이 최종 시스템의 부피, 무게, 가격에 큰 영향을 미치기 때문이다.
하지만 모든 하드웨어 파라미터를 직접 구현하여 측정하는 것은 매우 높은 비용을 요구하기 때문에 이러한 문제를 다루기 위한 모델링 연구들이 수행되고 있다.
참고문헌[14]는 각 명령어의 소모 에너지를 프로파일링한 정보를 기반으로 컴파일러 분석을 통해 다양한 에너지 공급 환경과 커패시터 크기에서 응용의 수행시간을 예측하는 방법을 제안한다.
또한 참고문헌[15]는 주변기기의 샘플링 빈도 및 데이터 전송 빈도를 고려한 수행시간 예측 모델을 제안하며, 참고문헌[16]은 그림 8과 같이 응용에 따라 체크포인트 기법의 효율이 큰 차이가 나타남을 보이고, 소프트웨어 기법까지 디자인 공간에 포함시키는 모델링 기법을 제안한다.
4. 향후 기술적 과제
이와 같이 간헐적 컴퓨팅 분야는 MPU의 상태를 효율적으로 보존하는 기술뿐만 아니라 주변기기의 진행 상황이나 프로그램의 의미를 올바르게 유지하는 시스템 레벨 기술까지 많은 연구가 이루어지고 있다. 그러나 더 다양한 응용 시나리오를 지원하고 많은 분야에 확장되기 위해서는 여러 가지 해결해야 할 문제가 남아 있다.
가. 네트워킹 지원
네트워크 기술은 간헐적 컴퓨팅 시스템에서 중요하지만 해결하기 어려운 문제이다. 사람이 관리하기 어려운 지역에 장기간 배치하는 등 간헐적 컴퓨팅의 대표적 응용 환경에서는 결국 습득한 데이터를 원격지에 있는 서버 등으로 전송할 필요가 있는데, 무선 통신은 유선 인프라 없이 작동하는 간헐적 컴퓨팅 기기에서 가장 많은 에너지를 소모하는 요소이기 때문이다.
이를 위해 저궤도 위성, LoRa 등 다양한 통신 방식[17,18], 네트워크 프로토콜[19], 온디바이스 추론을 활용한 데이터 필터링[20] 등 다양한 연구가 시도되고 있으나, 간헐적 컴퓨팅 시스템 간 통신같이 해결이 필요한 과제들이 여전히 존재한다.
나. 보안 지원
간헐적 컴퓨팅 기기의 보안도 연구 진척이 부족한 분야이다. 특히 간헐적 컴퓨팅 시스템은 비휘발성 메모리에 시스템의 상태를 주기적으로 저장하기 때문에, 공격자가 비휘발성 메모리에 접근이 가능할 경우 원하는 위치에서 시스템을 복구시키거나 가짜 체크포인트를 활용하여 시스템을 공격할 수 있다[21].
또한, 전원 보안 관련해서 간헐적 컴퓨팅 시스템의 추가적인 공격점 중 하나로 커패시터 성능을 의도적으로 저하시키는 정전 공격을 분석하고 이를 완화시키는 기법 연구가 있다[22].
간헐적 컴퓨팅 환경에 존재하는 보안 위협에 대한 이론적인 분석은 그림 9와 같이 전반적으로 진행되었으나, 그 해결책 및 구체적인 구현은 더 많은 연구가 필요하다.
그림 9
보안 체크포인트 기술 분류 및 유지 속성
출처 Repoduced from P. Sah and M. Hicks, “Hitchhiker’s Guide to Secure Checkpointing on Energy-Harvesting Systems,” in Proc. Int. Workshop Energy Harvesting Energy-Neutral Sens. Syst., (Istanbul, Turkiye), Nov. 2023, pp. 8–15.

다. 인공지능 지원
마지막으로 인공지능 추론 등 응용의 고도화와 이에 따른 아키텍처 구성도 활발히 연구되고 있는 과제이다. 간헐적 컴퓨팅 환경에서 심층신경망 같은 기존보다 컴퓨팅, 메모리 자원을 많이 요구하는 응용을 수행하면서, 이들을 에너지 환경에 맞춰 적응적으로 실행시키거나[23], 체크포인트 비용을 최소화하는 데이터플로우를 활용하는[24] 등 소프트웨어 측면에서 수행 효율성을 높이려는 연구들이 진행되고 있다.
한편 하드웨어 구성을 통해 그 효율성을 높이는 방향의 연구들도 제안되고 있는데, 간헐적 컴퓨팅 지원 가속기[25], 이기종 가속기[26], 이기종 코어 활용 아키텍처[27] 등 고도화된 응용 수행 지원을 위한 아키텍처 수준의 탐색도 계속되고 있다.
5. ETRI AEDS 기술
ETRI AEDS(Autonomous Energy-Driven System)는 한국전자통신연구원이 개발한 간헐적 컴퓨팅 시스템 소프트웨어 기술이며, 전력 공급이 불안정한 상황에서 컴퓨팅의 일관성, 안전성 및 지속적인 서비스 제공을 목표한다[28].
AEDS는 ARM 16/32비트 아키텍처의 마이크로 프로세서와 비휘발성 메모리인 MRAM/FRAM 하드웨어 환경에서 활용할 수 있다. 또한, 그림 10 중단부와 같이 간헐적 컴퓨팅 기능을 지원하는 커널, 운영체제, 컴파일러, 개발자 도구로 구성되는데, 이들은 핵심 기능인 체크포인트 및 리커버리의 다양한 기법을 포함하고 에너지 고효율성 측면에서 선도적 수준의 성능을 나타낸다.
그림 10 하단부의 하드웨어단에서 함께 개발된 고효율 전력제어 모듈 기술은 다중 전원 환경에서 고효율의 충전, 저장, 방전을 관리할 수 있다. 또한, 연동되는 모듈, 부품 수준에서 독립적인 전력 공급이 가능하여 전력 불안정 상황에서도 시스템의 고정밀 전력 관리 및 임무 제어를 지원할 수 있다.
한국전자통신연구원은 AEDS 기술을 활용하여 웨어러블 IoT, 초소형위성 탑재체 등 미래 IoT 분야에서 기존 기술 체계와 간헐적 컴퓨팅 시스템 기술의 융합을 시도하고 있다.
Ⅲ. 결론
간헐적 컴퓨팅 시스템 기술은 전력 공급이 불안정하거나 제한적인 환경에서 컴퓨팅을 지속시킬 수 있는 기술로써 산업계 수요가 높아질 전망이다. 특히 에너지 하베스팅 기술을 활용하여 배터리 의존성을 제거하고 환경친화적, 지속 가능한 컴퓨팅을 제공할 수 있기 때문에 미래 IoT, 엣지 컴퓨팅 분야에서 필수적인 기술이 될 가능성이 크다고 판단된다. 나아가 급격히 발전하고 있는 저전력 온디바이스 AI 기술과의 융합을 통해 미래 지능형 IoT 시스템 분야의 혁신적 성장도 기대할 수 있다.
용어해설
휘발성/비휘발성 메모리 전원 차단 시 데이터 유지 여부로 나뉘는 메모리 특성으로, 쓰인 데이터가 지워지는 것을 휘발성(Volatile) 메모리, 지워지지 않는 것을 비휘발성(Non-Volatile) 메모리로 구분
커패시터 전기를 일시적으로 저장할 수 있는 회로 부품으로, 충방전 가능 횟수가 많고, 수명이 길어서 배터리에 비해 유지관리에 유리
약어 정리
S. Ahmed et al., "The Internet of Batteryless Things," Commun. ACM, vol. 67, no. 3, 2024, pp. 64–73.
M. Noohi et al., "Thermally reused solar energy harvesting using current mirror cells," ETRI J., vol. 45, no. 3, 2023, pp. 519-533.
B. Ransford et al., "Mementos: system support for long-running computation on RFID-scale devices," ACM SIGARCH Comput. Archit. News, vol. 39, no. 1, 2011, pp. 159–170.
N.A. Bhatti and L. Mottola, "HarvOS: Efficient Code Instrumentation for Transiently-Powered Embedded Sensing," in Proc. ACM/IEEE Int. Conf. Inf. Proc. Sensor Networks, (Pittsburgh, PA, USA), Apr. 2017, pp. 209–219.
S. Ahmed et al., "Efficient intermittent computing with differential checkpointing," in Proc. ACM SIGPLAN/SIGBED Int. Conf. Lang. Compil. Tools Embedded Syst., (Phoenix, AZ, USA), Jun. 2019, pp. 70–81.
Y.B. Kim et al., "Liveness-Aware Checkpointing of Arrays for Efficient Intermittent Computing," in Proc. Des. Automat. Test Eur. Conf. Exhib., (Antwerp, Belgium), Apr. 2023.
H. Jayakumar et al., "QUICKRECALL: A Low Overhead HW/SW Approach for Enabling Computations across Power Cycles in Transiently Powered Computers," in Proc. Int. Conf. VLSI Des. Int. Conf. Embedded Syst., (Mumbai, India), Jan. 2014, pp. 330-335.
K. Maeng and B. Lucia, "Adaptive low-overhead scheduling for periodic and reactive intermittent execution," in Proc. ACM SIGPLAN Int. Conf. Program. Lang. Des. Implement., (London, UK), Jun. 2020. pp. 1005–1021.
K. Maeng and B. Lucia, "Supporting peripherals in intermittent systems with just-in-time checkpoints," in Proc. ACM SIGPLAN Int. Conf. Program. Lang. Des. Implement., (Phoenix, AZ, USA), Jun. 2019, pp. 1101–1116.
A. Colin and B. Lucia, "Chain: Tasks and Channels for Reliable Intermittent Programs," in Proc. ACM SIGPLAN Int. Conf. Object–Oriented Program. Syst. Lang. Appl., (Amsterdam, Netherlands), Nov. 2016, pp. 514–530.
A. Branco et al., "Intermittent asynchronous peripheral operations," in Proc. ACM Conf. Embedded Netw. Sensor Syst., (New York, NY, USA), Nov. 2019, pp. 55–67.
M. Surbatovich et al., "Automatically enforcing fresh and consistent inputs in intermittent systems," in Proc. ACM SIGPLAN Int. Conf. Program. Lang. Des. Implement., Jun. 2021, pp. 851–866.
J. de Winkel et al., "Reliable Timekeeping for Intermittent Computing," in Proc. Int. Conf. Archit. Support Program. Lang. Oper. Syst., (Lausanne, Switzerland), Mar. 2020, pp. 53–67.
F. Erata et al., "ETAP: Energy-Aware Timing Analysis of Intermittent Programs," ACM Trans. Embedded Comput. Syst., vol. 22, no. 2, 2023, pp. 1-31.
F. Ghasemi et al., "PES: An Energy and Throughput Model for Energy Harvesting IoT Systems," in Proc. IEEE Int. Symp. Perform. Anal. Syst. Softw., (Raleigh, NC, USA), Apr. 2023, pp. 13-23.
Y.B. Kim and H.S. Kim, "Rapid Hardware/Software Design Space Exploration for Efficient Intermittent Systems," in Proc. ACM/IEEE Int. Symp. Low Power Electron. Des., (Newport Beach, CA, USA), Aug. 2024, pp. 1–6.
M. Nardello et al., "Intermittent Intelligent Camera with LEO Sensor-to-Satellite Connectivity," in Proc. Int. Workshop Energy Harvesting Energy-Neutral Sens. Syst., (Istanbul, Turkiye), Nov. 2023, pp. 79–85.
H. Desai et al., "Camaroptera: A Long–Range Image Sensor with Local Inference for Remote Sensing Applications," ACM Trans. Embedded Comput. Syst., vol. 21, no. 3, 2022, pp. 1–25.
J. de WinKel et al., "Intermittently–Powered Bluetooth That Works," in Proc. Annu. Int. Conf. Mobile Syst. Appl. Serv., (Portland, OT, USA), Jun. 2022, pp. 287–301.
B. Denby and B. Lucia, "Orbital Edge Computing: Nanosatellite Constellations as a New Class of Computer System," in Proc. Int. Conf. Archit. Support Program. Lang. Oper. Syst., (Lausanne, Switzerland), Mar. 2020, pp. 939–954.
P. Sah and M. Hicks, "Hitchhiker’s Guide to Secure Checkpointing on Energy-Harvesting Systems," in Proc. Int. Workshop Energy Harvesting Energy-Neutral Sens. Syst., (Istanbul, Turkiye), Nov. 2023, pp. 8–15.
J.O. Choi et al., "Caphammer: Exploiting Capacitor Vulnerability of Energy Harvesting Systems," IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst., vol. 43, no. 11, 2024, pp. 3804–3815.
O. Khan et al., "DaCapo: An On-Device Learning Scheme for Memory-Constrained Embedded Systems," ACM Trans. Embedded Comput. Syst., vol. 22, no. 5s, 2023, pp. 1-23.
C.H. Yen et al., "Keep in Balance: Runtime-Reconfigurable Intermittent Deep Inference," ACM Trans. Embedded Comput. Syst., vol. 22, no. 5s, 2023, pp. 1-25.
S.K. Lee and S. Nirjon, "Neuro.ZERO: A Zero-Energy Neural Network Accelerator for Embedded Sensing and Inference Systems," in Proc. ACM Conf. Embedded Netw. Sensor Syst., (New York, NY, USA), Nov. 2019, pp. 138–152.
H. Desai and B. Lucia, "A Power-Aware Heterogeneous Architecture Scaling Model for Energy-Harvesting Computers," IEEE Comput. Archit. Lett., vol. 19, no. 1, 2020, pp. 68–71.
W. Song et al., "TaDA: Task Decoupling Architecture for the Battery-Less Internet of Things," in Proc. ACM Conf. Embed1ded Netw. Sensor Syst., (Hangzhou, China), Nov. 2024. pp. 409–421.
그림 3
MCU 사이클 수를 이용한 제어흐름그래프 분할 개념
출처 Naveed Anwar Bhatti and Luca Mottola. 2017. HarvOS: efficient code instrumentation for transiently-powered embedded sensing. In Proceedings of the 16th ACM/IEEE International Conference on Information Processing in SensorNetworks (IPSN '17). Association for Computing Machinery, New York, NY, USA, pp. 209–219. https://doi.org/10.1145/3055031.3055082. Fig. 2.

그림 4
DICE 기본 작업(메모리의 데이터 변경으로 발생한 ‘차이’ 부분만 재작성 수행): (a) DICE, (b) 기존 시스템
출처 Saad Ahmed, Naveed Anwar Bhatti, Muhammad Hamad Alizai, Junaid Haroon Siddiqui, and Luca Mottola. 2019. Efficient intermittent computing with differential checkpointing. In Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2019). Association for Computing Machinery, New York, NY, USA, pp. 70–81. https://doi.org/10.1145/3316482.3326357. Fig. 1.

그림 5
JIT 체크포인팅 시스템의 실행 추적
출처 Kiwan Maeng and Brandon Lucia. 2019. Supporting peripherals in intermittent systems with just-in-timecheckpoints. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation(PLDI 2019). Association for Computing Machinery, New York, NY, USA, pp. 1101–1116. https://doi.org/10.1145/3314221.3314613. Fig. 1.

그림 6
Chain 프로그램 예제
출처 Alexei Colin and Brandon Lucia. 2016. Chain: tasks and channels for reliable intermittent programs. InProceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2016). Association for Computing Machinery, New York, NY, USA, pp. 514–530. https://doi.org/10.1145/2983990.2983995. Fig. 4.

그림 7
간헐적인 비동기 주변기기 작업을 위한 중간 계층 활용
출처 Adriano Branco, Luca Mottola, Muhammad Hamad Alizai, and Junaid Haroon Siddiqui. 2019. Intermittent asynchronous peripheral operations. In Proceedings of the 17th Conference on Embedded Networked Sensor Systems(SenSys '19). Association for Computing Machinery, New York, NY, USA, pp. 55–67. https://doi.org/10.1145/3356250.3360033. Fig. 6.

그림 9
보안 체크포인트 기술 분류 및 유지 속성
출처 Repoduced from P. Sah and M. Hicks, “Hitchhiker’s Guide to Secure Checkpointing on Energy-Harvesting Systems,” in Proc. Int. Workshop Energy Harvesting Energy-Neutral Sens. Syst., (Istanbul, Turkiye), Nov. 2023, pp. 8–15.

표 1 체크포인트(CKP) 방식 분류
- Sign Up
- 전자통신동향분석 이메일 전자저널 구독을 원하시는 경우 정확한 이메일 주소를 입력하시기 바랍니다.







