Macroordenadores e grupos de computadores

Roa Zubia, Guillermo

Elhuyar Zientzia

En Santa Bárbara, California, había un computador de 30.000 tubos sen carga. O sistema de refrixeración de tubaxes (aire acondicionado) ocupaba toda a planta dun edificio. Tiña 64 K de memoria RAM e 12 kHz de velocidade. Por suposto, a entrada e a saída eran cartóns perforados e una cinta de papel, respectivamente. Non tiña pantalla. Cando estaba en funcionamento, "absorbía" o 10% da electricidade da cidade e, ademais, por medo a crear picos de tensión, nunca o apagaban. Os macroordenadores apareceron nos inicios da informática. Macroordenadores vectoriales Clusters: a colaboración dos máis pequenos Top500 Macroordenadores en Euskal Herria

Que é un macroordenador? Una definición é: "Computador de alta capacidade que se conecta a outros computadores. O seu tamaño depende da memoria; os maiores teñen una memoria principal de varios gigabytes e varios terabytes de memoria de disco". Desde o punto de vista actual, é posible que estas máquinas grandes defínanse con outra idea: un computador que fai cousas que non se poden facer co computador de casa. Con todo, ambas as definicións non son moi concretas.

O primeiro macroordenador (si é posible) foi construído en 1975 polo informático estadounidense Seymour Cray, que lle deu o seu nome: Cray 1. Achega ideas arquitectónicas innovadoras; foi o primeiro computador vectorial, é dicir, tiña rexistros que traballaban con vectores (matrices unidimensionales). Esta idea é moi útil paira programala en linguaxe FORTRAN, que era a linguaxe máis adecuada paira o software da ciencia, xa que coas matrices os cálculos eran fáciles. Ademais, dispuña de procesadores en paralelo.

Empresas como Alliant, Ardent ou Convex fabricaron ordenadores máis pequenos da mesma filosofía e fabricáronse moitos novos modelos de Cray. Na actualidade, os 'sucesores' do computador Cray 1 ocupan aproximadamente o 10% do mercado de supercomputación. Con todo, cada una destas macroodenadoras ten una capacidade de operación limitada, si necesítase una maior capacidade débense formar equipos de computador.

Grupos de computadores

Un computador vectorial Cray.

Éxito dos computadores interconectados. E é que os macroordenadores son máquinas moi caras e paira o mantemento tamén se necesita moito diñeiro. Con todo, calquera empresa pode instalar, xestionar e utilizar a rede de computadores 'pequenos' paira realizar estes xigantescos traballos. Por iso, en lugar de utilizar un computador con máis dun procesador, traballouse a forma de traballar en paralelo paira moitos computadores dun mesmo procesador.

Cada computador dun grupo recibe o nome de nodo e pode ter centos conectados a devandita rede. Tamén se poden conectar equipos. A estrutura que agrupa a 16 grupos chámase constelación. Á vista de todo iso, enténdese facilmente que un macroordenador non teña a mesma capacidade de cálculo que varios grupos. Por outra banda, un equipo de computadores é accesible paira una empresa, tanto desde o punto de vista da máquina como do mantemento, si conéctase a redes doutras empresas o custo distribúese.

Política de cálculo

Nos anos 80, os gobernos puxeron en marcha moitos centros de supercomputación con macroordenadores. Ás empresas que non podían pagar este tipo de máquinas dábaselles a posibilidade de conectarse a estes centros. Por tanto, os gobernos xestionaban as maiores necesidades informáticas das empresas.

Os equipos de computador son una boa alternativa aos macroordenadores.

Pero neses anos desenvolvéronse os computadores máis pequenos (computadores persoais, entre outros) e a idea de grupos de computadores. Aos poucos abaratáronse os recursos necesarios paira formar as redes. A finais da década de 1990 as empresas perderan a tendencia aos centros de supercomputación. Os grupos tiñan importantes vantaxes: xestionábaos un mesmo, desaparecía a dependencia do goberno e, ademais, o computador non debía compartirse. En consecuencia, a capacidade de cálculo era maior.

Os gobernos recorreron a reducir o número de centros. Na actualidade, en moitos Estados hai poucos deles porque aínda son necesarios paira certas tarefas (o exemplo é o proxecto Blue Gene). Algúns centros convertéronse en bases de datos públicas, pero a tendencia da maioría dos grupos de investigadores é a de contar con equipos de computador privados. Cal será a principal oportunidade de futuro? Nun par de décadas a situación pode cambiar.

Blue Gene : aplicación paira queimar chips

Estrutura tridimensional dunha proteína.

Máis aló da informática teórica, merece a pena analizar como se aplica a enorme capacidade dos macroordenadores. A posta en marcha destas máquinas é custosa, polo que hai que aproveitalas, por exemplo, tendo en conta que estes computadores requiren sistemas especiais de aire acondicionado.

