Nube: la evolución natural de la informática de alto rendimiento - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Nube: la evolución natural de la informática de alto rendimiento

Hola de nuevo. Yo soy Simón Sánchez y esta vez vamos a hablar sobre Nube: la evolución natural de la informática de alto rendimiento

La computación en la nube ha surgido como un modelo para satisfacer una amplia gama de necesidades informáticas y promete resolver todo menos la paz mundial. La idea de las utilidades o de la informática bajo demanda no es nueva, especialmente en el espacio de la informática de alto rendimiento (HPC), pero los modelos de negocio y la tecnología han madurado lo suficiente como para traer el concepto de nuevo firmemente a un primer plano.

No voy a perder su tiempo definiendo qué es la nube; creo que se ha utilizado suficiente Internet hasta la saciedad. En su lugar, centremos nuestra atención en algunas de las implicaciones que tiene la nube para las aplicaciones de procesamiento intensivo y el negocio en general.

Antes de continuar, aclaremos las cosas en una cosa; Mucha gente clasifica a HPC como científicos que se divierten con enormes supercomputadoras. Esto se conoce comúnmente como cálculo «técnico» de alto rendimiento. Existe un mercado en evolución mucho más significativo fuera de la HPC tradicional con demandas informáticas crecientes. Big Data es un buen ejemplo en el que la oportunidad de obtener información analítica es una propuesta extremadamente atractiva para una amplia gama de mercados verticales. Sumado a esto, con soluciones tecnológicas disruptivas como Botón verde que simplifican y permiten el acceso a la computación bajo demanda en la nube, el poder de la supercomputación está ahora al alcance de un segmento completamente nuevo del mercado, a menudo denominado «Missing Middle».

La creciente adopción de paradigmas de programación, como la interfaz clásica de paso de mensajes (MPI) y el más popular Map-Reduce, han proporcionado mecanismos simples pero poderosos para la resolución masiva de problemas paralelos, generando más interés en el procesamiento a gran escala y la necesidad de sistemas capaces de soportar dicho procesamiento.

Las implicaciones a largo plazo de la nube aún se están racionalizando a medida que los departamentos de TI experimentan con diferentes modelos de nube pública y privada y equilibran sus necesidades de infraestructura entre los requisitos de procesamiento tanto estáticos como en picos (o elásticos).

La computación en la nube es, en última instancia, un modelo de negocio (bueno, es principalmente un término de marketing confuso, pero no nos aferremos a eso), pero normalmente hay un conjunto común de características técnicas que ayudan a habilitar la computación en la nube (p. Ej. virtualización) que también brindan algunos beneficios que son relevantes para esta conversación. Repasemos algunos de los factores que deben entenderse al evaluar HPC en la nube.

Los positivos

Costo: Para cargas de trabajo máximas, los ahorros de costos en la nube pueden ser significativos. Además, el costo es un gasto operativo en lugar de un Cap-Ex, por lo que a menudo es más atractivo para muchas empresas, ya que los costos pueden atribuirse a un proyecto en particular y contabilizarse de una manera más granular. Nos hemos encontrado con una serie de estudios que han cerrado sus negocios porque invirtieron en infraestructura solo para poner el proyecto en espera … ¡ay! La nube representa una forma de muy bajo riesgo para que las empresas satisfagan sus necesidades informáticas.

Flexibilidad: La nube admite el aprovisionamiento rápido para determinadas cargas de trabajo. La capacidad de implementar dinámicamente configuraciones de hardware / SO / software específicas para cargas de trabajo es un beneficio clave.

Rapidez de implementación: La capacidad de entregar rápidamente nuevos entornos / clústeres en minutos es clave para el éxito y la conveniencia del procesamiento bajo demanda. Compare esto con los meses que normalmente se requieren para aprovisionar nuevo hardware en las instalaciones.

Escalabilidad: Escalar horizontalmente para satisfacer las necesidades de mayor capacidad es un concepto poderoso y el beneficio obvio de la nube. La nube pública promete una escala «infinita». La realidad es un poco diferente cuando existen límites muy reales que deben gestionarse de forma proactiva. Sin embargo, los niveles de rendimiento que pueden alcanzar los grandes proveedores como Windows Azure y AWS son órdenes de magnitud mayores de lo que la mayoría de los clientes pueden comprender con su hardware interno.

