¿Cuándo es más económico construir un clúster en la nube que construir uno en mi laboratorio para simulaciones MD?

23

Un clúster de cómputo Amazon EC2 cuesta alrededor de $ 800- $ 1000 (dependiendo del ciclo de trabajo) por núcleo físico de la CPU en el transcurso de 3 años. En nuestra última ronda de adquisición de hardware, mi laboratorio recogió 48 núcleos de hardware muy similares a los de los clústeres de Amazon por alrededor de ~ $ 300 por núcleo.

¿Me estoy perdiendo de algo? ¿Hay alguna situación en la que tenga sentido económico construir un clúster en la nube para tareas de alta CPU como simulaciones de dinámica molecular? ¿O siempre estoy mejor construyendo y cuidando yo mismo la máquina DANG?

(Debo mencionar que mi laboratorio no paga la electricidad en nuestra sala de servidores (al menos no directamente), pero incluso con este beneficio, Amazon todavía parece extremadamente costoso).

tel
fuente
2
Una cosa que puedo decirle es que le faltan algunos costos de mano de obra para la administración y mantenimiento del clúster. En un entorno académico, alguien tiene que ser el administrador del clúster y hacer todo el trabajo duro, como actualizaciones y mejoras del sistema operativo, instalación de software nuevo, soporte técnico cuando el clúster se cae, y así sucesivamente. Estas tareas son ingratas y, dependiendo de la habilidad del administrador, puede requerir mucho tiempo. Un clúster EC2 reduciría las horas hombre requeridas para el mantenimiento del clúster.
Geoff Oxberry
1
Bueno, obviamente tienes el hardware barato. He calculado los costos durante 3 años para el clúster de 192 núcleos en mi antiguo lugar de trabajo y resultó ser más de $ 850 por núcleo por año. Sin mencionar todos los problemas que hemos tenido con el sistema de alimentación y la refrigeración ...
Hristo Iliev
@ GeoffOxberry Haces un buen comentario sobre los costos laborales. En mi laboratorio soy el administrador, así que no pienso en esas cosas. Tan frustrante como puede ser a veces, es un trabajo de amor. Si tuviera el efectivo y algún lugar para ponerlo, seguiría las instrucciones (escasas) en este blog y trataría de construir mi propio Watson.
Tel
@HristoIliev Ni siquiera creo que fuera tan barato. Si está dispuesto a tomar los clústeres "poco utilizados" de Dell, puede reducir el costo a ~ $ 200 por núcleo. ¿Me puede decir más sobre el hardware en su antiguo lugar de trabajo?
Tel
1
Es un sistema personalizado con 12 chasis Xeon de doble zócalo Supermicro gemelos (24 nodos, 48 ​​E5420s) con 16 GiB ECC RAM en cada nodo, una máquina Nehalem de un solo zócalo con 2 Tesla M2090s, un conmutador InfiniBand de 24 puertos, uno servidor de archivos con 4 discos, dos UPS de 10 kVA, dos aires acondicionados. Lo obtuvimos en varias fases durante un período de proyecto de tres años. No es el mejor de los mejores, pero todavía ~ 100k EUR en total (los mejores precios académicos en Bulgaria).
Hristo Iliev

Respuestas:

15

La principal ventaja, en mi opinión, de usar recursos basados ​​en la nube es la flexibilidad, es decir, si tiene una carga de trabajo fluctuante, solo paga por lo que necesita.

Si este no es el caso en su aplicación, es decir, sabe que tendrá una carga de trabajo cuantificable y constante, entonces probablemente sea mejor construir su propio clúster. En la nube, paga por la flexibilidad, y si no necesita flexibilidad, estaría pagando por algo que no necesita.

