Composição com o Azure

A renderização é o processo de pegar modelos 3D e convertê-los em imagens 2D. Os arquivos de cena 3D são criados em aplicativos como Autodesk 3ds Max, Autodesk Maya e Blender. Aplicativos de renderização como Autodesk Maya, Autodesk Arnold, Chaos Group V-Ray e Blender Cycles produzem imagens 2D. Às vezes, imagens únicas são criadas a partir dos arquivos de cena. No entanto, é comum modelar e renderizar várias imagens e, em seguida, combiná-las em uma animação.

A carga de trabalho de renderização é muito usada para efeitos especiais (VFX) na indústria de mídia e entretenimento. A composição também é utilizada em muitos outros setores, como publicidade, retalho, petróleo e gás e fabrico.

O processo de renderização é computacionalmente intensivo; Pode haver muitos quadros / imagens para produzir e cada imagem pode levar muitas horas para renderizar. A renderização é, portanto, uma carga de trabalho de processamento em lote perfeita que pode usar o Azure para executar muitas renderizações em paralelo e utilizar uma ampla gama de hardware, incluindo GPUs.

Por que usar o Azure para renderização?

Por muitos motivos, a renderização é uma carga de trabalho perfeitamente adequada para o Azure:

  • Os trabalhos de renderização podem ser divididos em várias partes que podem ser executadas em paralelo usando várias VMs:
    • As animações consistem em muitos quadros e cada quadro pode ser renderizado em paralelo. Quanto mais VMs disponíveis para processar cada quadro, mais rápido todos os quadros e a animação podem ser produzidos.
    • Alguns softwares de renderização permitem que quadros individuais sejam divididos em várias partes, como telhas ou fatias. Cada peça pode ser renderizada separadamente e, em seguida, combinada na imagem final quando todas as peças estiverem concluídas. Quanto mais VMs estiverem disponíveis, mais rápido um quadro poderá ser renderizado.
  • Os projetos de renderização podem exigir grande escala:
    • Quadros individuais podem ser complexos e exigir muitas horas para renderizar, mesmo em hardware high-end; As animações podem consistir em centenas de milhares de quadros. Uma enorme quantidade de computação é necessária para renderizar animações de alta qualidade em um período razoável de tempo. Em alguns casos, mais de 100.000 núcleos estão sendo usados para renderizar milhares de quadros em paralelo.
  • Os projetos de renderização são baseados em projetos e exigem quantidades variáveis de computação:
    • Aloque a capacidade de computação e armazenamento quando necessário, aumente ou diminua a escala de acordo com a carga durante um projeto e remova-a quando um projeto for concluído.
    • Pague pela capacidade quando alocada, mas não pague por ela quando não houver carga, como entre projetos.
    • Atender a explosões devido a mudanças inesperadas; Aumente a escala se houver alterações inesperadas no final de um projeto e essas alterações precisarem ser processadas em um cronograma apertado.
  • Escolha entre uma ampla seleção de hardware de acordo com o aplicativo, a carga de trabalho e o período de tempo:
    • Há uma ampla seleção de hardware disponível no Azure que pode ser alocada e gerenciada com o Batch.
    • Dependendo do projeto, o requisito pode ser para o melhor preço/desempenho ou o melhor desempenho global. Diferentes cenas e/ou aplicativos de renderização podem ter diferentes requisitos de memória. Alguns aplicativos de renderização podem usar GPUs para obter o melhor desempenho ou determinados recursos.
  • VMs de baixa prioridade ou Azure Spot reduzem custos:
    • As VMs de baixa prioridade e spot estão disponíveis com um grande desconto em comparação com as VMs padrão e são adequadas para alguns tipos de trabalho.

Ambiente de renderização local existente

O caso mais comum é haver um farm de renderização local existente que é gerenciado por um aplicativo de gerenciamento de renderização, como PipelineFX Qube, Royal Render, Thinkbox Deadline ou um aplicativo personalizado. O requisito é estender a capacidade do farm de renderização local usando VMs do Azure.

A infraestrutura e os serviços do Azure são usados para criar um ambiente híbrido em que o Azure é usado para complementar a capacidade local. Por exemplo:

  • Use uma Rede Virtual para colocar os recursos do Azure na mesma rede que o farm de renderização local.
  • Use o Avere vFXT para Azure ou o Cache HPC do Azure para armazenar em cache arquivos de origem no Azure para reduzir o uso de largura de banda e a latência, maximizando o desempenho.
  • Verifique se o servidor de licenças existente está na rede virtual e adquira mais licenças conforme necessário para atender à capacidade extra baseada no Azure.

Nenhum farm de renderização existente

As estações de trabalho cliente podem estar executando renderização, mas a carga de renderização está aumentando e está demorando muito para usar apenas a capacidade da estação de trabalho.

Existem duas opções principais disponíveis:

  • Implante um gerenciador de renderização local, como o Royal Render, e configure um ambiente híbrido para usar o Azure quando for necessária mais capacidade ou desempenho. Um gerenciador de renderização é especialmente adaptado para renderizar cargas de trabalho e incluirá plug-ins para os aplicativos cliente populares, permitindo o envio fácil de trabalhos de renderização.

  • Uma solução personalizada usando o Lote do Azure para alocar e gerenciar a capacidade de computação e fornecendo o agendamento de tarefas para executar os trabalhos de renderização.

Próximos passos

Saiba mais sobre os recursos de renderização do Azure Batch.