Zoox, AWS로 확장 가능한 고성능 컴퓨팅을 제공하여 신속하게 자율 주행 차량 테스트
2021
Amazon의 독립 자회사이자 자율 주행 차량 회사인 Zoox는 온프레미스 인프라에서 차량 안전을 검증하는 시뮬레이션을 실행해야 했습니다. 시뮬레이션 워크로드는 버스트로 이어지는 경우가 많았기 때문에 Zoox는 머신의 원래 처리량보다 많은 컴퓨팅 파워가 필요하다는 것을 알게 되었습니다. 회사는 하이브리드 인프라 모델을 만들기로 선택하고 Amazon Web Services(AWS)의 고성능 컴퓨팅을 사용하여 내부 슈퍼컴퓨터 클러스터를 보완하기로 했습니다.
Zoox는 프로세서, 스토리지, 네트워킹, 운영 체제 및 구매 모델을 선택할 수 있고 AWS 파트너 SchedMD의 오픈 소스 워크로드 관리자인 Slurm을 함께 사용할 수 있는 방대한 컴퓨팅 솔루션인 Amazon Elastic Compute Cloud(Amazon EC2)를 활용하여 다량의 데이터를 사용한 테스트와 개발 속도를 높이고 출시를 앞당겼습니다. 회사는 2024년 말에 AWS에서 수백 페타바이트의 데이터를 사용할 수 있을 것으로 예상합니다.
단일 AWS 리전 안에서 노드 1,000개를 구동하고 몇 시간 안에 작업을 실행하여 중요한 연구 및 개발 실험에 대한 결과를 빠르게 얻을 수 있습니다.”
Conrad Herrmann
Zoox 소프트웨어 엔지니어
컴퓨팅 파워를 효율적으로 확장
2014년에 설립된 Zoox는 도심의 교통 혼잡과 대기 오염을 줄이도록 설계된 차량 호출 서비스에 사용될 자율 주행 대칭형 배터리 전기차 플릿을 제작하고 있습니다. 이 차량은 운전자보다 승객의 경험을 우선시합니다. 마주 앉는 형태의 좌석을 제공하여 승객의 사회적 상호 작용을 촉진합니다. 이 양방향 차량은 주차 공간까지 운전하고 승객을 내려준 다음 다시 전진하듯이 주차 공간을 빠져나갈 수 있습니다. 이러한 차량을 개발하고 생산할 때는 방대하고 다양한 주행 시나리오를 시뮬레이션하여 안전을 확인하는 것이 중요합니다.
Zoox에는 다양한 워크로드에 필요한 컴퓨팅 파워의 많은 부분을 제공하는 온프레미스 클러스터가 있습니다. 워크로드는 대부분 시뮬레이션이지만 인지 능력과 데이터 수집 및 처리를 개선하기 위한 기계 학습도 포함됩니다. 그러나 회사가 성장함에 따라 워크로드 변동성이 심화되었는데 가끔은 효율적인 확장이 어려운 온프레미스 클러스터의 용량을 초과하기도 했습니다. Zoox는 계산 볼륨을 처리하기 위해 머신 수를 확장해야 했습니다.
회사는 AWS가 제공하는 확장성과 필요할 때 사용한 컴퓨팅 파워에 대한 요금만 지불하면 되는 유연성을 이유로 AWS를 선택했습니다. 복잡한 기술 과제를 해결하기 위한 혁신적인 신규 프로젝트에 리소스를 재할당할 수 있을 것이기 때문입니다. Zoox의 소프트웨어 엔지니어인 Conrad Herrmann은 “데이터와 가까운 위치에 있어야 하는 특수 워크로드를 처리하기 위해 AWS를 사용한다”고 말합니다. SchedMD의 워크로드 관리자 Slurm은 고성능 컴퓨팅 및 인공 지능을 위한 미션 크리티컬 워크로드의 속도, 처리량(throughput) 및 리소스 소비를 최적화하는 프로그램인데, 이 프로그램에도 AWS가 사용됩니다. Herrmann은 “고성능 컴퓨팅 환경에 사용되는 작업 컨트롤러는 몇 개 없는데 그 중에서 Slurm이 가장 유명하다”면서 “우리 작업에 확실히 도움이 될 것”이라고 말합니다.
하이브리드 모델을 사용하여 속도, 협업 및 비용 절감을 개선
처음에 Zoox는 AWS에서 단일 워크로드를 테스트하는 것으로 시작했습니다. 다양한 사용 사례에서 원하는 양의 데이터를 저장하고 보호하는 데 사용할 수 있는 Amazon Simple Storage Service(S3)에서 데이터를 가져오는 워크로드를 테스트한 후 발생 가능한 문제를 감지하기 위해 이를 인덱싱했습니다. 그런 다음에는 AWS에서 실행되도록 설계된 기계 학습 태스크와 같은 실험 버전의 소프트웨어를 구축하고, 일치하는 Amazon EC2 인스턴스를 찾아 성능을 측정했습니다. Zoox는 다음으로 프로덕션 워크로드를 만들고 AWS에서 실행하여 설정된 시간 안에 완료되는지 여부를 테스트했습니다. Herrmann은 “이 상황에서 AWS를 사용하는 이유는 결과를 빨리 확인하여 개발을 가속화하기 위해서”라면서 “차량이 안전 시뮬레이션에서 제 기능을 하지 않으면 주행 시스템의 동작을 변경하고 수백만 건의 다른 상황에서 올바른 동작이 나올 때까지 다시 시도한다”고 설명합니다.
AWS의 컴퓨팅 파워를 활용하면 다양한 규모의 머신, 메모리 및 네트워크 액세스에서 요금, 신뢰성 및 가용성 요구 사항에 적합한 Amazon EC2 인스턴스를 선택할 수 있습니다. Herrmann은 “비용 및 결과 측면에서 환경에 가장 적합한 아키텍처를 알아내야 한다”고 말하면서 “다른 모든 비용을 절감하는 대신 결과를 기다려야 한다면 회사의 총 비용은 증가한다. AWS를 사용하면 지연 없이 차량을 개발할 수 있는 효과적인 방법을 찾을 수 있다”고 덧붙입니다. 이 유연성은 Zoox 팀의 협업 능률을 높이는 데도 도움이 됩니다. Herrmann은 “비용, 아키텍처, 작업 사이에는 복합적인 상호 작용이 존재한다”면서 “많은 규칙에 걸쳐 긴밀하게 협력하면서 모든 것의 균형을 유지해야 한다. AWS를 사용하면 이 모든 퍼즐 조각을 모아 작업을 효율적으로 실행하는 데 도움이 된다”고 말합니다.
또한 Zoox는 AWS를 사용하여 컴퓨팅 집약적인 기간을 관리합니다. Herrmann은 “차량 설계 엔지니어가 주행 제어 시스템을 변경하면 수백 시간의 CPU와 GPU 시간을 들여 변경 사항을 검증해야 한다”고 말하면서 “Slurm과 AWS를 사용하면 컴퓨팅 태스크에 사용할 수 있는 CPU와 GPU 수의 두 배가 넘는 일을 클러스터에서 해낼 수 있다. 이 버스트 기능은 편안하고 안전한 자율 주행 시스템의 핵심 구성 요소인 센서 인식, 기계 학습 및 시뮬레이션 주행 시나리오를 가속화한다”고 설명합니다.
오래 실행되는 서비스와 가끔 발생하는 작업에 대한 Amazon EC2 인스턴스를 관리하기 위해 Zoox는 Amazon Elastic Kubernetes Service(Amazon EKS)를 사용합니다. 이 서비스는 하이브리드 환경의 Kubernetes 클러스터와 애플리케이션을 관리하는 데 도움이 됩니다. Slurm은 수요에 따라 동적으로 할당되는 Amazon EC2 인스턴스가 포함된 가상 프라이빗 클라우드를 사용합니다. 누군가가 Slurm 컨트롤러에 작업을 제출하면 컨트롤러는 클라우드 내 실행을 선택하고 사용할 인스턴스 수를 선택할 수 있습니다. Herrmann은 “단일 AWS 리전 안에서 노드 1,000개를 구동하고 몇 시간 안에 작업을 실행하여 중요한 연구 및 개발 실험에 대한 결과를 빠르게 얻을 수 있다. 온프레미스 데이터 센터에서 이 노드를 사용할 수 있을 때까지 기다리거나 다른 데이터 센터를 구축하지 않아도 된다”고 말합니다.
Zoox는 수십 페타바이트의 데이터를 Amazon S3에 저장합니다. Herrmann은 “차량 수를 늘리고 계산 및 시뮬레이션 수를 늘릴 때는 페타바이트급 데이터를 저장할 수 있는 규모로 스토리지를 아주 빠르게 확장해야 한다”고 말합니다. Slurm은 데이터에 빠르게 액세스하고 계산을 효율적으로 수행할 수 있는 Amazon EC2 인스턴스를 시작합니다. Zoox는 모니터링 및 운영 데이터를 수집하고 AWS와 온프레미스 서버에서 실행되는 AWS 리소스, 애플리케이션 및 서비스에 대한 통합된 보기를 제공하는 Amazon CloudWatch를 사용하여 Amazon S3의 데이터를 모니터링합니다. Herrmann은 “Amazon CloudWatch를 사용하면 현재 상황을 파악하고 무엇이 효과적인지 이해하는 데 도움이 된다”고 말합니다.
AWS에서 수백 페타바이트 규모의 데이터를 저장하고 시뮬레이션할 수 있는 규모로 확장
향후 몇 년간 Zoox는 실험 단계에서 프로덕션 단계로 워크로드를 이동할 계획입니다. 프로덕션 단계에서는 수백 페타바이트의 데이터가 사용될 것으로 예상됩니다. Zoox는 AWS에 방대한 양의 데이터를 빠르고 비용 효율적으로 수집하고 대규모 시뮬레이션을 실행하여 자율 주행 차량의 테스트와 개발을 가속화하는 하이브리드 인프라를 만들었습니다. Herrmann은 “관리형 AWS 서비스를 사용하면 다른 모든 시스템에 대해 걱정하지 않고 임무에 집중할 수 있는 복합 시스템을 만들 수 있다”면서 “문제가 발견되면 AWS가 이를 해결해준다”고 말합니다.
Zoox 소개
2014년에 설립된 Zoox는 도심의 교통 혼잡과 대기 오염을 줄이도록 설계된 차량 호출 서비스에 사용될 자율 주행 대칭형 양방향 배터리 전기차 플릿을 제작하는 자율 주행 차량 회사입니다.
AWS의 이점
- 수십 페타바이트의 데이터를 저장하고 처리
- 노드 1,000개를 빠르게 구동
- 하이브리드 인프라 지원
- 팀 간 협업 개선
- Amazon EC2 인스턴스를 사용하여 워크로드 최적화
- 향후 몇 년 안에 수백 페타바이트의 데이터를 사용할 것으로 예상
사용된 AWS 서비스
Amazon EC2
Amazon Elastic Compute Cloud(Amazon EC2)는 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스입니다. 개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계되었습니다.
Amazon S3
Amazon Simple Storage Service(S3)는 업계 최고 수준의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다.
Amazon EKS
Amazon Elastic Kubernetes Service(Amazon EKS)는 클라우드 또는 온프레미스에서 Kubernetes 애플리케이션을 실행하고 크기를 조정하는 관리형 컨테이너 서비스입니다.
Amazon CloudWatch
Amazon CloudWatch는 DevOps 엔지니어, 개발자, SRE(사이트 안정성 엔지니어) 및 IT 관리자를 위해 구축된 모니터링 및 관찰 기능 서비스입니다.
시작하기
모든 산업에서 다양한 규모의 조직이 AWS를 통해 매일 비즈니스를 혁신하고 임무를 수행하고 있습니다. 지금 전문가와 상담하고 AWS로의 여정을 시작하세요.