De Manuais Referencia Departamento Informatica
Contenido |
Introdución
Tradicionalmente, as computadoras víronse como máquinas secuenciais, pero a medida que a tecnoloxía se foi desenrolando, e baixou o custo do hardware, os deseñadores de equipos atopan mais e mais posibilidades no paralelismo, normalmente para mellorar as prestacións e, en algúns casos, para mellorar a fiabilidade.
Taxonomía de Flynn
A taxonomía de Flynn é unha clasificación de arquitecturas de computadoras proposta por Michael J. Flynn no 1972.
Clasificacións das arquitecturas: As catro clasificacións definidas por Flynn baséanse no número de instrucións concorrentes e nos fluxos de datos dispoñibles na arquitectura:
- Unha instrución, un dato (SISD): Computador secuencial que non explota o paralelismo nas instrucións nin en fluxos de datos. Exemplos de arquitecturas SISD son as máquinas con uni-procesador ou monoprocesador tradicionais.
- Múltiples instrucións, un dato (MISD): Pouco común pois a efectividade dos múltiples fluxos de instrucións precisa de múltiples fluxos de datos. Así e todo, este tipo emprégase en situacións de paralelismo redundante, como por exemplo en navegación aérea, onde se precisan varios sistemas de respaldo en caso de que un falle. Tamén se propuxeron algunhas arquitecturas teóricas que fan uso de MISD, pero ningunha chegou a producirse en moito volume.
- Unha instrución, múltiples datos (SIMD): Un computador que explota varios fluxos de datos dentro dun único fluxo de instrucións para realizar operacións que poden ser paralelizadas de maneira natural. Nesta clasificación entrarían os Procesadores vectoriais e os Procesadores matriciais.
- Múltiples instrucións, múltiples datos (MIMD): Varios procesadores autónomos que executan simultaneamente instrucións diferentes sobre datos diferentes. Os sistemas distribuídos soen clasificarse como arquitecturas MIMD; así temos os que explotan un único espacio compartido de memoria, onde se encadran os Procesadores superescalares, o Multiprocesador simétrico (SMP) e o Acceso non uniforme a memoria (NUMA); e os que traballan cun espacio de memoria distribuído, como os Clusters.
Procesadores Vectoriais e Matriciais
Vexamos unhas definicións:
- Os procesadores escalares son o tipo mais sinxelo de procesadores, neles cada instrución opera sobre un dato cada vez.
- Un procesador vectorial é un deseño de CPU capaz de executar operacións matemáticas sobre múltiples datos de forma simultánea.
- Un procesador matricial é aquel que explota o paralelismo inherente nos datos mais que nas instrucións, trátase dun computador de tipo SIMD clásico.
Hoxe en día, a grande maioría das CPUs son escalares ou superescalares, é dicir, que son capaces de executar mais dunha instrución por ciclo de reloxo.
Os procesadores vectoriais foron moi comúns na área da computación científica durante os anos 80 e 90, formando a base da maior parte dos supercomputadores naqueles anos.
Así e todo, a mellora da tecnoloxía e dos deseños de procesadores superescalares fixeron que o uso de procesadores vectoriais como procesadores de propósito xeral sexa hoxe en día practicamente nulo pero, iso si, case todas as CPU seguen incluíndo algunhas instrucións de procesamento de tipo vectorial. En particular, as consolas de videoxogos e as tarxetas gráficas fan un uso intensivo deste tipo de procesamento (como, por exemplo o procesador Cell da PlayStation 3).
Procesadores Vectoriais
No camiño cara os multiprocesadores e multicomputadores atopámonos cós procesadores vectoriais que son unha forma tamén de procesamento paralelo.
Normalmente o cálculo científico e matemático precisa da realización dun número elevado de operacións en moi pouco tempo. A maioría dos problemas físicos e matemáticos pódense expresar facilmente mediante a utilización de matrices e vectores. Os procesadores vectoriais permiten explotar ao máximo este tipo específico de datos ademais de supoñer unha mellora na claridade da linguaxe empregada na resolución dos problemas.
O paralelismo ven de que ao operar con matrices, normalmente, os elementos das matrices son independentes entre si, é dicir, non existen dependencias de datos dentro das propias matrices, en xeral. Isto permite que todas as operacións entre elementos dunhas matrices con outras poidan realizarse en paralelo ou, a lo menos, no mesmo cauce de instrucións sen que ocorran conflitos entre os datos.
Outra vantaxe do cálculo matricial é que vai permitir replicar as unidades de cálculo sen necesidade de replicar as unidades de control. Teríase neste caso unha especie de multiprocesador sen necesidade de ter que replicar tanto a unidade de control como a de cálculo.
Os procesadores vectoriais caracterízanse porque van a ofrecer unha serie de operacións de alto nivel que operan sobre vectores, é dicir, matrices lineais de números.
As instrucións vectoriais teñen as seguintes propiedades importantes:
- O cálculo de cada resultado é independente dos resultados anteriores no mesmo vector, o que permite un cauce moi profundo sen xerar riscos polas dependencias de datos.
- Unha soa instrución vectorial especifica unha grande cantidade de traballo, xa que equivale a executar un bucle completo. Polo tanto, o requisito de anchura de banda das instrucións redúcese considerablemente. Nos procesadores NON vectoriais, onde se precisan moitas mais instrucións, a busca e decodificación das instrucións poden representar un pescozo de botella, que foi detectado por Flynn no 1966 e por iso se lle chama Pescozo de botella de Flynn.
- As instrucións vectoriais que acceden a memoria teñen un patrón de acceso coñecido. Se os elementos da matriz son todos adxacentes, entón extraer o vector dun conxunto de bancos de memoria entrelazada funciona moi ben. A alta latencia de iniciar un acceso a memoria principal, en comparación con acceder a unha cache, se amortiza porque se inicia un acceso para o vector completo en lugar de para un único elemento. Por este motivo, o costo da latencia a memoria principal págase unha soa vez para o vector completo, en lugar dunha vez por cada elemento do vector.
- Como se substitúe un bucle completo por unha instrución vectorial cuxo comportamento está predeterminado, os riscos de control no cauce, que normalmente podería xurdir do salto do bucle, son inexistentes.
Procesadores Matriciais
A configuración básica dun Procesador Matricial está composta por N Elementos de Proceso (EP) sincronizados e baixo o control dunha única Única Unidade de Control (UC).
Cada elemento de proceso está formado basicamente por unha unidade aritmético lóxica, asociada a uns rexistros de traballo, e unha memoria local para o almacenamento de datos distribuídos. A unidade de control, que moitas veces é un procesador escalar, ten a súa propia memoria para almacenar o programa e datos.
As instrucións escalares e de control como saltos, etc. execútanse directamente na unidade de control. As instrucións vectoriais son transmitidas aos EPs para a súa execución. Deste xeito alcánzase un alto grao de paralelismo gracias á multiplicidade dos elementos procesadores.
A diferencia dos procesadores matriciais cós vectoriais é que os vectoriais as veces procesan compoñentes solapadamente no cauce mentres que os matriciais o fan sempre simultaneamente.
Multiprocesador Simétrico (SMP)
SMP son as siglas de Symmetric Multi-Processing, multiproceso simétrico. Trátase dun tipo de arquitectura de ordenadores na que dous ou mais procesadores comparten unha única memoria central.
A arquitectura SMP (Multi-procesamiento simétrico, tamén chamada UMA, de Uniform Memory Access), caracterízase en que varios microprocesadores comparten o acceso á memoria. Todos os microprocesadores compiten en igualdade de condicións por dito acceso, de aí a denominación de "simétrico".
Así un SMP pode definirse como un computador coas seguintes características:
- Hai dous ou mais procesadores similares de capacidades comparables.
- Estes procesadores comparten a memoria principal e as E/S, e están interconectados mediante un bus ou outro tipo de sistema de interconexión, de forma que o tempo de acceso a memoria é aproximadamente o mesmo para todos os procesadores.
- Todos os procesadores comparten os dispositivos de E/S, ben ao traveso das mesmas canles, ou ben mediante canles distintos que proporcionan camiños de acceso ao mesmo dispositivo.
- Todos os procesadores poden desempeñar as mesmas funcións (de aí o termo simétrico).
- O sistema está controlado por un sistema operativo integrado, que proporciona a interacción entre os procesadores e os seus programas nos niveis de traballo, tarefa, ficheiro e datos.
O significado dos puntos do 1 ao 4 é claro. O punto 5 corresponde a unha das diferenzas cós sistemas multiprocesador debilmente acoplados, tales como os "cluster". Nestes, a unidade de interacción física é normalmente unha mensaxe ou un ficheiro completo. Nun SMP, a interacción pódese producir ao traveso de elementos de datos individuais, e pode existir un elevado nivel de cooperación entre procesadores.
O Sistema Operativo dun SMP planifica a distribución de procesos ou fíos (threads) entre todos os procesadores. Un SMP ten as seguintes vantaxes potenciais con respecto a unha arquitectura multiprocesador:
- Prestacións: Se o traballo a realizar por un computador pode organizarse de forma que partes do mesmo se poidan realizar en paralelo, entón un sistema con varios procesadores proporcionará mellores prestacións que un cun só procesador do mesmo tipo.
- Dispoñibilidade: Nun multiprocesador simétrico, debido a que todos os procesadores poden realizar as mesmas funcións, un fallo nun procesador non fará que o computador se deteña.
- Crecemento incremental: Pódense aumentar as prestacións do sistema, engadindo mais procesadores.
- Escalado: Os fabricantes poden ofrecer unha gama de produtos con precios e prestacións diferentes, en función do número de procesadores que configuran o sistema.
MPP fronte a SMP
MPP (Massive parallel processing - Procesamento Masivo en Paralelo) é un termo empregado para referirse a un sistema informático con moitas unidades aritméticas ou microprocesadores enteiros independentes, que traballan en paralelo.
Trátase dun Cluster con M servidores, cada un pode ter N procesadores (normalmente SMP). Polo tanto, terá M Sistemas Operativos instalados e, normalmente, unha aplicación que os coordina todos.
Clusters
Os clusters constitúen a alternativa aos multiprocesadores simétricos (SMP) para dispoñer de prestacións e dispoñibilidade elevadas, e son particularmente atractivos en aplicacións propias dun servidor.
Pódese definir un "cluster" como un grupo de computadores completos interconectados, que traballan conxuntamente como un único recurso de cómputo, creándose a ilusión de que se trata dunha soa máquina. O termo computador completo fai referencia a un sistema que pode funcionar por si só, independentemente do cluster.
Usualmente, cada computador do cluster denomínase nodo.
Pódense enumerar catro beneficios que se poden acadar cun cluster:
- Escalabilidade absoluta: Un cluster pode ter decenas de máquinas e así superar, incluso, as prestacións de moitos computadores independentes moi potentes.
- Escalabilidade incremental: Pódense engadir novos sistemas ao cluster en ampliacións sucesivas.
- Alta dispoñibilidade: Como cada nodo do cluster é un equipo autónomo, o faio dun dos nodos non significa a perda do servicio. Na maioría dos casos, é o software o que proporciona automaticamente a tolerancia a faios.
- Mellor relación precio/prestacións: Ao utilizar elementos estandarizados, é posible configurar un cluster con maior ou igual potencia de cómputo que un computador independente maior, a moito menor costo.
Podemos facer a seguinte clasificación dos cluster a partires das súas características de funcionamento (aínda que os dous primeiros tipos non se consideran como clusters propiamente ditos):
- Espera pasiva: Un servidor secundario substitúe ao servidor primario en caso de que faie. Será moi fácil de crear, pero terá un alto costo debido a que o servidor secundario non está dispoñible para outras tarefas de procesamento.
- Secundario activo: O servidor secundario emprégase tamén para tarefas de procesamento, polo que o costo é reducido, iso si, aumenta a complexidade.
- Servidores separados: Cada servidor ten o seu propio disco. Os datos cópianse dende o servidor primario ao secundario. Con este cluster conséguese alta dispoñibilidade pero a rede e o servidor teñen unha alta carga de traballo debido ás operacións de copia.
- Servidores conectados a discos: Os servidores conéctanse aos mesmos discos, pero cada servidor ten os seus propios discos. Se faia un servidor, outro servidor accede aos seus discos. Este tipo de montaxe fai que a rede e os servidores non teñan moita carga de traballo. Pero, por outra banda precisaranse discos en RAID para afrontar o risco de faio dun disco.
- Servidores compartindo discos: Os servidores comparten simultaneamente o acceso aos discos. Este montaxe, como o anterior, fai que a rede e os servidores non teñan moita carga de traballo. Pero, precísase software de control de acceso exclusivo. Normalmente empréganse discos en RAID.
Clusters fronte a SMP
Tanto os clusters coma os multiprocesadores simétricos (SMP) constitúen configuracións con varios procesadores que poden executar aplicacións cunha alta demanda de recursos. Estas dúas solucións están dispoñibles comercialmente, aínda que os SMP están xa dende fai mais tempo.
- A principal vantaxe dun SMP é que resulta mais fácil de xestionar e configurar que un cluster. O SMP está moito mais cerca do modelo de computador dun só procesador, polo que as aplicacións son moito mais sinxelas de adaptar. O principal cambio que se precisa para pasar dun computador monoprocesador a un SMP refírese ao funcionamento do planificador.
- Outra vantaxe dun SMP é que precisa menos espacio físico e consume menos enerxía que un cluster comparable en potencia de cómputo.
- Unha última e importante vantaxe é que os SMP son plataformas estables e ben establecidas.
Non obstante, có tempo, as vantaxes dos clusters serán as que, probablemente, farán que sexan estes os que dominen o mercado de servidores de altas prestacións. Isto é porque os clusters son superiores aos SMP en termos de escalabilidade absoluta e incremental e, ademais, tamén son superiores en termos de dispoñiblidade, posto que todos os compoñentes do sistema poden facerse altamente redundantes.
Acceso non uniforme a memoria (NUMA)
Non-Uniform Memory Access ou Non-Uniform Memory Architecture (NUMA) é un tipo de arquitectura de procesamento paralelo en que cada procesador ten a súa propia memoria local pero pode tamén ter acceso á memoria de outros procesadores. Está é chamada non uniforme porque un procesador pode acceder á súa propia memoria local mais rápido que á memoria non local (memoria que está en outro procesador ou compartida entre procesadores).
A arquitectura NUMA ofrece a "escalabilidade" de MPP e a programación simple de SMP.
Incialmente as CPU dos ordenadores funcionaban mais lentas que as súas memorias; sendo superado o seu rendemento en 1970. Dende entón as CPUs debían esperar mentres os accesos a memoria eran completados.
Limitar o número de accesos a memoria é a clave dun alto rendemento nun ordenador moderno. Para os procesadores isto significa o incremento de alta velocidade da memoria caché e o uso de algoritmos mais sofisticados para evitar os erros de caché. Aínda que o drástico aumento do tamaño dos sistemas operativos e as aplicacións que se executan neles abrumaron as melloras do procesamento da caché. Os sistemas de multiprocesamento fan que o problema sexa aínda peor. Agora o sistema debe bloquear varios procesadores á vez, porque só un procesador pode acceder á memoria á vez.
NUMA intenta resolver este problema ofrecendo memoria distribuída para cada procesador, evitando así que afecte ao rendemento do sistema cando varios procesadores intentan acceder á mesma memoria. Para os problemas das propagacións de datos (comúns en servidores), NUMA pode mellorar o rendemento utilizando unha única memoria compartida por un factor de aproximadamente o número de procesadores (ou separando bancos de memoria).
Hai que ter en conta as seguintes definicións:
- Acceso uniforme a memoria (UMA, Uniform Memory Access): Todos os procesadores poden acceder a toda a memoria principal empregando instrucións de carga e almacenamento. O tempo de acceso dun procesador a calquera rexión da memoria é o mesmo. E o tempo de acceso a memoria por parte de todos procesadores é o mesmo. A organización SMP é unha organización UMA.
- Acceso non uniforme a memoria (NUMA, NonUniform Memory Access): Todos os procesadores teñen acceso a todas as partes de memoria principal empregando instrucións de carga e almacenamento. O tempo de acceso a memoria dun procesador depende da rexión á que se acceda. A última frase é certa para todos os procesadores; non obstante para procesadores distintos, as rexións de memoria que son mais lentas ou rápidas son diferentes.
- NUMA con coherencia de cache (CC-NUMA, Cache-Coherent NUMA): Os sistemas CC-NUMA buscan reducir o tempo de acceso aos datos residentes nun nodo remoto empregando para elo caches que almacenen datos remotos
- COMA (Cache Only Memory Architecture): Os sistemas COMA son sistemas nos que o tempo de acceso a unha posición de memoria non depende exclusivamente da súa dirección. Nos sistemas COMA, os módulos de memoria se comportan como grandes caches que almacenan o conxunto de traballo utilizado por cada procesador.
Un sistema NUMA sen coherencia de cache, é mais ou menos equivalente a un cluster. As alternativas que despertaron mais interés comercial son os CC-NUMA, que son bastante diferentes dos SMP e os cluster.
Arquitectura CC-NUMA
Os sistemas CC-NUMA buscan reducir o tempo de acceso aos datos residentes nun nodo remoto empregando en cada nodo unha cache de terceiro nivel (L3). Esta cache recibe o nome de "cache remota" (RC) xa que almacena copias de datos remotos que xa foron utilizados. O uso da cache remota permite aumentar o porcentaxe de accesos resoltos de forma local.
CC-NUMA, ao igual que NUMA, utiliza memoria fisicamente distribuída entre os nodos. Nas máquinas CC-NUMA, cada nodo posúe unha parte do espacio compartido de direccións e unha memoria cache que pode utilizarse para replicar ítems presentes en calquera outro nodo. Dado que a memoria física está uniformemente repartida entre os nodos e ademais o seu tamaño é igual ao da memoria direccionable, basta con analizar a dirección solicitada para determinar en que nodo reside o bloque que contén o dato.
Cando se produce un faio na cache local do nodo, o dato se solicita á memoria local do nodo ou á memoria de outro nodo, de acordo coa súa dirección física. Se o dato na cache se modifica, faise necesario actualizar a memoria do nodo onde resida ese dato. A arquitectura CC-NUMA, polo tanto, utiliza o bloque como unidade de coherencia. Para cada nodo, o acceso a un bloque ven deteminado polo nodo no que dito bloque resida, polo que o acceso é non uniforme.
Do visto deducimos dúas cousas:
- A cantidade de datos que se poden replicar localmente (para facer mais eficiente o seu acceso) vese limitado polo tamaño da cache (SRAM) de cada nodo, o que non permite utilizar memoria normal (DRAM) para almacenar copias dos datos.
- O rendemento das máquinas CC-NUMA depende de forma crítica da distribución inicial dos datos nas diferentes memorias locais, xa que unha distribución incorrecta xeraría moitas mais solicitudes remotas que locais.
Arquitectura COMA
Os sistemas COMA son sistemas nos que o tempo de acceso a unha posición de memoria non depende da súa dirección. Para conseguir este obxectivo, nas arquitecturas COMA os módulos de memoria se comportan como caches de gran tamaño denominadas "memorias de atracción".
Como se veu no punto anterior, o rendemento dos sistemas CC-NUMA vese prexudicado polo feito de que os datos situados en nodos remotos non poden ser almacenados na memoria local, o que restrinxe a cantidade total de datos que poden replicarse dende os nodos remotos nun instante dado. Polo tanto, o rendemento dos sistemas CC-NUMA, ao igual que sucede nos sistemas NUMA, vese prexudicado se se produce unha incorrecta distribución inicial dos datos.
Nas arquitecturas COMA non existe un dono fixo para cada bloque de datos, senón que os bloques "migran" cara os nodos que os requiran. Desta maneira, cada nodo atrae cara a súa memoria de atracción a parte do espacio de direccións que utiliza, denominada "conxunto de traballo" (working set).
Ao inicio do proceso, cada memoria local contén unha parte do espacio de direccións compartido da aplicación. Se ao longo da execución da aplicación un nodo solicita un dato que está almacenado na memoria de atracción de outro nodo, o bloque que o contén "migra" á memoria do nodo que fixo a solicitude. A diferencia da arquitectura CC-NUMA, na que o almacenamento da coia principal dun bloque de datos se realiza nun nodo fixo, a arquitectura COMA permite que cada bloque de datos resida alí onde se estea utilizando, ao almacenalo nas memorias de atracción local.
Este sistema presenta varias vantaxes respecto á arquitectura CC-NUMA:
- Soluciona o problema relativo á distribución inicial entre os nodos dos datos que compoñen o espacio compartido de direccións pois permite que as copias de cada bloque migren cara o nodo que a estea utilizando en cada momento. Polo que a distribución inicial dos datos só influirá no número de accesos que se realicen nos primeiros instantes da execución da aplicación.
- Soluciona tamén o problema relativo ao mantemento de réplicas locais dos bloques non utilizados, pois a arquitectura COMA permite que un bloque poida ser desaloxado da memoria de atracción se ese espacio é necesario para almacenar outro bloque, o que contribúe a incrementar a taxa de acerto local.
- CC-NUMA tamén ten problemas polo reducido tamaño das caches remotas, en COMA toda a memoria de atracción se comporta como unha memoria cache. Ao ser memoria local, é posible incluso implementar mecanismos software de paxinación a disco, aínda que convén evitalos por sobrecarga no tempo de execución.
Pero, a arquitectura COMA tamén ten algunhas desvantaxes:
- Incremento da complexidade dos protocolos de coherencia con respecto aos utilizados en CC-NUMA.
- A necesidade dun sistema eficiente de localización e substitución de bloques.
- A necesidade de almacenar información de control asociada aos bloques presentes en cada memoria de atracción, o que conduce a unha sobrecarga da memoria de control.
Exemplos
IBM Roadrunner
Roadrunner (correcamiños), é unha supercomputadora do Laboratorio Nacional Os Álamos en Novo México. Foi deseñado conxuntamente por IBM e o persoal do laboratorio. Deseñado para alcanzar picos de 1,7 petaFLOPS, alcanzou 1,026 petaFLOPS en xuño de 2008. É o primeiro sistema Linpack TOP500 en alcanzar un rendemento sostido de 1 petaFLOPS.
Está equipado con mais de 12.000 procesadores tipo PowerXCell 8i mellorados, deseñados orixinalmente para a videoconsola Sony Playstation 3, colocados en paralelo e 6.912 procesadores Opteron de AMD, unidos mediante 92 km de fibra óptica nun sistema triblade, que non é outra cousa que unha agrupación dun ordenador blade baseado nunha cpu Opteron de AMD (baseada na arquitectura x86 con dobre núcleo e 64 bits, orientada ao mercado de servidores), outros dous blades baseados na cpu Cell e un cuarto módulo coas mesmas medidas para interconectar as outras tres mediante tecnoloxía InfiniBand. Todo o conxunto ocupa aproximadamente 1.100 m2.
Ocupou o primeiro posto na lista top500 dende xuño de 2008 a novembro de 2009, cando foi superado por Cray Jaguar.
O Roadrunner funciona baixo o sistema operativo Red Hat Enterprise Linux e o software de computación distribuida xCAT.
Con un consumo estimado de tres megavatios, o seu costo foi de 133 millóns de dólares. Foi instalado nun principio no centro de IBM en Poughkeepsie (New York), para despois ser trasladado ao Laboratorio Nacional Los Álamos en Novo México, onde se dedicará a actuar como patrón de seguridade do arsenal de armas nucleares de Estados Unidos, ademais de ao estudo de problemas relacionados có clima, a astronomía ou a xenómica.
Finisterrae
Finisterrae é o nome do supercomputador instalado no CESGA en Santiago de Compostela, é terceiro computador mais potente de España tras os supercomputadores MareNostrum (BSC) e Magerit (CeSViMa). Trátase dun cluster HP cunha potencia de pico de 15 Teraflops. Este proxecto está impulsado pola Xunta de Galicia e o Consello Superior de Investigacións Científicas (CSIC).
O proxecto iniciouse no ano 2006 e se estima que se complete o proxecto no 2010 cando funcione a pleno rendemento e proporcione servicios de cálculo intensivo e comunicacións avanzadas.
O supercomputador componse de 142 nodos HP RX7640, cada un deles con 8 procesadores Intel Itanium 2 dual-core distribuídos en dúas celas con 4 procesadores e unha memoria de 64GB cada unha. Os nodos están unidos por unha rede de interconexión infiniband cun ancho de banda teórico de 16 Gbps.
Ocupa unha superficie de 140 metros cadrados, pesa 33 toneladas e conta con 85 kilómetros de cabre.
Definicións interesantes
Computación grid
A computación grid é unha tecnoloxía innovadora que permite utilizar de forma coordinada todo tipo de recursos (entre eles cómputo, almacenamento e aplicacións específicas) que non están suxeitos a un control centralizado. Neste senso é unha nova forma de computación distribuída, na que os recursos poden ser heteroxéneos (diferentes arquitecturas, supercomputadores, clusters...) e se atopan conectados mediante redes de área extensa (por exemplo Internet). Desenrolado en ámbitos científicos a principios dos anos 1990, a súa entrada ao mercado comercial seguindo a idea da chamada Utility computing supón unha revolución que dará moito que falar.
O termo grid refírese a unha infraestrutura que permite a integración e o uso colectivo de ordenadores de alto rendemento, redes e bases de datos que son propiedade e están administrados por diferentes institucións. Posto que a colaboración entre institucións envolve un intercambio de datos, ou de tempo de computación, o propósito do grid é facilitar a integración de recursos computacionais.
Os requisitos que debe cumprir calquera grid son:
- Os datos deben compartirse entre miles de usuarios con intereses distintos.
- Débense enlazar os centros principais de supercomputación, non só os PC.
- Débense asegurar que os datos sexan accesibles en calquera lugar e en calquera momento.
- Debe armonizar as distintas políticas de xestión de moitos centros diferentes.
- Debe proporcionar seguridade.
E os beneficios que se obteñen:
- Proporciona un mecanismo de colaboración transparente entre grupos dispersos, tanto científicos como comerciais.
- Posibilita o funcionamento de aplicacións a gran escala.
- Facilita o acceso a recursos distribuídos dende os nosos PCs.
Computación na nube (Cloud computing)
A computación na nube é un paradigma que permite ofrecer servicios de computación a través de Internet.
Neste tipo de computación todo o que pode ofrecer un sistema informático se ofrece como servicio, de modo que os usuarios poidan acceder aos servicios dispoñibles "na nube de Internet" sen coñecementos na xestión dos recursos que usan. Segundo o IEEE Computer Society, é un paradigma no que a información se almacena de maneira permanente en servidores en Internet e se envía a caches temporais de cliente, o que inclúe equipos de sobremesa, centros de ocio, portátiles, etc.
A computación na nube é un concepto xeral que incorpora o software como servicio, tal como a Web 2.0 e outros recentes onde o tema en común é a confianza en Internet para satisfacer as necesidades de cómputo dos usuarios.
Como exemplos de Computación na Nube destacan Amazon EC2, Google Apps, eyeOS e Microsoft Azure, que provén aplicacións comúns de negocios en liña accesibles dende un navegador web, mentres o software e os datos se almacenan nos servidores.
- A computación na nube usualmente é confundida coa computación grid, pero esta, como se acaba de ver, é unha forma de computación distribuída que permite compartir recursos de procesamento e almacenamento de varios servidores cun alto rendemento e baixa demanda, a diferencia do cloud computing que é un concepto xeral que incorpora o software como servicio, e Internet como unha rede que envía paquetes de información entre os equipos e servidores que compoñen a rede para obter unha potencia de proceso individual para o funcionamento das ferramentas de software de forma independente ao equipo no que se executen.