Si su carga de trabajo es flexible pero algo intensa y depende de ciertas características del hardware (consulte la respuesta de aeismail), puede intentar compartir un clúster con otras personas en su universidad para amortizar los ciclos inactivos. Mi antigua universidad maneja un clúster compartido con un "Modelo de Accionista" en el que cada grupo tiene garantizada una parte de la potencia de computación proporcional a su inversión en el hardware y cualquiera puede usar los ciclos inactivos. La única dificultad es centralizar la administración del clúster.

Pedro
fuente
3
Spot on, la clave es 'cuantificable y constante'. Por lo general, la carga de trabajo varía significativamente, y es muy posible que la subutilización haga que el costo sea mucho más alto que $ 300 / core. Además, al configurar la computación en la nube, es fácil escalar a más instancias si es necesario temporalmente (¿la semana antes de una conferencia?).
Phil H
1
+1 por esto. Mi uso de clústeres va de 0 a un caso de período de "¡¿Hiciste qué ?!". No puedo permitirme el lujo de pagar el segundo cuando lo necesito.
Fomite
7

Hay algunas cosas de las que preocuparse al hacer computación en la nube con simulaciones MD. Por ejemplo, debe preocuparse por el diseño físico de los procesadores en la granja de servidores donde se ejecutarán estos trabajos. La razón es que, dependiendo del tamaño de sus simulaciones y del tipo de cálculos que esté ejecutando (por ejemplo, sistemas con electrostática), puede depender en gran medida de los FFT y de enviar electrones a diferentes procesadores en un grupo gigantesco. podría convertirse en una parte muy lenta del tiempo total de cálculo.

Además, para algo tan intensivo en datos como MD, querrá asegurarse de tener conexiones rápidas de carga y descarga a los servidores, así como límites sensibles en el almacenamiento de datos. De lo contrario, gran parte del ahorro de costos podría verse absorbido por la pérdida de productividad y las tarifas de almacenamiento.

Por lo que vale, nuestro instituto acaba de comprar alrededor de ~ 240 núcleos para nuestro clúster local a un costo de menos de 500 € por núcleo. Ese costo incluye alojamiento y administración, más servicio, en nuestro campus durante cuatro años. Sobre una base anualizada que parece ridículamente barata. Creo que probablemente sea lo mejor de ambos mundos: acceso local, pero mantenido profesionalmente sin necesidad de nuestro propio equipo de TI.

aeismail
fuente
5

No tengo experiencia de primera mano con servicios en la nube como EC2 de Amazon, pero el costo real por núcleo es probablemente mucho mayor de lo que usted cita: es el costo de la compra inicial, la electricidad, la refrigeración, el espacio en un edificio, el hardware de reemplazo. Además del costo de administración: configurar el sistema operativo y los servicios de clúster, mantener el sistema operativo actualizado, solucionar problemas de la cola, etc. No me sorprendería en absoluto si la suma de todo esto es el doble del costo de la compra inicial. Por supuesto que ganas flexibilidad.

Para mí, el modelo se reduce a escala: si tiene un clúster realmente grande (1000 núcleos o más), puede amortizar el tiempo de trabajo, las reparaciones y la administración del sistema porque hay suficiente para mantener ocupado a un profesional. Si tiene un grupo pequeño donde no vale la pena que lo haga una persona dedicada, entonces es probable que haga que alguien lo haga cuyo primer trabajo debería ser hacer ciencia, y en ese caso el tiempo de esta persona se dedica mal a tales trabajos administrativos. Aquí es donde brillan los servicios a pedido, como los servidores en la nube.

Wolfgang Bangerth
fuente
En mi laboratorio, la electricidad, la refrigeración y el espacio para nuestro clúster se pagan fuera del corte que nuestra universidad saca de nuestras subvenciones para las tarifas de las instalaciones. Este corte es el mismo si estamos ejecutando un clúster o no. ¿Sabes si hay una situación similar en la mayoría de las universidades, o si la mayoría de los laboratorios están atascados pagando por enfriamiento, etc. directamente de tu bolsillo?
Tel
1
Creo que la mayoría de los laboratorios tienen el mismo arreglo que el tuyo, pero sería un error ignorar estos costos de todos modos. Alguien tendrá que cargar con ellos, incluso si no eres tú personalmente. Puede valer la pena pedirle al departamento / universidad que le devuelva una mayor parte del costo indirecto si acepta construir su clúster virtualmente en la nube en lugar de físicamente en el campus.
Wolfgang Bangerth
4

