HPC de Windows Server 2008

Equipos en el mundo real de alto rendimiento

Joshua M. Kunken

 

En resumen:

  • Configurar y administrar el clúster de cálculo
  • Enviar los trabajos del programador HPC uso de Windows PowerShell
  • Procesar datos de hoja de cálculo en el servidor
  • Realizar procesa datos disponibles para los usuarios finales

Contenido

¿Por qué HPC 2008?
Aciertos de la ejecución del plano inferior
Obtener acceso al clúster COMPUTE
Administración
Aprovechar las ventajas de Windows PowerShell
Desarrollo de aplicaciones
Hojas de servidor o clúster procesamiento de cálculo
Acceso de cliente de lado a los datos procesados
Un conjunto de datos muy grande

Windows HPC Server 2008 (2008 HPC), el más reciente Microsoft paralelo informático paquete, se ha diseñado específicamente para utilizarlos en entornos que hacen un uso intensivo de cálculo, que describe exactamente nuestro laboratorio de investigación.En este artículo se describe la implementación de una amplia variedad de tecnologías de Microsoft, en particular HPC 2008, en el desarrollo de un sistema personalizado que permite el procesamiento automatizado de datos generados a partir de un dispositivo de digitalización en un laboratorio life science.

El sistema es capaz de realizar automatizada y desatendida Excel hoja de cálculo de análisis de datos, incluidos regresión no lineal.En este análisis normalmente requeriría un científico de investigación que dedicar 10 a 15 minutos por experimento, tarda ahora menor que la mitad de una hora para procesar experimentos 96 a la vez (sin intervención humana y código de error).Tarda incluso menos tiempo si se utiliza un clúster de equipos.

Nuestra solución también utiliza un conjunto pequeño de scripts de Windows PowerShell, implementado en el clúster de cálculo HPC 2008, que procesar en masa cientos de gigabytes de archivos XML dentro de un marco muy poco tiempo.El objetivo es ilustrar cómo puede aprovechar Microsoft alto rendimiento Compute Cluster Server 2008 junto con otras tecnologías de Microsoft para desarrollar rápidamente aplicaciones capaces de realizar análisis de alto nivel y procesamiento de tipos de archivo usados habitualmente en una variedad de campos que van desde finanzas hasta Botiquín.

¿Por qué HPC 2008?

Nuestro decisión de utilizar HPC 2008 se basó en varios factores.En primer lugar, HPC 2008 se integra perfectamente con nuestra infraestructura existente de Active Directory.Esto nos permitir a los existentes Active Directory usuarios, distribuidos en distintas ubicaciones geográficas, enviar trabajos, así como extender sus derechos de acceso a lo largo del clúster con los pares de nombre de usuario y contraseña existente permite.No es necesario que tiene varias credenciales para enviar trabajos en el clúster, así como iniciar sesión en sus estaciones de trabajo.

En segundo lugar, práctica scientists tratan con hojas de cálculo de Excel constantemente para realizar un seguimiento de los resultados de prueba y más realizar análisis.Nos necesarios para procesar las hojas de cálculo de Excel computacionalmente y sería difícil de ello en una plataforma que no sean de Windows.En tercer lugar, se puede ejecutar las aplicaciones desarrolladas en Microsoft .NET Framework mediante C#, que hizo realizar cálculos con datos extraídos de hojas de cálculo de Excel en un clúster de cálculo de Windows.Por último, también se podría utilizar dichas aplicaciones para fácilmente transmitir información a las tablas de la base de datos de SQL Server.

Aciertos de la ejecución del plano inferior

HPC 2008 facilita bastante toma hardware comercial y configurar un clúster de cálculo.Con un clúster relativamente pequeño, toma sólo horas para obtener todos los nodos de cálculo hasta y ejecutar y comunicarse con el nodo de encabezado (o maestro).Debido a la naturaleza de la informática paralelo, tarda la misma cantidad de tiempo para implementar HPC 2008 y Windows Server 2008 a un conjunto pequeño de ocho, quizás, calcular nodos como a un conjunto comprendidos en los cientos.

