현대 항공 비행 시스템에서 소프트웨어는 기능, 안전 및 성능 요구사항을 충족하는 데 핵심적인 역할을 한다. 성능 향상과 Space, Weight, and Power(SWaP)를 위해 Integrated Modular Avionics(IMA)와 멀티코어 프로세서(MCP) 또한 하드웨어에 채택되고 있다. MCP는 효율을 개선하지만, 자원 경합(resource contention)으로 인해 비결정적(non-deterministic) 거동이 발생하며, 항공전자(avionics) 시스템의 안전성을 확보하는 데 어려움을 야기한다. 본 연구는 MCP 상에서 상용 실시간 운영체제(Real-Time Operating Systems, RTOS)를 대상으로 캐시 분할(cache partitioning)을 위한 실용적 방법을 제안하여 캐시 경합을 줄이고 항공전자 시스템의 안전성과 성능을 향상시키고자 한다. DO-178 및 CAST 32A에 기반한 체계적인 절차를 개발하여 공유 자원을 식별하고 간섭을 방지하였다. 또한 각 애플리케이션에 대해 최적의 캐시 분할을 결정하기 위한 캐시 분할 가이드 도구를 개발하였다. 본 연구는 PowerPC T2080 프로세서에서 WindRiver VxWorks 653을 사용한 결과, 공유 L2 캐시가 최대 88%에 이르는 심각한 성능 저하를 유발할 수 있음을 입증하였다. 제안된 분할 기법을 적용함으로써 시스템은 0% 성능 저하를 달성하여 캐시 경합을 제거하고 애플리케이션 성능의 일관성을 확보하였다. 분할 접근법은 또한 안전성-치명적(safety-critical) 시스템에서 핵심적인 요구사항인 결정적(deterministic) 애플리케이션 거동을 보장하였다. 비행 시뮬레이션 환경에서의 검증을 통해 본 방법이 실제 환경에서의 적용 가능성을 확인하였다.
*본 초록은 AI를 통해 원문을 번역한 내용입니다. 정확한 내용은 하기 원문에서 확인해주세요.