Quando é mais barato criar um cluster na nuvem do que criar um no meu laboratório para simulações de MD?


23

Um cluster de computação do Amazon EC2 custa entre US $ 800 e US $ 1000 (dependendo do ciclo de trabalho) por núcleo de CPU física ao longo de três anos. Em nossa última rodada de aquisição de hardware, meu laboratório pegou 48 núcleos no valor de hardware muito semelhantes aos dos clusters da Amazon por cerca de US $ 300 por núcleo.

Estou faltando alguma coisa aqui? Existem situações em que faz sentido economicamente construir um cluster na nuvem para tarefas de alta CPU, como simulações de dinâmica molecular? Ou estou sempre melhor construindo e cuidando da máquina dang?

(Devo mencionar que meu laboratório não paga eletricidade em nossa sala de servidores (pelo menos não diretamente), mas mesmo com esse benefício, a Amazon ainda parece extremamente cara).


2
Uma coisa que posso dizer é que você está perdendo alguns custos de mão-de-obra para administração e manutenção de cluster. Em um ambiente acadêmico, alguém precisa ser o administrador do cluster e fazer todo o trabalho pesado, como atualizações e upgrades do sistema OS, nova instalação de software, suporte técnico quando o cluster é desativado e assim por diante. Essas tarefas são ingratas e, dependendo da habilidade do administrador, podem levar muito tempo. Um cluster EC2 reduziria as horas de trabalho necessárias para a manutenção do cluster.
Geoff Oxberry

1
Bem, obviamente você tem o hardware barato. Calculei os custos em três anos para o cluster de 192 núcleos no meu antigo local de trabalho e acabou sendo superior a US $ 850 por núcleo por ano. Para não mencionar todos os problemas que tive com o sistema de energia eo arrefecimento ...
Hristo Iliev

@ GeoffOxberry Você faz um bom argumento sobre os custos de mão-de-obra. No meu laboratório, sou o administrador, por isso não penso nessas coisas. Por mais frustrante que seja, às vezes, é um trabalho de amor. Se eu tivesse dinheiro e algum lugar para colocá-lo, seguiria as instruções (esparsas) deste blog e tentaria criar meu próprio Watson.
tel

@HristoIliev Eu nem acho que foi tão barato. Se você deseja usar os clusters "pouco usados" da Dell, pode reduzir o custo para ~ US $ 200 por núcleo. Você pode me falar mais sobre o hardware em seu antigo local de trabalho?
tel

1
É um sistema personalizado com 12 gabinetes Xeon Supermicro de soquete duplo duplo (24 nós, 48 ​​E5420s) com 16 GiB ECC RAM em cada nó, uma máquina Nehalem de soquete único com 2 Tesla M2090s, um switch InfiniBand de 24 portas, um servidor de arquivos com 4 discos, dois no-breaks de 10 kVA e dois aparelhos de ar condicionado. Nós o obtivemos em várias fases ao longo de um período de três anos do projeto. Não é o maior dos melhores, mas ainda assim ~ 100k EUR no total (melhores preços acadêmicos na Bulgária).
Hristo Iliev

Respostas:


15

A principal vantagem, na minha opinião, de usar recursos baseados em nuvem é a flexibilidade, ou seja, se você tem uma carga de trabalho flutuante, paga apenas pelo que precisa.

Se esse não for o caso em seu aplicativo, ou seja, você sabe que terá uma carga de trabalho quantificável e constante, provavelmente será melhor criar seu próprio cluster. Na nuvem, você paga pela flexibilidade e, se não precisar de flexibilidade, estará pagando por algo que não precisa.

Se sua carga de trabalho for flexível, mas um pouco intensa e depender de certos recursos de hardware (consulte a resposta do email aeis), convém compartilhar um cluster com outras pessoas da sua universidade para amortizar os ciclos inativos. Minha antiga universidade administra um cluster compartilhado com um "Modelo de acionista", no qual cada grupo garante uma parte do poder de computação proporcional ao seu investimento no hardware e ciclos inativos podem ser usados ​​por qualquer pessoa. A única dificuldade é centralizar a administração do cluster.


3
No local, a chave é 'quantificável e constante'. Geralmente, a carga de trabalho varia significativamente e é possível que a subutilização faça com que esse custo seja muito superior a US $ 300 / core. Além disso, na configuração da computação em nuvem, é fácil aumentar a escala para mais instâncias, se necessário temporariamente (na semana anterior a uma conferência?).
Phil H

1
+1 para isso. Meu uso de clusters vai de 0 a um caso de período "Você fez o que !?". Não posso me dar ao luxo de pagar pelo segundo, sempre que precisar.
Fomite

7

Há algumas coisas com que se preocupar ao fazer computação em nuvem com simulações de MD. Por exemplo, você precisa se preocupar com o layout físico dos processadores no farm de servidores em que esses trabalhos serão executados. O motivo é que, dependendo do tamanho das suas simulações e dos tipos de cálculos que você está executando (por exemplo, sistemas com eletrostática), você pode confiar muito nas FFTs - e empurrar elétrons para diferentes processadores em um cluster gigantesco pode se tornar uma parte muito demorada do tempo total de computação.

Além disso, para algo tão intensivo em dados quanto o MD, convém garantir que você tenha conexões rápidas de upload e download com os servidores, além de limites razoáveis ​​no armazenamento de dados. Caso contrário, muitas economias de custo poderiam ser sugadas pela perda de produtividade e taxas de armazenamento.

