“Lyft Increases Simulation Capacity, Lowers Costs Using Amazon EC2 Spot Instances” (Lyft aumenta a capacidade de simulação e reduz os custos usando instâncias Spot do Amazon EC2)
2020
A Lyft, uma das maiores redes de transporte dos Estados Unidos e do Canadá, está em uma missão: melhorar a vida das pessoas com o melhor transporte do mundo. Juntamente com seu foco em transporte compartilhado, sistemas de compartilhamento de bicicletas, scooters elétricos e parcerias com transportes públicos, a Lyft lançou sua divisão de veículos autônomos Level 5 em 2017 como parte dos esforços para concretizar essa missão. Usando petabytes de dados coletados de sua frota de veículos autônomos, os engenheiros da Lyft executam milhões de simulações a cada ano para melhorar a performance e a segurança do seu sistema de direção autônoma.
Porém, essas simulações exigem muito poder de computação, e a Lyft sabia que precisaria de um imenso poder de computação cuja escala pudesse ser aumentada e diminuída verticalmente a um preço acessível. A empresa, que usa a Amazon Web Services (AWS) para sua plataforma de transporte compartilhado desde o dia em que foi lançada em 2012, recorreu à AWS novamente para aumentar sua capacidade de computação e reduzir os custos, optando por uma combinação entre Instâncias Spot do Amazon Elastic Compute Cloud (Amazon EC2) e o Amazon Elastic Kubernetes Service (Amazon EKS) para sua workload de simulação de veículos autônomos.
Cerca de 77% da nossa frota de computação está agora em instâncias Spot do Amazon EC2. Conseguimos ampliar significativamente nossa capacidade de computação e, ao mesmo tempo, reduzir o custo geral de operação.”
Executar simulações em instâncias Spot do Amazon EC2
Executar simulações em milhares de unidades de processamento gráfico (GPUs) em paralelo é fundamental para o sucesso da Level 5 em testar e melhorar a forma como os veículos autônomos respondem a várias situações de direção. “A simulação é uma das principais maneiras de melhorar a segurança do nosso software antes que ele vá para qualquer lugar, até mesmo em uma pista de teste”, diz Timothy Perrett, engenheiro sênior da equipe da Lyft Level 5. Explorar o espaço de simulação (como variar a velocidade, a posição ou a dinâmica dos veículos) requer testes repetidos e, portanto, muita flexibilidade de computação.
No início, ficou claro que a Level 5 teria necessidades de computação muito diferentes daquelas dos negócios de transporte compartilhado da Lyft. “A Level 5 tem necessidades e restrições diferentes”, afirma Perrett. “A maioria das nossas necessidades de computação está no atendimento de grandes workloads ao estilo de lotes, que têm um perfil de picos muito altos. Precisamos da capacidade de expandir até altas cargas de pico e, em seguida, abaixar tudo rapidamente quando não as estivermos usando.”
A Lyft poderia ter investido em unidades de processamento central e GPUs on-premises, mas a experiência anterior da equipe da Lyft na AWS fez da Nuvem AWS sua primeira escolha. Então, os testes começaram. Os engenheiros da Level 5 começaram utilizando a capacidade das Instâncias sob demanda do Amazon EC2, em conjunto com o Amazon EKS, o serviço Kubernetes totalmente gerenciado oferecido pela AWS.
Depois de fazer experimentos com a execução de simulações usando Instâncias sob demanda, a equipe da Lyft Level 5 percebeu rapidamente que poderia melhorar a eficiência e reduzir os custos mudando para instâncias Spot do Amazon EC2. Agora, mais de 90% das simulações são executadas em instâncias Spot do Amazon EC2, incluindo instâncias P3 do Amazon EC2 habilitadas por GPUs NVIDIA V100 Tensor Core, e isso permite que a Lyft aproveite a capacidade não utilizada do Amazon EC2 na Nuvem AWS com um desconto de até 70% em comparação com os preços de instâncias sob demanda. “Quando fizemos testes de execução em instâncias Spot do Amazon EC2, percebemos que, como nosso programa estava crescendo rapidamente, havia uma oportunidade de reduzir significativamente os custos operacionais”, conta Perrett.
Permitir que as simulações sejam executadas com eficiência
A equipe da Level 5 distribui sua workload de simulação naquilo que Perrett chama de “dança inteligente”, para garantir que as simulações ainda sejam executadas mesmo quando as instâncias Spot do Amazon EC2 não estiverem disponíveis devido à alta demanda. A equipe de engenharia observou quais clusters (e grupos dentro desses clusters) operavam com eficiência e levaram em consideração o uso de zonas regionais. “Ficamos mais espertos em relação a como alocamos trabalho e como realocamos tarefas em um grupo de recursos específico em um determinado dia”, observa Perrett. A equipe usou o Amazon EKS para priorizar e escalar grupos de recursos, garantindo assim que as tarefas usassem instâncias com eficiência.
A equipe de engenharia também teve o cuidado de projetar sistemas de forma que as simulações funcionassem em uma variedade de componentes de hardware, dependendo do que estivesse disponível, algo que a Lyft chama de diversidade de frotas. Perrett explica: “Nós nos esforçamos muito para fazer nossa pilha funcionar em qualquer tipo de instância disponível: instâncias P3 do Amazon EC2 versus instâncias P2 do Amazon EC2, por exemplo”. Essa flexibilidade ajuda os engenheiros da Level 5 a evitar a necessidade de esperar para programar simulações, mesmo quando a demanda é alta.
A Lyft também precisa gerenciar uma enorme quantidade de dados coletados de simulações e de sua frota de veículos autônomos e aproveita o Amazon Simple Storage Service (Amazon S3) para armazenar e acessar um conjunto de dados em constante expansão à medida que aumenta o número de sensores em seus veículos de teste. Coletar e armazenar todas essas informações de seus veículos autônomos e simulações equivale a petabytes de dados, e transferir toda essa quantidade de dados diretamente para a nuvem, como a equipe da Level 5 costumava fazer no início, saía muito caro. Para reduzir esses custos, a Lyft usa o AWS Direct Connect, uma conexão de rede dedicada entre o centro de engenharia da Level 5 e seus sistemas na nuvem. “Temos uma rede de alta capacidade que se conecta aos locais onde operamos nossa frota de veículos autônomos”, observa Perrett. “E depois carregamos os dados a um custo por petabyte muito menor.”
Particionando cuidadosamente e direcionando seu tráfego de simulação nas instâncias Spot do Amazon EC2, a equipe de engenharia da Lyft Level 5 reduziu o custo das simulações para apenas alguns centavos por execução. “Cerca de 77% da nossa frota de computação em todas as workloads da Level 5 (e mais de 90% da nossa workload de simulação de veículos autônomos) estão agora em instâncias Spot do Amazon EC2, e a economia geral foi de aproximadamente dois terços”, diz Perrett. “Conseguimos ampliar significativamente nossa capacidade de computação e, ao mesmo tempo, reduzir o custo geral de operação.”
Transporte para o futuro
A execução de milhões de simulações com uma imensa economia de custos na AWS permite que a equipe de engenharia da Lyft execute os testes de dentro de seus escritórios, possibilitando que a equipe adquira confiança nas alterações de software antes de lançar veículos físicos no mundo real. “As simulações são um meio mais econômico de validar alterações de software em comparação com o processo de levar um veículo para a pista de teste”, diz Perrett. “Isso melhora o tempo de iteração da equipe de engenharia e ajuda a reforçar a segurança e a qualidade do software em um horizonte de tempo mais curto.”
Falando em horizontes, a capacidade da Level 5 de executar milhões de simulações é um sinal de desenvolvimentos empolgantes à frente. Usando uma combinação de instâncias Spot do Amazon EC2 e do Amazon EKS, além de outros serviços da AWS, a Lyft está aproximando o mundo de um lugar onde veículos autônomos melhoram o acesso a um transporte seguro e confiável.
Sobre a Lyft
A Lyft, uma das maiores redes de transporte dos Estados Unidos e do Canadá, está em uma missão: melhorar a vida das pessoas com o melhor transporte do mundo. Ele oferece transporte compartilhado, patinetes elétricos, sistemas de compartilhamento de bicicletas e parcerias com transportes públicos.
Benefícios da AWS
● Redução dos custos de computação em dois terços
● Aumento significativo da capacidade de computação
● Maior velocidade de desenvolvimento para veículos autônomos
Serviços da AWS usados
Amazon EC2
O Amazon Elastic Compute Cloud (Amazon EC2) é um serviço da Web que disponibiliza capacidade computacional segura e redimensionável na nuvem. Ele foi projetado para facilitar a computação em nuvem na escala da web para os desenvolvedores.
Instâncias spot do Amazon EC2
As instâncias spot do Amazon EC2 permitem aproveitar a capacidade não utilizada do EC2 na Nuvem AWS. Em comparação com os preços de instâncias sob demanda, as instâncias Spot oferecem descontos de até 90%. Você pode usar instâncias Spot para várias aplicações sem estado, tolerantes a falhas ou flexíveis.
Amazon EKS
O Amazon EKS é um serviço Kubernetes totalmente gerenciado. O EKS executa a mais recente versão de produção do Kubernetes e é certificado como compatível com o Kubernetes. Portanto, você pode aproveitar todos os benefícios de ferramentas de código aberto existentes na comunidade.
Comece a usar
Empresas de todos os portes em todos os setores estão transformando seus negócios diariamente usando a AWS. Entre em contato com nossos especialistas e comece sua própria jornada para a Nuvem AWS hoje mesmo.