Skip to main content
QUICK REVIEW

[논문 리뷰] Open Tiled Manycore System-on-Chip

Stefan Wallentowitz, Philipp Wagner|arXiv (Cornell University)|2013. 04. 18.
Interconnection Networks and Systems참고 문헌 1인용 수 6
한 줄 요약

OpTiMSoC는 타일형 멀티코어 시스템온칩(SoC) 플랫폼의 프로토타이핑을 위한 개방형이고 확장 가능한 하드웨어-소프트웨어 스택을 제안하며, 모듈식 네트워크온칩(LISNoC)을 통해 확장 가능한 멀티코어 아키텍처 연구를 가능하게 하고, 다양한 대상 플랫폼(시뮬레이션, FPGA)을 지원하며, 추적 기반의 분산형 인fra를 통한 통합 디버깅을 제공한다. 주요 기여는 다양한 메모리 모델, 프로그래밍 인터페이스(MCAPI, MTAPI), 런타임 시스템을 지원하는 통합된 오픈소스 환경을 통해 향후 멀티코어 시스템의 프로토타이핑과 공동 설계를 가속화하는 데 있다.

ABSTRACT

Manycore System-on-Chip include an increasing amount of processing elements and have become an important research topic for improvements of both hardware and software. While research can be conducted using system simulators, prototyping requires a variety of components and is very time consuming. With the Open Tiled Manycore System-on-Chip (OpTiMSoC) we aim at building such an environment for use in our and other research projects as prototyping platform. This paper describes the project goals and aspects of OpTiMSoC and summarizes the current status and ideas.

연구 동기 및 목표

  • 타일형 멀티코어 시스템온칩(SoC) 연구를 위한 공통의, 개방형이고 확장 가능한 프로토타이핑 플랫폼의 부족을 해결한다.
  • 시뮬레이션에서 FPGA 기반 에뮬레이션에 이르기까지 통합된 환경을 제공함으로써 하드웨어와 소프트웨어의 공동 설계를 가능하게 한다.
  • 다양한 타일 조직 방식에 걸쳐 분산형, 분할된 글로벌, 공유 메모리 모델을 모두 지원한다.
  • 표준화된 프로그래밍 인터페이스(MCAPI, MTAPI)와 경량 런타임 시스템을 통합하여 응용 프로그램 개발의 이식성을 높인다.
  • 복잡한 다코어, 다클럭 도메인 시스템에서의 관찰 가능성(observability)을 지원하기 위해 확장 가능하고 분산형이며 추적 기반의 디버깅 인fra를 개발한다.

제안 방법

  • 가상 채널와 다양한 토폴로지 지원 기능을 갖춘 패킷 스위칭형 웜홀 포워딩 네트워크온칩(LISNoC)을 포함한 재사용 가능한 하드웨어 컴포넌트 기반 라이브러리 구축.
  • 기본 처리 요소로 OpenRISC 프로세서를 사용하며, LEON3 등 대체 옵션 지원을 위한 확장성 확보 및 메모리, I/O, 네트워크 어댑터 컴포넌트 통합.
  • 각 컴포넌트(코어, 라우터, 메모리 등)에 타임스탬프가 포함된 추적 데이터를 수집하는 디버그 모듈을 내장한 모듈식 추적 기반 디버깅 시스템 구현.
  • 모든 추적 데이터를 외부 호스트로 분석하기 위해 전용 16비트 버퍼링된 디버그 NoC(Ring 기반)를 통해 전송하며, liboptimsochost를 통해 추상화.
  • 다양한 대상 플랫폼 지원: EDA 도구를 이용한 RTL 시뮬레이션, Verilator 기반 C++ 시뮬레이션, ZTEX 1.15 보드와 ModelSim를 사용한 FPGA 에뮬레이션.
  • 스레드 스케줄링과 가상 메모리 관리 기능을 포함한 최소한의 런타임 시스템 구현 및 MCAPI와 MTAPI의 기초 구현 제공을 통해 표준화된 통신 및 작업 관리 지원.

실험 결과

연구 질문

  • RQ1시뮬레이션, 에뮬레이션, FPGA 배포를 아우르는 타일형 멀티코어 SoC 프로토타이핑을 가속화하기 위한 통합된 오픈소스 플랫폼을 어떻게 설계할 수 있는가?
  • RQ2성능에 최소한의 영향을 미치면서도 이질적이고 다중 클럭 도메인의 멀티코어 시스템에서 디버깅과 관찰 가능성(observability)을 어떻게 효과적으로 구현할 수 있는가?
  • RQ3분산형, 분할된 글로벌, 공유 메모리 모델을 포함한 다양한 메모리 조직 방식을 하나의 확장 가능한 하드웨어-소프트웨어 스택 내에서 효율적으로 지원할 수 있는가?
  • RQ4표준화된 API 스택(MCAPI, MTAPI)이 다양한 멀티코어 플랫폼 구성에서 이식 가능한 병렬 프로그래밍을 가능하게 하는 데 어떤 역할을 하는가?
  • RQ5이질적인 컴포넌트에서 유래한 추적 데이터의 크로스 트리거링 및 시간적 상관관계를 지원하기 위해 모듈식이고 분산형이며 추적 기반의 디버깅 인프라를 어떻게 아키텍처화할 수 있는가?

주요 결과

  • OpTiMSoC는 시뮬레이션, Verilator 기반 C++ 시뮬레이션, FPGA 기반 에뮬레이션을 모두 지원하는 모듈식이고 오픈소스 기반의 타일형 멀티코어 SoC 프로토타이핑 기반을 성공적으로 제공한다.
  • LISNoC NoC의 구현은 웜홀 라우팅과 가상 채널를 통해 확장 가능하고 死록업이 없는 통신을 가능하게 하며, 메esh와 린 같은 다양한 토폴로지를 지원한다.
  • 추적 기반의 분산형 디버깅 인프라는 전용 디버그 NoC를 통해 CPU 코어, NoC 라우터, 메모리 모듈에서 유래한 추적 데이터의 크로스 트리거링 및 시간적 상관관계를 가능하게 한다.
  • 네트워크 어댑터 설계의 가변성 덕분에 플랫폼은 분산형, 분할된 글로벌, 공유 메모리 모델을 모두 지원하며, 쓰기 전파 스노잉과 향후 쓰기 백 캐시 일관성 지원 계획이 포함되어 있다.
  • MCAPI와 MTAPI의 기초 구현이 통합되어 있어 임베디드 멀티코어 응용 프로그램의 이식 가능한 메시지 전달 및 작업 관리가 가능하다.
  • 런타임 시스템은 스레드 스케줄러와 가상 메모리 매니저를 포함하며, 마이크로 커널이나 전체 운영 체제의 이식을 위한 기반을 마련한다. 이는 사이클 수준 최적화보다는 가독성과 유지보수성에 중점을 두었다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.