단일 스레드 병렬화를 위한 새로운 컴퓨팅 패러다임
초록
본 논문은 70년 전 제안된 폰 노이만 구조가 현대의 단일 스레드 성능 정체를 초래한다는 점을 지적하고, 기존 패러다임의 과도한 제약을 완화한 확장형 컴퓨팅 모델을 제안한다. 하드웨어와 소프트웨어 스택 전반에 걸친 구조적 변화를 통해 병렬화 효율을 높이고, 실시간 응답성 및 설계 복잡성을 크게 개선한다는 것이 핵심 주장이다.
상세 분석
논문은 먼저 현재 컴퓨팅 시스템이 여전히 폰 노이만 아키텍처에 기반하고 있음을 강조한다. 이 구조는 명령(fetch)과 데이터(fetch)를 동일한 버스와 메모리 공간에서 순차적으로 처리하도록 설계돼, 초창기에는 충분히 효율적이었지만 오늘날 수십 년간 트랜지스터 밀도와 클럭 속도가 급격히 상승하면서도 단일 스레드 성능이 거의 정체된 원인으로 작용한다. 저자는 이러한 정체 현상을 “명령‑데이터 병목”이라 명명하고, 기존 최적화 기법(예: 파이프라인, 슈퍼스칼라, 캐시 계층)들이 근본적인 구조적 한계를 극복하지 못한다는 점을 지적한다.
그 다음 저자는 “확장형 컴퓨팅 패러다임(Extended Computing Paradigm, ECP)”을 제시한다. ECP는 명령 흐름과 데이터 흐름을 물리적으로 분리하고, 연산 단위를 ‘작업 흐름(task flow)’이라는 고수준 추상화로 재구성한다. 핵심 아이디어는 단일 스레드라 하더라도 내부적으로는 다수의 미세 작업(task)으로 분할되어, 하드웨어 레벨에서 동시 실행이 가능하도록 설계하는 것이다. 이를 위해 제안된 주요 변경점은 다음과 같다.
- 명령‑데이터 분리 메모리(Separated Instruction‑Data Memory, SIDM): 명령 전용 ROM/Flash와 데이터 전용 DRAM을 완전히 독립시켜, 메모리 대역폭 경쟁을 원천 차단한다.
- 작업 흐름 스케줄러(Task Flow Scheduler, TFS): 컴파일러가 소스 코드를 정적·동적 분석하여 작업 그래프를 생성하고, 하드웨어에 내장된 미세 스케줄러가 그래프의 의존성만을 고려해 병렬 실행을 자동화한다.
- 미세 연산 유닛(Micro‑Operation Unit, MUU): 전통적인 ALU를 다수의 특화된 마이크로‑연산 코어로 분할해, 동일 사이클 내에 서로 다른 연산을 동시에 수행한다.
- 실시간 피드백 루프(Real‑Time Feedback Loop, RFL): 실행 중 발생하는 지연이나 병목을 하드웨어 레지스터에 기록하고, OS 커널이 이를 실시간으로 감시해 스케줄링 정책을 동적으로 조정한다.
소프트웨어 측면에서는 기존의 순차적 명령어 집합을 ‘작업 흐름 명세서(Task Flow Specification, TFSPEC)’라는 새로운 IR(intermediate representation)으로 변환한다. 이 IR은 데이터 의존성 그래프와 실행 우선순위를 명시적으로 포함하므로, 컴파일러가 자동으로 병렬화 가능한 구간을 식별하고, 하드웨어에 전달할 수 있다. 또한, 기존의 멀티스레드 API(pthread, OpenMP 등)를 그대로 사용하되, 내부적으로는 단일 스레드가 다중 작업 흐름을 관리하도록 매핑한다.
성능 평가에서는 기존 x86‑64 기반 벤치마크와 비교해 평균 2.3배, 최고 4.1배의 처리량 향상을 보고한다. 특히 실시간 시스템(자동차 제어, 로봇)에서의 레이턴시가 60 % 이상 감소했으며, 하드웨어 설계 복잡도는 캐시 일관성 프로토콜을 제거함으로써 30 % 정도 간소화되었다고 주장한다.
비판적으로 보면, 논문은 SIDM 구현 시 메모리 용량 및 비용 증가, 작업 흐름 스케줄러의 복잡도 상승, 기존 소프트웨어와의 호환성 문제 등을 충분히 논의하지 않는다. 또한, 작업 흐름 그래프를 생성하는 컴파일 단계가 컴파일 시간과 메모리 사용량을 크게 늘릴 가능성이 있다. 이러한 한계에도 불구하고, 저자가 제시한 구조적 변혁은 단일 스레드 성능 정체를 근본적으로 해소하려는 시도로서 학계·산업계 모두에게 의미 있는 연구 방향을 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기