Microsoft HPC
V 1.0
José M. Cámara
(
[email protected])
Introducción
Microsoft HPC (High
Performance Computing) es
la solución de Microsoft a la
computación de alto
rendimiento.
Está enfocado
principalmente a clusters de
consumo.
Se pretende obtener el
máximo rendimiento de los
recursos existentes para
minimizar la inversión.
El sistema es altamente
escalable debido a la
incorporación de recursos
internos y en la nube.
El rendimiento del conjunta se ve
afectado por la inversión realizada en los
distintos subsistemas: hardware de los
nodos e interconexión.
Arquitectura del cluster
Nodo de cabecera
Windows Server + HPC Pack
WAN
Nodos de computación
Windows 7, 8, (Pro. Ent.), Server + HPC Pack
Nodos en la nube
Windows Azure
N
A
S
/
N
A
L
Estaciones de trabajo
Windows 7, 8, (Pro. Ent.), Server + HPC Pack
Arquitectura del cluster II
Tipos de
nodos
Sistema
operativo
Arquitectura
de red
• Nodo de cabecera: no tiene especiales características hardware (doble tarjeta de red).
• Nodo de computación: dedicado a HPC.
• Estación de trabajo: computador de propósito general que ocasionalmente se une al cluster
para apoyo a la computación. Se pueden incorporar manualmente o de acuerdo con un horario
preconfigurado.
• Nodo en la nube: computador virtual contratado con Microsoft.
• El nodo de cabecera debe está equipado con Windows Server
• El resto de nodos admiten la versión de servidor de Windows pero también sistemas
operativos convencionales, habitualmente restringidos a versiones: profesional, enterprise o
ultimate.
• Los nodos en la nube se integran bajo Windows Azure.
• La conexión a los recursos en la nube y/o de gestión remota se realiza a través de una conexión
WAN convencional. Obviamente un elevado ancho de banda es deseable.
• La conexión a los nodos internos se realiza mediante redes LAN o SAN; la mayoría de las
soluciones comerciales son integrables. Los nodos pueden estar interconectados mediante
redes privadas, red corporativa o ambas.
Despliegue del cluster
Instalación del servidor
Instalación del SO.
Configuración del
dominio activo.
Instalación del paquete
de computación.
Configuración del nodo de cabecera
Definición de la topología
del cluster.
Configuración de las
comunicaciones.
Alta de usuarios.
Incorporación de nodos
Instalación del SO.
Incorporación de nodos
al dominio.
Instalación del paquete
de computación.
Inclusión de nodos en el
cluster.
Dominio activo
Para que todas las operaciones a realizar en el cluster se puedan llevar a
cabo de manera segura, todos los nodos deben pertenecer a un dominio
común o a dominios con relaciones de confianza establecidas.
El dominio se configura como un nuevo bosque y habitualmente el
servidor es promovido a controlador del dominio; a no ser que se
emplee otro servidor para esta función.
Todos los nodos y usuarios deben pertenecer al dominio para poder ser
añadidos al cluster.
Paquete de computación
El paquete de
El mismo paquete
permite configurar el
nodo de cabecera y las
estaciones de trabajo.
computación (HPC Pack)
es proporcionado por
Microsoft de forma
gratuita.
Al seleccionar el tipo de
nodo a incorporar, se
determinan las
herramientas
necesarias.
Tanto en el nodo de
cabecera como en el
resto, deja instalado un
grupo de herramientas
para gestión del cluster.
Topologías
Microsoft utiliza este concepto para definir una serie de alternativas de interconexión. No
tiene relación con el grafo de la red.
Red corporativa
Red corporativa
Topología 1: los nodos de computación
y las estaciones de trabajo se conectan
solo a la red privada.
Red privada
Red corporativa
Red privada
Red privada
Topología 1: los nodos de computación se conectan a
la red privada.
Las estaciones de trabajo se conectan a la red
corporativa.
Red corporativa
Red privada
Topología 2: los nodos de
computación se conectan a la red
privada y corporativa. Las estaciones
de trabajo a ambas o solo a la
privada.
Red corporativa
Topología 3: los nodos de
computación se conectan a la red
privada y a la de aplicación. Las
estaciones de trabajo se conectan a
ambas o a la red corporativa.
Red privada
Red de aplicación (SAN)
Topologías II
Red corporativa
Topología 4: los nodos de
computación se conectan a la red
corporativa, privada y de aplicación.
Las estaciones de trabajo se conectan
a todas ellas o solo a la corporativa.
Red privada
Red de aplicación (SAN)
Red corporativa
Topología 5: no hay red privada ni de
aplicación. Todos los nodos se
conectan a la red corporativa.
El usuario no está obligado a ajustarse a la configuración real de la red. Puede existir una
conexión a la red corporativa pero no ser interesante que las estaciones de trabajo la utilicen.
Gestión del cluster
El administrador del sistema debe
realizar una serie de tareas de
configuración y supervisión del
cluster.
El Gestor del Cluster (Cluster
Manager) es la herramienta que le
permite realizar estas operaciones:
• Gestión de nodos.
• Gestión de usaurios.
• Configuración del planificador.
Gestión de nodos
Dar de alta/baja nodos.
Traer online/offline estaciones de trabajo: en el caso de que
se haya optado por realizar esta tarea de forma manual y no
de acuerdo a un horario/calendario.
Formar grupos de nodos para realizar una gestión conjunta.
Por ejemplo definir que determinados tipos de trabajos
recaigan sobre grupos concretos.
Monitorizar los nodos: “estado de salud”, propiedades, red,
métricas…
Gestión de usuarios
Dar de alta/baja nuevos usuarios.
Gestionar grupos de usuario.
Asignar roles de usuarios:
• Usuario: puede administrar sus propios trabajos.
• Administrador: puede administrar trabajos y recursos.
• Administrador de trabajo: puede administrar trabajos , pero no recursos.
• Operador de trabajo: puede administrar trabajos de una manera restringida (ver, cancelar, finalizar, re-encolar).
Gestión del planificador
El planificador decide qué trabajos lanzar en cada momento y
contra qué recursos.
Lo hace de acuerdo a una serie de políticas:
• Encolada.
• Balanceada.
Permite la utilización de “backfilling”: adelantar trabajos sobre uno más
prioritario que está en espera de obtener los recursos que necesita, siempre que
éste no se vea retrasado por ello.
Políticas de gestión de trabajos
Subpolíticas
Precedencia: trabajos más prioritarios
pueden detraer recursos de trabajos menos
prioritarios ya en curso.
Asignación dinámica de recursos: los
recursos asignados a un trabajo se pueden
alterar en tiempo de ejecución.
• Elegante: detraer recursos de tareas que
terminan.
• Inmediata: cancelar todas las tareas en
ejecución.
• A nivel de tarea: cancelar tareas
individualmente.
• Incremento automático: priorizar la
asignación de nuevos recursos sobre el inicio
de trabajos menos prioritarios.
• Decremento automático: detraer recursos
no usados por trabajos que no tienen tareas
pendientes.
Encolada
Políticas
Balanceada
• Intenta arrancar los trabajos en orden de
llegada.
• Optimiza trabajos voluminosos.
• Precedencia elegante por defecto.
• Habilitados incremento y decremento
automáticos por defecto.
• Inicia los trabajos tan pronto como disponen
del mínimo de recursos solicitados.
• Nuevos recursos disponibles son asignados a
los trabajos en curso de acuerdo con su
prioridad.
• Optimiza tareas cortas e interactivas.
• Precedencia inmediata por defecto.
Gestor de Trabajos
Los usuarios envían trabajos al
cluster.
Los trabajos están formados por
tareas.
El Gestor de Trabajos (Job
Manager) es la herramienta que
permite crear y enviar trabajos.
Tipos de tareas
Básica
• Ejecuta una única instancia de una aplicación serie o paralela.
Barrido paramétrico
• Ejecuta múltiples instancias de una aplicación.
• El número exacto lo determina un parámetro que toma valores diferentes.
• El valor del parámetro tiene un significado para cada instancia.
Preparación de nodo
• Un comando o “script” para ser ejecutado en cada nodo.
• Se ejecuta antes que cualquier otra tarea del trabajo.
Liberación de nodo
• Un comando o “script” para ser ejecutado en cada nodo.
• Se ejecuta cuando el nodo es desasignado al trabajo.
Servicio
• Ejecuta un comando o servicio en cada recurso asignado al trabajo.
• Si una instancia del comando finaliza y el recurso sigue asignado, una nueva
instancia se inicia.
Tipos de trabajos
Trabajo
• Es el tipo más general.
• Los otros dos pueden ser definidos a partir de él también.
• Estos trabajos pueden incluir múltiples tareas y barridos.
Single-task
job
Parametric
sweep job
• Pensado para facilitar la configuración de trabajos simples.
• Se utiliza para trabajos de una única tarea.
• Pensado para facilitar la configuración de trabajos simples.
• Se utiliza para trabajos con una única tarea paramétrica.
Propiedades de los trabajos
ID del trabajo
• Identificación numérica del trabajo.
• Asignada por el Job Manager.
Nombre del trabajo
• Identificación textual del trabajo.
• Asignada por el usuario.
Plantilla de trabajo
• Nombre de la plantilla bajo la que se quiere configurar el trabajo.
• Las plantillas establecen valores y restricciones por defecto y son creadas por el
administrador.
Prioridad
• Valor numérico que establece la prioridad del trabajo.
• Varía de 0 a 4000, siendo 4000 la prioridad más alta.
Tiempo de ejecución
• Tiempo máximo para completar el trabajo.
• Si se supera el trabajo es cancelado.
Memoria
Licencias
• Mínima cantidad de memoria necesaria para que un nodo pueda ser
asignado.
• Licencias solicitadas por el trabajo.
Aparte del “nombre”, no es obligatorio establecer el resto de propiedades.
Hay varias propiedades más. Para un
Comentarios de: Microsoft HPC (0)
No hay comentarios