Pelo que vale, nosso instituto acabou de comprar cerca de ~ 240 núcleos para o cluster local a um custo inferior a 500 € por núcleo. Esse custo inclui hospedagem e administração, além de serviços, em nosso campus por quatro anos. Anualmente, isso parece ridiculamente barato. Acho que esse é provavelmente o melhor dos dois mundos - acesso local, mas mantido profissionalmente sem a necessidade de nossa própria equipe de TI.


5

Não tenho experiência em primeira mão com serviços em nuvem como o EC2 da Amazon, mas o custo real por núcleo é provavelmente muito maior do que você cita: é o custo da compra inicial, eletricidade, refrigeração, espaço em um prédio, hardware de substituição. Além do custo de administração: configurar o sistema operacional e os serviços de cluster, manter o sistema operacional atualizado, solucionar problemas da fila etc. Não ficaria surpreso se a soma de tudo isso fosse o dobro do custo da compra inicial. Claro que você ganha flexibilidade.

Para mim, o modelo se reduz à escala: se você tem um cluster verdadeiramente grande (1000 núcleos ou mais), pode amortizar o tempo de trabalho, os reparos e a administração do sistema, porque há o suficiente para manter um profissional ocupado. Se você tem um pequeno cluster em que não vale a pena ter uma pessoa dedicada, é provável que você faça alguém cujo primeiro trabalho deve ser fazer ciência e, nesse caso, o tempo dessa pessoa é mal gasto em trabalhos administrativos. É aqui que os serviços sob demanda, como servidores em nuvem, brilham.


No meu laboratório, a eletricidade, o resfriamento e o espaço do nosso cluster são todos pagos pelo corte que a nossa universidade retira de nossos subsídios por taxas de instalações. Esse corte é o mesmo, esteja executando um cluster ou não. Você sabe se há uma situação semelhante na maioria das universidades, ou a maioria dos laboratórios está perdendo dinheiro para pagar o resfriamento etc. diretamente do bolso?
tel

1
Acredito que a maioria dos laboratórios tem o mesmo arranjo que o seu, mas seria errado ignorar esses custos de qualquer maneira. Alguém terá que arcar com eles, mesmo que não seja você pessoalmente. Pode valer a pena solicitar ao departamento / universidade que obtenha uma parcela maior do custo indireto, se você concordar em construir seu cluster virtualmente na nuvem, em vez de fisicamente no campus.
Wolfgang Bangerth

4

Como complemento a algumas das já excelentes respostas, há outro fator a considerar:

  • Independentemente dos custos, como você vai pagar por isso?

Encontrei um número não trivial de concessões que , em nenhuma circunstância, pagará pelas despesas de hardware, mas pagará pelo tempo de computação em algo como o EC2. Portanto, em algumas circunstâncias de financiamento, embora você possa financiar um pequeno cluster "testbed" com fundos não estruturados ou um pacote de inicialização de laboratório, para projetos em larga escala, pode ser a única maneira de financiar seus custos de computação.

Considere o NIH:

Serviços de informática / ADP: Os serviços que você inclui aqui devem ser serviços de pesquisa específicos, como reservar tempo de computação em supercomputadores ou obter software especializado para ajudar a executar suas estatísticas. Esta seção não deve incluir o seu computador desktop padrão, laptop ou o suporte técnico padrão fornecido por sua instituição. Esses tipos de encargos devem sair dos custos de F&A.

Embora seja possível colocar as máquinas de cluster sob o título de US $ 5.000,00, e você possa fazer um bom argumento a esse respeito, eu encontrei tanto os revisores que estão preocupados com isso quanto as universidades que hesitam com os custos contínuos de manter tal sistema.

Algumas doações são ainda mais rigorosas. Uma concessão que tenho atualmente tem a seguinte redação:

Os fundos também não podem ser usados ​​para hardware de computador

Muitas vezes, é mais fácil obter um cluster pago por custos diretos, se for baseado em EC2 ou um de seus muitos análogos, do que realmente comprar o hardware, especialmente se sua instituição for mesquinha com os custos indiretos. Pode não ser o seu caso, mas é o caso de alguns.


Eu acho que esse não é um bom argumento. Eu estou familiarizado apenas com o sistema de financiamento nos EUA, mas, se você colocar uma certa quantia de dinheiro na categoria "Equipamento", poderá usá-lo para comprar um cluster. Obviamente, se essa categoria estiver vazia, você solicitou o conjunto errado de dólares. Na verdade, o equipamento tem uma boa vantagem, pois se for um único equipamento acima do preço de compra de US $ 5 mil, você não paga nada a mais (pelo menos na nossa universidade).
Wolfgang Bangerth

@WolfgangBangerth Veja minha edição para obter detalhes - colocá-la na categoria "Equipamento" pode não ser permitida.
Fomite

Sim, se essas são as condições, não há nada que você possa fazer. Mas eu descobri que, se você tem um bom argumento para pedir dinheiro para o equipamento em uma concessão, os revisores costumam acompanhá-lo - geralmente não é uma grande fração da soma total. Obviamente, se o dinheiro não foi orçado para começar, não há nada que você possa fazer depois do fato.
Wolfgang Bangerth

0

Já existem muitas respostas de Deus. Eu só quero adicionar dois pequenos pontos.

1.) Eu sei que a IBM está oferecendo algo semelhante. Portanto, dependendo da sua aplicação, pode valer a pena comparar as diferentes ofertas. Não apenas em relação ao custo, mas também ao equipamento.

2.) É claro que a maioria dos laboratórios é pequena demais para poder investir em seu próprio cluster. Portanto, a questão é se não é possível reunir vários laboratórios e investir em um cluster compartilhado entre os diferentes laboratórios. Isso tem além do óbvio efeito de compartilhamento de custos, também a vantagem de uma distribuição de carga mais uniforme.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.