멀티노시: 네트워크온칩 기반 다중프로세서 시스템
MultiNoC 시스템은 효율적이고 면적 오버헤드가 낮은 칩내 인터커넥션 구조 위에 구축된 프로그래머블 온칩 멀티프로세싱 플랫폼이다. 사용된 인터커넥션 구조는 NoC(네트워크 온 칩)이며, NoC는 (i) 에너지 효율성과 신뢰성, (ii) 전통적인 버스 아키텍처에 비해 대역폭 확장성, (iii) 재사용성, (iv) 분산 라우팅 결정 등의 특성으로 인해 급증
초록
MultiNoC 시스템은 효율적이고 면적 오버헤드가 낮은 칩내 인터커넥션 구조 위에 구축된 프로그래머블 온칩 멀티프로세싱 플랫폼이다. 사용된 인터커넥션 구조는 NoC(네트워크 온 칩)이며, NoC는 (i) 에너지 효율성과 신뢰성, (ii) 전통적인 버스 아키텍처에 비해 대역폭 확장성, (iii) 재사용성, (iv) 분산 라우팅 결정 등의 특성으로 인해 급증하는 인터커넥션 요구에 대한 실현 가능한 대안으로 떠오르고 있다. 외부 호스트 컴퓨터가 애플리케이션 명령어와 데이터를 MultiNoC에 전달하고 초기화가 끝나면 MultiNoC는 알고리즘을 실행한다. 알고리즘 실행이 종료된 뒤에는 결과 데이터를 호스트가 다시 읽어올 수 있다. 순차적이든 병렬적이든 MultiNoC 구조에 적합하게 변환된 알고리즘을 실행할 수 있다. 본 설계의 주요 동기는 SoC에 탑재되는 임베디드 프로세서 수를 증가시키는 현재 추세를 탐구하고, “프로세서의 바다” 개념을 구현하기 위함이다.
상세 요약
MultiNoC 논문은 차세대 시스템‑온‑칩(SoC) 설계에서 핵심적인 문제인 인터커넥션 효율성을 NoC(네트워크 온 칩)라는 패러다임으로 해결하고자 한다. 기존의 버스 기반 구조는 프로세서 수가 늘어남에 따라 대역폭 병목과 전력 소모가 급격히 증가하는 한계가 있다. 반면 NoC는 패킷 기반 라우팅을 통해 물리적 연결을 최소화하고, 각 라우터가 독립적으로 경로를 선택함으로써 확장성을 확보한다. 논문에서는 이러한 NoC의 장점을 “에너지 효율·신뢰성”, “대역폭 확장성”, “재사용성”, “분산 라우팅” 네 가지 핵심 요소로 정리하고, MultiNoC가 이를 어떻게 구현했는지 구체적으로 설명한다.
첫째, MultiNoC는 저전력 라우터와 최소화된 버퍼 구조를 채택해 면적 오버헤드를 최소화한다. 이는 FPGA나 ASIC 구현 시 칩 면적을 절감하고, 전력 예산이 제한된 임베디드 시스템에 적합하다. 둘째, 각 코어는 표준화된 인터페이스를 통해 NoC에 연결되며, 호스트 컴퓨터와의 통신은 초기화 단계에서만 발생한다. 이 방식은 실행 중에 외부 I/O가 차단되어 내부 통신에 전념할 수 있게 하며, 데이터 전송 지연을 감소시킨다. 셋째, MultiNoC는 프로그래머블 로직을 제공해 다양한 병렬 알고리즘을 손쉽게 매핑할 수 있다. 순차 알고리즘도 데이터 파이프라인을 구성해 병렬화가 가능하고, 실제 병렬 알고리즘은 코어 간 메시지 패싱을 통해 구현된다. 넷째, 논문은 “sea of processors”(프로세서의 바다)라는 개념을 실현하기 위한 실험적 증거를 제시한다. 다수의 소형 코어를 배치하고, NoC를 통해 고속으로 데이터를 교환함으로써, 전통적인 멀티코어 시스템보다 높은 처리량과 낮은 전력당 성능을 달성한다는 기대를 제시한다.
하지만 몇 가지 한계점도 존재한다. 첫째, NoC 라우팅 알고리즘이 단순히 XY 라우팅에 의존한다면, 트래픽이 집중되는 구역에서 혼잡이 발생할 수 있다. 둘째, 초기화 단계에서 호스트와의 대용량 데이터 전송이 필요하므로, 외부 메모리 인터페이스의 대역폭이 전체 시스템 성능을 좌우한다. 셋째, 프로그래머가 병렬 알고리즘을 NoC 친화적으로 재구성해야 하는 부담이 있다. 이러한 점들을 보완하기 위해 동적 라우팅, QoS 기반 흐름 제어, 그리고 자동 병렬화 툴 체인의 개발이 향후 연구 과제로 제시된다.
결론적으로, MultiNoC는 NoC 기반 멀티프로세싱 플랫폼의 실현 가능성을 입증하고, SoC 설계에서 프로세서 수를 급증시키는 트렌드에 대응하는 중요한 발판을 제공한다. 향후 NoC 아키텍처와 코어 설계의 공동 최적화를 통해 더욱 높은 성능·전력 효율을 달성할 수 있을 것으로 기대된다.
📜 논문 원문 (영문)
🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...