Une Amazon EC2 Compute les coûts de cluster environ $ 800- $ 1000 (selon le cycle de service) par cœur de processeur physique au cours de 3 ans. Lors de notre dernier cycle d'acquisition de matériel, mon laboratoire a récupéré 48 cœurs de matériel très similaire à celui des clusters d'Amazon pour environ 300 $ par cœur.
Est-ce que j'ai râté quelque chose? Existe-t-il des situations dans lesquelles il est économiquement judicieux de créer un cluster dans le cloud pour des tâches de CPU élevées telles que les simulations de dynamique moléculaire? Ou suis-je toujours mieux de construire et de garder moi-même la machine Dang?
(Je dois mentionner que mon laboratoire ne paie pas l'électricité dans notre salle de serveurs (du moins pas directement), mais même avec cet avantage, Amazon semble toujours extrêmement cher).
Réponses:
À mon avis, le principal avantage de l'utilisation des ressources basées sur le cloud est la flexibilité, c'est-à-dire que si vous avez une charge de travail fluctuante, vous ne payez que ce dont vous avez besoin.
Si ce n'est pas le cas dans votre application, c'est-à-dire que vous savez que votre charge de travail sera quantifiable et constante, vous feriez probablement mieux de créer votre propre cluster. Dans le Cloud, vous payez pour la flexibilité et si vous n'avez pas besoin de flexibilité, vous paierez pour quelque chose dont vous n'avez pas besoin.
Si votre charge de travail est flexible mais quelque peu intense et dépend de certaines fonctionnalités matérielles (voir la réponse de aeismail), vous pouvez essayer de partager un cluster avec d'autres personnes de votre université pour amortir les cycles inactifs. Mon ancienne université gère un tel cluster partagé avec un «modèle d'actionnaire» dans lequel chaque groupe a la garantie qu'une part de la puissance de calcul proportionnelle à son investissement dans le matériel et les cycles d'inactivité peut être utilisée par n'importe qui. La seule difficulté est de centraliser l'administration du cluster.
la source
Il y a certaines choses à se soucier lors de l'informatique en nuage avec des simulations MD. Par exemple, vous devez vous soucier de la disposition physique des processeurs dans la batterie de serveurs où ces travaux seront exécutés. La raison en est que, selon la taille de vos simulations et les types de calculs que vous exécutez (par exemple, les systèmes avec électrostatique), vous pouvez être fortement tributaire des FFT et pousser les électrons vers différents processeurs dans un gigantesque cluster pourrait devenir une partie très longue du temps de calcul total.
De plus, pour quelque chose d'aussi gourmand en données que MD, vous voudrez vous assurer d'avoir des connexions de téléchargement et de téléchargement rapides vers les serveurs, ainsi que des limites raisonnables sur le stockage des données. Sinon, une grande partie des économies de coûts pourraient être absorbées par la perte de productivité et les frais de stockage.
Pour ce que ça vaut, notre institut vient d'acheter environ ~ 240 cœurs pour notre cluster local à un coût inférieur à 500 € par cœur. Ce coût comprend l'hébergement et l'administration, plus le service, sur notre campus pendant quatre ans. Sur une base annualisée qui semble ridiculement bon marché. Je pense que c'est probablement le meilleur des deux mondes: l'accès local, mais maintenu professionnellement sans avoir besoin de notre propre équipe informatique.
la source
Je n'ai aucune expérience de première main avec les services cloud comme EC2 d'Amazon, mais le coût réel par cœur est probablement beaucoup plus élevé que vous ne le citez: c'est le coût de l'achat initial, de l'électricité, du refroidissement, de l'espace dans un bâtiment, du matériel de remplacement. Plus le coût d'administration: configuration du système d'exploitation et des services de cluster, mise à jour du système d'exploitation, dépannage de la file d'attente, etc. Je ne serais pas du tout surpris si la somme de tout cela était le double du coût d'achat initial. Bien sûr, vous gagnez en flexibilité.
Pour moi, le modèle se réduit à l'échelle: si vous avez un cluster vraiment grand (1000 cœurs ou plus), vous pouvez amortir le temps de travail, les réparations et l'administration du système, car il y a assez à faire pour occuper un professionnel. Si vous avez un petit cluster où cela ne vaut pas la peine de le faire par une personne dédiée, il est probable que vous obligiez quelqu'un à le faire dont le premier travail devrait être de faire de la science, et dans ce cas, le temps de cette personne est mal dépensé pour de tels emplois administratifs. C'est là que brillent les services à la demande tels que les serveurs cloud.
la source
En complément de certaines des réponses déjà excellentes, il y a un autre facteur à considérer:
J'ai rencontré un nombre non négligeable de subventions qui ne paieront en aucun cas les dépenses de matériel, mais paieront le temps de calcul sur quelque chose comme EC2. Donc, dans certaines circonstances de financement, alors que vous pourriez être en mesure de financer un petit cluster "banc d'essai" avec des fonds non structurés ou un package de démarrage de laboratoire, pour les projets à plus grande échelle, cela peut être le seul moyen de financer vos coûts informatiques.
Considérez le NIH:
Bien qu'il soit possible de classer les machines en grappe sous la rubrique équipement de 5 000 $ et plus, et vous pouvez en faire un bon argument, j'ai trouvé à la fois des examinateurs qui sont nerveux à ce sujet et des universités qui hésitent à propos des coûts continus de maintenance d'un tel système.
Certaines subventions sont encore plus strictes. Une subvention que j'ai actuellement se lit comme suit:
Il est souvent plus facile de faire payer un cluster par les coûts directs s'il est basé sur EC2 ou l'un de ses nombreux analogues que d'acheter réellement le matériel, surtout si votre institution est avare de coûts indirects. Ce n'est peut-être pas le cas pour vous, mais c'est le cas pour certains.
la source
Il y a déjà beaucoup de réponses divines. Je veux juste ajouter deux petits points.
1.) Je sais qu'IBM propose quelque chose de similaire. Ainsi, selon votre application, il peut être utile de comparer les différentes offres. Non seulement en ce qui concerne le coût mais aussi l'équipement.
2.) Bien sûr, la plupart des laboratoires sont trop petits pour pouvoir investir dans leur propre cluster. La question est donc de savoir s'il n'est pas possible de regrouper plusieurs laboratoires et d'investir dans un cluster partagé entre les différents laboratoires. Cela a en plus de l'effet évident de partage des coûts également l'avantage d'une répartition plus uniforme de la charge.
la source