Quand est-il moins cher de créer un cluster dans le cloud que d'en créer un dans mon laboratoire pour des simulations MD?

23

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).

tel
la source
2
Une chose que je peux vous dire, c'est qu'il vous manque des coûts de main-d'œuvre pour l'administration et la maintenance du cluster. Dans un environnement universitaire, quelqu'un doit être l'administrateur du cluster et faire tout le travail de grognement, comme les mises à jour et les mises à niveau du système d'exploitation, l'installation de nouveaux logiciels, le support technique lorsque le cluster tombe en panne, etc. Ces tâches sont ingrates et, selon les compétences de l'administrateur, peuvent nécessiter beaucoup de temps. Un cluster EC2 réduirait les heures-homme nécessaires à la maintenance du cluster.
Geoff Oxberry
1
Eh bien, vous avez évidemment le matériel bon marché. J'ai calculé les coûts sur 3 ans pour le cluster 192 cœurs de mon ancien lieu de travail et il s'est avéré dépasser 850 $ par cœur par an. Sans parler de tous les problèmes que nous avons rencontrés avec le système d'alimentation et le refroidissement ...
Hristo Iliev
@GeoffOxberry Vous faites un bon point sur les coûts de main-d'œuvre. Dans mon laboratoire, je suis l'administrateur, donc je ne pense pas à de telles choses. Aussi frustrant que cela puisse être parfois, c'est un travail d'amour. Si j'avais de l'argent et un endroit où le mettre, je suivrais les instructions (rares) sur ce blog et j'essaierais de construire mon propre Watson.
tél
@HristoIliev Je ne pense même pas que ce soit aussi bon marché. Si vous êtes prêt à prendre les clusters «légèrement utilisés» de Dell, vous pouvez réduire le coût à environ 200 $ par cœur. Pouvez-vous m'en dire plus sur le matériel de votre ancien lieu de travail?
tél
1
Il s'agit d'un système sur mesure avec 12 châssis Xeon à double socket Supermicro double (24 nœuds, 48 ​​E5420) avec 16 Go de RAM ECC sur chaque nœud, une machine Nehalem à une seule prise avec 2 Tesla M2090, un commutateur InfiniBand à 24 ports, un serveur de fichiers avec 4 disques, deux onduleurs 10 kVA, deux climatiseurs. Nous l'avons obtenu en plusieurs phases sur une période de projet de trois ans. Pas le plus grand des plus grands mais toujours ~ 100k EUR au total (meilleurs prix académiques en Bulgarie).
Hristo Iliev

Réponses:

15

À 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.

Pedro
la source
3
Spot on, la clé étant «quantifiable et constante». Habituellement, la charge de travail varie considérablement, et il est tout à fait possible que la sous-utilisation augmente considérablement le coût de 300 $ / cœur. De plus, lors de la configuration du cloud computing, il est facile de passer à plus d'instances si nécessaire temporairement (la semaine avant une conférence?).
Phil H
1
+1 pour cela. Mon utilisation des clusters passe de 0 à un cas de période de "You did what !?". Je ne peux pas me permettre de payer pour le second quand j'en ai besoin.
Fomite
7

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.

aeismail
la source
5

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.

Wolfgang Bangerth
la source
Dans mon laboratoire, l'électricité, le refroidissement et l'espace de notre grappe sont tous payés pour la coupe que notre université retire de nos subventions pour les frais d'installation. Cette coupe est la même que nous exécutions un cluster ou non. Savez-vous s'il existe une situation similaire dans la plupart des universités, ou la plupart des laboratoires sont-ils obligés de payer pour le refroidissement, etc. directement de leur poche?
tél
1
Je crois que la plupart des laboratoires ont le même arrangement que le vôtre, mais il serait faux d'ignorer ces coûts de toute façon. Quelqu'un devra les assumer, même si ce n'est pas vous personnellement. Il pourrait être utile de demander au département / à l'université de vous rembourser une plus grande part des coûts indirects si vous acceptez de construire votre cluster virtuellement dans le cloud plutôt que physiquement sur le campus.
Wolfgang Bangerth
4

En complément de certaines des réponses déjà excellentes, il y a un autre facteur à considérer:

  • Quels que soient les coûts, comment allez-vous payer pour cela?

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:

ADP / Services informatiques: Les services que vous incluez ici doivent être des services informatiques spécifiques à la recherche, tels que la réservation de temps de calcul sur des superordinateurs ou l'obtention de logiciels spécialisés pour vous aider à exécuter vos statistiques. Cette section ne doit pas inclure votre ordinateur de bureau standard, votre ordinateur portable ou le support technique standard fourni par votre établissement. Ces types de frais devraient provenir des frais F&A.

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:

Les fonds ne peuvent pas non plus être utilisés pour du matériel informatique

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.

Fomite
la source
Je pense que ce n'est pas un bon argument. Je ne connais que le système de financement aux États-Unis, mais là, si vous mettez une certaine somme d'argent dans la catégorie «Équipement», vous pouvez l'utiliser pour acheter une grappe. Bien sûr, si cette catégorie est vide, vous avez demandé le mauvais ensemble de dollars. L'équipement a en fait un bel avantage en ce sens que s'il s'agit d'un seul équipement dont le prix d'achat est supérieur à 5 000 $, vous ne payez pas de frais généraux (du moins dans notre université).
Wolfgang Bangerth
@WolfgangBangerth Voir ma modification pour plus de détails - le mettre dans la catégorie "Équipement" peut ne pas être autorisé.
Fomite
Oui, si ce sont les conditions, vous ne pouvez rien faire. Mais j'ai trouvé que si vous avez de bonnes raisons pour lesquelles vous demandez de l'argent pour l'équipement dans une subvention, les examinateurs vont généralement avec - il ne s'agit généralement pas d'une grande partie de la somme globale. Bien sûr, si l'argent n'a pas été budgété pour commencer, il n'y a rien que vous puissiez faire après coup.
Wolfgang Bangerth
0

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.

Azrael3000
la source