Después de configurar nuestro nodo cabeza con Windows Server 2008 y HPC 2008, pudimos rápidamente unirlo a nuestro dominio de Active Directory (que se ejecuta en Windows Server 2003 R2)., A continuación, crea una imagen de disco duro (que contiene una copia de Windows Server 2008 junto con HPC 2008) basada en el nodo de cabeza y distribuir la imagen de disco en nuestros demasiados nodos de cálculo.Mediante el Asistente para configuración de red de 2008 HPC (consulte la figura 1 ), seleccionamos una topología de red en la que nuestro nodo cabeza era accesible a través de dirección IP pública mientras que los nodos de cálculo recibieron no públicos direcciones IP desde el nodo de cabeza mediante la función de DHCP implementado en Windows Server 2008.Se pueden implementar fácilmente los muchos otras funciones como DNS, WINS y RAS que son relevantes para configurar un cálculo de clúster en modo independiente o unido a un dominio de Windows.

fig01.gif

Figura 1 selección de una topología de red

Obtener acceso al clúster COMPUTE

Windows Server 2008 incluye una versión nueva de la aplicación de conexión de escritorio remota (RDC), mstsc.exe.Con RDC, los administradores del sistema pueden conectarse a y controlar otros hosts de Windows (los clientes de Windows Vista así como los clientes de Windows Server) a través de un cliente gráfico directamente a través de una conexión TCP / IP.Windows Vista también incluye con una nueva versión de RDC que facilita el acceso a la 2008 HPC calcular el nodo de cabeza del clúster y calcular los nodos.Cuando iniciado una sesión en el nodo de cabeza, los administradores del clúster pueden agregar nuevos nodos, quitar nodos, implementar o Cancelar trabajos en los nodos y realizar muchas otras funciones administrativas.

La consola Administrador de clústeres HPC proporciona el administrador de clústeres, así como los con los privilegios adecuados, una interfaz fácil de usar para enviar trabajos y las tareas manualmente (consulte la figura 2 ).Esto es que especifica el directorio de trabajo, ruta de acceso a archivos ejecutables, había salida carpetas, y parámetros avanzados, así como el número mínimo y máximo de CPU núcleos, calcula nodos, grupos de nodo y tipos de nodo.

fig02.gif

La Figura 2 la especificación de un trabajo en la consola

Administración

Con la integrado HPC Cluster Server Manager, puede fácilmente configurar y administrar los nodos de clúster de cálculo, supervisar los trabajos se ejecutan en los nodos, determinar qué nodos están en uso en la capacidad en cualquier momento dado y control que se ejecutan los tipos de trabajo en cualquier nodo concreto.Además, la utilidad de cluscfg permite a los usuarios obtener vistazo un de estadísticas, incluidas cuántos procesadores se utilizan, cuántos están inactivos y que calcular nodos requieran mantenimiento.

El clusrun comando permite explorar el número de trabajos en ejecución en cualquier momento dado, así como ver rápidamente cuántos calculan nodos y las CPU están actualmente en uso.También puede abrir la consola del administrador de clústeres de HPC para ver la lista de trabajos que se ejecutan en el clúster como un todo, así como los trabajos aún en cola, trabajos que se han completado y los que se stalling.Si se stalling trabajos, puede profundizar en un solo trabajo o una tarea para investigar la causa.

En nuestra experiencia, las causas típicas de trabajos con errores en el clúster de cálculo son recursos compartidos montados mal o confianza no establece en recursos compartidos entre varios nodos de cálculo; mal se establece acceso en permisos de lista de control; y configuración de permisos inadecuados para la ejecución de secuencias de comandos de Windows PowerShell a través de calcula los nodos.Resolver estos problemas es relativamente sencillo.

