Você está na página 1de 14

UNIVERSIDADE FEDERAL FLUMINENSE PURO PLO UNIVERSITRIO DE RIO DAS OSTRAS CINCIA DA COMPUTAO

Computadores de Alto Desempenho

Alunos: Joo Machado Natlia Melgao

Professor Rodrigo...

Sumrio
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Introduo ......................................................................... Computadores de Alto Desempenho ................................ Histria .............................................................................. Mltiplos processadores ................................................... SMP .................................................................................. Clusters ............................................................................. Clusters versus SMP ........................................................ Acesso no uniforme a memria (NUMA) ........................ Aplicao e top 500 .......................................................... Concluso ......................................................................... Referncias Bibliogrficas ................................................

1. Introduo
Uma das maneiras mais tradicionais de aumentar o desempenho de um sistema de computador usar vrios processadores, que possam executar em paralelo para poder suportar uma dada carga de trabalho. As duas organizaes de mltiplos processadores mais comuns so a de

multiprocessadores simtricos (SMPs) e a de agregados (Clusters). Mais recentemente, sistemas com acesso no uniforme memria (NUMA) tm sido introduzidos comercialmente. Neste relatrio iremos abordar o conceito de computao de alto desempenho, assim como alguns exemplos de aplicao e sua importncia.

2. Computadores de Alto Desempenho


Computadores de alto desempenho frequentemente usam profundamente conceitos e tcnicas de paralelismo. Esses conceitos no so recentes e algumas tcnicas simples como pipeline tem sido usadas h bastante tempo. Com o barateamento do hardware o paralelismo se tornou mais interessante comercialmente e tcnicas mais avanadas foram desenvolvidas.

3. Histria
O engenheiro eletrnico norte-americano Seymour Cray considerado um dos pais da computao de alto desempenho. Seymour Cray fundou a companhia Cray em 1972 e em 1976 foi lanado o Cray 1, o primeiro supercomputador comercial da histria, que usava conceitos de processamento vetorial. Antes de fundar sua empresa Seymour j havia construdo o primeiro computador comercial que usava transistores, o CDC 1604.

Finalmente em 1976 sua empresa lana o supercomputador Cray 1, com 8mb de memria, 80 Mhz, e capaz de executar 100 milhes de operaes por segundo.
2

Cada Cray 1 demorava meses para ser construdo, milhares de placas e fios eram colocados manualmente. Apesar disso ao se abrir um Cray 1 no se encontra uma confuso de fios e cabos, tudo est colocado ordenadamente. Foram produzidos 16 Cary 1s e cada um custava cerca de 9 milhes de dlares. As empresas Cray ainda continuaram criando supercomputadores inovadores por vrias dcadas, como o Cray xmp (o primeiro a usar dois processadores), o Cray 2, o Cray ymp (o primeiro a chegar ao Brasil), etc. A figura abaixo mostra a imagem de um Cray 1.

4. Mltiplos processadores
Uma das abordagens mais simples de paralelismo o uso simultneo de mltiplos processadores para a execuo paralela de duas instrues. A taxonomia mais usada para esse tipo de abordagem a taxonomia Flynn, que categoriza os seguintes sistemas de computao: SISD: Um nico processador executa as instrues usando dados armazenados em uma nica memria. Sistemas com apenas um processador so SISD. Veja figura a.

SIMD: Uma nica instruo de mquina controla N elementos de processamento, cada elemento possui sua prpria memria, ou compartilham uma memria. Processadores vetoriais e matriciais pertencem a essa categoria. Veja figura b.

MISD: Diferentes processadores executam instrues distintas sobre o mesmo conjunto de dados. implementado. Veja figura c. Esse tipo de sistema jamais foi

MIMD: diferentes processadores executam instrues distintas sobre conjuntos de dados distintos. Clusters, SMPs e sistemas NUMA pertencem a essa categoria. Os processadores usados nesse sistema so de proposito geral, capazes de realizar todas as instrues necessrias. Se os processadores usam a mesma memria, ento seus dados esto armazenados nessa memria e usam essa memria para se comunicar, o sistema mais simples desse tipo o SMP (multiprocessador simtrico). Veja figura d.

5. SMP
Em um sistema SMP vrios processadores compartilham a mesma memria (ou conjunto de memrias), com barramentos compartilhados ou alguma outra forma de interconexo. Uma caracterstica desse sistema que o tempo de acesso a memria por qualquer processador do sistema aproximadamente o mesmo. Todos os processadores compartilham acesso aos dispositivos de E/S por meio de um barramento ou de outro sistema de conexo interno. Para que tal sistema seja possvel necessrio um sistema operacional capaz de prover interao entre os processadores e seus programas, em nvel de tarefas, de arquivos e de dados, normalmente esse SO efetua o escalonamento de fluxos de execuo (threads) sobre todos os processadores. 5.1 Vantagens Desempenho: Tarefas feitas em paralelo, aumentando o desempenho e diminuindo o tempo em que o sistema fica ocioso. Disponibilidade: J que todos os processadores so de propsito geral e capazes de realizar as mesmas funes, se um processador falhar o sistema inteiro no precisa parar, os demais processadores podem continuar trabalhando. Crescimento incremental: O usurio pode aumentar o desempenho do sistema adicionando novos processadores. Escalabilidade: Fabricantes podem oferecer maior diversidade de produtos, com desempenho e custo diferentes, com base no nmero de processadores. Em termos gerais, existem dois ou mais processadores. Cada processador tem sua prpria ULA, registrador e memria cache. A memria principal e os dispositivos de E/S so compartilhados. Os processadores podem se comunicar pela memria (mensagens e informaes de estado so armazenadas em reas comuns). possvel tambm a troca direta de sinais