Que hai que calcular nestas máquinas grandes? O proxecto Blue Gene que puxo en marcha IBM en 1999 é un bo exemplo. Este proxecto púxose en marcha paira investigar un dos problemas máis importantes da bioquímica: o encartado de proteínas. Paira abordar este traballo ideouse un computador cunha nova arquitectura, cuxo segundo obxectivo é analizar a eficacia da nova arquitectura.

Por que hai que investigar como se dobran as proteínas? É fácil, porque as proteínas son responsables das reaccións químicas do corpo. Se as proteínas deterióranse" prodúcense enfermidades graves que a miúdo se deterioran por un mal encartado. Sabemos que enfermidades como o Alzheimer, a hemofilia e outras teñen que ver con proteínas mal encartadas.

Problema de conformado

En xeral, as proteínas son cadeas de aminoácidos. Existen 20 tipos de aminoácidos dos que a proteína presenta características químicas segundo a súa secuencia. Pero a química non só a determina a secuencia, senón que é moi importante a localización espacial dos aminoácidos. Os aminoácidos moi afastados da cadea deben estar fisicamente cerca para poder cumprir a súa función, é dicir, a cadea debe encartarse en tres dimensións adecuadamente. Se se toma una conformación equivocada, a proteína non poderá traballar.

Grupo de computadores en baldas.

Pero a medida que a proteína se sintetiza, como sabe cal é a súa conformación? Que patrón segue paira encartar proteínas? Se o soubésemos, inventariamos proteínas paira producir a reacción química desexada coa simple definición da secuencia. Blue Gene trata de atopar estes patróns.

Números grandes

As proteínas conteñen centos de aminoácidos. Por exemplo, a hemoglobina, una proteína que transporta osíxeno no sangue, contén 612 aminoácidos. O ángulo diedro entre tres aminoácidos consecutivos pode ter moitos valores, polo que a proteína pode conter millóns de estruturas espaciais. Só una delas é adecuada

sorprendentemente, a proteína se pliega normalmente con esta estrutura

Os científicos propoñen patróns do proceso de encartado de proteínas, pero a capacidade de cálculo e a memoria necesarias paira demostrar que están ou non son correctas. O traballo dun macroordenador é imprescindible. A empresa IBM deseñou un gran computador cunha arquitectura singular: Blue Gene. Neste proxecto traballarase o modelo dunha proteína de tamaño medio que contén 300 aminoácidos.

Blue Gene: arquitectura especial paira conseguir velocidades de cálculo moi altas.
IBM

Lectores rápidos

Blue Gene deseñouse paira ser 500 veces máis rápido que o computador máis rápido do mundo. Como se conseguiu? En moitos computadores, o maior tempo necesario paira acceder aos datos dos chips de memoria. O proxecto Blue Gene deseñou chips paira facer fronte a este problema.

Cada chip consta de dous procesadores: uno de cálculo e outro de comunicación. Cada grupo de chips encárgase de parte do cálculo completo. Esta estratexia acelera enormemente a capacidade de cálculo. No caso das proteínas, por exemplo, os ficheiros de traballo deben ser moi grandes (ficheiros que permanecen durante os cálculos), e a duración do traballo depende en última instancia do tempo que buscamos os datos que necesitamos.

En aplicacións complexas, os computadores deben realizar millóns de operacións aritméticas no menor tempo posible. Paira iso, fai uns corenta anos, os informáticos inventaron computadores vectoriales. Estes computadores, en lugar de utilizar números sinxelos, utilizan vectores, é dicir, listas de números (paira informáticos, matrices unidimensionales).

(Foto: G. Ponte Roia). Paira ver ben a foto ir ao pdf.

Os computadores vectoriales utilizan liñas de pipes paira un cálculo rápido. A idea destas pipe-line é moi sinxela, é o mesmo principio que a fabricación de series. Cun exemplo enténdese facilmente. Supoñamos que temos que calcular a diferenza entre os datos de dúas listas de números, paira iso hai que seguir catro pasos: a) tomar un número de cada lista, b) restar c) se o resultado de réstaa é negativo, cambiar o signo e d) almacenar o resultado en memoria. Se cada paso realízase nun microsegundo, paira tratar un par de números necesítanse catro microsegundos.

As listaxes que utilizaremos son: 10, 3, 2, 6, 7, 1, 5, 10, … e 7, 8, 14, 5, 3, 4, 5, 6, …

