scieee AI-readable full text Open interactive document viewer

Cluster de computación para docencia : MS HPC PACK 2012 R2

Cámara Nebreda, José María,González García, José Antonio

Full text

1 CLUSTER DE COMPUTACIÓN PARA DOCENCIA MS HPC PACK 2012 R2 José M. Cámara Nebreda José A. González García 2016 2 INTRODUCCIÓN ............................................................................................................................. 3 SITUACIÓN DE PARTIDA ............................................................................................................ 4 INSTALACIÓN DEL SERVIDOR .................................................................................................. 5 Instalación de los servicios de active domain ............................................................................................... 5 Instalación del hpc pack ............................................................................................................................... 7 Configuración del nodo de cabecera ............................................................................................................ 7 ADICIÓN DE NODOS AL CLUSTER ......................................................................................... 12 Inclusión de las estaciones de trabajo en el dominio ................................................................................. 12 Instalación del HPC Pack 2012 R2 en las estaciones de trabajo .................................................................. 15 Inclusión de la estación de trabajo en el cluster ......................................................................................... 15 Configuración de las comunicaciones ........................................................................................................ 18 REFERENCIAS .............................................................................................................................. 20 3 INTRODUCCIÓN El motivo para dotar a nuestras instalaciones de un cluster de computación es doble: por un lado se trata de disponer de una plataforma que permita la realización de prácticas de programación paralela en las asignaturas de Grado y Máster en Ingeniería Informática y por otro lado presentar a los alumnos un caso real de computador MIMD para apoyo de la docencia teórica en esas mismas asignaturas. Anteriormente a la puesta en marcha de este pequeño cluster, las prácticas de programación se venían realizando en computadores convencionales que habitualmente trabajaban de forma aislada y ocasionalmente se configuraban para trabajar conjuntamente dando servicio a prácticas de computación paralela. Esto obligaba a los alumnos a interferir con sus compañeros para realizar las pruebas de ejecución de sus prácticas y a gestionar su trabajo de una forma totalmente manual. Lo que sucedía en la mayoría de los casos es que las pruebas más costosas en tiempo tenían que ser realizadas por el profesor fuera del horario de prácticas. Además de los inconvenientes lógicos de estas prácticas que podríamos calificar de artesanales, no era posible trabajar de manera real conceptos tan relevantes como la planificación de trabajos. En este manual se pretende reflejar el proceso de puesta en marcha del cluster de computación a partir de las máquinas de laboratorio que ya se venían utilizando. Se explicarán los pasos realizados para la instalación del servidor y la inclusión de los ordenadores ya existentes. El entorno en el que se trabajará es Microsoft HPC. Es posible obtener una información más completa sobre todos los aspectos relativos a la instalación y gestión del cluster de computación consultando la documentación técnica de Microsoft en línea. 4 SITUACIÓN DE PARTIDA Como ya se ha explicado en la introducción, se va a transformar un conjunto de computadores de laboratorio en un cluster de computación. Estos computadores son PCs convencionales dotados de sistemas operativos de Microsoft. Concretamente, las máquinas se encuentran configuradas con un arranque doble, en Windows XP y Windows 7 Enterprise Edition. Esto es así para garantizar la compatibilidad con las aplicaciones que necesitan las distintas materias que se imparten en el laboratorio. Estas máquinas, 8 en total, se encuentran conectadas a dos redes Ethernet: una red interna aislada con direcciones IP fijas y una red externa corporativa con direcciones IP dinámicas. El objetivo es que los ordenadores sigan funcionando de forma individual como hasta el momento, para no interferir con el desarrollo de otras materias y que puedan trabajar como nodos del cluster en las prácticas de computación paralela. La única máquina dedicada a su trabajo como miembro del cluster va a ser el servidor, adquirido expresamente para realizar esta misión. Como característica más relevante del mismo, el hecho de que también dispone de dos adaptadores de red que le van a permitir su conexión a la red corporativa y a la red interna. Junto con el hardware, se ha adquirido una licencia de MS Server 2012 R2. En cuanto a la cuestión de los sistemas operativos a utilizar merece la pena destacar dos aspectos relevantes: El sistema operativo del servidor debe instalarse en su versión original en inglés. La instalación en castellano va a dar serios problemas de compatibilidad con el HPC Pack de Microsoft que es el software que nos va a permitir configurar y gestionar el cluster. El resto de máquinas podrá entrar a formar parte del cluster cuando ejecuten Windows 7, ya que Windows XP no se encuentra soportado. No obstante, aquí nos vamos a encontrar con la dificultad del idioma del sistema de nuevo, lo que nos va a obligar a elegir entre reinstalar Windows 7 en inglés o instalar Windows 8 en inglés directamente. 5 INSTALACIÓN DEL SERVIDOR Nuestro servidor es una máquina con unas prestaciones relativamente modestas: Placa Intel Server Board S1200. CPU Intel Xeon Quad E3-1220V2 8 GB RAM DDR3 1 TB HD. Dos adaptadores Ethernet. Su carga de trabajo no va a ser en principio relevante por lo que, aparte del doble adaptador de red, el resto de sus prestaciones no son relevantes más allá de lo que recomiende Microsoft para soportar el sistema operativo. Las primeras pruebas realizadas nos hacen descartar la posibilidad de trabajar con la instalación en castellano. Sin entrar en demasiados detalles, la instalación del HPC Pack nos dio varios errores que no fuimos capaces de resolver. De hecho, Microsoft ya avisa de estos problemas de compatibilidad. La instalación del sistema operativo no presenta otros detalles de importancia adicionales a la cuestión del idioma por lo que no vamos a detallar este proceso. Lo que sí es importante, una vez instalado el sistema operativo es la realización de algunas tareas previas a la instalación del HPC Pack.  Instalación de los servicios de Active Domain.  Promoción del servidor a controlador de dominio. INSTALACIÓN DE LOS SERVICIOS DE ACTIVE DOMAIN Desde el Gestor del Servidor (Server Manager), se debe dar de alta una nueva característica (Add Roles and Features) como se muestra en la Figura 1. FIGURA 1 La característica que queremos dar de alta son los Servicios de Dominio Activo (Active Domain Services). Para ello previamente hay que seleccionar la opción de instalación basada en roles que se muestra en la Figura 2. Esto nos dará paso a la selección del servidor, para el caso de que hubiera más de uno y finalmente la lista de roles y características disponibles entre las que se encuentra la que buscamos. 6 FIGURA 2 Una vez instalados estos servicios, el propio gestor del servidor nos sugerirá la promoción a controlador de dominio de nuestra máquina, cosa que debemos hacer. Entre las opciones que se nos van planteando, deberemos seleccionar la creación de un bosque (forest) y darle un nombre de dominio raíz. Debe ser un nombre inequívoco. En nuestro caso le hemos dado el nombre: aravan.te.es, creado a partir del nombre de una asignatura y del área de conocimiento. Nos solicita una cuenta de restauración. Podemos proporcionarle la cuenta del administrador. Como nombre de domino NETBIOS se nos sugiere: ARAVAN como aparece en la Figura 3. Lo aceptamos sin modificación. FIGURA 3 Puede ser también un buen momento para darle un nombre a nuestro servidor que sea más significativo que el nombre por defecto, pero no es obligatorio para nada modificarlo. Nosotros hemos decidido llamarlo TE-SERVER. Estas sencillas y relativamente rápidas operaciones dejan a nuestro servidor en condiciones ideales para la instalación del HPC Pack, el paquete de computación avanzada que nos proporciona Microsoft. 7 INSTALACIÓN DEL HPC PACK El pack de computación avanzada nos va a permitir instalar y configurar un cluster de computación. Para ello, el primer paso es convertir a nuestro servidor en el nodo de cabecera del cluster. Esto exige descargar el Pack, que es gratuito e instalarlo localmente. Se trata de un paquete que ha ido evolucionando en el tiempo a medida que lo hacían las herramientas de computación de Microsoft. La versión que corresponde con nuestro sistema operativo lleva en este caso la misma referencia que él: HPC Pack 2012 R2 y se puede descargar de Microsoft. Una vez descargado, simplemente se ha de descomprimir e iniciar la aplicación “Setup”. Podemos aceptar las opciones por defecto que nos van a ir apareciendo, observando que el tipo de nodo que vamos a configurar es un nodo de cabecera (Head Node). Se instalarán un buen número de herramientas: Power Shell (aunque normalmente ya está instalada), SQL Server, MS-MPI, herramientas de servidor, herramientas de cliente, etc. Se trata de un proceso relativamente largo, pero que debería completarse con éxito sin intervención del administrador. Finalizado el proceso, dispondremos de una nueva aplicación para la gestión del cluster (Cluster Manager). CONFIGURACIÓN DEL NODO DE CABECERA La conversión de nuestro servidor en nodo de cabecera del cluster requiere de una serie de tareas que se clasifican en obligatorias y opcionales. Pasamos a detallar las obligatorias. Definición de la topología Es importante notar que en este contexto, la palabra “topología” no toma su significado por defecto. No se refiere al grafo que subyace en nuestra red de interconexión sino más bien al acceso que los diferentes nodos del cluster tienen a las redes privadas y públicas. Esta cuestión se encuentra ampliamente documentada por parte de Microsoft por lo que recomendamos su lectura aquí. Para nuestro tipo de cluster, formado por estaciones de trabajo conectadas a una red interna y con acceso también a la red corporativa, Microsoft recomienda seleccionar la topología 5. Nosotros nos vamos a decantar sin embargo por la topología 1, ya que pretendemos que las comunicaciones relacionadas con computación se lleven a cabo exclusivamente a través de la red interna. La red externa quedaría para el trabajo de los usuarios de las propias estaciones cuando éstas no estén trabajando en computación. Podemos ver las alternativas y nuestra selección en la Figura 4. 8 FIGURA 4 Es importante para nosotros esta distinción por dos motivos: Para aislar nuestro trabajo del tráfico existente en la red corporativa y poder así valorar el rendimiento del cluster en la ejecución de aplicaciones, de una manera controlada. Para permitir que otras asignaturas puedan seguir realizando sus prácticas sin verse afectadas por el nuevo rol que han adquirido los ordenadores como miembros de un cluster de computación. Configuración de las comunicaciones Si no lo habíamos hecho antes, éste es el momento de realizar la configuración de todo lo que tiene que ver con las comunicaciones en el servidor: adaptadores de red, firewall, etc. En nuestro caso trabajamos con una red interna en la que se configuran direcciones IP fijas y ficticias. Al nodo de cabecera (servidor) le hemos dado la dirección: 192.168.100.1. En la red corporativa por el momento las direcciones se asignan de forma dinámica, por lo que nuestro servidor no va a tener inicialmente IP fija. En cuanto al Firewall, lo configuramos como activo en la red corporativa e inactivo en la interna como se muestra en la Figura 5. 9 FIGURA 5 Otras tareas Las anteriores son sin duda las labores más relevantes en esta fase, pero aún quedan algunos ajustes adicionales antes de darla por terminada. 1. Credenciales para instalación de nodos: proponemos las del administrador. Notar que el login hay que precederlo del nombre del dominio: aravan.te.es/Administrator. 2. Configurar la política de nombres, que establece la forma en que se van a nombrar los nodos de computación (estaciones de trabajo en nuestro caso) a medida que se vayan añadiendo al cluster. Mantenemos la política que se nos sugiere por defecto: TESERVER%1000%. No va a ser una cuestión relevante ya que cuando integremos nodos preconfigurados de forma manual podremos asignarles nombres individualmente o mantener el que tenían. 3. Creación de plantillas de nodo. Estas plantillas van a ser utilizadas posteriormente para la instalación de los nodos. En primer lugar se nos plantea el tipo de nodo. En nuestro caso solamente vamos a instalar estaciones de trabajo para mantener la compatibilidad con su uso como computadores fuera del cluster. Será ésta por tanto nuestra única plantilla. En este tipo de máquinas es necesario decidir la forma de entrada y salida del cluster: manual o automática. En el caso de ser automática se debería proporcionar un calendario para ello. Nosotros lo vamos a configurar como manual dado el uso esporádico que va a tener el cluster en tareas de computación. En la Figura 6 se muestran las diferentes opciones que hemos ido seleccionando. Una vez realizados los ajustes se crea (Create) la plantilla. 16 1. En el servidor (nodo de cabecera), el “HPC Cluster Manager” nos permite dar de alta un nuevo nodo “Add node” como se ve en la Figura 12. La opción a seleccionar es lógicamente la que lo da de alta como estación de trabajo. FIGURA 12 2. Tras una pantalla de comprobación, se accede a la selección del nodo que se puede ver en la Figura 13. Si todo está correcto, el nuevo nodo debe aparecer como seleccionable. Se pulsa añadir “Add” para finalizar el proceso. 17 FIGURA 13 3. A continuación podremos ver cómo el nodo se ha añadido correctamente: Figura 14. Utilizaremos la opción “Bring online” en el gestor del cluster para ponerlo en línea. 18 FIGURA 14 4. Finalmente, sin abandonar el gestor del cluster, le asignaremos una plantilla de nodo, la que creamos en una etapa anterior con el nombre “Default Workstation Template”, mediante la opción “Assign node template”. CONFIGURACIÓN DE LAS COMUNICACIONES Para que los procesos MPI puedan intercambiar mensajes entre sí, éstos deben poder atravesar el Firewall de las máquinas implicadas en la tarea común. La configuración por defecto del Firewall lo impide por lo que caben dos opciones: • Permitir el paso a través del Firewall de las aplicaciones que se vayan generando, lo cual es tedioso de realizar. • Deshabilitar el Firewall en la red interna. A priori ésta es una operación poco aconsejable en términos de seguridad. Para poder trabajar de una manera más eficiente se ha optado por la segunda alternativa. La red interna no tiene acceso al exterior, por lo que esta solución no va a poner en riesgo a las máquinas. 19 Finalmente se ha optado por deshabilitar la red externa en los nodos. Esto permite restringir el tráfico a la red interna de manera que se tiene un control total sobre los aspectos que pueden afectar a la influencia de las comunicaciones en el tiempo de ejecución de las aplicaciones. Se mantiene la posibilidad del acceso a Internet de las máquinas a través del servidor. Para ello, en la configuración de TCP/IP de la tarjeta de red se establece la dirección de red interna del servidor: 192.168.100.1 como puerta de enlace predeterminada. La seguridad está garantizada ya que el servidor mantiene activo el Firewall en la red externa. 20 REFERENCIAS La mayor parte de las operaciones documentadas se han realizado en base a las guías y documentación técnica de Microsoft, cuyo enlace de partida sería: https://technet.microsoft.com/en-us/library/jj899572.aspx También resulta de interés la lectura del documento titulado “Introducing Windows HPC Server – Running Parallel Applications on Clusters” de David Chappel publicado en 2011 y disponible en: http://www.davidchappell.com/writing/white_papers/Introducing_Windows_HPC_Server,_v 1.1--Chappell.pdf Aunque está basado en Windows HPC Server 2008, incluye consideraciones de carácter general que no han perdido vigencia. El punto de partida para conocer cómo es el envío remoto de trabajos es: https://technet.microsoft.com/es-es/library/Gg315415%28v=WS.10%29.aspx