logotipo de la empresa zoox

Zoox utiliza AWS para la computación de alto rendimiento escalable con el objetivo de probar rápidamente los vehículos autónomos

2021

Zoox, filial independiente de Amazon y empresa de vehículos autónomos, tuvo que buscar una solución más allá de la infraestructura local para realizar simulaciones que validen la seguridad de los vehículos. Las cargas de trabajo de simulación eran propensas a crecer repentinamente, por lo que Zoox registraba una demanda de potencia de computación superior a la que las máquinas podían gestionar. La empresa optó por crear un modelo de infraestructura híbrida, para lo cual recurrió a Amazon Web Services (AWS) en busca de computación de alto rendimiento y así complementar el clúster de supercomputadoras que tenía internamente. 

Al aprovechar Amazon Elastic Compute Cloud (Amazon EC2), que ofrece una amplia solución de computación con la posibilidad de elegir procesador, almacenamiento, red, sistema operativo y modelo de compra, en paralelo con Slurm, el administrador de cargas de trabajo de código abierto del socio de AWS, SchedMD, Zoox aceleró la realización de pruebas y el desarrollo de grandes cantidades de datos, a la vez que aumentó su velocidad de comercialización. Para finales de 2024, espera utilizar cientos de petabytes de datos en AWS.

Zoox Fully Autonomous Vehicle at Coit Tower San Francsico
kr_quotemark

Podemos poner en marcha 1000 nodos en una sola región de AWS y ejecutar un trabajo en cuestión de horas para obtener rápidamente resultados en experimentos críticos de investigación y desarrollo”.

Conrad Herrmann
Ingeniero de software del personal de Zoox

Ampliar la potencia de computación de forma eficiente

Fundada en 2014, Zoox se encuentra en proceso de fabricar una flota de vehículos autónomos, simétricos y con batería eléctrica que se utilizarán para su servicio de viajes compartidos, que está diseñado para reducir la congestión y la contaminación en los entornos urbanos. Sus vehículos priorizan la experiencia del viajero sobre la del conductor; los asientos de los vehículos promueven la interacción social al permitir que los viajeros se sienten frente a frente. Cada vehículo bidireccional puede llegar a un espacio de estacionamiento, dejar a los pasajeros y luego salir del espacio en reversa como si condujera hacia adelante.  La simulación de amplios y diferentes escenarios de conducción es crucial para el desarrollo y la producción de estos vehículos con el fin de verificar su seguridad.

Zoox cuenta con un clúster local que proporciona gran parte de la potencia de computación necesaria para diversas cargas de trabajo, principalmente de simulación, pero también de machine learning para mejorar la capacidad de percepción, así como de ingesta y procesamiento de datos. Sin embargo, a medida que la empresa ha crecido, las cargas de trabajo han fluctuado drásticamente, y a veces han superado la capacidad del clúster local, que es difícil de escalar de forma eficiente. Zoox necesitaba ampliar la cantidad de máquinas para gestionar el volumen de computación.

La compañía optó por AWS porque esta aportaría a Zoox la escalabilidad y la flexibilidad necesarias para utilizar y pagar por la potencia de computación únicamente cuando fuera necesaria. De este modo, Zoox podría reorientar sus recursos hacia nuevos proyectos innovadores para resolver complejos desafíos técnicos. “Utilizamos AWS para gestionar cargas de trabajo especializadas que necesitan estar cerca de los datos”, afirma Conrad Herrmann, ingeniero de software del personal de Zoox. El administrador de cargas de trabajo de SchedMD, Slurm, que optimiza la velocidad, el rendimiento y el consumo de recursos de las cargas de trabajo críticas para la computación de alto rendimiento y la inteligencia artificial, también utiliza AWS. “Solo hay un reducido número de controladores de trabajo que la gente utiliza en el ámbito de la computación de alto rendimiento, y Slurm es un viejo conocido”, explica Herrmann. “Teníamos muy claro que iba a funcionar”.

Utilización de un modelo híbrido para aumentar la velocidad, la colaboración y el ahorro

Para comenzar, Zoox comenzó a realizar pruebas con una carga de trabajo en AWS que extrae datos de Amazon Simple Storage Service (Amazon S3), que los clientes pueden utilizar para almacenar y proteger cualquier cantidad de datos para una serie de casos de uso, y comenzó a indexarlos para detectar los problemas que pudieran surgir. Posteriormente, Zoox creó versiones experimentales del software, como una tarea de machine learning diseñada para ejecutarse en AWS, que se asignó a una instancia de Amazon EC2 para medir su rendimiento. A continuación, Zoox realizó cargas de trabajo de producción y las ejecutó en AWS para probar si terminaban en un tiempo determinado. “La razón por la que utilizamos AWS para estos casos es para obtener resultados más rápidamente y poder acelerar el desarrollo”, dice Herrmann. “Si el vehículo no se comporta como es debido en las simulaciones de seguridad, modificamos la conducta del sistema de conducción y lo volvemos a intentar hasta conseguir el funcionamiento correcto en millones de situaciones diferentes”.