La consola de Administrador de clústeres HPC permite ver el estado de los nodos de cálculo de una instantánea única, así como en el calor visualmente más intuitiva asignar la vista.Aquí, puede obtener rápidamente un vistazo a cómo se se consumen recursos en cada nodo por todos los trabajos enviados.También se pueden realizar las pruebas de diagnóstico en todos los cálculo nodos a la vez (consulte la figura 3 ) y los resultados de estas pruebas proporcionan el Administrador de clústeres con información relevante para resolver los problemas en el conjunto completo de los nodos o para grupos individuales.Además, HPC 2008 también proporciona muy útil muestra gráfica que muestra el uso de clúster de cálculo en una variedad de períodos de tiempo (figura 4).Estos gráficos circulares y los indicadores clave de rendimiento permiten decisión relevante responsables de determinan si servidor y recursos de TI se asignan correctamente.

fig03.gif

La figura 3 se pueden realizar pruebas en todos los nodos de cálculo a la vez.

fig04a.giffig04b.gif

La figura 4 útil la información está fácilmente disponible.

Aprovechar las ventajas de Windows PowerShell

Para ello con HPC 2008, no sólo se pueden enviar trabajos interactivamente al programador mediante la consola Administrador de clústeres HPC, puede también utilizar a través de la línea de comandos o a través de Windows PowerShell, permite a los usuarios automatizar tareas mediante el programador de tareas, las llamadas de sistema de C# o llama Windows PowerShell.

Nuestro proyecto se utiliza un Windows PowerShell principal secuencia de comandos que se consulta un recurso compartido de archivos en red.El recurso compartido actúa como un directorio de entrada de los archivos esperando para procesarse que se depositará el sistema de creación de imágenes subsiguiente para experimentos que se están llevando a cabo.La secuencia de comandos continúa comprobando un directorio de salida para archivos de salida de posprocesamiento.Si los archivos de entrada aún no se han procesado (es decir, si los archivos de resultados no se encuentran dentro del directorio de salida), la secuencia de comandos genera secuencias de secundarios individuales específicamente para enviar trabajos individuales para el programador HPC a través de la línea de comandos.La secuencia de comandos principal de Windows PowerShell, a continuación, manera iterativa envía todos los estos secuencias de comandos secundarios para el programador por canalizarlos en job.exe, el envío del trabajo de la línea de comandos HPC ejecutable.El programador de trabajo permite enviar cualquier trabajo o una tarea para el clúster de cálculo HPC utilizando una gran variedad de argumentos, que ofrece un conjunto flexible de opciones para ejecutar una aplicación en el clúster.

Desarrollo de aplicaciones

Nuestros esfuerzos de desarrollo de software principales dependían de Visual Studio Professional 2008, que proporciona la capacidad para desarrollar la consola, Windows y Web de aplicaciones.Visual Studio permite a los desarrolladores diseñar una interfaz gráfica de usuario visualmente atractivo mientras trabaja simultáneamente en la lógica empresarial subyacente dentro del mismo proyecto.

Para nuestro proyecto, hemos desarrollado varias aplicaciones basadas en la misma lógica de empresarial principal para adaptarlo a necesidades diferentes.Comenzamos con una aplicación de Foundation (WPF) para procesar nuestros entradas hojas de cálculo de Excel de presentación de Windows, habilitar, por tanto, nuestros investigadores para probar manualmente parámetros de ajuste inicial diferentes para determinar si un conjunto mayor de experimentos (según los parámetros de ajuste similar) se pudo procesar automáticamente en el HPC calculan del clúster.

A continuación, creamos una aplicación de consola para ejecutar realmente en el clúster de cálculo HPC; que acepta un número de argumentos, incluidos una ruta de archivo a una hoja de cálculo de entrada, así como parámetros de ajuste de inicialización.Windows PowerShell proporciona los argumentos para la aplicación al enviar simultáneamente la tarea a la HPC calculan clúster a través de la línea de comandos.La aplicación de consola, que se ejecuta en cada nodo de cálculo individuales, procesa las entrada hojas de cálculo mientras también genera hojas de cálculo de resultados que contiene las soluciones y simultáneamente realizar consultas de SQL Server INSERT para realizar un seguimiento de los resultados de todos los experimentos..NET Framework 3.0 API de System.IO.Packaging es aprovechar en cada nodo para procesar las hojas de cálculo para su contenido.Una vez que se obtienen los valores de las hojas de entrada, C# se utiliza para controlar el resto.

