Eu fiz isso em uma circunstância de alto desempenho e alcancei quase o suficiente para o desempenho nativo dos aplicativos que estávamos executando. Isso não é tanto um 'aqui como fazer', mas dois exemplos de onde eu fiz isso e consegui desempenho adequado e resolvi um problema.
Para Data Science e Desenvolvimento de Software
Minhas estações de trabalho atuais (um laptop e minha estação de trabalho) têm o Windows 10 e o Ubuntu instalados lado-a-lado em duas partições separadas. Ao inicializar minha máquina, posso selecionar o Windows ou o Ubuntu e inicializar em qualquer sistema operacional. No Ubuntu, eu uso o VirtualBox para inicializar a partição nativa do Windows e executá-la como qualquer outra máquina virtual ( veja aqui ).
Tudo funciona: arrastar e soltar, placa de grampo compartilhada e compartilhamento de arquivos. Eu corro planilhas Excel grandes e multi-threaded constantemente (não atire - eu não as construí!) Na minha máquina virtual e tudo é ótimo.
Para trabalhos geofísicos, geológicos e de engenharia
Alguns anos atrás, construí uma configuração semelhante usando o CentOS e o Windows 7. Isso fez com que meus colegas pudessem executar simulações geofísicas dispendiosas e com alto desempenho no Linux, enquanto ainda conseguiam acessar mapeamentos 2D e 3D com um desempenho semelhante. software no Windows 7 (juntamente com o Outlook eo restante do pacote da Microsoft). Nós testamos o VirtualBox, mas com dinheiro para gastar, finalmente resolvemos o problema usando o VMware Workstation e o GPU pass-through (o custo era trivial comparado aos salários e licenciamento de software). Para as nossas aplicações, atingimos perto o suficiente para o desempenho nativo no Windows e todos ficaram muito felizes com a configuração.
Estas eram máquinas bastante carnudas para o seu tempo (por volta de 2010): Quadro 4000, Xeons quad-core duplos e 32 GB de memória. A parte mais árdua de montar essas configurações (tanto quanto me lembro), foi algo a ver com um controlador RAID de hardware. Mantive cerca de uma dúzia de máquinas usando essa configuração e nunca tivemos um único problema durante a vida útil do projeto para o qual essas máquinas foram adquiridas (~ 2 anos). Este foi um resultado fantástico para nós, porque se uma única máquina estivesse inoperante, digamos, uma semana, isso nos custaria mais em produtividade perdida do que a própria estação de trabalho!
Conclusão
Você pode obter um desempenho muito bom usando a opção de inicialização dupla descrita acima. Eu fiz isso usando VirtualBox e VMware de diferentes ocasiões, usando uma combinação em distribuições Linux (Mint, Ubuntu e CentOS) e versões do Windows (7, 10), e sempre obtive desempenho adequado para minhas necessidades.
A outra vantagem dessa configuração é que você pode eliminar a partição e deixar o Windows ou o Linux para trás se a) suas circunstâncias mudarem, ou b) essa configuração não for adequada às suas necessidades. Se o desempenho não está cortando, você também tem a escotilha de simplesmente inicializar diretamente no sistema operacional, onde precisa de um pouco mais de desempenho.
Por fim, uma observação sobre o licenciamento: se você inicializar o Windows nativamente, ele verá o hardware diferente e o interrogará sobre as licenças. Este é um problema menor com o Windows 10, que simplesmente vai importuná-lo enquanto você se dá bem com o seu trabalho. Não me lembro como resolvemos isso para as estações de trabalho geofísicas; Eu lembro que tínhamos uma licença de volume e possivelmente alguma ajuda de um representante da Microsoft.
Epílogo: Remote X e VirtualGL
Também configurei estações de trabalho usando VirtualGL e um cluster de GPU para simulações de petróleo de alto desempenho. Já fiz isso na AWS, mas não o recomendo por vários motivos: custo, desempenho e conveniência.