Resiliencia: La capacidad de realizar instantáneas de cargas de trabajo mientras se ejecutan puede permitir el control de seguimiento de cargas de trabajo MPI. Numerosas soluciones de virtualización ofrecen la capacidad de mover dinámicamente una máquina virtual invitada de un host físico a otro. Si puede detectar de manera proactiva que un componente de hardware está a punto de fallar al monitorear activamente las métricas correctas, se pueden tomar medidas correctivas y evitar el tiempo de inactividad.

Portabilidad: La capacidad de mover una carga de trabajo de una plataforma en la nube a otra sobre la marcha sin ninguna modificación de la aplicación presenta opciones poderosas como la explosión de una nube privada a una nube pública, alta disponibilidad donde se ejecuta una carga de trabajo. a través de múltiples nubes simultáneamente, escale en múltiples nubes para cumplir con requisitos de recursos extremadamente altos o para aprovechar los cambios en el mercado de precios al contado. Las abstracciones expuestas en GreenButton SDK admiten este tipo de portabilidad.

Desafíos

La seguridadSi bien esto sigue siendo una barrera importante para la adopción en la actualidad, el problema radica principalmente en la confianza y la percepción, más que en las limitaciones en la capacidad y arquitectura de varias plataformas en la nube. Se podría argumentar que, en algunos casos, sus datos están más seguros en manos de Amazon o Microsoft que en su centro de datos (estoy seguro de que este punto podría generar algunas objeciones). Dicho esto, los datos no son lo suficientemente seguros de forma predeterminada, por lo que se debe aplicar un esfuerzo acorde con la sensibilidad y el riesgo. Por ejemplo;

  • Cifrado en reposo de datos asociados a la nube.
  • Limite la ventana de tiempo en la que los datos residen en la nube.
  • Anonimización de datos. Un gran ejemplo es la ejecución de modelos de riesgo para la industria de servicios financieros, donde los datos confidenciales de los clientes se pueden eliminar fácilmente antes de procesarlos en la nube.

ActuaciónNo hay una respuesta única a la pregunta de desempeño. En general, la nube ofrece enormes mejoras de rendimiento en la mayoría de los casos (y eso es bueno en general). Sin embargo, esto depende completamente de la carga de trabajo involucrada y existen algunos desafíos / limitaciones en la actualidad. Algunas cargas de trabajo escalan linealmente, es decir, torpemente paralelas. Muchas cargas de trabajo de MPI también se escalan muy bien en la infraestructura de la nube. Sin embargo, los procesos MPI con restricciones de E / S a menudo encontrarán desafíos de rendimiento debido a sus grandes demandas en la infraestructura de red o la sensibilidad a la latencia. Un número significativo de aplicaciones tradicionales de HPC se desarrollan y optimizan con una latencia muy baja (~ 2 microsegundos). Interconexiones y apalancamiento Infiniband. RDMA tecnología. La mayoría de estas aplicaciones simplemente no se escalarán a redes de 10 GigE. Existe soporte RDMA para Ethernet, sin embargo, esto todavía está en su infancia y es más o menos inexistente en la nube hoy. Ninguno de los grandes proveedores de nube pública es compatible con Infiniband, aunque veo que eso cambiará en el futuro. Será un gran hito cuando eso suceda y expandirá en gran medida la red de cargas de trabajo de HPC que se pueden admitir en la nube.

Otros desafíos se encuentran en algunas plataformas en la nube que implementan intencionalmente instancias distribuidas en el centro de datos para aumentar la disponibilidad. En el caso de HPC, esto tiene un efecto negativo. Windows Azure sufre actualmente este problema, sin embargo, creo que lo veremos solucionado con un control más flexible sobre la ubicación física de las máquinas virtuales, similar a lo que ofrece AWS con grupos de ubicación para sus instancias de Cluster Compute.

No entraré en una sobrecarga de virtualización ya que hay mucho material disponible en la web que cubre este tema. Diré que las tecnologías de virtualización modernas tienen una sobrecarga tan pequeña en el rendimiento de la CPU hoy en día que en realidad es insignificante. El impacto de E / S puede ser más obvio en algunos casos, pero esto depende de las características de la carga de trabajo. VMware tiene algunas publicaciones de blog y artículos excelentes que hablan sobre los gastos generales de virtualización. Específicamente, revisaría las publicaciones de Josh Simons sobre HPC y virtualización:

Puedes compartir en tu Facebook para que tus colegas lo consulten

??? ? ? ???

Comparte