11월 ‘블랙베리 QNX 테크포럼’에서 그랜트 쿠어빌 부사장은 QNX 8.0, QNX Software Development Platform(SDP) 8.0, 그리고 이것이 클라우드와 함께 자동차 임베디드 시스템에 미치는 영향을 말하면서 QNX의 전략 로드맵을 공유했다. AEM은 쿠어빌 부사장에게 세이프티 크리티컬한 OS와 미들웨어가 강조되는 현재에, QNX를 대체할 OS가 있냐는 질문을 던졌다.
글 | 한상민 기자_han@autoelectronics.co.kr
세이프티 크리티컬한 부문에서 QNX를 대체할 OS가 있냐는 질문에 QNX의 그랜트 쿠어빌(Grant Courville) 제품 및 전략 담당 부사장이 답했다.
“OEM은 인하우스에서 OS부터 애플리케이션까지 직접 하기 위해 많은 소프트웨어 개발자를 채용했지만, OS, 미들웨어 같은 기반 소프트웨어를 개발하고 성능, 복잡성, 안전 요구에 대응하기 힘들어 직접 해야 할 부분은 기반 소프트웨어 위의 것이라는 것을 깨닫고 있습니다. QNX가 하는 일이 바로 소프트웨어 정의 자동차(SDV) 전환에서 OS, 가상화 계층 및 미들웨어, 그리고 QNX Digital Cockpit, QNX SOUND 등 기반 소프트웨어를 제공하는 것입니다. 우리는 여러 안전, 보안 인증을 받았습니다.”
11월 조선팰리스 호텔에서 개최된 ‘블랙베리 QNX 테크포럼’에서 쿠어빌 부사장은 QNX 8.0, QNX Software Development Platform(SDP) 8.0, 그리고 이것이 클라우드와 함께 자동차 임베디드 시스템에 미치는 영향을 말하면서 QNX의 전략 로드맵을 공유했다.
자동차, 산업 컴퓨팅, 의료, 방위, 항공우주 등 세이프티 크리티컬한 임베디드 산업의 주요 트렌드는 커넥티비티와 클라우드 연결이 증가하는 가운데, 기기 자체는 물론 에지에서 소프트웨어와 인공지능 역할이 커지고 세이프티 크리티컬, 기능안전성 요구사항 처리를 위해 가상화 기술이 매우 중요해졌다는 점이다. 또 90년대 후반 GM OnStar를 통해 시작된 자동차의 연결성이 일반 디바이스로 확장되면서 보안이 매우 강조되고 있고, 자율주행, SDV와 함께 고성능 컴퓨팅으로의 전환이 이뤄지고 있다.
이것이 쿠어빌 부사장이 말하는 QNX가 QNX 8.0 개발을 시작한 주요인이다.
“자동차에서는 싱글코어, 듀얼코어, 쿼드코어 프로세서가 사용됐지만, 이제는 8코어, 심지어 16코어 프로세서가 등장했고, 클라우드에서는 64코어, 128코어 시스템이 존재합니다. 하지만 이런 컴퓨팅의 증가는 소프트웨어 개발, 시스템 설계, 아키텍처 면에서 커다란 도전과제가 되고 있습니다.”
도로 위 차량은 대개 100 ~ 150개의 ECU가 있는 분산 시스템을 갖고 있다. 소비자가 더 많은 기능을 요구할 때마다 ECU가 추가돼 왔지만, 그 확장은 한계에 이르렀다. 그런 결과 도메인 아키텍처로의 전환이 이뤄지면서 디지털 콕핏에서 첫 통합이 이뤄졌고, 지금은 ZONAL, 혹은 중앙 집중형 고성능 컴퓨팅 시스템으로 전개되고 있다. 이와 관련, QNX는 증가된 컴퓨팅, 복잡한 소프트웨어와 시스템을 다루는데 누구보다 능숙하다고 자부하면서 고객, 파트너와 긴밀하게 협력해 복잡성, 안전성, 보안성을 해결하고 있다. 이미 QNX의 소프트웨어 제품은 디지털 콕핏 도메인 컨트롤러, 배터리 매니지먼트, 드라이버 모니터링, 인포테인먼트, HPC, 첨단 운전자 지원 시스템(ADAS) 및 자율주행, 인스트루먼트 클러스터, 텔레매틱스, 차량 게이트웨이, 스마트 센서 등 자동차의 거의 모든 중요 시스템에 통합되고 있다.
특히 이 통합에서, QNX의 소프트웨어는 ECU나 완전한 스택을 구축하는 대신, 기본 소프트웨어로서 OS, 가상화 계층 및 미들웨어와 같은 기본 빌딩 블록을 제공하면서 차량과 기타 시장에서 고객이 효율적으로 복잡한 시스템을 개발하고 배포할 수 있도록 하고 있다. 비안전 시스템은 물론 정말 중요한 세이프티 크리티컬 시스템 모두에서 공통 API, 공통의 툴, 공통의 소프트웨어 플랫폼을 제공하고 있다.
“우리는 독보적입니다. 여러 OEM과 협업하고 있는데, 예를 들어 자율주행 레벨 3에 도달한 메르세데스 벤츠와 같은 OEM의 세이프티 관련 소프트웨어가 QNX 기반입니다. 메르세데스, 볼보 등 OEM이 자체 OS를 갖고 있지만 뜯어보면 QNX가 있습니다. NVIDIA DRIVE OS 세이프티에도 QNX가 있습니다. QNX는 OS, 하이퍼바이저와 같은 기반 소프트웨어에서 ASIL-D 등급을 받았습니다. 많은 기업이 리눅스 기반으로 세이프티 크리티컬 환경에서 사용할 수 있는 소프트웨어를 개발하려 하지만 도전에 직면해 있고 실질적인 성과를 내지 못하고 있습니다.” 쿠어빌 부사장이 말했다.
고성능에 집중한 QNX 8.0
“QNX의 아키텍처는 아시다시피 마이크로커널 기반으로, 이는 안전하고 보안성 높은 시스템을 구축하는데 가장 적합한 아키텍처로 알려져 있습니다. 이것은 단지 저희 의견이 아니라, 기술 논문과 업계의 합의에 따른 것입니다. QNX는 거의 20년 만에 마이크로커널을 더욱 깊이 연구해 확장성을 위한 전략 변경을 했고, 그런 결과 QNX 8.0은 출시된 OS 중 가장 높은 성능을 자랑하게 됐습니다. 이것이 QNX OS 세이프티(for Safety), 하이퍼바이저, 그리고 하이퍼바이저 세이프티(for Safety)의 기반입니다.”
QNX 8.0을 살펴보자. QNX 8.0 혹은 QNX SDP 8.0은 4년의 집중적인 개발 끝에 1년 전 출시됐다. 핵심은 성능이다. 쿠어빌 부사장에 따르면, 예를 들어 스레드 생성에서 QNX 8.0은 리눅스 대비 80% 빠르며, 메시지 큐를 이용한 프로세스 간 통신에서 70% 빠르다. QNX는 이 새로운 OS를 위한 전담 성능 팀을 꾸려 OS, 커널, 파일 시스템 전반에서 벤치마크를 실행하고 개선이 필요한 부분을 찾아내 작업했다.
QNX 8.0은 듀얼코어에서 64코어 시스템, 그 이상 시스템까지 성능, 확장, 실시간 기능을 최적화하는 데 중점을 뒀다. QNX 8.0은 여전히 마이크로커널이지만, 이를 멀티스레딩 방식으로 설계해 고성능 프로세서에서 여러 코어를 확장할 수 있게 진정한 멀티스레드로 만들었다. QNX 7.0 커널에서는 스케일링할 수 없었고 코어의 수가 일정 이상 증가하면 스케일링이 선형적으로 이뤄지지 않았지만, QNX 8.0에서는 세분화된 스케줄링과 잠금을 구현해 진정한 멀티스레드 마이크로커널이 됐다.
고성능 네트워킹, 고성능 파일 시스템, 새로운 안전 보안 기능, 그리고 반도체 벤더들과 협력해 최적화했고 최고 성능의 그래픽도 제공한다. 네트워크 스택도 업데이트해 FreeBSD 스택을 사용해 최적화 작업을 진행, FreeBSD 리눅스 드라이버를 QNX로 손쉽게 포팅할 수 있게 했다. 메모리 할당 알고리즘에 대한 중요 개선 작업도 있엇다. 이런 변경이 시스템 전체에 이점을 가져와 개발한 OS 소프트웨어뿐만 아니라, QNX용으로 개발하는 모든 소프트웨어에도 최고 성능을 발휘할 수 있도록 한다.
쿠어빌 부사장은 “OS를 생각할 때, 반도체, 보드 벤더와 긴밀히 협력하는 것이 매우 중요합니다. 우리는 삼성, 퀄컴, NXP, TI와 같은 회사로부터 지원받는 것을 매우 자랑스럽게 생각합니다. NVIDIA, 퀄컴과 같은 일부 반도체 벤더들은 이미 QNX에 대한 보드 및 하드웨어 지원을 제공하고 있습니다”라고 말했다.
한편, QNX는 다른 임베디드 OS 공급자들과 다르게 전용 그래픽 팀을 두고 QNX Screen을 구축하고 있는데, 이는 매우 드문 사례다. 이것은 QNX가 초기 자동차 인포테인먼트 시스템에서 성공할 수 있었던 주요 이유 중 하나다.
세이프티와 시큐리티
“QNX가 항상 강조하는 보안은 중대 요소입니다. 시스템이 연결되는 순간, 자동차의 텔레매틱스 시스템이든 임베디드 시스템이든, 다른 구성요소든 상관없이, ‘공격 벡터’라고 불리는 잠재적인 위험 지점이 생기게 됩니다. QNX의 역할은 고객이 가능한 가장 안전한 시스템을 설계할 수 있도록 하는 것입니다.”
예를 들어, 자동차는 글로벌 자동차 산업에 대한 새로운 보안 표준인 UNECE WP.29 155, 156 규정과 ISO 21434를 준수해야 하며, 그렇지 않으면 해당 시장에서 차를 판매할 수 없다.
QNX는 ISO 21434 표준 개발에 적극적으로 참여했다. 보안 사고 대응팀도 운영하고 있다. 취약점이 발견되거나 공격이 발생했을 때, 팀은 취약점을 발견한 연구자와 직접 협력해 시스템, 소프트웨어를 체계적으로 업데이트할 수 있도록 한다. 보안은 언제나 QNX에 매우 중요한 요소여서 QNX 8.0에는 QNX 7.0에 포함된 기능에 더해 더욱 다양한 보안 기능이 추가되고 있다. QNX의 목표는 고객, 파트너와 더욱 연결성 높은 시스템을 안전하게 설계하고 아키텍처화하는 것이다.
QNX는 ‘깊이 있는 방어(defense in depth)’ 개념, 즉 ‘성곽 방식(Castle Approach)’이라고 불리는 방법을 적용하고 QNX 기반으로 안전한 시스템을 설계할 수 있도록 핵심 기술과 빌딩 블록을 제공하는 것은 물론, 안전한 시스템 아키텍처에 대한 종합적인 문서를 개발한다. 또 보안 전문팀도 가동 중이다. QNX 제품에 대해 ISO 21434 프로세스 인증을 받았고 이를 모든 제품에 확대 적용해 파트너들이 해당 규정을 준수할 수 있도록 지원하고 있다.
“중요 요점을 말하자면, QNX 8.0, QNX 7.0, QNX SDP는 하이퍼바이저의 기초입니다. QNX Hypervisor는 OS 가상화 기능을 제공하는 확장입니다. 우리는 QNX 7.0과 QNX 8.0의 안전 인증을 할 예정이고, 동일한 바이너리, API, 툴을 유지하는 것이 목표입니다.”
QNX는 비안전 인증 제품에서도 다양한 안전 프로세스를 따른다. 여기에는 안전 관련자들을 위한 안전 매뉴얼, 위험 및 위험 분석, 추적성 등 프로세스를 포함한다. 이는 품질 측면에 이점을 제공하고, 차량이나 제품 라인 전체에서 다중 시스템을 개발해야 할 때 안전 인증이 필요한 경우와 그렇지 않은 경우 모두에서 효율적인 지원을 가능하게 한다.
“QNX는 OS의 안전 인증을 마치고, 하이퍼바이저의 가상화 확장을 통합한 후, 하이퍼바이저와 일부 공유 프레임워크에서도 안전 인증을 할 예정입니다. 또 우리는 올초(2024) 컨테이너 지원을 발표했는데, 곧 초기 액세스가 가능할 것으로 타임라인을 제공할 예정입니다. 우리는 다른 누구도 하지 않은 컨테이너 안전 인증을 위해 노력 중입니다.”
쿠어빌 부사장이 강조했다.
QNX는 2025년에 컨테이너 지원, QNX OS 세이프티 릴리스, 하이퍼바이저 릴리스, 하이퍼바이저 세이프티 릴리스 등 점진적으로 세이프티 제품군을 확대해 나갈 예정이다.
클라우드의 영향
“자동차 산업에서 클라우드는 주로 백엔드 IT 시스템에 사용됐지만. 우리는 앞으로 클라우드가 제공할 거대한 가치, 즉 소프트웨어를 하드웨어에서 분리하고, 개발을 가속화하고, 빠른 반복을 가능하게 한다는 점을 잘 인식하고 있습니다. 예를 들어 'Shift Left' 개념은 개발 주기의 초기 단계에서 더 많은 테스트와 반복을 가능하게 하는데, 이는 클라우드의 큰 장점입니다. QNX는 파트너들과 협력해 확장성, 속도, 그리고 더 큰 글로벌 협업을 가능하게 하는 클라우드 우선 임베디드 개발 접근 방식에 큰 투자를 하고 있습니다.”
현재 클라우드 공간에는 Google, AWS, Microsoft 같은 하이퍼스케일러들이 활발히 움직이고 있다. 이들은 자동차 산업에 더욱 집중하며 상당한 활동과 투자를 하고 있다. 당연히 QNX는 AWS, Microsoft 등과 협력한다. 또한 SOC나 주변 장치를 클라우드에서 시뮬레이션할 수 있는 가상화, 시뮬레이션 발전 측면에서 Synopsys, Siemens와 같은 기업들과 협력해 이를 가능하게 하고 있다. QNX의 또 다른 주요 활동 분야는 차량 데이터와 관련된다. 몇몇 OEM은 이미 차량 데이터를 수집해 데이터에서 더 높은 가치를 찾기 위해 노력하면서 소프트웨어 업데이트를 수행하는 데 고도화된 상태다. SOAFEE, Eclipse SDV, COVESA와 같은 여러 SDV 컨소시엄도 자동차 개발을 위해 클라우드를 활용하고 있다.
QNX는 OS를 클라우드(AWS)에 처음으로 배포했다. 전통적으로 임베디드 개발에서는 호스트 환경과 일련의 타깃 하드웨어를 가지고 작업하게 되는데, 이는 비용이 많이 들고 접근하기 어려울 수 있다. 제한된 임베디드 하드웨어는 글로벌 프로젝트에서 협업과 확장성에 병목현상을 일으킬 수 있다. QEMU나 VirtualBox 같은 에뮬레이터는 유용하지만, ARM 환경에서 x86 등으로 바이너리를 이동할 때 지침 세트가 다르기 때문에 성능 문제나 동작 차이가 발생할 수도 있다. 이런 문제들을 해결하기 위해 OS를 클라우드에 배포했다. 이는 차량의 ECU에 설치할 수 있는 동일 OS다. 하드웨어 계층 또는 보드 지원을 변경해, 가상장치와 연결되도록 한다. 클라우드에서 임베디드 하드웨어와 동일한 API를 사용할 수 있어 환경 간 일관성(parity)이 유지된다.
“우리는 하이퍼바이저에서도 동일한 작업을 수행했습니다. 이는 차량이나 임베디드 하드웨어에 들어가는 것과 같습니다. 하이퍼바이저에서 다양한 게스트 운영체제를 실행할 수 있습니다. 클라우드 내에서 가상장치와 통신할 수 있도록 소프트웨어를 작성했습니다. 예를 들어, 스토리지, 이더넷, 가상 직렬 포트, 가상 그래픽, 가상 오디오 등이 있습니다. 개발 관점에서 동일한 API를 사용할 수 있습니다. 클라우드 내에서 모든 것이 제대로 작동하도록 보장하면서 바이너리, 인터페이스에 대한 ‘동등성(binary parity)’을 제공합니다.”
QNX 개발 툴도 클라우드에서 사용할 수 있다(워크벤치).
다른 임베디드 OS 회사도 자체적인 워크벤치를 갖고 있지만, 업계에서 큰 반응을 얻지 못하고 있다. 고객은 QNX가 자체 워크벤치를 개발하는 것보다는 그들이 이미 사용하는 워크벤치에 통합할 수 있는 툴과 서비스 개발을 원한다. 그래서 QNX는 클라우드에서 빌드 서버를 제공하고, 컴파일러, 링커 등 다른 도구들을 제공한다. 예를 들어 IDE도 클라우드에서 제공할 예정이다. 또 마이크로서비스를 제공해, 클라우드에서 QNX의 특정 버전과 업데이트를 내려받을 수 있도록 할 것이다. 이렇게 하면 고객들은 자신들이 사용하는 워크벤치를 계속 사용할 수 있다.
CI/CD도 마찬가지다. 고객은 자신만의 CI/CD 워크플로를 구축하고 있다. 때문에 QNX는 이 워크플로와 CI/CD 환경에 마이크로서비스를 통해 통합할 예정이다. 이는 2025년 이후의 계획이다.
QNX는 디지털 트윈도 할 예정이다. 예를 들어, 삼성 하드웨어나 다른 SOC 하드웨어에서 디지털 콕핏을 실행하고, 그에 대한 표현을 클라우드에서 가질 수 있는 것이다.
세 가지 전략
마지막으로 쿠어빌 부사장은 QNX의 세 가지 전략 투자 기둥을 말했다.
첫째는 에지에서의 혁신, 에지 소프트웨어와 디바이스 소프트웨어를 포함한다. 둘째는 안전성과 보안으로, 매우 오랫동안 QNX가 집중해온 분야다. 셋째는 개발자 간극을 줄이는 것, QNX 개발을 더 효율적이고 쉬운 방식으로 만드는 것이다.
에지에서의 지능과 소프트웨어가 증가하고, 복잡성, 통합의 어려움이 커지고 있어 고객은 QNX에 더 많은 소프트웨어를 사전 통합해 더 많은 기능을 넣어줄 것을 당부하고 있다. 즉, 디바이스를 구축할 때 그곳에서 가치가 창출돼야 한다는 것이다.
안전성과 보안 관점에서, QNX는 업계 최초의 OS, 하이퍼바이저, 컨테이너의 안전 인증을 진행한 회사가 될 것이다. C++ 툴킷을 가장 높은 수준으로 안전 인증하려 한다. SBOM(소프트웨어 자재 명세서)을 제공한다. QNX 소프트웨어 센터를 통해 SBOM을 자동으로 생성할 수 있는 방법도 제공할 예정이다. 보안 측면에서는 침입 탐지 시스템과 함께 사용할 수 있는 프레임워크, 보안 모니터링 및 감사 프레임워크도 개발 중이다.
마지막으로, QNX는 다양한 분야에 걸쳐 QNX 소프트웨어의 확장을 목표로 하면서 QNX Everywhere 이니셔티브를 추진 중이다.
쿠어빌 부사장은 “QNX Everywhere는 정말 흥미롭습니다. 오픈소스는 우리가 집중하는 큰 분야입니다. QNX는 오픈소스 소프트웨어를 개발하고, 포팅하고, 최적화하며, 다양한 오픈소스 프로젝트로 업스트림하는 팀을 운영하면서 클라우드에서 더 많은 작업을 할 것입니다”라고 말했다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>