글│캐스린 샤이데만(Kathrin Danielle Scheidemann) BMW Car IT GmbH
미카엘 크나프(Michael Knapp) BMW Car IT GmbH
클라우스 스텔바그(Claus Stellwag) Elektrobit GmbH
AUTOSAR 4.0 멀티코어 지원
이 기고문의 첫 번째 부분은 AUTOSAR 멀티코어 시스템에서의 소프트웨어 분배 최적화에 대한 접근 방향, 즉 AUTOSAR 표준에서의 멀티코어와 관련돼 확장된 내용에 대해 간략히 설명한다. 두 번째 부분에서는 엔진 컨트롤 유닛의 소프트웨어에 기반해 3가지 구체적인 분배 전략에 대해 제시하고 비교한다.
반도체 제조업체에서 발표한 새로운 임베디드 멀티코어 플랫폼은 기존에 비해 수배에 달하는 연산능력, 저전력 소모 등과 같은 장점으로 기대를 모으고 있다. 증가된 연산처리 능력은 향후 제어 소프트웨어 요구사항을 만족시키기 위해 필수적이다. 그러나 여러 개의 컴퓨터 코어들을 이용한 연산 능력은 오직 소프트웨어가 이같은 이점을 살려 설계될 때에만 활용할 수 있다. 2009년 12월 이후 AUTOSAR Release 4.0에서는 멀티코어 플랫폼을 지원하는 내용을 처음 릴리즈했다[3].
AUTOSAR Release 4.0의 RTE(Runtime Environment) 및 OS(OSEK-based AUTOSAR operating system) 명세서에는 멀티코어 관련 기능에 대한 내용이 확장돼 있다. OS 명세서는 RTE에 의해 사용되는 새로운 멀티코어 매커니즘에 대해 기술했다.
운영체제 응용 프로그램은 이미 중심 역할로서 기능 수행이 가능하며, 이러한 응용 프로그램들은 멀티코어 시스템에서 정적이다. 즉 시스템 통합 시간(system integration time)에 그 프로그램들은 다른 컴퓨터 코어에 할당된다. 이같은 운영체제 응용 프로그램 그룹에는 태스크, 인터럽트, 알람, 스케줄 테이블, 카운터, 리소스 등과 같은 운영체제 오브젝트들이 포함돼 있다.
소프트웨어 컴포넌트(SWCs)의 인스턴스는 정확히 하나의 운영체제 응용 프로그램에 할당된다. 서로 다른 코어에서 실행되는 소프트웨어 컴포넌트 사이의 통신은 RTE에 의해 수행되며, 시스템 통합시간(Integration Time)에 시스템 설정대로 생성된다. 또한 이는 응용 프로그램 개발자도 이해하기 쉽도록 돼 있다.
멀티코어 시스템은 운영체제의 일부로서 하드웨어와 구성에 따라 생성되는 IOC (inter-OS-application communication)의 기능에 의존하고 있다. 그림 1은 AUTOSAR 멀티코어 시스템의 구조를 도식화해 보여주고 있다.
코어 간 통신을 구현하기 위해 운영체제의 여러 부분에서 확장이 이뤄졌다. 예를 들어 다른 코어 상의 태스크들을 활성화하는 것이 가능하고, 이벤트 매커니즘 또한 다른 코어들에 걸쳐서 사용될 수 있다. 응용 프로그램 소프트웨어 컴포넌트가 어느 코어에든 임의적으로 배포될 수 있지만, AUTOSAR 4.0에서는 AUTOSAR 기반 소프트웨어를 마스터 코어에 집중하기로 했다. 이것에 대한 유일한 예외는 OS와 RTE이다.
멀티코어 기능의 실용성
실용적인 맥락에서 멀티코어 기능에 대한 초기 평가는 제안된 컨셉이 전통적으로 멀티코어 플랫폼에 동일한 컨트롤러에서 다른 컨트롤러 또는 다른 프로세서에 할당된 소프트웨어 컴포넌트들의 통합에 적합하다는 것을 보여준다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>