고성능 MPSoC 설계를 위한 Redsharc 통합 개발 플랫폼
초록
Redsharc는 하드웨어·소프트웨어 공동 설계 흐름을 자동화하고, 다중 프로세서 SoC에서 동시 실행 커널을 손쉽게 생성·제어할 수 있게 해주는 고수준 설계 프레임워크이다. 기존 툴 간 격차를 메우는 빌드·런타임 인프라를 제공해 소프트웨어 개발자가 하드웨어 구현에 집중하도록 지원한다.
상세 분석
Redsharc가 제시하는 핵심 기여는 하드웨어와 소프트웨어 설계 단계 사이의 “시스템 경계”를 최소화한다는 점이다. 기존 MPSoC 설계 흐름은 HDL 코딩, 합성, 비트스트림 생성, 그리고 별도의 소프트웨어 툴체인으로의 전환을 반복해야 하는 복잡한 프로세스를 요구한다. Redsharc는 고수준 언어(C/C++ 혹은 OpenCL)로 작성된 커널을 자동으로 분석·분할하여, 하드웨어 가속이 유리한 부분은 HLS(High-Level Synthesis) 엔진을 통해 RTL로 변환하고, 나머지는 기존 소프트웨어 스케줄러에 매핑한다. 이때 API 레이어가 양쪽을 동일한 인터페이스로 감싸므로, 개발자는 “핵심 로직”에만 집중하고, 배포 대상 디바이스 수와 종류가 늘어나도 동일한 코드베이스를 재사용할 수 있다.
또한 Redsharc는 빌드 인프라스트럭처를 확장해 다중 타깃(예: FPGA, ASIC, CPU‑GPU 혼합)용 바이너리를 일관된 방식으로 생성한다. 종속성 그래프를 자동으로 생성하고, 각 노드에 대해 하드웨어·소프트웨어 구현 옵션을 평가해 최적의 매핑을 선택한다. 이 과정에서 전력·면적·성능 모델링이 통합돼 설계자는 설계 초기 단계에서 트레이드오프를 시각화하고, 목표 사양에 맞는 설계 공간을 빠르게 탐색할 수 있다.
런타임 제어 측면에서는 Redsharc Runtime Manager가 MPSoC 내의 각 코어와 가속기 사이에 메시지 기반 인터커넥션을 제공한다. 커널 간 데이터 흐름은 공유 메모리 혹은 스트리밍 파이프라인으로 자동 연결되며, 동기화 메커니즘은 하드웨어 수준에서 최소화된 레이턴시를 보장한다. 특히, 동시 실행 스케줄러는 실시간 부하 변동에 따라 커널을 동적으로 재배치하고, 필요 시 하드웨어 가속기를 비활성화해 전력 효율을 극대화한다.
Redsharc가 기존 연구와 차별화되는 점은 “통합 API + 자동 빌드 + 적응형 런타임”이라는 삼위일체 구조를 제공한다는 것이다. 이를 통해 소프트웨어 엔지니어는 복잡한 HDL 코딩 없이도 하드웨어 가속을 활용할 수 있고, 하드웨어 디자이너는 고수준 언어로 표현된 알고리즘을 직접 검증·튜닝할 수 있다. 결과적으로 설계 주기가 크게 단축되고, 설계 오류가 감소하며, 다양한 애플리케이션(영상 처리, 머신러닝, 신호 처리 등)에 대한 포팅 비용이 최소화된다.
댓글 및 학술 토론
Loading comments...
의견 남기기