entre os processadores. possvel que dois ou mais processadores acessem a memria ao mesmo tempo. O exemplo mais simples de SMP o Barramento de tempo compartilhado (Time-Shared Bus). Em linhas gerais, consiste de mltiplos processadores interligados por um barramento. Onde se toma o cuidado para que seja possvel identificar a origem e o destino de qualquer informao que passe pelo barramento. Mdulos de E/S podem funcionar temporariamente como um "mestre" de barramento, controlando requisies e prioridades. Quando um mdulo est controlando um barramento outro mdulo no pode acessar o barramento ao mesmo tempo, e deve, portanto esperar. O problema disso que a velocidade do sistema muito dependente da velocidade do ciclo de barramento, o uso de memria cache para os processadores uma possvel soluo para esse problema. Uma parte da memria fica copiada na cache de cada processador, e para que essas caches fiquem sincronizadas dado um alerta toda vez que a cache atualizada. O problema de um mesmo dado ter valores diferentes em caches diferentes chamado de Coerncia de Cache.

Em sistemas SMP uma abordagem comum o uso de unidade de controle central, que comanda fluxo de dados distintos entre diferentes processadores, memria, E/S. Ter uma unidade de controle para todos os componentes um problema e costuma ser um gargalo no desempenho. funo do sistema operacional detectar falhas e perdas de um processador, e organizar o sistema de modo que as tarefas desse processador sejam distribudas entre os demais e o sistema como um todo continue operando. As polticas mais comuns para garantir coerncia de cache so: Evitar que variveis compartilhadas sejam armazenadas em cache; Analisar o cdigo e identificar momentos que poderiam gerar incoerncia, o compilador ento insere instrues que garantam a coerncia nesse momento. Protocolos de diretrio: Um controlador centralizado marca quais linhas de dados so compartilhadas e quais processadores tm cpias delas. Quando um processador precisa fazer uma atualizao o controlador invalida o dado em todas as caches dos outros processadores, espera a atualizao, ento copia novamente o valor atualizado. O problema que essa tcnica envolve inmeros sinais de comunicao e um gargalo no desempenho. Protocolo de monitoramento: Toda cache tem uma unidade de controle de cache que monitora a rede para detectar quando um dado compartilhado alterado em outra cache, quando isso ocorre a cache do processador que alterou o dado lana na rede um aviso de que o dado foi alterado, as demais unidades de controle de cache ento reagem adequadamente e corrigem seus dados. Um problema disso que o excesso de acesso a rede (barramentos interligados, por exemplo) exatamente o motivo de usar as caches, e esse acesso frequente pode tornar o uso das cache intil em desempenho. Um protocolo desse tipo muito comum que tenta evitar esse problema o protocolo MESI.
8

6. Clusters
A organizao de clusters constitui uma alternativa para os multiprocessadores simtricos (SMP), como abordagem para prover alto desempenho e alta disponibilidade, e particularmente atrativa para aplicaes baseadas em servidores. Podemos definir um cluster como um grupo de computadores completos interconectados, trabalhando juntos, como um recurso de

computao unificado, que cria a iluso de constituir uma nica mquina. Brewer (1997) relaciona quatro benefcios que podem ser obtidos com a organizao de clusters. Esses benefcios podem tambm ser vistos como objetivos ou requisitos de projeto desse tipo de organizao: Escalabilidade absoluta: possvel criar clusters muito grandes, cuja capacidade de computao ultrapassa vrias vezes a capacidade da maior mquina individual. Um cluster pode ser constitudo de dezenas de mquinas, sendo cada uma um multiprocessador. Escalabilidade incremental: um cluster configurado de maneira que seja impossvel adicionar novos sistemas, expandindo-o de forma incremental. Desse modo, um usurio pode comear com um sistema mais modesto e expandi-lo medida que crescem suas necessidades, sem ter de efetuar uma expanso mais radical, onde o sistema menor completamente substitudo por um sistema de maior porte. Alta disponibilidade: como cada n de um cluster um computador independente, uma falha em um n no significa perda total de servio. Em muitos produtos, a tolerncia de falhas tratada automaticamente pelo software. Melhor relao custo/desempenho: devido facilidade de construir o sistema a partir de elementos ou ns bsicos comercialmente disponveis, possvel obter um cluster com poder de computao igual ou maior que uma mquina de grande porte, com custo muito menor.

