É comum dizer que o Linux é mais rápido e por boas razões. Mas, como declarado no título, quanto a escolha do SO importa para o desempenho do código de computação científica? Para algo em que o sistema operacional está mais diretamente envolvido (como jogar jogos ou renderização de vídeo), com certeza pode haver uma diferença. Mas se eu executo alguns códigos no MATLAB, resolvo PDEs em Julia ou faço álgebra linear em uma GPU usando CUDA: existe realmente uma diferença mensurável de desempenho entre Windows, MacOS e Linux?
Gostaria de saber se alguém realizou benchmarks para ver se existe essa diferença. Talvez existam diferenças ao usar algum software como o MATLAB devido a diferenças nos compiladores que eles usam? Ou talvez os drivers CUDA sejam notavelmente mais rápidos para um sistema operacional do que para o outro? Ou os sistemas operacionais às vezes interferem muito como o problema WDDM CUDA ?
Nota: Sei que existem outros motivos para escolher um sistema operacional que está além do escopo desta pergunta. Estou pensando especificamente sobre desempenho.
fonte
Respostas:
Em princípio, deve haver pouca diferença, pois os kits de ferramentas subjacentes geralmente são semelhantes, se não os mesmos: bibliotecas, compiladores (e hardware). Na prática, pode haver melhorias ao usar nós 'thin'. Isso não é uma GUI, nenhum e-mail sendo executado em segundo plano ou qualquer um dos muitos processos que um sistema operacional pode facilitar a experiência do usuário. Pode ser mais fácil configurar um 'servidor' no linux diretamente de uma distribuição padrão que pode resultar em uma máquina muito mais enxuta para executar um código intensivo de ponto flutuante. Mesmo assim, as vantagens não seriam muito visíveis desde que não houvesse atividade do usuário além do código em execução.
fonte
Lembro-me de ler estatísticas de dois ou três anos atrás sobre a distribuição de sistemas operacionais na Lista dos 500 computadores mais rápidos do mundo. O número do computador em execução baseado em Linux / unix era 498, Windows 2 e nenhum MacOS. Infelizmente, não consegui acessar as estatísticas novamente. O artigo SuperComputer da Wikipedia apenas declara:
"Embora a maioria dos supercomputadores modernos use o sistema operacional Linux, cada fabricante possui seu próprio derivado específico do Linux e não existe um padrão no setor, em parte devido ao fato de que as diferenças nas arquiteturas de hardware exigem alterações para otimizar o sistema operacional a cada projeto de hardware" .
Mesmo que este artigo não forneça os números da distribuição, ele fornece pelo menos uma tendência clara para os computadores baseados em Linux. Em um campo em que todo o desempenho conta (e o dinheiro necessário para adaptar o sistema às especificações do supercomputador provavelmente não o faz, então não presumo que a natureza do código aberto seja o principal benefício aqui).
Em uma estação de trabalho bastante normal, o Linux também tende a ter um melhor gerenciamento de recursos, por exemplo, menos uso de memória e mais estável. No entanto, esta é uma experiência pessoal minha sem estatísticas e não deve ser generalizada sem confirmação (Win 7 x Ubuntu 14.04).
fonte