En cambio, nunha pipe-line, cando o primeiro par de números terminou o primeiro paso, vaise ao segundo, pero un segundo par de números entran no primeiro paso. Así, en cada microsegundo, as paredes interiores avanzarán un paso e incorporarase un par no primeiro paso libre. Deste xeito, a operación do primeiro par requirirá tres microsegundos, pero o do segundo par finalizará no cuarto microsegundo (e non no sexto, coma se realizásense un a un).

(Foto: G. Ponte Roia). Paira ver ben a foto ir ao pdf.

Foi un exemplo sinxelo, pero hai que ter en conta que os computadores realizan operacións aritméticas con números de coma móbil. (A escritura de coma móbil paira representar un número utiliza una mantis e una característica, é dicir, é una escritura de tipo 0,233 x 10 3).

A aritmética destes números require máis pasos que os números enteiros. Os macroordenadores vectoriales incorporan sistemas pipe-line de cálculo con coma móbil. Ademais, ao combinar vectores completos con rexistros paira o tratamento de números simples, poden realizar operacións aritméticas extremadamente rápidas. O máis famoso dos primeiros macroordenadores deste tipo, Cray 1, data do ano 1976.


Moitas veces, un grupo de pequenos computadores pode traballar nun computador vectorial. Esa é a filosofía principal dos grupos de computadores. No entanto, todos os computadores que compoñen o grupo deben estar conectados dalgunha maneira a unha rede. A cada computador participante denomínaselle nodo. Pero, onde está o software que necesitan todos os nodos? Utilizarán a memoria conxunta ou cada nodo utilizará a súa? Desde o punto de vista arquitectónico de todo o sistema existen tres formas de organización.

Discos compartidos

Este tipo de ordenación é moi utilizada. A rede dispón de dispositivos xerais de entrada e saída, accesibles desde cada nodo. Estes dispositivos inclúen arquivos e bases de datos. Así, o sistema non necesita compartir memorias de nodos.

O principal problema deste sistema é a dispoñibilidade de todos os nodos. Nun momento dado, todos os nodos poden escribir ou ler simultaneamente nos discos xerais. Paira poder controlar todo isto é necesario un mecanismo de sincronización: o xestor do bloqueo.

A deterioración dun nodo nestes sistemas non afecta a outros. Isto proporciona una gran dispoñibilidade ao sistema, aínda que en ocasións esta característica retarda o traballo debido aos estrechamientos que xera a actividade do xestor do bloqueo.

Sistemas sen compartición

Nestes sistemas non hai discos dispoñibles paira os nodos. Por iso, nestes sistemas o número de nodos non está tan limitado como en ocasións anteriores. Estes sistemas teñen centos de nodos.

Sistemas espellos

Aínda que nestes sistemas os datos están almacenados nun disco xeral, cópianse a un segundo paira aumentar a dispoñibilidade. Normalmente non se traballa nesta copia, salvo que se estrague o disco orixinal. Se se estraga, esta organización recupera os datos moi rapidamente. Estes sistemas normalmente só teñen dous nodos. Moitos dos servidores que soportan a rede Internet son sistemas deste tipo.


Dúas veces ao ano, durante os meses de xuño e novembro, organízanse congresos de supercomputación paira dar a coñecer o sucedido neste ámbito. O último congreso, de novembro do ano pasado, tivo lugar en Estados Unidos, Denver, e o anterior, de xuño, en Heilderberg, Alemaña. Nestes congresos recóllense os datos dos centros de supercomputación e actualízase a listaxe Top500. Nesta listaxe analízanse os 500 centros de maior capacidade e as súas características. Os cambios entre as diferentes versións da listaxe pódense consultar na seguinte páxina web: http://www.top500.org/


En canto aos grandes centros de cálculo, no País Vasco a tendencia é a mesma que no resto do mundo. No pasado, cando se impulsaban centros de funcionamento de macroordenadores, a Viceconsejería de Industria do Goberno Vasco e o centro tecnolóxico Labein asinaron un convenio paira a instalación dun centro de computación. Decidiuse situar este centro no Parque Tecnolóxico de Zamudio.

LABEIN

Púxose en marcha un macroordenador Convex que podía ser utilizado en varias empresas de Euskal Herria. As empresas ás que se ía a conectar pertencían principalmente ao ámbito da enxeñaría, co obxectivo de realizar neste xigantesco computador os grandes cálculos necesarios paira o deseño.

A mellor configuración desta máquina convex foi o computador paralelo de 8 procesadores vectoriales. Nun principio, algunhas empresas tiveron un gran interese. Con todo, en lugar de ser un centro de supercomputación, a tendencia xeral foi a buscar outras solucións (por exemplo, grupos de computadores xestionados por un mesmo). Durante algúns anos foi utilizado por varios grupos de investigadores da Universidade do País Vasco, pero finalmente suspendeuse o centro de supercomputación.

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila