코드 길이가 친환경을 결정한다...SDV 시대 그린 코딩을 외치는 포르쉐

2023. 12. 22. 00:04Mobility +/Technology

코드 길이가 친환경을 결정한다...SDV 시대 그린 코딩을 외치는 포르쉐

Automotive software
Automotive software / Photo from: Bing AI Image Generator

 

 

이제 자동차가 하나의 전자장비로 인식되는 것은 우리에게 너무나도 당연한 일입니다. 자동차의 전자화가 진행되며 가장 중요하게 여겨진 분야는 바로 소프트웨어 입니다. 기존에 하드웨어에 익숙한 체계가 단번에 뒤바뀌어야 할 상황이 왔기 때문이죠. 그렇기 때문에 많은 자동차 기업에서 소프트웨어 인력을 확보하려는 모습을 보여주고 있습니다. 결국 이런 시대에 자동차 기업의 소프트웨어 역량은 더욱 중요하게 평가받을 수 밖에 없습니다. 만약, 해당 역량이 부족하다면 글로벌 빅테크의 단순 OEM/ODM밖에 할 수 없기 때문이죠. 마치 애플의 폭스콘처럼 되는겁니다. 이에 따라 자동차에서는 "코딩"의 가치가 더욱 높아졌다고 볼 수 밖에 없는데요. 이번 포스팅에서는 SDV로 나아가는 현 자동차 산업에서 코드 작성에 대해 포르쉐가 가하는 일침에 대해 다뤄보도록 하겠습니다.

 

 

반응형

 

 

 

 

1.  자동차를 잠식하고 있는 소프트웨어를 대응하기 위한 업계 노력

Automotive Chassis
Automotive Chassis / Photo from: Bing AI Image Generator

 

 

조날 아키택처(Zonal Architecture)와 같은 새로운 E/E 구조가 차량에서 논의되고 있는 이유죠. 현재 자동차에서는 소프트웨어의 중요성이 나날이 높아지고 있습니다. IEEE 스펙트럼 역시 21년 7월 같은 주제의 내용을 다루고 있는 것을 볼 수 있었죠. 자동차 내부에는 많은 ECU(Electronic Control Unit)이 들어갑니다. 과거 엔진에만 들어갔던 ECU(Engine Control Unit)는 이제 그 범위를 넓혀 배터리(Battery Management Unit), 충전 제어기(Vehicle Charging Unit), MCU(Motor Control Unit)과 같이 더 많은 차량의 기계요소를 대체하고 있습니다. 언급한 내용에서 알 수 있듯, 이런 변화는 친환경차로 갈수록 더욱 극대화되는 모습을 보여줍니다. 실제 IEEE 자료를 확인해볼 때 과거 10년전만 해도100개의 ECU에서 100만줄의 코드만이 활용되었다면 현재는 150개 이상의 ECU에서 약 1억줄의 코드가 실행된다고 합니다. 

 

자율주행(ADAS), 커넥티비티 등의 기술이 탑재되며 소프트웨어 역량은 더욱 중요해졌습니다. 일각에서는 소프트웨어가 자동차의 가치를 결정한다는 의견을 보이는만큼, 더 이상 하드웨어만으로 자동차의 상품성을 표현하기 힘들어진 것이죠. 새로운 전자장치의 영역은 자동차에게 낯설뿐더러 어려운 영역입니다. 많은 시도가 이뤄졌음에도 불구하고 여전히 풀어야 할 난제가 많죠. 이는 소프트웨어와 시스템 로직 구성이 복잡할뿐만 아니라 자동차의 특성상 타 장비 대비 신뢰성과 안전, 보안을 확보하기 위해 검증해야 할 추가적인 부분이 많기 때문이죠

 

자동차 기업이 이런 변화를 손놓고 있는 것은 아닙니다. 어려운 상황에서 이런 문자를 타계하는 방법은 바로 표준화를 만드는 것입니다. 뭐, 직장에서 업무 프로세스를 구축하는 것과 동일하다고 볼 수 있겠네요. 이런 방법을 활용한다면 동일 산업군 내 제품이 지향하는 바와 적정 수준을 설정할 수 있기 때문에 부담을 줄일 수 있는것이죠. 이런 사례의 일화로 AUTOSAR이나 A-SPICE와 같이 다양한 국제 표준이 계획되고, 신설되며 자동차의 소프트웨어 적용을 가속화하려는 시도가 계속되고 있습니다.

 

 

반응형

 

 

 

 

2. 자동차 제어 & 고객 편의를 위한 코드에 대한 근본적인 고민 

Many lines of Code in PC
Many lines of Code in PC / Photo from: bing AI Image Generator

 

 

근본적인 자동차의 아키택처를 결정짓는 것도 중요하지만 그 근간이 되는 "코드 작성" 역시 눈여겨볼 필요성이 있습니다. 21년 2월 맥킨지의 조사 결과에서는 자동차 기업의 소프트웨어 역량을 평가했었습니다. 평가 결과 많은 자동차 업체가 소프트웨어 도입의 이점을 알고 과감한 조치를 취하고 있지만, 기존 엔지니어링 관행과의 충돌 등으로 인해 전환이 부족한 상황임을 지적하고 있었습니다. 맥킨지의 별도 연구 결과 소프트웨어 능력이 떨어지는 경우는 최상위 기업 대비 S/W 품질이 3~6배 부족한 것으로 나타났다고 하니, 아직 빅테크에 비한다면 갈 길이 멀다는 것을 뜻하죠. 좀 더 산업에 관련있는 이야기를 빌리면, 자동차의 복잡성이 증가하는 것 대비 개발조직의 생산성은 변화하지 않았으며, 둘 사이의 격차가 점차 확대되는 경향을 띄었다고 합니다. 이런 상황에대해 맥킨지는 복잡성을 최소화하고 버전 수를 제한하며 코드 재사용을 늘리는 방안을 제안한 바 있습니다.

 

