Entre junho e julho, quase duas dúzias de empresas se voltaram para nós, interessados nos recursos das GPUs virtuais. Os "gráficos" do Cloud4Y já estão sendo usados por uma das maiores subsidiárias do Sberbank, mas em geral o serviço não é muito popular. Então, essa atividade nos agradou muito. Vendo o crescente interesse em tecnologia, decidimos conversar um pouco mais sobre vGPU. "Lagos de dados" obtidos como resultado de experimentos e pesquisas científicas, Deep Learning e outras áreas de trabalho com IA, modelagem de objetos grandes e complexos - tudo isso requer um hardware de alto desempenho. Bem, se for e permite que você resolva rapidamente os problemas atuais. Isso ocorre devido à crescente complexidade computacional das tarefas (principalmente para análise de negócios, renderização, algoritmos e estruturas de DL), as capacidades de hardware das CPUs de desktop e até de servidor estão se tornando cada vez mais inúteis.
A solução foi encontrada no uso da computação em GPU. Essa tecnologia de aceleração gráfica permite o compartilhamento de recursos de uma GPU entre vários computadores virtuais. A GPU foi projetada originalmente para trabalhar com gráficos, porque consiste em milhares de pequenos núcleos usados para o processamento eficiente de tarefas paralelas. Ao mesmo tempo, parte dos cálculos mais intensivos em recursos é realizada na GPU, a CPU cuida do resto.

A computação em GPU foi inventada pela
Nvidia em 2007. Hoje, essa tecnologia atingiu um novo nível e é usada em data centers das maiores empresas e laboratórios científicos. No entanto, a abordagem tradicional tem uma desvantagem significativa: a compra de equipamentos físicos é muito cara. E se você se lembra da velocidade da obsolescência do "ferro", fica ainda mais triste.
O problema foi criado para resolver a tecnologia dos processadores gráficos virtuais: vGPU. Com ele, os usuários podem iniciar remotamente aplicativos pesados, como AutoCAD, 3DS Max, Maya e Sony Vegas Pro. A virtualização rapidamente ganhou sua participação de mercado. Afinal, qual cientista de dados russo não gosta de computação rápida em placas de vídeo NVidia Tesla?
Vale a pena notar aqui que antes do advento da vGPU, outros métodos de aceleração de processamento gráfico eram usados: Aceleração de gráficos compartilhados virtuais (vSGA) e Aceleração de gráficos dedicados virtuais (vDGA). A solução vGPU combina o melhor das duas tecnologias. Como no caso do vSGA, no ambiente do vGPU, a GPU e a RAM devem ser compartilhadas entre vários desktops virtuais, mas cada VM transfere comandos diretamente para o GPU, como é o caso do vDGA.
Por que preciso de vGPU
A computação em nuvem usando vGPU permite às empresas lidar com tarefas que antes eram impossíveis de resolver. Ou talvez, mas exigia uma quantidade irreal de recursos. Um servidor GPU moderno pode substituir até 100 CPUs convencionais. Existem outras
figuras ainda mais impressionantes . Isso não é brincadeira: as soluções da Nvidia processam petabytes de dados várias vezes mais rápido que os servidores de CPU clássicos. E o mesmo Google Cloud oferece máquinas virtuais com GPUs que emitem até 960 teraflops.
Muitos profissionais precisam de dispositivos poderosos que possam executar computação paralela. Arquitetos e engenheiros usam a tecnologia vGPU em sistemas de design (o mesmo Autodesk, por exemplo). Os designers trabalham com conteúdo digital de foto e vídeo (Photoshop, CorelDraw).
Máquinas virtuais com GPUs também são necessárias para instalações médicas que acumulam e analisam dados de pacientes e doenças. Funciona com GPU e
Yandex .
Pense em tudo? Não importa como. A tecnologia é usada para
verificação automática
da precisão das imagens de satélite e para
previsão de epidemias ,
estudos meteorológicos , modelagem de
ciclos solares e
análises de negócios . Há também um
artigo interessante
sobre modelagem no Unity3D, por
ThisIsZolden .
Por tudo isso, as soluções baseadas em vGPU ainda não receberam ampla distribuição no mundo. Portanto, em 2018, a NetApp realizou uma
pesquisa entre empresas que usam GPUs em seu trabalho. Os resultados mostraram que 60% das organizações ainda trabalham em sua própria infraestrutura de TI. "Cloud" é usado por apenas 23%. Na Rússia, a penetração da tecnologia de computação em nuvem é menos importante. Mas, graças às novas soluções de hardware e software, o número de empresas que usam máquinas virtuais com GPUs está em constante crescimento.
Soluções VGPU

