인터미턴트 컴퓨팅(Intermittent Computing)
1. 개요
가. 정의
배터리 없이 주변 에너지 하베스팅(Energy Harvesting) 만으로 동작하는 장치가, 전력이 불안정하게 공급·차단되는 환경에서도 연산 상태를 보존·복구하며 작업을 끊김 없이 이어가는 초저전력 컴퓨팅 방식.
일반적인 폰노이만 구조의 컴퓨터는 전원이 끊기면 레지스터·SRAM·DRAM 등 휘발성 저장소의 내용이 모두 사라져 부팅부터 다시 시작해야 한다. 이 모델은 "전원은 항상 안정적으로 공급된다"는 암묵적 전제 위에 서 있다. 인터미턴트 컴퓨팅은 이 전제를 뒤집어, 전원이 수 밀리초~수 초 단위로 끊겼다 켜지는 것을 정상 상태로 전제하고, 정전 직전까지의 연산 진행을 비휘발성 저장소에 남겨 두었다가 전력이 돌아오면 그 지점부터 이어서 실행한다. 즉 "정전(power failure)을 예외 상황이 아니라 반복되는 일상 이벤트로 다루는" 컴퓨팅 패러다임이다.
이런 전환이 가지는 의미는 단순한 절전 기법 이상의 것이다. 전통적 저전력 설계가 슬립 모드·DVFS(동적 전압·주파수 조정)처럼 "전원은 있되 소비를 줄이는" 접근이라면, 인터미턴트 컴퓨팅은 애초에 에너지 저장소(배터리)를 없애거나 최소화하고 수확한 전력만으로 버티는 접근이다. 따라서 하드웨어(비휘발성 메모리·초저전력 MCU), 소프트웨어(체크포인팅·복구 런타임), 프로그래밍 모델(멱등성·트랜잭션)이 한 몸으로 재설계되어야 한다.
나. 등장 배경 및 필요성
수십억~수조 개 규모로 예견되는 초소형 IoT 센서가 확산되면서 배터리 교체·폐기·수명 한계가 실질적 걸림돌이 되었다. 구조물 콘크리트 안에 매립되거나 인체에 이식·부착된 센서, 혹은 접근이 곤란한 산업 설비 내부의 센서는 배터리를 갈아 끼우는 것 자체가 불가능하거나 인건비 측면에서 비경제적이다. 한 대에 수백 원짜리 센서라도 수만 대를 몇 년마다 교체해야 한다면 총소유비용(TCO)은 감당하기 어렵다. 또한 폐기되는 리튬 배터리는 환경 부담과 안전(발화) 문제를 동반한다.
대안으로 태양광·RF·진동·열전(온도차) 등 주변 에너지를 수확하면 배터리 없이 반영구적으로 동작할 수 있다. 그러나 이렇게 수확되는 에너지는 본질적으로 간헐적·불규칙·미약하다는 세 가지 특성을 갖는다. 실내 조명 하베스팅은 마이크로와트(µW)급에 불과하고, RF 하베스팅은 소스와의 거리에 따라 급변하며, 진동 하베스팅은 진동원이 멈추면 즉시 끊긴다. 이런 전력원 위에서 밀리초 단위로 정전이 반복되면, 일반적인 실행 모델로는 연산이 영원히 완료되지 못한다. 따라서 잦은 정전 속에서도 연산을 반드시 완주시키는 상태 보존·복구 기법이 필요하며, 이것이 인터미턴트 컴퓨팅의 존재 이유다.
2. 전체 동작 구조
인터미턴트 컴퓨팅 시스템은 크게 에너지 서브시스템(수확·저장·전력관리), 연산 서브시스템(MCU·휘발성 메모리), 상태 보존 서브시스템(비휘발성 메모리·복구 런타임)의 세 계층이 맞물려 동작한다. 전체 구조를 조망하면 다음과 같다.
flowchart TB
subgraph ENERGY["에너지 서브시스템"]
HV["에너지 수확기(태양광/RF/진동/열전)"] --> PM["전력관리(PMU)"]
PM --> CAP[("커패시터 저장")]
end
subgraph COMPUTE["연산 서브시스템"]
MCU["초저전력 MCU"] --- VM["휘발성 메모리(레지스터/SRAM)"]
end
subgraph PERSIST["상태 보존 서브시스템"]
NVM["비휘발성 메모리(FRAM/MRAM)"]
RT["복구 런타임/컴파일러 지원"]
end
CAP -->|"임계전압 도달 시 전원 공급"| MCU
MCU -->|"체크포인트 기록"| NVM
NVM -->|"전력 회복 시 상태 복구"| RT
RT --> MCU
핵심은 커패시터가 일정 임계전압(예: 3.0V)에 도달해야 MCU에 전원이 인가되고, 전압이 하한(예: 1.8V) 아래로 떨어지기 전에 연산 상태를 비휘발성 메모리(NVM)에 안전하게 기록해야 한다는 점이다. 즉 "충전을 기다리는 구간"과 "실행하는 구간"이 번갈아 나타나는 톱니파형 전력 프로파일 위에서 시스템이 동작한다. 전력관리유닛(PMU)은 전압을 감시해 실행 가능 구간을 판단하고, 하강 임계에 근접하면 인터럽트를 발생시켜 긴급 체크포인트를 유도한다.
3. 실행·복구 프로세스와 핵심 기술 요소
앞의 전체 구조가 "무엇이 있는가"라면, 아래 프로세스는 "어떻게 흘러가는가"를 보여 준다. 한 번의 전력 사이클 안에서 수확→축적→실행→저장→(정전)→복구가 순환한다.
sequenceDiagram
participant H as 수확기
participant C as 커패시터
participant M as MCU
participant N as NVM
H->>C: 미약 에너지 축적
C->>M: 임계전압 도달, 전원 ON
M->>M: 연산 실행(태스크 일부)
M->>N: 체크포인트 저장(레지스터/변수)
Note over C,M: 전압 하강, 정전 발생
H->>C: 재충전
C->>M: 전원 회복, 재부팅
M->>N: 마지막 체크포인트 조회
N->>M: 상태 복원 후 이어서 실행
가. 에너지 하베스팅과 전력 인식 실행
동작의 골자는 수확→축적→실행→저장→복구의 순환이며, 여기서 가장 먼저 다루어야 할 것은 "얼마나 있는지 모르는 에너지"를 어떻게 다루느냐다. 수확 에너지는 예측이 어렵기 때문에, 시스템은 커패시터 전압을 곧 "에너지 잔량계"로 삼아 실행 여부를 판단한다. 전압이 높으면 더 긴 태스크를 실행하고, 낮으면 즉시 체크포인트를 남기고 대기한다.
전력 인식 스케줄링(power-aware scheduling)은 이 판단을 작업 단위로 확장한다. 예컨대 가용 에너지가 많을 때는 연산량이 큰 필터링·추론을 수행하고, 적을 때는 센서 샘플링처럼 가벼운 작업만 수행하도록 우선순위를 조정한다. 이렇게 하면 값비싼 연산이 도중에 정전으로 무너지는 낭비를 줄일 수 있다.
핵심은 커패시터 용량 선정이다. 용량이 너무 작으면 한 번에 유의미한 작업을 못 하고, 너무 크면 충전에 오랜 시간이 걸려 반응성이 떨어진다. 실제 설계에서는 "가장 큰 원자적 작업 단위를 완주할 수 있는 최소 용량"을 실험적으로 산정한다.
나. 비휘발성 메모리(NVM)와 체크포인팅
전원이 끊겨도 상태를 지키려면 저장 매체 자체가 비휘발성이어야 한다. FRAM(강유전체 RAM)·MRAM(자기저항 RAM)은 플래시와 달리 바이트 단위 쓰기가 가능하고 쓰기 에너지·지연이 매우 작아 인터미턴트 컴퓨팅의 사실상 표준이다. 예를 들어 TI의 MSP430FR 계열 MCU는 FRAM을 내장해 체크포인트 쓰기를 수 나노초~수 마이크로초 수준으로 처리한다. 플래시는 블록 단위 소거·높은 쓰기 에너지 때문에 잦은 체크포인팅에 부적합하다.
체크포인팅(checkpointing)은 연산 중간 상태(프로그램 카운터·레지스터·스택·전역 변수)를 NVM에 복사해 두는 기법이다. 관건은 "언제, 얼마나 자주 저장하느냐"다. 자주 저장하면 정전 시 손실은 적지만 저장 오버헤드로 진행이 느려지고, 드물게 저장하면 정전 때마다 많은 작업을 재실행해야 한다. 이 트레이드오프를 최적화하는 방식으로는 (1) 코드의 고정 지점마다 저장하는 정적 체크포인팅, (2) 전압이 하한에 근접했을 때만 저장하는 적응형(전압 기반) 체크포인팅, (3) 바뀐 변수만 저장하는 차등 체크포인팅이 있다.
또 하나의 접근은 아예 체크포인트를 명시하지 않고, 프로그램을 태스크 단위로 쪼개 각 태스크가 원자적으로 완료되거나 통째로 재실행되도록 하는 태스크 기반 모델(예: Alpaca, Chain 같은 연구 런타임)이다. 이 경우 개발자는 정전 지점을 신경 쓰지 않고 태스크 경계만 선언하면 되므로 생산성이 높아진다.
다. 멱등성과 일관성 보장
각 요소는 정전이라는 전제 위에서 "상태를 어떻게 안전하게 지키고 복구할 것인가"라는 하나의 목표를 분담한다.
| 요소 | 설명 |
|---|---|
| 에너지 하베스팅 | 태양광·RF·열·진동 등 주변 에너지를 수집·저장 |
| 비휘발성 메모리(NVM) | FRAM·MRAM 등으로 전원 차단 시에도 상태 보존 |
| 체크포인팅(Checkpointing) | 연산 중간 상태를 주기적/적응적으로 NVM에 저장 |
| 멱등성(Idempotency) | 재실행되어도 결과가 달라지지 않도록 보장 |
| 전력 인식 스케줄링 | 가용 에너지량에 맞춰 작업을 분할·실행 |
특히 멱등성이 중요한 이유가 있다. 체크포인트 이후 정전이 나면 그 지점부터 코드가 다시 실행되는데, 만약 그 사이에 외부 상태(예: 센서 카운터 증가, 무선 전송, NVM 변수 갱신)를 바꾸는 연산이 있었다면 재실행으로 같은 부수효과가 두 번 일어나 데이터가 오염된다. 대표적인 예가 count = count + 1처럼 NVM 변수를 읽어 갱신하는 코드다. 갱신 도중 정전이 나 부분적으로만 반영된 뒤 재실행되면 값이 두 번 더해지거나 어중간한 값이 남는다. 이런 WAR(Write-After-Read) 위험을 막으려면 갱신을 원자적 트랜잭션으로 묶거나, 이중 버퍼링으로 갱신 전 값을 보존해 재실행 시 원본에서 다시 계산하도록 설계해야 한다.
일관성의 또 다른 축은 "체크포인트 자체의 원자성"이다. 체크포인트를 기록하는 도중에 정전이 나면 절반만 저장된 손상된 체크포인트가 남을 수 있다. 이를 막기 위해 더블 버퍼링(두 개의 체크포인트 슬롯을 번갈아 사용하고, 완결된 쪽에만 유효 플래그를 세움)으로 항상 온전한 마지막 체크포인트를 보장한다.
4. 주요 이슈와 진행 보장
| 이슈 | 내용 |
|---|---|
| 진행 보장(Forward Progress) | 체크포인트 오버헤드 vs 재실행 손실의 균형 |
| 일관성 | 정전 시점 메모리 불일치(비원자적 갱신) 방지 |
| 성능 | 잦은 저장/복구로 인한 처리 지연 |
| 디버깅 | 비결정적 정전으로 오류 재현·검증이 곤란 |
가장 근본적인 이슈는 진행 보장(forward progress)이다. 커패시터에 담긴 에너지로 실행 가능한 구간보다 두 체크포인트 사이 거리가 길면, 매번 그 구간을 완료하기 전에 정전이 나 영원히 앞으로 나아가지 못하는(non-termination) 상태에 빠질 수 있다. 이를 "Sisyphean 실행"이라 부르기도 하는데, 마치 시시포스가 바위를 정상 직전까지 밀었다가 다시 굴러떨어지는 것을 반복하는 상황에 비유한 것이다. 그래서 가용 에너지로 반드시 완주 가능한 크기로 작업을 쪼개는 것이 설계의 핵심이며, 일부 런타임은 재실행 횟수를 관측해 태스크를 동적으로 더 잘게 분할하기도 한다.
디버깅 이슈도 실무적으로 중요하다. 정전이 발생하는 지점이 비결정적이기 때문에, 특정 정전 타이밍에서만 재현되는 버그(예: 앞서의 WAR 위험)는 일반 디버거로 잡기가 매우 어렵다. 그래서 정전을 임의 지점에 주입해 반복 테스트하는 결함 주입(fault injection) 테스트베드나, 실제 하베스팅 전력 파형을 재현하는 에뮬레이터(예: Ekho, Fused)가 연구·활용된다.
전력 관리 패러다임 비교
인터미턴트 컴퓨팅의 위치를 명확히 하려면 인접한 전력 관리 방식과 비교하는 것이 좋다. 세 방식은 "에너지 저장소를 얼마나 두는가"와 "정전을 어떻게 취급하는가"에서 근본적으로 갈린다. 차이가 생기는 이유는 대상 응용의 전력 가용성 전제가 다르기 때문이다. 상시 전원·대용량 배터리를 가정할 수 있으면 슬립 기반 저전력 설계가 단순하고 안전하지만, 그 전제가 무너지는 환경에서는 인터미턴트 방식만이 동작을 이어갈 수 있다.
| 구분 | 상시전원 저전력(슬립/DVFS) | 배터리 기반 IoT | 인터미턴트 컴퓨팅 |
|---|---|---|---|
| 에너지 저장소 | 상시 전원 | 배터리(대) | 커패시터(소)·배터리리스 |
| 정전 취급 | 예외(발생 안 함 전제) | 예외(저전력 알림) | 정상 이벤트(반복 전제) |
| 상태 보존 | 불필요 | 배터리로 유지 | 체크포인트 필수 |
| 수명 제약 | 없음 | 배터리 수명 | 반영구(수확 지속 시) |
| 주요 응용 | 서버·모바일 | 대부분의 IoT | 매립·이식·초장수명 센서 |
실무적 함의는 분명하다. 배터리 방식이 "충분한 에너지를 미리 저장해 두고 정전을 피하는" 전략이라면, 인터미턴트 방식은 "저장을 최소화하고 정전을 견디는" 전략이다. 전자는 설계가 단순하나 배터리 수명·폐기 비용을 지불하고, 후자는 설계가 복잡하나 유지보수·환경 비용을 절감한다. 따라서 두 방식은 대체재가 아니라 응용 특성에 따라 선택되는 상보재로 보는 것이 타당하다.
5. 적용 분야와 사례
| 분야 | 활용 |
|---|---|
| 배터리리스 IoT | 환경·구조물 모니터링 센서(교량 균열, 실내 공기질 등) |
| 웨어러블·헬스 | 체온·심박 등 초저전력 생체 센서 |
| 엣지 AI(TinyML) | 초저전력 온디바이스 추론 |
첫째, 구조물 헬스 모니터링(SHM) 사례다. 교량에 매립된 진동 수확 센서가 평상시 차량 통행에 의한 미세 진동으로 전력을 모아 균열·변형 데이터를 측정·저장하고, 전력이 충분히 쌓였을 때만 무선으로 게이트웨이에 전송한다. 배터리 교체 없이 구조물 수명(수십 년) 내내 동작하는 것을 목표로 한다.
둘째, RFID 기반 배터리리스 센싱 사례다. 대표적으로 WISP(Wireless Identification and Sensing Platform)는 RFID 리더의 RF 에너지만으로 MSP430 MCU를 구동해 온도·가속도를 측정하며, 인터미턴트 컴퓨팅 연구의 표준 플랫폼으로 널리 쓰였다. 물류·자산 추적에서 태그가 스스로 환경을 감지하는 응용으로 확장된다.
셋째, 간헐 전력 위 TinyML 추론 사례다. 수 µW~수 mW급 전력에서 경량 신경망을 조각내어(레이어 단위로 체크포인트) 여러 전력 사이클에 걸쳐 추론을 완수하는 연구가 활발하다. 이렇게 하면 "전원선도 배터리도 없이 스스로 소리·이미지를 분류하는 센서"가 가능해진다. 예컨대 실내 조명만으로 사람의 존재를 판별하는 초저전력 비전 센서가 시제품 수준에서 시연되고 있다.
6. 심화 — 연구 동향과 표준·상용화 흐름
인터미턴트 컴퓨팅은 학계 중심으로 빠르게 성숙해 왔으며, 최근 흐름은 세 방향으로 요약된다. 첫째, 프로그래밍 모델의 투명화다. 초기에는 개발자가 체크포인트를 직접 삽입해야 했지만, 지금은 컴파일러가 자동으로 안전한 지점을 찾아 체크포인트를 삽입하거나(예: 자동 체크포인팅 LLVM 패스), 태스크 기반 언어 확장으로 정전을 완전히 추상화하려는 시도가 주류가 되고 있다. 이는 상용화의 최대 장벽인 "개발 난이도"를 낮추는 열쇠다.
둘째, 하드웨어 지원의 내재화다. FRAM 내장 MCU(TI MSP430FR 계열)가 상용화되어 있고, 전압 감시·인터럽트를 통한 하드웨어 체크포인트 트리거, 비휘발성 프로세서(NVP, 레지스터 파일 자체가 비휘발성) 연구가 진행 중이다. MRAM·ReRAM 등 차세대 NVM의 쓰기 에너지·내구성 개선이 진행되면 체크포인트 비용은 더욱 낮아진다.
셋째, 간헐성과 실시간성의 결합이다. 정전이 반복되는 환경에서도 마감시한(deadline)을 만족해야 하는 응용(예: 안전 관련 감지)을 위해, 에너지 예측과 실시간 스케줄링을 통합하는 연구가 등장하고 있다. 다만 이 영역은 아직 표준화 단계에 이르지 못했으므로, 구체적 성능·보증 수준은 응용·플랫폼별로 크게 달라진다는 점을 전제로 접근해야 한다.
7. 고려사항 및 시사점
- 체크포인팅 최적화가 성능의 관건: 매번 전체 상태를 저장하는 대신 변경분만 저장하는 차등 체크포인팅, 에너지 잔량에 따라 저장 시점을 조절하는 적응형 기법, 태스크 기반 모델을 응용 특성에 맞게 선택해야 한다. 저장 주기는 "재실행 손실 × 정전 빈도"와 "체크포인트 오버헤드"가 균형을 이루는 지점에서 결정한다.
- 일관성·정확성 보증 설계: WAR 위험·체크포인트 손상을 막기 위한 원자적 갱신·더블 버퍼링을 기본으로 삼되, 결함 주입 테스트로 비결정적 정전 시나리오를 충분히 검증해야 한다. 검증되지 않은 인터미턴트 코드는 "가끔 값이 틀리는" 위험을 안고 있다.
- 지속가능성(Green)·유지보수리스 가치: 배터리 폐기물을 없애고 교체 인력을 최소화한다는 점에서 ESG·순환경제 관점의 가치가 크다. TCO 관점에서도 대규모·장기 운용일수록 배터리 방식 대비 유리해진다.
- 적용 전략과 트레이드오프: 안정적 전력·엄격한 실시간성이 요구되는 응용에는 아직 배터리 방식이 우세하다. 인터미턴트 컴퓨팅은 "저듀티·저데이터율·접근 곤란·초장수명"이 겹치는 지점에서 가장 유리하므로, 응용의 전력 프로파일과 마감시한 요구를 먼저 분석해 도입 여부를 판단해야 한다.
- 연계 기술 전망: 초저전력 NVM(FRAM/MRAM/ReRAM), 비휘발성 프로세서, 자동 체크포인팅 컴파일러, TinyML이 결합하면 "전원 없이 스스로 판단하는 센서"로 확장된다. 기술사 관점에서는 하드웨어·컴파일러·런타임을 아우르는 수직 통합 설계 역량이 도입 성패를 좌우한다.
참고자료
- ACM Computing Surveys, "Intermittent Computing: Challenges and Opportunities" — https://dl.acm.org/doi/10.1145/3524051
- Texas Instruments, MSP430FRxx FRAM Microcontrollers — https://www.ti.com/microcontrollers-mcus-processors/msp430-microcontrollers/overview.html
- University of Washington Sensor Systems Lab, WISP (Wireless Identification and Sensing Platform) — https://sensor.cs.washington.edu/WISP.html
한 줄 요약: 인터미턴트 컴퓨팅은 에너지 하베스팅 기반 간헐 전력 을 정상 상태로 전제하고 체크포인팅·비휘발성 메모리·멱등성 으로 상태를 보존·복구하며 작업을 완주시키는 초저전력 컴퓨팅으로, 진행 보장과 일관성이 핵심 과제이며 배터리리스 IoT·엣지 AI에 활용된다.