Documento Tecnico Sobre Sgi Altix 3000 Para Universidad Politecnica De Valencia
Total Page:16
File Type:pdf, Size:1020Kb
DOCUMENTO TECNICO SOBRE SGI ALTIX 3000 PARA UNIVERSIDAD POLITECNICA DE VALENCIA Mayo 2003 SGI Pza. Descubridor Diego de Ordás 3 Edificio Santa Engracia 120 28003 MADRID 1 de 83 INDICE Capítulo/Sección Página 1 ANEXO TÉCNICO A: DESCRIPCIÓN DE LA ARQUITECTURA EMPLEADA EN LA FAMILIA SGI ALTIX 3000....................................................4 1.1 ARQUITECTURA SGI ALTIX 3000...............................................................5 1.1.1 DISTRIBUCIÓN DE MEMORIA.............................................................5 1.1.2 LATENCIA DE ACCESO A MEMORIA..................................................5 1.1.3 COHERENCIA DE CACHÉ....................................................................5 1.1.4 TIPO DE PARALELISMO.......................................................................5 1.1.5 TOPOLOGIA...........................................................................................5 1.1.5.1 RED DE INTERCONEXIÓN ........................................................................5 2 ANEXO TÉCNICO B: EL SUPERCLUSTER SGI ALTIX 3000 ....................5 2.1 INTRODUCCIÓN ............................................................................................5 2.2 MÓDULOS O BRICKS.....................................................................................5 2.2.1 CPU BRICK ITANIUM 2 (C-BRICK) .....................................................5 2.2.1.1 PROCESADOR INTEL® ITANIUM® 2 MCKINLEY..................................5 2.2.1.2 PROCESADOR INTEL® ITANIUM® 2 MADISON. ....................................5 2.2.2 ROUTER BRICK (R-BRICK) ..................................................................5 2.2.2.1 DISPOSICIÓN DE LOS NODOS, ROUTERS Y NUMALINKS .................5 2.2.2.2 SUPERCLUSTER..........................................................................................5 2.2.3 INPUT/OUTPUT BRICK (IX-BRICK) ...................................................5 2.2.4 PCI-X BRICK (PX-BRICK)....................................................................5 2.2.5 DISK BRICK2 (D-BRICK2) ....................................................................5 2.2.5.1 PROTECCIÓN FÍSICA DE LOS DISCOS....................................................5 2.2.6 TP900 ......................................................................................................5 2.2.7 POWER BAY...........................................................................................5 2.2.8 MODELOS ALTIX 3300 Y 3700: RACKS Y SISTEMA DE CONTROL ..5 2.2.8.1 SISTEMA DE CONTROL.............................................................................5 2.2.8.2 MONITORIZACIÓN DE SISTEMA.............................................................5 2.2.9 PARTICIÓN DEL SISTEMA ...................................................................5 3 ANEXO TÉCNICO C: SOFTWARE PARA LA FAMILIA SGI ALTIX 3000 5 3.1 SISTEMA OPERATIVO LINUX.....................................................................5 3.1.1 HISTORIA ...............................................................................................5 3.1.2 LINUX Y SGI...........................................................................................5 3.1.3 ENTORNO DE DESARROLLO AVANZADO: SGI PROPACK ..............5 3.1.4 PARTICIONES ........................................................................................5 3.2 PRODUCTOS DE SOFTWARE ASOCIADOS ................................................5 3.2.1 COMPILADORES ...................................................................................5 3.2.2 LIBRERIAS, TOOLKITS, Y APIS ............................................................5 3.2.2.1 MESSAGE-PASSING TOOLKIT Y OpenMP ..............................................5 3.2.2.2 SCSL (SILICON COMPUTING SCIENTIFIC LIBRARIES).......................5 3.2.3 HERRAMIENTAS DE DESARROLLO....................................................5 3.2.3.1 VTUNE Y PFMOM .......................................................................................5 3.2.4 HERRAMIENTAS DE ANÁLISIS DE PRESTACIONES Y MANEJO DE RECURSOS............................................................................................................5 3.2.4.1 PERFORMANCE CoPILOT (PCP) ...............................................................5 3.2.4.2 SGI CONSOLE ..............................................................................................5 2 de 83 3.2.4.3 CSA: Comprehensive System Accounting .....................................................5 3.2.4.4 GESTOR DE COLAS DE BATCH. MANEJADOR DE RECURSOS DEL SISTEMA.......................................................................................................................5 3.2.5 SISTEMA DE FICHEROS Y SUBSISTEMA DE E/S ...............................5 3.2.5.1 XFS. SISTEMA DE FICHEROS. ..................................................................5 3.2.5.2 XLV / XVM PLEXING .................................................................................5 3.2.5.3 SUBSISTEMA DE E/S ..................................................................................5 3.2.6 COMO UTILIZAR EL SOFWARE...........................................................5 3 de 83 1 ANEXO TÉCNICO A: DESCRIPCIÓN DE LA ARQUITECTURA EMPLEADA EN LA FAMILIA SGI ALTIX 3000 El componente hardware constituye una parte fundamental de un computador puesto que de alguna forma indica el máximo rendimiento que un equipo será capaz de ofrecer. Complementariamente será preciso disponer de un sistema operativo eficaz y versátil que permita manejarlo de manera cómoda y simple y, por otra parte, que los compiladores y utilidades de desarrollo permitan acercar al máximo el rendimiento real a los límites que el hardware impone (prestaciones ideales o “peak performance”). Probablemente este componente hardware de la familia Altix 3000 constituya la parte más diferencial y novedosa respecto a la oferta existente en el mercado informático actual. La tecnología cc-NUMA (cache coherent Non Uniform Memory Access) evolucionada en su ya tercera generación, constituye un elemento diferencial e innovador que permite una escalabilidad hasta un elevadísimo número de procesadores manteniendo altísimos niveles de eficiencia y siempre gobernados por una única copia de sistema operativo (Single System Image o SSI). La primera generación cc-NUMA fue desarrollada en el ámbito experimental en un proyecto conjunto de SGI con la Universidad de Stanford denominado DASH y que fue dirigido por Daniel E. Lenoski, director de ingeniería de la división de sistemas de supercomputación de Silicon Graphics. En esta primera aproximación fueron estudiadas todas las topologías de interconexión, los sistemas más adecuados de medición de las características críticas: ancho de banda y latencia, y las necesidades operativas para conseguir sistemas que permitiesen llegar hasta un número muy elevado de procesadores ejecutando aplicaciones paralelas eficientemente y sin renunciar al paradigma de memoria compartida que proporciona una sencillez de programación comparativamente muy superior a la proporcionada por las librerías de paso de mensajes. La segunda generación de sistemas escalables cc-NUMA fue la versión comercial y optimizada de la anterior y fue el origen de una nueva familia y generación de sistemas denominada Origin 2000. Estos sistemas, de los cuales SGI ha instalado más de 50.000 en el mundo desde su introducción en 1.996, constituyen una palpable demostración de las capacidades de procesamiento paralelo y de la fiabilidad, madurez y robustez de este tipo de arquitectura. 4 de 83 A mediados del año 2.000 SGI introduce su tercera generación de sistemas escalables cc-NUMA, cuyas características técnicas se detallan a continuación, y que constituye el núcleo de la oferta presentada. 1.1 ARQUITECTURA SGI ALTIX 3000 Existen numerosas clasificaciones de los distintos tipos de arquitecturas de computadores multiprocesador o paralelos. Según el criterio de clasificación que se utilice se pueden aplicar diferentes calificativos a la arquitectura del SGI Altix 3000 1.1.1 DISTRIBUCIÓN DE MEMORIA Atendiendo al criterio de ubicación de la memoria, se pueden clasificar los computadores en sistemas de memoria compartida (o “Shared Memory”) y sistemas de memoria distribuida (o “Distributed Memory”). Los sistemas de memoria distribuida conllevan que los datos del usuario estén repartidos a través de las distintas “porciones” de la memoria del sistema y que este hecho no sea “transparente” al usuario. Esto significa que es preciso que el programa (o aplicación) distribuya convenientemente los datos y comunique los cambios en los mismos explícitamente mediante la utilización de librerías de paso de mensajes (PVM, MPI o SHMEM p.e.), y en definitiva, implica un sobrecoste importante en cuanto al desarrollo, facilidad de uso y patología de problemas que conlleva. Como contrapartida, estos sistemas permiten utilizar un número muy elevado de procesadores, puesto que al tratarse de arquitecturas distribuidas la ampliación consiste simplemente en añadir más procesadores y memoria e interconectarlos al sistema. Por otra parte, los sistemas de memoria compartida permiten un esquema de programación muchísimo más simple. La generación de códigos para que se ejecuten en paralelo no implica una recodificación de los mismos en alguna de las librerías mencionadas sino que especificando unas pocas directivas o simplemente con la utilización de compiladores con opción de autoparalelización es suficiente. En su aspecto negativo, este tipo de sistemas no suelen permitir