그렇다면 IT 기업은 이런 코드에 대해 어떻게 관리하고 있을까요? 많은 빅테크 기업을 예시로 들 수 있지만 이번 포스팅에서는 네이버클라우드의 클린코드에 관한 이야기를 언그밯고자 합니다. 해당 포스팅에 따르면 '클린코드"란 주니어에게 추천되는 교과서와 같은 코딩으로, 잘동작하며 유지/보수가 용이하며 직관적으로 이해 가능한 코드를 뜻한다고 합니다. 이런 작업이 필요한 이유는 코드 가독성을 확보해 이를 검증/해석하는 과정에서 공수를 줄일 수 있기 때문이죠. 또한 개별 코드의 가독성을 높임으로써 동일 기능을 사용하는 함수를 빠르게 탐색, 재활용하는 등의 업무가 가능해진다고 하죠. 해당 포스팅에서는 개별 함수를 50줄 이하, 전체 함수를 500줄 미만으로 제한하고, 내부 들여쓰기를 줄여 읽기 쉬운 코드를 만들어야 한다고 주장하는 모습을 보였습니다. 이런 모습을 볼 때 100만줄에 달하는 거대한 코드 길이를 가진 자동차 기업 역시 그 관리를 철저히 하고, 길이를 줄여야한다는 것을 도출할 수 있습니다.

 

 

반응형

 

 

 

 

3. 그린 코드를 향해 나아가는 포르쉐의 열망

Porsche with Many liens of Code / Photo from : Bing AI Image Generator

 

 

이제 포르쉐 이야기로 넘어가볼까요? 포르쉐는 지난 11월 9일 자사의 공식 뉴스룸에 그린코딩에 대한 공식적인 언급을 했습니다. 보도자료에서는 이를 단순 자동차의 효율성이 아닌 친환경에 기여할 수 있다는 점을 언급하며 그 효과를 극대화하는 모습을 보여주었는데요. 가장 많은 탄소배출량을 보이는 상품 중 하나인 자동차의 구동을 위해 우리 에상보다 더 많은 탄소배출이 이뤄짐을 말했습니다. 포르쉐의 발표에 따르면 정보통신기술에 의한 온실가스 배출은 젗네의 1.8~2.8%의 비중을 차지하며, 인공지능과 같은 서비스가 도입됨에 따라 더욱 많은 에너지가 소모될 것이라 합니다.

 

포르쉐는 이를 극복하기 위해 많은 노력을 기울이고 있다고 해요. 하드웨어 측면에서 BEV나 e-Fuel로 나아가는 것과 별개로말이죠. 바로 그린코딩을 도입한것입니다. 포르쉐는 그린 코딩으로 프로젝트를설계, 필요한 리소스와 에너지를 줄이는것을 목표하며, 이를 통해 추가적인 탄소 배출을 줄이는 것을 목표한다고 합니다. 이를 개선하기 위한 몇 가지 방법도 제시했는데요. 오픈소스 라이브러리를 로딩할 때 필요 없는 패키지를 제거하거나, Python과 Ruby와 같은 인터프리터 언어가 아닌 컴파일러 언어를 활용, 전력 소모를 줄이는 방법을 언급했습니다.

 

사실 해당 보도 자료가 포르쉐의 차량 개발에 직접 적용된 것은 아닙니다. 실제 개발 언어 및 그 과정을 공개하는 것은 기밀사항이 유출될 수 있기 때문이죠. 대신 포르쉐는 이를 자사의 뉴스룸과 공학 매거진에 게재하는 모습을 보여주었습니다. 이는 자사의 임직원 혹은 이에 대한 파급력을 펼쳐 자동차산업에 그린 코딩을 적용, H/W와 S/W 전역에서 탄소배출량을 줄여야 한다는 포르쉐의 의지를 담은 내용이 아닐까 싶습니다. 혹은 이미 그런 기술을 적용하고 테스트하는 걸지도 모르겠어요. 다만 그럼에도 불구하고, 포르쉐에서 이런 언급이 나와다는 것은 자동차산업이 현재 맹목적으로 쫒는 H/W가 아닌 S/W의 탄소배출 감소에 대해서도 함께 고민해볼 시사점을 던졌다는 것 자체만으로 의미있을 것 같습니다.

 

 

반응형

 

 

 

 

이번 포스팅에서는 자동차 산업에서 중요해지는 소프트웨어 역량과

이 과정에서 포르쉐가 업계에 던진 그린 코딩의 시사점에 대해 알아보았습니다.

아무래도 자동차는 가장 많은 탄소배출량을 발생시키는 기업으로서, 이런 부분도 함께 고민해야 할 것 같아요.

이런 문제점은 결국 S/W 프로세스가 자동차 산업에 맞게 적절히 변환되고 적용됨으로써

천천히 해결될 수 있지 않을까라는 기대를 해봅니다.

 

긴 글 읽어주셔서 감사합니다!         

 

 

 

[자료 출처]

 

[1] IEEE Spectrum, How software is eating the car

 

[2] When code is king: mastering automotive software excellence

 

[3] [네이버클라우드 개발자 스토리] 좋은 코드란 무엇일까?

 

[4] A new approch to coding : Resource-efficient programing

 

 

 

 

반응형