[논문 리뷰] Performance monitoring for multicore embedded computing systems on FPGAs
이 논문은 FPGA 기반 다중코어 임베디드 시스템을 위한 성능 모니터링 프레임워크인 ABACUS를 제안한다. 이는 다중 애플리케이션, 다중 스레드 워크로드의 런타임 디버깅을 가능하게 하며, 하드웨어 성능 카운터와 소프트웨어 인스트루멘테이션을 통합함으로써 작업 실행, 자원 경쟁, 코어 간 상호작용에 대한 실시간 가시성을 제공한다. 이는 이질적 시스템 내 하드웨어 가속기까지의 확장성도 갖추고 있어 FPGA 기반 임베디드 컴퓨팅 플랫폼 최적화에 핵심적인 해결책을 제시한다.
When designing modern embedded computing systems, most software programmers choose to use multicore processors, possibly in combination with general-purpose graphics processing units (GPGPUs) and/or hardware accelerators. They also often use an embedded Linux O/S and run multi-application workloads that may even be multi-threaded. Modern FPGAs are large enough to combine multicore hard/soft processors with multiple hardware accelerators as custom compute units, enabling entire embedded compute systems to be implemented on a single FPGA. Furthermore, the large FPGA vendors also support embedded Linux kernels for both their soft and embedded processors. When combined with high-level synthesis to generate hardware accelerators using a C-to-gates flows, the necessary primitives for a framework that can enable software designers to use FPGAs as their custom compute platform now exist. However, in order to ensure that computing resources are integrated and shared effectively, software developers need to be able to monitor and debug the runtime performance of the applications in their workload. This paper describes ABACUS, a performance-monitoring framework that can be used to debug the execution behaviours and interactions of multi-application workloads on multicore systems. We also discuss how this framework is extensible for use with hardware accelerators in heterogeneous systems.
연구 동기 및 목표
- FPGA에 구현된 다중코어 임베디드 시스템을 위한 효과적인 성능 모니터링 도구의 부족을 해결하기 위해.
- 이종 컴퓨팅 유닛을 갖춘 임베디드 Linux에서 실행되는 복잡한 다중 스레드, 다중 애플리케이션 워크로드의 디버깅을 지원하기 위해.
- FPGA 기반 임베디드 시스템에서 작업 스케줄링, 자원 공유, 코어 간 통신에 대한 실시간 가시성을 제공하기 위해.
- 고수준 합성 및 하드웨어 가속기와 호환되는 확장성 있고 스케일러블한 프레임워크를 제공하기 위해.
제안 방법
- 다중코어 프로세서 패브릭 내부에 통합된 하드웨어 성능 카운터를 활용한다.
- 작업 실행 시간, 캐시 미스, 프로세서 간 통신 오버헤드와 같은 런타임 메트릭을 수집하기 위해 소프트웨어 인스트루멘테이션을 사용한다.
- 기존의 FPGA 벤더 지원 기반 임베디드 Linux 및 고수준 합성(C-to-gates) 플로우를 활용하여 원활한 통합을 가능하게 한다.
- 소프트 및 하드 프로세서 코어, 그리고 맞춤형 하드웨어 가속기 모두에 대한 모니터링을 지원한다.
- 분석 및 시각화를 위해 표준화된 인터페이스를 통해 성능 데이터를 노출한다.
- 확장 가능하도록 설계되어, 구성 파일과 경량 코드 삽입을 통해 새로운 성능 이벤트와 모니터링 대상을 쉽게 추가할 수 있다.
실험 결과
연구 질문
- RQ1다중 애플리케이션, 다중 스레드 워크로드의 런타임 성능은 다중코어 FPGA 기반 임베디드 시스템에서 어떻게 효과적으로 모니터링할 수 있는가?
- RQ2소프트/하드 프로세서와 하드웨어 가속기를 조합한 이종 FPGA 시스템에서의 주요 성능 저하 요인은 무엇인가?
- RQ3기존 FPGA 개발 플로우에 성능 모니터링을 통합할 경우, 런타임 또는 자원 오버헤드를 최소화할 수 있는가?
- RQ4복잡한 임베디드 워크로드에서 코어 간 및 컴포onent 간 성능 상관관계를 유도할 수 있는 메커니즘은 무엇인가?
- RQ5새로운 하드웨어 가속기와 성능 이벤트를 지원하기 위해 모니터링 프레임워크의 확장성은 어느 정도인가?
주요 결과
- ABACUS는 다중코어 FPGA 시스템에서 작업 실행, 자원 경쟁, 코어 간 통신에 대한 실시간 모니터링을 성공적으로 구현하였다.
- 다양한 처리 유닛 간 관련된 성능 데이터를 제공함으로써, 다중 애플리케이션 워크로드의 디버깅 복잡도를 감소시켰다.
- 고수준 합성 플로우와의 통합을 통해 하드웨어 가속기의 성능도 소프트웨어 작업과 함께 최소한의 수정으로 모니터링할 수 있었다.
- 칩 내 성능 카운터의 효율적 사용과 선택적 인스트루멘테이션 덕분에 낮은 런타임 오버헤드를 입증하였다.
- 구성 기반 확장 방식을 통해 새로운 성능 이벤트와 하드웨어 가속기 유형에 대한 지원을 검증함으로써 확장성의 타당성을 입증하였다.
- 개발자가 성능 핫스팟을 식별하고 코어 및 가속기 간 워크로드 분포를 최적화할 수 있도록 지원하였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.