Como complemento de algunas de las respuestas ya excelentes, hay otro factor a considerar:

  • Independientemente de los costos, ¿cómo va a pagarlo?

Me he encontrado con un número no trivial de subvenciones que no bajo ninguna circunstancia pagar los costes de hardware, sino que se pagan para calcular el tiempo en algo como EC2. Por lo tanto, en algunas circunstancias de financiación, si bien es posible que pueda financiar un pequeño grupo de "banco de pruebas" con fondos no estructurados o un paquete de inicio de laboratorio, para proyectos a gran escala puede ser la única forma de financiar sus costos informáticos.

Considere los NIH:

ADP / Servicios informáticos: Los servicios que incluye aquí deben ser servicios informáticos específicos de investigación, como reservar tiempo de computación en supercomputadoras u obtener software especializado para ayudar a ejecutar sus estadísticas. Esta sección no debe incluir su computadora de escritorio de oficina estándar, computadora portátil o el soporte técnico estándar proporcionado por su institución. Esos tipos de cargos deben salir de los costos de F&A.

Si bien es posible colocar máquinas de clúster bajo el título de equipos de más de $ 5,000, y puede presentar un buen argumento para ello, he descubierto que tanto los revisores son inquietos como las universidades que dudan sobre los costos continuos de mantener tal sistema.

Algunas subvenciones son aún más estrictas. Una beca que tengo actualmente dice lo siguiente:

Los fondos tampoco pueden usarse para hardware de computadora

A menudo es más fácil obtener un clúster pagado por costos directos si está basado en EC2 o uno de sus muchos análogos que comprar el hardware, especialmente si su institución es tacaña con los costos indirectos. Puede que este no sea el caso para usted, pero es el caso para algunos.

Fomite
fuente
Creo que ese no es un buen argumento. Solo estoy familiarizado con el sistema de financiación en los EE. UU., Pero allí, si coloca una cierta cantidad de dinero en la categoría "Equipo", puede usarlo para comprar un grupo. Por supuesto, si esa categoría está vacía, entonces ha solicitado un conjunto de dólares incorrecto. El equipo realmente tiene una buena ventaja, ya que si se trata de una sola pieza de equipo que está por encima del precio de compra de $ 5k, no pagará gastos generales (al menos en nuestra universidad).
Wolfgang Bangerth
@WolfgangBangerth Consulte mi edición para obtener más detalles; ponerlo en la categoría "Equipo" puede no estar permitido.
Fomite
Sí, si estas son las condiciones, entonces no hay nada que pueda hacer. Pero descubrí que si tiene un buen caso por el que solicita dinero para equipo en una subvención, los revisores generalmente lo aceptan; de todos modos, no es una gran fracción de la suma total. Por supuesto, si el dinero no se ha presupuestado para empezar, no hay nada que pueda hacer después del hecho.
Wolfgang Bangerth
0

Ya hay muchas respuestas de Dios. Solo quiero agregar dos puntos pequeños.

1.) Sé que IBM está ofreciendo algo similar. Por lo tanto, dependiendo de su aplicación, puede valer la pena comparar las diferentes ofertas. No solo con respecto al costo sino también al equipo.

2.) Por supuesto, la mayoría de los laboratorios son demasiado pequeños para poder invertir en su propio grupo. Por lo tanto, la pregunta es si no es posible reunir varios laboratorios e invertir en un clúster que se comparta entre los diferentes laboratorios. Esto tiene además del obvio efecto de costo compartido también la ventaja de una distribución de carga más uniforme.

Azrael3000
fuente