안전关键 멀티코어 임베디드 시스템에서 신뢰할 수 있는 타이밍 보장
현대 자동차와 항공기는 더 이상 기계적 구성요소만으로 의존하지 않습니다. 이들의 안전과 성능은 복잡한 이기종 멀티코어 프로세서에서 실행되는 임베디드 소프트웨어에 달려 있으며, 비행 제어부터 파워 스티어링까지 마이크로초 단위 데드라인으로 관리됩니다.
멀티코어 환경에서 태스크 실행 시간은 자체 코드뿐만 아니라 동일한 하드웨어 리소스를 공유하는 다른 태스크의 영향도 받습니다. 이 간섭은 시스템을 안전 마진 밖으로 밀어낼 수 있습니다.
안전关键 임베디드 소프트웨어 개발은 수천만 유로, 수년 노력이 소요됩니다. 초기 설계 단계부터 안전이 아키텍처에 내재화되어야 하고, 모든 태스크의 타이밍 동작이 엄격하게 이해되어 데드라인 준수를 보장해야 합니다.
멀티코어 타이밍 분석 퍼즐 풀기
멀티코어 프로세서는 더 높은 성능을 약속하지만, 버스, 메모리, 캐시, 가속기 같은 공유 리소스에 대한 경합도 도입합니다. 한 코어에서 실행되는 태스크가 다른 코어의 태스크를 느리게 만들어 예측 불가능한 타이밍 변동을 만듭니다.
핵심 질문이 발생합니다: 이러한 간섭의 영향을 어떻게 정량화할 수 있는가? 멀티코어 플랫폼에서 안전关键 소프트웨어가 항상 데드라인 내에 완료됨을 어떻게 분석, 테스트, 문서화할 수 있는가?
업계 리더들인 바르셀로나 슈퍼컴퓨팅 센터(BSC), Rapita Systems(RPT), Raytheon Technologies(RTRC), Marelli Europe(MAR)가 수년간 이 과제를 해결해 왔습니다. BSC와 Rapita는 곧 항공우주와 자동차 분야 전반에 채택될 솔루션 세트를 제공하고 있습니다. 성공의 열쇠는 특수 툴링, 자동화, 안전 지향적 요구사항 주도 방법론에 있습니다.
이 작업은 2019년 12월 출범한 유럽위원회 지원 다학제 R&D 이니셔티브인 MASTECS 프로젝트를 뒷받침합니다. MASTECS는 기술을 성숙시키고 항공전자 및 자동차 시스템 인증을 위한 검증된 접근법을 제공하며, RTRC와 MAR의 사례 연구로 실질적 영향을 보여줍니다.
최첨단 도구
상용 도구는 단일 코어 분석에는 뛰어나지만 멀티코어 인증의 복잡성에는 어려움을 겪습니다. 한계는 다음과 같습니다:
- 정적 타이밍 분석 도구[1]는 복잡도 벽에 부딪혀 정교한 하드웨어나 극도로 복잡한 소프트웨어를 모델링할 수 없습니다.
- 측정 기반 솔루션(단일 코어 테스트에서 널리 쓰임, 예: Rapita의 RVS 툴셋)은 멀티코어 워크로드에 대한 충분한 추적성을 가진 신뢰할 수 있는 타이밍 바운드를 생성할 하드웨어 전문가 방법론이 부족합니다.
현재 MASTECS 개발 노력 외에는 안전 표준과 새로운 인증 요건에 부합하는 포괄적인 멀티코어 타이밍 분석을 제공하는 상용 도구가 없습니다.
간섭 분석과 제어의 실제 적용
우리 접근법의 초석은 하드웨어와 소프트웨어 전문성을 결합해 멀티코어 타이밍 동작의 증거를 생성하는 구조화된 테스트 방법론입니다. BSC의 멀티코어 마이크로벤치마크 기술(MμBT)은 Rapita에 의해 RapiDaemons로 상용화되어, 설계자가 특정 공유 리소스를 스트레스하는 간섭 시나리오를 생성할 수 있게 합니다.
마이크로벤치마크(작은 저수준 코드 스니펫)는 하드웨어-소프트웨어 인터페이스에서 동작해 대상 리소스에 정량화 가능한 압력을 가합니다. 간섭 채널의 효과를 드러내며 유도, 측정, 검증을 위해 맞춤화할 수 있습니다. 핵심 속성은:
- 공유 리소스에 대한 표적화된 정량화 가능 압력.
- 이벤트 모니터를 통한 검증 가능한 동작.
- 완화 효과 테스트 같은 특정 타이밍 요구사항과의 정렬.
그림 1: 간섭 분석에서 마이크로벤치마크 활용. (출처: 저자들)
원하는 간섭 레벨에 맞거나 리소스 영향을 최대화하거나 민감한 '피해자' 테스트로 작용하는 다양한 마이크로벤치마크 라이브러리가 존재합니다.
간섭 분석 시 MμBT를 태스크 경합 모델(TCM)과 결합해 경합 지연의 초기 추정치를 제공합니다. Rapita의 RapiTest와 RapiTime이 임베디드 타겟에서 테스트 생성과 실행을 자동화합니다.
설계 방법론
V-모델 소프트웨어 수명주기에 통합된 7단계 프로세스(그림 2 참조)를 따라 엔지니어는 간섭 효과에 대한 깊은 통찰을 얻습니다:
- 하드웨어 구성 & 간섭 채널 식별. 하드웨어 전문가가 중요 설정, 간섭 경로, 완화 옵션을 식별하고 검증용 이벤트 모니터를 선택합니다.
- 타이밍 요구사항 정의. 사용자별 니즈, 위험, 안전 제약을 포착하고 하드웨어 격리 전략을 평가합니다.
- 테스트 케이스 설계. 가설을 검증하는 테스트 설명 작성, 격리 및 스트레스 조건 하 간섭 분석에 필요한 마이크로벤치마크 명시.
- 테스트 프로시저 구현. 테스트 프레임워크, 마이크로벤치마크, 측정 프로브 조립. 현재 수동이나 MASTECS 내에서 자동화될 예정.
- 증거 수집. 타겟 플랫폼에서 테스트 실행, 검증 요구사항과 직접 연결되는 데이터 수집.
- 결과 분석. 기술 전문가가 결과를 요구사항과 비교 검토. 예를 들어 그림 3은 RapiTime의 실행시간 분해를 보여줍니다.
- 검증 & 문서화. 최종 검토, 보고서 생성, 인증 제출용 자격 아티팩트 준비.
그림 2: V-모델 소프트웨어 개발 프로세스 내 MTA 단계. (출처: 저자들)
하드웨어 전문성과 타이밍 분석 프로세스
하드웨어 통찰은 처음부터 필수적입니다. 초기 참여에는 다음이 포함됩니다:
- 기능적·타이밍 동작을 형성하는 멀티코어 구성 식별, 경합 감소 격리 메커니즘 결정.
- 복잡한 프로세서 매뉴얼 탐색과 벤더 상담으로 누락된 세부사항 보충해 간섭 채널 포착.
- 간섭 채널에서 태스크 활동을 포착하는 이벤트 모니터 선택, 전용 마이크로벤치마크로 검증[2].
- 타이밍 분석가와 협력해 요구사항 도출, 특정 간섭 채널을 로드하는 테스트 설계.
후기 단계에서 하드웨어 전문가는 테스트 결과를 평가, 가설 다듬기, 필요시 추가 테스트 제안을 합니다.
그림 3: 결과 분석(RapiTime). (출처: 저자들)
더 큰 그림
7단계 설계 프로세스는 더 광범위한 멀티코어 검증 방법론의 일부입니다(그림 2 참조). 이는 증거와 결과에서 요구사항과 설계로의 완전한 추적성을 제공해 CAST-32A와 ISO 26262 모두를 지원합니다. CAST-32A는 2016년 인증 당국 소프트웨어 팀(CAST)이 발표한 것으로, 간섭 바운딩을 포함한 안전한 멀티코어 항공전자 목표를 제시합니다. EASA와 FAA는 올해 말 예상되는 통합 AMC/AC(AMC 20-193) 개정을 작업 중입니다.
전문성은 자동화될 수 없다
간섭 역학은 복잡하며, 자동화 도구는 노련한 엔지니어를 보완할 뿐 대체할 수 없습니다. 멀티코어 전문가는 하드웨어 구성과 간섭 채널에 대한 깊은 지식을 가져오고, 소프트웨어 분석가는 요구사항을 엄격한 테스트로 변환합니다. 인간 통찰은 가정 검증, 결과 해석, 설계 반복에 필수적입니다.
참고문헌
- Reinhard Wilhelm. Mixed Feelings about Mixed Criticality. Workshop on Worst-Case Execution Time Analysis, 2018.
- Enrico Mezzetti, Leonidas Kosmidis, Jaume Abella, Francisco J. Cazorla. High-Integrity Performance Monitoring Units in Automotive Chips for Reliable Timing V&V. IEEE Micro 38(1): 56-65 (2018).
- EASA and FAA to issue further guidance on multicore certification this year.