También hemos desarrollado una aplicación WPF más gráfica que permite a los investigadores vista resultados enviados a SQL Server desde el HPC calculan clúster.Un subconjunto de los experimentos emprenderse en nuestro laboratorio se realiza dentro de las planchas de 96 bien estándar utilizadas habitualmente en biología estructural, y la interfaz de usuario de la aplicación WPF refleja la configuración de plancha físico (consulte la figura 5 ).Los usuarios sólo necesitan hacer clic en uno bien para recuperar los resultados para el experimento único versión de prueba.Haciendo clic en un consultas inicia así de SQL Server frente a varias tablas de base de datos para recuperar los resultados anteriormente se procesan en el clúster de cálculo HPC y se envía a las tablas de ésta.Se también, se utiliza un control ListView que contiene un control GridView de para proporcionar una descripción general de todos los ensayos 96 de un experimento único.Los investigadores pueden obtener una tabla puede ordenar mostrar todos los parámetros de ajuste y análisis estadísticos para los experimentos procesados.Esta tabla está disponible en cuanto el HPC calcular termine de clúster procesar las respectivas hojas de cálculo.Por último, hicimos uso de SSH túneles de la aplicación, lo que permite finales a los usuarios segura realizar un seguimiento sus resultados experimentales desde fuera del laboratorio.

fig05_new.gif

La figura 5 interfaz gráfica de la aplicación ’s

Recursos HPC

bluebullet.gif HPC de Windows Server 2008
Microsoft.com/hpc/
bluebullet.gif TechCenter de Windows HPC
technet.microsoft.com/en-us/hpc/
bluebullet.gif Portal de comunidad de Windows HPC
windowshpc.NET/páginas y
bluebullet.gif El blog del equipo Windows HPC
blogs.technet.com/WindowsHPC/
bluebullet.gif Evaluar HPC de Windows Server 2008
technet.microsoft.com/en-us/cc835241.aspx
bluebullet.gif An Introduction to Windows Compute Cluster Server
technet.microsoft.com/en-us/Magazine/2008.02.CCS.aspx
bluebullet.gif Secuencias de comandos para Windows HPC
Microsoft.com/technet/scriptcenter/hubs/CCS.mspx
bluebullet.gif Implementación de servidor de Windows HPC, administración y administración
social.Microsoft.com/Forums/en-US/windowshpcitpros/threads/

Hojas de servidor o clúster procesamiento de cálculo

Los investigadores en nuestro laboratorio son agudos en observar los cambios en las condiciones sobre muy breves escalas temporales dentro de cada uno de los 96 wells utilizados en los experimentos.Los cambios condicionales se graban usando las cámaras digitales adjuntos microscopes.Software convierte a continuación, la información de imagery digital a niveles numéricos intensidad, de forma temporal, que, a continuación, se almacenan en las hojas de cálculo de Excel.Estas hojas de cálculo pueden ser procesados manualmente y incluidos los datos resultantes, a través de regresión no lineal, con funciones matemáticas cuidadosamente diseñadas.

El punto de ajuste de los datos de prueba con curva de regresión consiste en determinar los parámetros de ajuste, que pueden arrojar luz sobre los cambios experimentales en condiciones.Sin embargo, el painstaking proceso detrás de los cálculos y ajuste de curva requiere, como mínimo, 10 minutos por bueno y cambiarán la posibilidad de errores humanos, así como el tedio asociada con las operaciones de cortar y pegar.