Al recurrir a AWS para obtener potencia de computación, Zoox puede seleccionar las instancias de Amazon EC2 en función de sus necesidades de precio, fiabilidad y disponibilidad, con diferentes escalas de máquinas, memoria y acceso a la red. “Tenemos que averiguar cuál es la mejor arquitectura del entorno en cuanto a costos y resultados”, señala Herrmann. “Si se reducen todos los demás costos, pero luego hay que esperar los resultados, se incrementa el costo total para la empresa. En AWS, es posible desarrollar el vehículo de manera eficaz y sin demora”. Esa flexibilidad también ayuda a los equipos de Zoox a colaborar más eficazmente: “Existe un complicado conjunto de interacciones entre los costos, la arquitectura y los trabajos”, dice Herrmann. “Tenemos que trabajar muy estrechamente con muchas disciplinas para encontrar el equilibrio de todo. Al utilizar AWS, logramos conectar todos estos elementos para ejecutar estos trabajos de manera eficiente”.

Además, Zoox utiliza AWS para facilitar el manejo de los periodos en los que se hace un uso intensivo de la computación. “Cuando los ingenieros de diseño de vehículos realizan un cambio en el sistema de control de la conducción, esos cambios se deben validar, para lo cual se necesitan cientos de horas de CPU y GPU”, afirma Herrmann. “Al utilizar Slurm y AWS, nuestro clúster es capaz de duplicar con creces el número de CPU y GPU disponibles para las tareas de computación. Esta capacidad de ampliación acelera la percepción de los sensores, el machine learning y los escenarios de conducción simulada, que son los ingredientes clave para conseguir un sistema de conducción autónoma que sea cómodo y seguro”.

Para administrar las instancias de Amazon EC2 para servicios que se ejecutan durante largos periodos y trabajos ocasionales, Zoox utiliza Amazon Elastic Kubernetes Service (Amazon EKS), que ayuda a las empresas a administrar los clústeres y las aplicaciones de Kubernetes en entornos híbridos. Slurm utiliza nubes privadas virtuales que contienen instancias de Amazon EC2 que se asignan dinámicamente en función de la demanda. Cuando alguien envía un trabajo al controlador de Slurm, este puede optar por ejecutarlo en la nube y seleccionar cuántas instancias utilizar. “Podemos poner en marcha 1000 nodos en una sola región de AWS y ejecutar un trabajo en cuestión de horas para obtener rápidamente resultados en experimentos críticos de investigación y desarrollo, sin tener que esperar a que esos nodos estén disponibles en nuestro centro de datos local o crear otro centro de datos”, dice Herrmann.

Zoox almacena decenas de petabytes de datos en Amazon S3. “Nuestro almacenamiento tiene que escalar muy rápidamente a petabytes de datos a medida que aumenta el número de vehículos y los cálculos y simulaciones que hacemos”, dice Herrmann. Slurm lanza instancias de Amazon EC2 que pueden acceder a los datos rápidamente y realizar cálculos de forma eficiente. Zoox supervisa los datos de Amazon S3 mediante Amazon CloudWatch, que recopila datos de supervisión y operativos y proporciona una visión unificada de los recursos, aplicaciones y servicios de AWS que se ejecutan en AWS y en los servidores locales. “El uso de Amazon CloudWatch nos ayuda a entender lo que ocurre y aquello que funciona”, dice Herrmann.

Escalar para almacenar y simular con cientos de petabytes de datos en AWS

En los próximos años, las cargas de trabajo de Zoox pasarán de la fase experimental a la fase de producción, en la que prevé utilizar cientos de petabytes de datos. Zoox ha creado en AWS una infraestructura híbrida que ingiere de forma rápida y rentable una gran cantidad de datos y ejecuta grandes simulaciones, lo que acelera las pruebas y el desarrollo de los vehículos autónomos. “Con los servicios administrados de AWS, podemos crear sistemas complejos que nos permiten centrarnos en nuestra misión, sin preocuparnos de todos los demás sistemas”, dice Herrmann. “Si detectamos un problema, AWS lo resuelve por nosotros”.


Acerca de Zoox

Fundada en 2014, Zoox es una empresa de vehículos autónomos que se encuentra en proceso de fabricar una flota de vehículos autónomos, simétricos, bidireccionales y con batería eléctrica que se utilizarán para su servicio de viajes compartidos, que está diseñado para reducir la congestión y la contaminación en las zonas urbanas.

Beneficios de AWS

  • Almacena y procesa decenas de petabytes de datos
  • Pone en marcha 1000 nodos rápidamente
  • Facilita una infraestructura híbrida
  • Aumenta la colaboración entre equipos
  • Optimiza las cargas de trabajo mediante instancias de Amazon EC2
  • Espera utilizar cientos de petabytes de datos en los próximos años

Servicios de AWS utilizados

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) es un servicio web que proporciona capacidad informática en la nube segura y de tamaño modificable. Está diseñado para facilitar a los desarrolladores la informática en la nube a escala web.

Más información »

Amazon S3

Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento líderes en el sector.

Más información »

Amazon EKS

Amazon Elastic Kubernetes Service (Amazon EKS) es un servicio de contenedores administrado para ejecutar y escalar aplicaciones Kubernetes en la nube o en las instalaciones.

Más información »

Amazon CloudWatch

Amazon CloudWatch es un servicio de monitoreo y observación creado para ingenieros de DevOps, desarrolladores, ingenieros de fiabilidad de sitio (SRE) y administradores de TI.

Más información »


Introducción

Organizaciones de todos los tamaños y de todos los sectores se transforman en empresas y cumplen sus misiones todos los días con AWS. Contacte con nuestros expertos y comience su propio proceso de traspaso a AWS hoy mismo.