Um cluster consiste de um conjunto de computadores completos, conectados entre si, que trabalham juntos como um recurso computacional unificado, criando a iluso de ser uma nica mquina. O termo computador completo usado para designar um sistema que pode rodar por si prprio, independentemente do cluster. Clusters consistem de diversos computadores independentes, organizados de forma cooperativa. Os clusters tm se tornado cada vez mais comuns, para suportar cargas de trabalho que esto alm da capacidade de um nico SMP.

7. Clusters versus SMP


Tanto clusters quanto SMPs possuem uma configurao com mltiplos processadores para suportar aplicaes com alta demanda de desempenho. As duas solues so disponveis comercialmente, embora os SMPs venham sendo usados h mais tempo. A principal vantagem da abordagem SMP que um SMP mais fcil de ser configurado que um cluster. Um SMP muito mais prximo do modelo original de um nico processador, para o qual a maioria das aplicaes foi escrita. A principal mudana requerida na passagem de um sistema uniprocessador para um SMP na funo de escalonamento. Outro benefcio do SMP requerer menos espao fsico e suprimento de energia que um cluster comparvel. Um ltimo benefcio importante que produtos SMP so bem estabelecidos e estveis. Entretanto, a longo prazo, as vantagens da abordagem de clusters tendem a fazer com que estes dominem o mercado de sistemas de servidores de alto desempenho. Clusters so muito superiores aos SMPs em termos de escalabilidade absoluta e incremental. So tambm superiores em termos de disponibilidade, porque os componentes do sistema podem prontamente ser tornados altamente redundantes .

10

8. Acesso no uniforme a memria (NUMA)


Um sistema NUMA consiste de um multiprocessador com memria compartilhada e uma abordagem menos comum em termos comerciais. Esse sistema NUMA caracterizado por diferentes processadores terem tempo de acesso diferente a diferentes regies da memria. A abordagem NUMA relativamente nova e ainda no muito usada comercialmente, mas tem sido considerada uma alternativa para as abordagens de clusters e SMPs. A motivao que em sistemas SMP quanto maior o numero de processadores maior ser a frequncia de uso do barramento, e at o uso de cache que deveria evitar isso acaba deixando de ser interessante por causa dos controles de coerncia de cache. A degradao de desempenho se torna critica a partir de 64 processadores. Em linhas gerais, um sistema feito com N ns, cada qual com M processadores, M caches e M partes da memria principal. Quando um processador precisa de um dado que no est na memria principal que ele tem acesso, ele envia um pedido rede de ligao, que busca qual processador tem acesso a essa memria, e ento faz a cpia. Por isso o acesso a dados pode ser mais rpido ou mais lento dependendo de onde o dado est alocado. Claro que existem politicas que garantem que as instrues que usam determinada linha de dados sero mais frequentemente executadas pelo processador que tem acesso a memoria onde essa linha de dados est armazenada. Nesse tipo de organizao onde o acesso frequente a memria pode ser um problema o uso bom uso de cache essencial.

9. Aplicao e top500
Computadores de alto desempenho so a principal ferramenta para simulaes, por esse motivo so amplamente usados para pesquisas de eventos fsicos, biolgicos, qumicos, e meteorolgicos. Existe um projeto altamente bem desenvolvido para catalogar os mais potentes computadores do mundo, chamado top500, abaixo segue os 10 melhores.

11

Pesquisadores alemes compararam o poder do computador Fujitsu K (o 4 colocado na lista), que possui 83mil processadores e 700mil ncleos, ao poder do crebro humano. Usando todo o poder computacional do sistema cientistas conseguiram imitar apenas 1% de um segundo de atividade do crebro humano, isso levou 40 minutos.

12

10.

Concluso

Computadores de alto desempenho usam amplamente conceitos e tcnicas de paralelismo. Por sua arquitetura envolvendo mltiplos componentes interligados foi necessrio pensar em solues para vrios problemas que a comunicao desses componentes traz, porm mesmo com esses problemas a arquitetura de computadores de alto desempenho se mostra muito mais promissora do que uma arquitetura com apenas uma unidade de processamento de poder equivalente, tanto por motivos cientficos quanto financeiros. Com computadores de alto desempenho conseguimos simular os mais diversos fenmenos fsicos, qumicos e biolgicos, assim como resolver problemas matemticos antes considerados

inviveis.

11.

Referncias Bibliogrficas

Stallings Willian. Arquitetura e Organizao de Computadores: Projeto para o Desempenho. 5 ed. So Paulo, 2002. Top 500. http://www.top500.org/lists/2013/06/ historia dos supercomputadores http://www.guiadohardware.net/termos/supercomputador J Neto, Calil. Instituto de Computao - UNICAMP. Top 500 supercomputadores http://www.ic.unicamp.br/~rodolfo/Cursos/mc722/2s2008/Trabalho/g11_t exto.pdf

Dantas, Mario. Computao distribuda de alto desempenho.


13

Você também pode gostar