Dentro de Programador de tareas (el complemento reemplazar tareas programadas en Windows Server 2008), permiten la aplicación de servidor se ejecute a intervalos predefinidos.Si la secuencia de comandos principal de Windows PowerShell busca las hojas de cálculo sin procesar en el servidor de archivos, se genera una secuencia de envío de trabajo que se implementa a continuación, en el programador de trabajo, a continuación, llama a en la aplicación de procesamiento de servidor (que reside en cada nodo de cálculo a través de una carpeta compartida) para procesar los los datos sin procesar.

Se utiliza SQL Server, en ejecución en un servidor remoto, para organizar los resultados obtenidos después de procesar datos de hoja de cálculo de Excel por cada experimentar (es decir, por la plancha bien).Nuestros scientists están interesados en ver tanto los resultados de la hoja de cálculo original y una representación visual intuitiva de los resultados de prueba en un formato fácil de usar, que se proporcionan.La aplicación del servidor no sólo genera resultados hojas de cálculo que contiene el parámetros de regresión no lineal, las estadísticas asociadas (conectará de ajuste y así sucesivamente) y trazados de curva, también ejecuta consultas SQL almacenar la misma información en una tabla base de datos asociada que contiene datos de todos los experimentos.Esto permite la información de consulta de los usuarios finales con más eficacia (mediante GUI, Graphical User INTERFACE), en vez de búsqueda laboriously a través de muchos pena de los archivos de hojas de cálculo.

Acceso de cliente de lado a los datos procesados

La aplicación gráfica que desarrollamos para facilitar la visualización de los usuarios finales de datos procesados se utiliza para ejecutar consultas remotas en SQL Server que contiene el resultado procesado y para presentar los resultados de la consulta a los usuarios finales en un formato descriptivo.Además, los usuarios finales puede exportar los resultados de SQL Server a hojas de cálculo de Excel directamente desde la GUI, permitiéndoles incorporar sus resultados a las publicaciones y presentaciones.La capacidad para exportar resultados a una nueva hoja de cálculo de Excel depende de los resultados de SQL Server que se enlaza a través de una estructura de datos del conjunto de datos a un control ListView de la aplicación.Investigadores pueden ahora vista experimentar resultados desde una perspectiva consolidado que no se pueden aprovechar antes.Mientras que, normalmente necesitaría un miembro de laboratorio 16 horas para procesar una única plancha de 96 bien (a 10 minutos por bueno), ahora tiene una fracción de ese momento.

Un conjunto de datos muy grande

Además aprovechando HPC 2008 en automatizar el proceso de hojas de cálculo de Excel generado a partir de nuestro sistema de creación de imágenes, también utilizar el clúster de cálculo de Windows para proceso consultas conjuntos de datos que contiene decenas de miles de archivos XML de contenido enriquecido.Nuestra biblioteca XML formado 300GB merece la pena de archivos XML, que cada contiene más de cien nodos o los campos con respecto a la cual se puede realizar consultas.Claramente, con tal un dataset grande, se convierte en informáticamente de importar nuestra biblioteca XML en una única instancia de base de datos de SQL Server mientras también mantiene actual.

Rendimiento de la base de datos se ve afectado tan pronto como archivos de base de datos superan un determinados umbral de tamaño (más de 100GB).Por lo tanto, compartir nuestra biblioteca XML a través de un gran número de nodos de calcular y distribuir la suma de nuestras consultas en todas para calcular los resultados de los nodos de clúster en tiempo de espera de consulta mínima para dicha un espacio de búsqueda de gran tamaño.Al mismo tiempo, almacenando el contenido de la biblioteca en un recurso compartido de archivo único servidor, se mantenga Mantenimiento de conjuntos de datos sobrecarga en un mínimo.

Joshua M. Kunken sirve como desarrollador del sistema y administrador en el instituto de referencia Scripps en La Jolla, California.Había ganado su grado del Bachelor la Universidad de California, Berkeley.Puede ponerse Josh enjkunken@scripps.edu. El trabajo descrito en este artículo se admitidos por el centro de tecnologías acelerado para Gene a estructura 3D.