SW Timing Verification According to Changes in the ECU Development Environment
글리바는 2003년부터 임베디드 소프트웨어 개발을 위한 제품과 서비스를 제공하는 회사로, 차량용 ECU의 SW 타이밍 측정 및 분석도구인 T1 Timing Suite 제품을 아이티브AI를 통해 국내에 공급하고 있다. CEO인 피터 글리바는 ‘Embedded Timing’의 저자로 유명하다.
GLIWA embedded systems Peter Gliwa 글리바 임베디드 시스템스 피터 글리바 CEO
주행/주차 보조 시스템, 자율주행 등과 같이 차량용 ECU에 신기술이 적용되는 사례가 증가함에 따라 소프트웨어(SW)의 역할은 더욱 커지고 있다. 나아가 고성능 컴퓨팅이 가능한 HW(Application Processor)가 첨단 운전자 지원 시스템(ADAS)이나 자율주행 ECU 시스템에 적용되고 있는 시점에 SW 타이밍과 관련된 신뢰성 검증에 어떤 노력이 필요할 것인지에 대해 임베디드 SW 타이밍 전문기업 글리바 임베디드 시스템스(GLIWA embedded systems)의 피터 글리바(Peter Gliwa) 대표와 이야기를 나눴다.
글 | 윤 범 진 기자_bjyun@autoelectronics.co.kr
Q. 2015년 인터뷰에서 글리바와 제품을 소개했었죠. 그 이후 글리바에는 어떤 발전이 있었나요?
A. 글리바는 2015년 매출 대비 6배 이상 성장하는 괄목할 만한 발전을 했습니다. 당사의 분석 도구인 T1은 아시아 및 유럽, 북미 전역에서 활용되고 있는데, 그중 저에게 가장 중요한 고객 중 하나가 한국입니다. 차량용 소프트웨어 개발 방법과 그 시장 또한 흥미롭게 변했는데요, 당시 기억을 회상해보면 멀티코어가 새로운 주제로 부상했고, 시간이 흐른 지금은 대부분의 비 차체(non-body) ECU가 멀티코어 ECU로 바뀌었습니다. 글리바 T1은 2011년부터 멀티코어를 지원했기 때문에 많은 멀티코어 프로젝트를 도울 수 있었습니다.
최근 저는 그때와 비슷한 경험을 하고 있습니다. 몇 년 전, POSIX-based/AUTOSAR-AP 시스템이 등장했지만 사실 개발자들은 아직도 이 새로운 세계에 적응하기 위해 고군분투하고 있습니다. 멀티코어 전환 때와 마찬가지로, 글리바 T1은 T1.posix 애드온(add-on) 제품을 통해 기존 AUTOSAR 프로젝트에서 수행하던 방식 그대로 타이밍을 분석하고, 나아가 혼합 시나리오도 시각화하고 분석할 수 있어 차량용 임베디드 개발자에게 큰 도움이 되고 있습니다.
T1.POSIX. POSIX 계열 OS의 타이밍 측정, 분석
Q. 실제로 많은 양산 프로젝트가 양산 직전에 SW 타이밍 문제로 어려움을 겪고 있습니다. SW 타이밍 관련 결함을 최소화하기 위한 효율적인 개발 프로세스를 제안한다면요?
A. 임베디드 소프트웨어 타이밍의 중요성은 지난 수년간 계속 이슈되고 있음에도 불구하고, 그 중요성이 종종 무시되곤 합니다. 자동화된 타이밍 테스트가 없는 프로젝트는 여전히 많고, 타이밍 문제를 발견한 후에 scheduling trace에 관심을 갖습니다. SW 타이밍 문제를 최소화하기 위한 개발 프로세스는 4단계로 말씀드릴 수 있습니다.
먼저, 스케줄링 개념을 만들어야 합니다. (예를 들면, 어떤 태스크와 인터럽트가 어떤 코어에서 실행되는지, 데이터 플로는 어떠한지) 이때 필요한 것은 기능 및 타이밍 요구사항이며, 스케줄링이 간단한 경우에는 별도의 툴이 필요하지 않습니다. 하지만 스케줄링이 특정 복잡도에 도달하게 되면, 이 단계에서 스케줄링 시뮬레이션 도구를 활용해야 합니다. 2단계는 태스크와 인터럽트의 수행 예상 시간을 할당하는 것이며, 이는 가능한 러너블(runnables) 단계까지 세분화하는 것이 좋습니다. 3단계는 scheduling trace로 스케줄링 타이밍을 검토 및 최적화하기 위해 실제 시스템에서 scheduling trace를 수행하여, 이전에 할당한 수행 예상 시간과 기타 타이밍 요구사항을 만족하는지 확인하는 것입니다. 그런 다음 이전 단계에서 사용된 체크 사항들을 기반으로 자동화된 타이밍 테스트를 수행하고, 마지막으로 실제로 차량이 운행될 도로에서 최종 타이밍 분석을 수행하면 타이밍 문제를 최소화할 수 있습니다.
V 모델 개발 프로세스에 적용되는 SW 타이밍 활동
Q. 그렇다면 타이밍 문제의 원인은 툴과 방법론의 영역에 있는 것인가요?
A. 항상 그런 것은 아닙니다. 저는 AUTOSAR와 AUTOSAR를 사용하는 방법 또한 타이밍 문제를 야기하는 것을 경험한 적이 있습니다. 예를 들자면, AUTOSAR RTE는 우선순위가 높은 태스크나 인터럽트에 의해 원본 데이터가 업데이트될 수 있기 때문에, 데이터를 복사하는 형태의 커뮤니케이션을 통해 데이터의 일관성을 보장합니다. 이는 복사본이 선점되더라도 일관된 데이터를 제공하기 때문에 문제가 되지 않지만 초당 수천 개의 복사본을 생성하는데 소요되는 시간을 확인해보면 대부분 프로젝트가 데이터 복사를 위해 20% 이상의 CPU 로드를 소모한다는 것을 알 수 있습니다. 이런 로드를 줄이고 타이밍 문제를 해결하는 방법으로 멀티태스킹 스케줄링 기법 중 하나인 협력형 멀티태스킹이나, LET(Logical Execution Time), 낮은 우선순위를 활용하는 등의 방식을 사용하면 데이터의 일관성 보장 및 타이밍 이슈를 동시에 해결할 수 있습니다.
Q. 차량 제어에서 SW의 역할이 커짐에 따라 ECU의 성능 평가나 검증이 어려워질 것으로 보입니다. ISO 26262와 같은 표준 개발 프로세스로 대응할 수 있나요?
A. 어려운 질문이지만, SW 복잡도의 증가에 따라 타이밍 검증이 더 어려워질 것이라는 것에는 전적으로 동의합니다. 또한 WCETs(Worst-Case Execution Times)을 확인하기 위한 정적 코드 분석이나 WCRTs(Worst-Case Response Times)를 위한 정적 스케줄링 분석과 같은 전형적인 방법을 사용하더라도, 이는 실제 결과와 연결되지 않을 수 있습니다. 저는 차량용 SW 개발 시, 이론적인 방법을 적용하는 것이 종종 의도한 것과는 반대의 결과를 초래하는 경우를 보았으며, 투입한 시간과 노력에 비해 실용적인 결과를 얻기 어려운 경우도 있었습니다. 또한 방법론을 적용하는 데에 개발 리소스가 투입돼 정작 필요한 곳에서는 개발 리소스가 부족하고, 결국에는 SW 품질이 저하되기도 합니다. 이런 문제가 반복되지 않도록 저는 TRT(the Timing Round Table)라는 회의체를 운영하고 있으며, 매달 주요 OEM과 티어 1, the TUV, 실리콘 벤더, 툴 벤더, 교육기관의 담당자가 모여 미래의 차량용 타이밍 분석이 적합한 수준의 안전을 제공하면서도 어떻게 하면 더 실용적이고, 비용 효율적일 수 있을지 토론합니다.
Q. TRT의 주요 의제는 무엇이 있나요? 한국 업체의 참여가 가능한가요?
A. TRT은 임베디드 소프트웨어 타이밍과 관련해 ISO 26262를 적용하는 방법에 대한 지침인 “Best practices” 문서를 작성하고 있으며, 비공식 그룹인 만큼 SW 타이밍을 사랑하는 모든 분들이 참가할 수 있습니다. TRT Wrking Goup에 참가를 희망하신다면 글리바 임베디드 시스템스의 한국 대리점인
아이티브AI를 통해 의사를 전해주시기 바랍니다.
Q. 한국 업체와 협력하고 있는 프로젝트도 있나요?
A. 네, 있습니다. 지난해 9월부터 현대자동차의 타이밍 전문가 한 분이 저희 독일 본사에 상주하며 프로젝트를 진행하고 있습니다. 두 SW 플랫폼의 타이밍, 스택, 메모리 사용을 최적화하는 프로젝트로, CPU 로드를 40% 이상 줄이는 등 이미 놀라운 결과를 나타내고 있습니다. 프로젝트를 통해 개발한 최적화 기술 중 하나인 SLO(Symbol Location Optimization)는 자동화된 프로세스를 활용해 메모리에서 최적의 심볼 위치를 찾고, 배치를 해주는 기술로 어떠한 프로젝트에나 쉽게 적용될 수 있습니다. 현재는 타이밍 요구사항을 수집하기 위한 체계적인 접근 방식 등 최고의 타이밍 방법론을 함께 연구하고 있습니다.
Q. 향후 글리바 T1 제품의 로드맵은 무엇입니까?
A. 글리바의 미래 비전은 T1이 임베디드 소프트웨어의 리소스 사용량과 관련된 모든 부분에서 대응 가능한 One-Stop 솔루션이 되는 것입니다. 우리는 지속적으로 새로운 기능을 추가하며 사용성을 검증합니다. 또한 복잡한 기능의 원활한 활용을 위해 프로세스 내에서 사용자를 가이드 할 수 있는 마법사를 도입할 예정입니다. 올해 임베디드 월드에서는 tracing 하드웨어나 디버깅 하드웨어 없이 instruction trace를 캡처하고 분석할 수 있는 T1.flowTrace를 처음으로 선보였습니다.
T1은 하드웨어가 없는 순수 SW 솔루션이며, 이는 앞으로도 변함없을 것입니다. 또한 T1은 ISO 26262 ASIL-D를 만족하는 T1 소프트웨어를 제공하고 있으며, 이를 만족하는 프로세서 리스트에 점점 더 많은 아키텍처를 추가할 것입니다.
T1.flowTrace. 특정 SW 블록에서 실행된 코드(Green), 실행되지 않는 코드(Orange) 를 확인 할 수 있다.
Q. ‘임베디드 소프트웨어 타이밍’이라는 책을 저술하고, 한국어 버전도 출간한 것으로 알고 있습니다. 이 책에 대한 소개와 어떤 사람이 읽으면 좋을지 추천해 주세요.
A. 이 책은 타이밍 최적화를 수행하는 데 필요한 몇 가지 기본 사항(캐시, 파이프라인, 다양한 주소 지정 모드, RTOS 또는 링커 스크립트 작업)부터 시작합니다. “타이밍 이론” 챕터는 제목과 달리, CPU 로드를 정의할 때 주의해야 할 몇 가지 함정 등 보다 실용적인 내용을 담고 있습니다. 이 외에도 타이밍 분석 기술, 타이밍 문제 사례, 타이밍 최적화, 개발 프로세스 내 방법론, AUTOSAR, 안전과 ISO 26262 등의 주제를 담고 있습니다. 이 책은 소프트웨어 통합 담당자와 초보 개발자를 위해 집필했으며, 임베디드 SW 분야의 프로젝트 리더와 교수/학생을 위한 정보도 많이 포함되어 있으니 많은 관심 바랍니다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>