Muitas empresas estão envolvidas no desenvolvimento de tecnologias de virtualização para aceleradores gráficos, mas há indiscutíveis líderes entre elas.
Um dos desenvolvedores de soluções em nuvem mais respeitados, a
VMware oferece às empresas o hipervisor
ESXi , sob o qual a velocidade das GPUs virtuais é comparável às implementações bare metal. Em uma atualização recente, o desenvolvedor desativou o balanceador de carga do vMotion e adicionou suporte à tecnologia DirectPath I / O, que conecta o driver CUDA à VM ignorando o hipervisor e agilizando a transferência de dados.
A Nvidia também
está tentando atender às expectativas do mercado e, para isso, lançou a plataforma
Rapids, de código aberto. A solução combina várias bibliotecas para trabalhar com a arquitetura CUDA, que simplifica o trabalho com dados durante o treinamento de redes neurais e permite automatizar o trabalho com o código Python. O uso do Rapids com o algoritmo de aprendizado de máquina XGBoost fornece um aumento de 50 vezes no desempenho em relação aos sistemas baseados em CPU.
A AMD tem sua própria tecnologia. A plataforma é chamada
ROCm . Ele usa a tecnologia SR-IOV, que compartilha os recursos de hardware de um dispositivo físico entre várias máquinas virtuais. Os recursos de um acelerador podem ser divididos entre dezesseis usuários, mantendo desempenho igual para cada um deles. Isso acelera a transferência de dados entre CPUs na nuvem e GPUs. Também é usado um dialeto C ++ especial chamado HIP, que simplifica a implementação de operações matemáticas na GPU.
A Intel está construindo sua tecnologia com base no hipervisor multiplataforma
Citrix XenServer 7, que recebeu o certificado de conformidade FSTEC em 2017. A solução combina o trabalho de um driver GPU padrão e de uma máquina virtual. Ou seja, o "virtualka" pode
suportar a operação de aplicativos pesados em dispositivos de um grande número (várias centenas) de usuários.
Perspectivas de mercado

Analistas independentes estimam que as vendas de soluções HPC atingirão US $ 45 bilhões até 2022. Os desenvolvedores de plataformas também esperam aumento da demanda por sistemas de alto desempenho. Essa expectativa é reforçada pela popularidade do Big Data e pela crescente necessidade de processar grandes quantidades de dados.
Além disso, o aumento da demanda por vGPUs pode estimular o desenvolvimento de tecnologias híbridas que combinam GPUs e CPUs em um dispositivo. Nessas soluções integradas, dois tipos de núcleos usam um cache comum, o que acelera a transferência de dados entre gráficos e processadores tradicionais.
Os híbridos mudaram fundamentalmente a abordagem da virtualização e a distribuição de recursos virtuais nos datacenters. E soluções de código aberto como ROCm e Rapids permitem que os operadores de data center usem os recursos de computação com mais eficiência, aumentando o desempenho do equipamento.
Há outra opinião. Por exemplo, essas GPUs virtuais serão substituídas por chips ópticos com codificação de dados por fótons. Essas soluções já existem e são usadas para aprendizado de máquina. Além disso, eles parecem ser mais
produtivos do que uma GPU comum. Mas a tecnologia ainda está úmida.
Que conclusão pode ser feita? Apesar do possível surgimento de análogos, o vGPU é uma área bastante promissora que pode resolver um grande número de problemas. Mas isso não serve para todos. Então você pode colocar uma vírgula no cabeçalho.
PSAssine o nosso canal Telegram para não perder outro artigo! Escrevemos não mais do que duas vezes por semana e apenas a negócios.