계산 이론, 이제는 ‘작은 컴퓨터’ 말고 ‘큰 시스템’을 본다



컴퓨터 과학의 시작은 한 가지 질문이었다. “계산이란 무엇인가?”
튜링 머신, 유한 오토마타, 람다 계산… 이른바 고전 계산 모델들은 바로 이 질문에 답하기 위해 탄생했다.
이 덕분에 우리는 어떤 알고리즘이 풀 수 있는 문제인지 아닌지를 판별할 수 있었다.

하지만 이제는 시대가 달라졌다. 문제는 작아지지 않고, 오히려 더 커졌다.
수많은 마이크로서비스가 얽혀 돌아가는 대규모 웹 시스템, 데이터를 주고받으며 실시간으로 반응하는 IoT 네트워크 같은 복잡한 시스템을 고전 계산 모델로 하나하나 풀어내는 것은 사실상 불가능하다.
이런 배경에서 최근 주목받는 것이 바로 고수준 연산 모델(MHC, Models of High-Level Computation)이다.



작은 기계가 아닌, 여러 기계를 하나로 묶는다

이번 논문은 영국 랭커스터대 연구팀이 고수준 연산 모델의 핵심 개념과 대표 사례를 깔끔히 정리한 글이다.
핵심은 간단하다. 기존 계산 모델이 하나의 컴퓨터(혹은 알고리즘)만 설명한다면, MHC는 여러 컴퓨터를 어떻게 묶어 더 큰 연산을 만들지에 집중한다는 점이다.

예를 들어 전자상거래 애플리케이션을 생각해보자. 로그인, 결제, 알림 서비스가 각각 다른 서버에서 돌아간다.
이 각각의 서버는 내부가 복잡하든 단순하든, MHC 관점에서는 ‘블랙박스’다. 중요한 것은 각 서버가 언제, 어떻게 데이터를 주고받고 제어되는지다.
이 모든 것을 하나의 튜링 머신으로 표현하겠다고? 불가능하다. MHC는 이런 상호작용을 수학적으로 깔끔히 묘사하고, 여러 장치를 한 덩어리로 엮어도 여전히 잘 작동하도록 보장해 준다.



어떻게 묶을까? 핵심은 조합(Composition)

MHC의 핵심은 ‘조합’이다. 여러 기계를 어떻게 붙이느냐에 따라 전체 시스템의 성격이 달라진다.
논문은 이를 알제브라적 조합비알제브라적 조합으로 나눈다.

  • 알제브라적 조합은 수학 법칙처럼 연산을 결합해도 성질이 유지되도록 만든다. 그래서 조합한 뒤에도 다시 다른 기계와 조합할 수 있고, 구조가 예측 가능하다.
  • 비알제브라적 조합은 명확한 수학 구조 없이 개발자가 직접 붙인다. 유연하지만 예상치 못한 충돌이나 오류가 날 가능성이 크다.

예를 들어 Reo라는 데이터 흐름 모델은 알제브라적으로 여러 연산을 연결해 데이터가 어떻게 흘러야 할지를 정한다. 반면 Actor 모델은 동적으로 배우(Actor)를 만들어 메시지를 보내는 식으로 비알제브라적 조합을 한다.



상태, 데이터, 제어 — 세 가지 관점

연구진은 MHC를 크게 세 가지로 분류한다.

  1. 상태 중심(State-Oriented): 전통적인 유한 상태 기계(FSM)에 기반해 복잡한 시스템을 계층적으로 설계한다. UML의 상태 다이어그램도 여기 포함된다.
  2. 데이터 중심(Data-Oriented): 데이터 흐름에 초점을 맞춘다. Kahn Process Networks(KPN)나 Actor 모델처럼 데이터가 어떻게 이동하고 처리되는지가 핵심이다.
  3. 제어 중심(Control-Oriented): 각 연산 장치가 언제 작동할지를 외부에서 명시적으로 결정한다. Behavior Tree, 워크플로우 넷이 대표적이다.

흥미로운 점은 최근에는 카테고리 이론(Category Theory) 같은 수학 이론을 빌려 연산을 그림(스트링 다이어그램)으로 그려서 조합하는 시도도 활발하다.



왜 중요할까? 앞으로의 계산

연구진은 말한다. “낮은 수준에서 복잡성을 다루는 건 한계가 있다.”
앞으로는 더 많은 연산 장치를 더 큰 시스템으로 연결해야 하고, 그 연결을 수학적으로 보장해야 한다.
이를 위해 MHC는 단순한 이론이 아니라 새로운 프로그래밍 언어, 개발 도구로 발전할 가능성이 크다.

하나의 CPU가 아닌 수십, 수백 개의 마이크로서비스가 얽힌 시대. 고수준 연산 모델은 이 복잡함을 다룰 새로운 무기가 될지 모른다.



MHC,고수준연산,조합연산,ActorModel,카테고리이론

출처 논문
Arellanes D (2025). Models of high-level computation. Frontiers in Computer Science. https://doi.org/10.3389/fcomp.2025.1564048