QNX에서 지난주 수요일과 목요일 이틀동안 회사에 와서 하루는 데모를 진행하고 다른 하루는 전일 기술적인 워크샾을 진행하였다. 이틀 모두 참석했고 이에 대한 QNX의 SDV 전략에 대해서 간단히 느낀대로 적어보고자 한다. 아래 webOS가 있어서 간만에 반가웠다. :)
결론부터 이야기하면 이대로 잘 구현만 된다면 QNX를 사용하는 OEM은 Supplier에 의존성이 많이 줄어들고 대신 QNX에 대한 의존성이 조금 더 늘어날 것 같다. 방향성은 정말 좋고 현재 데모도 AWS Cloud, Qualcomm 레퍼런스 보드, Samsung 레퍼런스 보드에서 잘 동작하는 것을 보았다. 물론 이상과 현실은 다르지만 플랫폼과 개발 환경에는 너무 좋은 것 같다.
QNX Cabin
QNX Cabin이라는 새로운 용어를 들고 소개를 했고 여기서 핵심은 VirtIO 이다. QNX에서 VirtIO를 지원하고 VirtIO를 지원하는 Guest OS를 쉽게 올릴 수 있다. VirtIO는 표준이라서 각 SoC 벤더에게 가이드를 하면 되고 또는 직접 VirtIO를 지원하도록 아랫단을 만들면된다. Android를 비롯해 위의 그림에 있는 OS들은 VirtIO를 지원하도록 구성할 수 있다.
데모 중에 하나가 AGL (Automotive Grade Linux)의 arm64 qemu 이미지를 다운받아서 수정없이 QNX Cabin 위에 바로 AWS Cloud에 올리는 것이였다. 또한 동일한 이미지를 Samsung 및 Qualcomm 레퍼런스 하드웨어에 올릴 수 있다는 것이다.
제품을 만들 때 VirtIO의 가장 큰 걱정은 성능 문제였고, 이를 QNX에서는 복잡한 그래픽 데모가 60fps 나온다는 것을 보여줬다. 물론 실제 제품은 또다른 이야기이긴 하고 여전히 풀어야할 숙제이다.
이외에도 QNX에 Vehicle Signal 데이터를 받을 수 있는 서버 등도 추가로 Cabin의 일부로 구현해놓았다.
또 다른 문제는 QNX Cabin 을 사용하는데 추가적인 라이선스 비용이 든다는 것이다. 비용은 정확히 모르지만 QNX니까 비싸지 않을까 싶다. 일단 Evaluation을 받아서 PoC정도는 해볼 수 있을 것 같다.
AWS Cloud에서 QNX 지원
QNX는 AWS Marketplace에서 QNX Neutrino RTOS 7.1, QNX OS for Safety 2.2.3, QNX OS 8.0, QNX Hypervisor 2.2 을 판매하고 ARM64 아키텍처를 가진 AWS Graviton 위에서 돌아간다. 이를 통해 QNX 또는 QNX HV를 제품으로 사용하는 OEM에서는 조금 더 쉽게 SDV에서 클라우드 개발 전략을 활용할 수 있다. 물론 이때는 AWS Cloud에 의존적이게 될 것이지만 QNX에서는 Private Cloud 및 다른 Cloud에서의 지원도 할 것으로 보인다.
설정하는 부분도 보니 크게 복잡하거나 하지 않고 QNX HV같은 경우 VM을 추가할 때 Cloud 내부 저장소의 위치에 커널, 이미지, QNX HV 설정파일을 올리고 qvm으로 실행하거나 slm에 넣으면 된다.
아직 QNX Cabin은 공식적으로 올라가있지 않고, 조금 더 안정화를 하고 마케팅을 한 후 올릴 것으로 보인다.
마무리
최근에 봤던 데모 중에 가장 현실적이고 개인적으로 생각하고 있는 것과 많이 비슷한 데모 및 제품인 것 같다. 여기 참여했던 다른 동료들도 많은 부분 동의를 했다. 다음 제품을 위해 SoC 벤더들에게 VirtIO 지원을 강화하도록 적고 있고 동의를 받으려고 노력하고 있다. Virtual ECU라고 해서 클라우드 위에서 비슷한 환경으로 재컴파일 없는 동일한 바이너리로 테스트하려는 전략도 비슷하고 어렵지 않게 구성할 수 있을 것으로 보인다. 물론 내부적으로 많이 진행되었다.
앞서 말했지만 QNX Cabin의 핵심은 VirtIO이고 이에 대한 안정성 및 성능 튜닝을 지켜보고 동시에 PoC를 진행하면 어떨까 생각중이다. 그와 별개로 Virtual ECU의 전략은 현재 상태로 가고 말이다.
'Automotive' 카테고리의 다른 글
자동차 소프트웨어 개발에 오픈소스 기반 혁신이 가능한가? (0) | 2024.08.03 |
---|---|
SDV 개발에서 HW/SW Decoupling (디커플링) (0) | 2024.08.01 |
QNX와 QNX 빌드 시스템 (0) | 2024.07.22 |
Mixed Criticality System (혼합 중요도 시스템) (0) | 2024.07.11 |
Automotive OS (차량용 운영체제) (0) | 2024.05.13 |