Sie sind auf Seite 1von 289
ANTAL TH TA ALTO DESEMPENHO REDES, CLUSTERS E GRIDS COMPUTACIONAIS Mario Dantas aw AUT TA a ALTO DESEMPENHO REDES, CLUSTERS E GRIDS COMPUTACIONAIS NV enirOM PEIN > Copyright © 2005 by Mario Dantas Copyright © 2005 by Axcel Books do Brasil Editora Ltda. Nenhuma parte desta publicagéo poderé ser reproduzida sem autorizacdo prévia ¢ escrita de Axcel Books do Brasil Editora. ‘XPVM Images courtesy of Dr. James Arthur Kohl, Oak Ridge National Laboratory, Research supported by the Mathematics, Information and Computacional Sciences Oiice, Office of Advanced Sclentific Computing Re- search, U. S. Department of Energy, under contraet No, DE-ACO5-0000R22725 with UT-Battelle, LLC. Editora de Producéo: Gisella Narcist Editor Responsével: Ricardo Reinprecht Projeto Grafico: Editora Axcel Equipe Axcel: Alberto Baptista Garcia. Carlos Alberto Sa Ferreira, Fagner Silva Henrique, Ingo Bertelli e Marcio Teixeira de Mello Computagao Distribuidas de Alto Desempenho: Redes, Clusters e Grids Computacionais Mario Dantas ISBN: 85-7323-240-4 Os originais de livros enviados para avaliagéo pela Editora serao destruidos, depois de analisados. Nao ser feita sua devolugo em nenbuma hipétese. Os conceitos emitidos nesta obra sao de inteira responsabilidade do Autor. VAN IAXCEL Axcel Books do Brasil Editora Ay. Paris, 571 - Bonsucesso 21041-020 ~ Rio de Janeiro - RI Tel. (21) 2564-0085 ~ Fax: (21) 2564-1607 E-mail: editora@axcel.com.br Web Site: http://www.axcel.com.br Dedicatoria Para Ménica, Izabella e Maria Clara por todo 0 amor, carinho e imensa compreensdo € suporte para minha dedicagao neste projeto. Agradecimentos Gostaria de enderecar meus primeiros agradlecimentos aos meus pals, Marto Soares Dantas Lysia Ribeiro Dantas por toda uma vida de incentivo e carinho. Aos tios Garibaldi ¢ Helena ppelo ensinamento da competigio sadia. Aos tios Anauro e Regina pelas ligées de planejamento ‘estratégico ¢ a tia Yvone pelo carinho e ambiente propicio para revisar parte do livro. Aos professores Joao Bosco Sobral, Roberto Willrich, Rosvelter Coelho e Vitério Mazzola companheiros ¢ amigos dos Laboratérios LabWeb ¢ de Sistemas Distribuidos do Departamento de Informatica e Estatistica (INE), do Centro Tecnolégico (CTC) da Universidade Federal de Santa Catarina (UFSC), Aos Professores Alba Melo, Claudia Barenco, Fernando Albuquerque, Gerson Pfitscher, Jodo Gondim, Luis A. Frota, Maria Emilia Walter, Murilo Camargo, Paulo Gondim, Rafael de Sousa, Ricardo Jacobl ¢ Ricardo Putini dos Departamentos de Cléncia da Computagao (CIC) e Engenharia de Redes {LabRedes) da Universidade de Brasflia (UnB) pelo continuo companhetrismo. & importante mencionar o apoio que recebi de varios profissionais de empresas de tecnologia, no tocante a disponibilizar imagens ¢ as autorizag6es para publicé-las. Desta forma. sou nmuito grato a atencao de Elizabeth Swanson ¢ Claude Paquette (Cray), Karen Bosco e Renatas Frias (Freescale), Ricardo Franco e Franklin Silva (Intel), Fernanda Silos (NEC), James Kohl (Oak Ridge National Laboratory - XPVM), Federica Pisani (Quad- ries) € Richard Cameron (SGD. ‘Acs alunos Ana Marilza Fleischmann, Anderson Hosken, Cassiano Rista, José Geraldo Lopes, José Nelson Allemand, Lorena Passos, Rafael Baggjo, Romulo Alvim, Flavio Grossmann e Tania Ramos pelo imenso entusiasmo na participagéo em pesquisas relacionadas ao projeto deste novo livro. ‘A Deus por sua continua protegao. Mutto obrigado a todos vocés. Prefacio ‘Agrande motivagdo para escrever este ltvro nasceu da verifieagéo em varios de projetos de consultorta, cursos de graduacdo e pés-graduagdo que apesar da crescente utilizagao dos ambientes de clusters e grids computacionals, existe ainda uma escassez de matertal sobre esses t6picos em portugués. Por outro lado, considerando-se a ltteratura internacional (em inglés), pode-se verificar uma grande quantidade de Iinformagéo, todavia muttas vezes dispersa em varios segmentos da computacdo ¢ mutto espectalizada em aspectos tals como arquiteturas e redes de computadores, computagéo paralela e distribuida. Desta forma, nosso objetivo fol preparar um material que pudesse cobrir de uma forma mats estruturada os componentes existentes nos cendrios dos clusters e grids computacionals. Com esse objetivo, apresentamos aspectos. relevantes ao entendimento desses ambientes de alto desempenho, provendo ainda experténclas através de estudos de casos para uma melhor compreensdo do assunto, sem perder a qualidade de contetido. ‘Semelhante ao paradigma que utilizamos em no dia-a-dia dos projetos, orientagdes de Braduagéo je pés-graduacdo, indicamos um conjunto de leituras complementares. O objetivo é que o leitor possa abrir ainda mais seus horizontes, sobre o t6pico complexo que sdo os sistemas distribuidos de alto desempenho, : © lio fot elaborado, imaginando que uma leltura linear deva ser a opgio natural do leltor. Todavia, para nao esquecer aqueles que Jé possuem alguma experiencia os capitulos s4o modulares permitindo sua leitura sem um comprometimento de entendimento. Procuramos ao longo do livro apresentar além dos conceitos, exemplos de casos que podem servir como guia de melhor aprendizado. Entendemos que o material contido neste livro deve ser interessante para todos os estudantes independente de sua drea formacdo em computagio (banco de dados, engenharia de software, rede de computadores, arquitetura de computadores). Por outro lado, profissionals de diferentes 4reas da tecnologia da informacao (gerentes de TI, apoto ao usuario, desenvolvimento de aplicagées, suporte aos sistemas operacionais e redes) podem entender como melhor utilizar os ambientes computacionais de suas organizagées visando um desempenho diferenciado das aplicagées. Em adigao, acreditamos que profissionais de outras dreas tais como biologia, quimica, medicina, fisica, meteorologia ¢ finangas podem se beneficiar com entendimento sobre os ambientes distribuidos de alto desenipenho. Finaltzando, espero que o lettor goste de nossa abordagem que visa uma compreensdo geral, todavia culdadosa das configuragées dos clusters e grids computacionals. Devido me) a grande quantidade de informagoes técnicas existentes no lturo e suas interacdes, é possivel que alguns erros tenham ocorrido. Assim, comentarios e criticas podem ser enviadas para meu endere¢o eletrénico. Florianépolis, Margo de 2005. Prof. Mario Dantas marto@inf.ufsc.br 8 Sumario Capitulo 1: Computagéo Distribuida de Alto Desempenho.... Introdugéo .. Arquitetura e fe Comp Ambientes de Clusters. Configuragées de Grids A Organizagao do Livro Reviso do Capitulo. Fundamentos Relevantes Exercicios Propostos Referéncias .. Bibliografia e Fonte de Consulta Capitulo 2: Fundamentos Basicos Introdugzo :. Arquiteturas Computacionais Multiprocessadores. Multicomputadores.. Symmetric Multiprocessors (SMP) Cache Coherence Non-Uniform Memory Access (¢cNUMA).. Massively Parallel Processors (MPP) . Sistemas Distribuidos Clusters ... Escalonamento Estatico Escalonamento Dinamico.. Dependabilidade ‘Ameacas. Meio: Prevengao de Falhas.. Tolerancia a Falhas Implementacao de Tolerancia a Falha Remogao de Falha: Previsao de Falhas Atributos Disponibilidade. Confiabilidade .. Seguranga Capitulo3: Processadores de Rede, Dispositivos de Interconexdo e Protocolos Leves Modelo Tradicional de Red Aplicagdes e Interfaces de Re Processadores de Rede ... Caracteristicas de um Processador de Rede .. Dispositivos de interconexao .. Dispositivos Convencionais de Interconexao Dispositivos de interconexao de Alto Desempenho Quadrics 86 Scalable Coherent Interface (SCI) 88 Infiniband 8B Protocolos Leves.. 88 ‘Arquitetura TCP/| 89 Protocolos de Alto Desempenho. Protocolos e Melhoria de Desempenho Protocolos de Transporte. Selegio do Servico de Transporte. Multiplexacdo ‘Controle da Inf Reviso do Capitulo, Fundamentos Relevantes Exercicios Propostos Referéncia Bibliografia e Fonte de Consulta Capitulo 4: Ambientes de Programagio, Ferramentas e Middlewares Ambientes de Software. Ambientes de Programag: Web Services... PVM (Parallel Virtual Machine) .. MPI (Message Passing Interface) Ferramentas : Sistemas Gerenciadores de Tarefas e Recursos ‘Ambientes de Middleware Sistemas de Imagem Unicé Middlewares de Grid Revisdo do Capitulo. Fundamentos Relevantes ( Y Computacio Distribuida de Alto Desernpenho: Redes, Clusters e Grids Computeconais Exercicios Propostos Utilizagdo dos Nés.. Configuragées Nao-dedicadas . 154 Configuracées Dedicadas . 164 Tipos de Hardware 170 Aplicagdes Alvo i” Ambientes de 174 Nivel de Aplicagao ou Middleware 75 Nivel de Sistema Operacional 176 Nivel de Hardware 176 Revistio do Capitulo. Fundamentos Relevantes Exercicios Propostos Referencias . Bibliografia Capitulo 6: Estudos de Casos de Clusters Introdugio .. Classificagao dos Agregados .. Agregados Categoria | Agregados Categoria I Redes de Interconexao Exemplos de Ambientes de Clusters Revisdo do Capitulo. Fundamentos Relevantes Exercicios Propostos Referencias. Bibliografia .. Capitulo 7: Grids Computacionals Introducao .. Fundamentos de Grid. Conceitos Bésicos... Qual a diferenca : Qual seria a diferenga entres os ambientes de cluster e grid computacionais?.... 208, Arquiteturas e Topologias.. 209 Portais de Grid 215 Open Grid Services Architecture (OGSA) .. Open Grid Services infrastructure (OGSI).. Areas Adicionais de Pesquisa e Desenvolvir Ambientes Usuétios Experiéncias Middlewares de Grids Grids de Dados Reviséo do Capitulo Fundamentos Releve Exercicios Propostes ... Referéncias Bibliografia e Fonte de Consulta ..nnnsnsnnne Capitulo 8: Estudos de Casos de Grids Computacionais Introdugéo Ambientes internacionais Fundamentos Relevantes Exercicios Propostos west ReFeTENCIS srvnmnesnnnnes Bibliografia e Fonte de Consulta Glossario . senetensenssenseteteasenastnecensenssensieinensasenssnasenatenstesseesseeseies LOB ice Remissivo... TT TED TUS C EC TLC TS Ca G ) Computago Distibuido de Ato Desempenbo: Redes, Clusters e Grids Computacionais No inicio dos anos setenta, quando pela primeira vez na hist6ria os primetros computadores comecaram a efetuar sua interligago por intermédio das redes, J4 surge a idéta de agregar os recursos computacionais nao ultlizados. Um par de programas, conhecidos como Creeper e Reaper-ran, so utilizados na ARPAnet em um conjunto de experimentos voltados para a computagio distribufda [Grid, 2005). Em 1973, o prestigioso centro de pesquisas PARC (Palo Alto Research Center) [PARC, 2005] da Xerox instala a primeira rede Ethernet. O objetivo da rede era poder prover ‘uma espinha dorsal para aplicagées distribuidas. De uma outra forma, pode-se dizer que seus idealizadores visualizavam que as aplicagdes pudessem se mover de um computador para outro visando & utilizagdo dos ciclos ociosos das méquinas que formavam a rede. Nos anos noventa, alguns esforgos de pesquisa trouxeram respostas interessantes no sentido da agregacdo dos recursos computacionais distribuidos em larga escala. O Principal objetivo dessas pesquisas era produzir resultados positivos no sentido de efetuar um processamento willl de problemas Jé conhecidos ¢ de dificil solugdo em uma ‘nica méquina. A engenharia de software no desenvolvimento de aplicagdes, que usualmente requeriam o uso de centenas (ou até milhares) de maquinas que estejam distribufdas geograficamente na Internet, torna-se uma realidade. Dols exemplos classicos so os projetos distributed.net e o SETI@Home. O projeto distributed.net [DistributedNET, 2005], conhecido também como dnet, tem seu foco na quebra de c6digos cifrados, Jé 0 projeto SETI@HomelSeti, 2005}, que € reconhecido como o mats popular e bem-sucedido projeto de computacdo distribufda de que se tem noticia. JA contabiliza desde de 1999 mais de dois milhées de usuarios para disponibilizar recursos para busca de vida extraterrestre. ‘Acra da informacéo que atualmente est em curso trouxe iniimeras facilidades para 0 dla-a-dia da soctedade moderna. A cada dia somos surpreendidos com novas manelras de disponibilizar antigos servigos de manetra digital em rede. No Brasil jé existem milhares de servigos diferenctados oferecidos na forma digital. Exemplos de servigos so aqueles dispontbilizados pelos bancos, hotéls, locadoras de veiculos, companhias aéreas, jornais, Detrans, Receita Federal, Previdéncia Social, Tribunats Estaduais, Tribunals Federais € inGmeros outros exemplos. A utilizacao da tecnologia da informacao (TI) em conjunto com as facilidades providas elo segmento da industria de telecomunicagées (algumas vezes denominada por alguns autores como TIC ~ Tecnologia da Informagio ¢ Comuntcagéo) tem revolucionado de forma positiva as relagdes entre pessoas ¢ organizacdes. Muitos servicos comerciais Copitulo 1 — Computagdo Distribuido de Alto Desempenho clentificos séo providos por intermédio de Servigos Web, podendo ser acessados pela Internet ou por intermédio de redes mévels sem-flo. Como varios pesquisadores comentam, um exemplo 6 [Protasio, 2004) a utilizagdo de inovagées tecnolégicas, que devem estar baseadas na infra-estrutura ¢ na capacitacéo de pessoas. Nos ditimos anos tem sido verificada uma maior preocupagso das comunidades académicas ¢ Indiistria com relagao ao relativo balxo desempenho dos computadores ‘comercials convencionats. © lettor 4 deve ter observado que nos iltimos anos ndo existe um grande crescimento na oferta dos processadores com relégios (clocks) de maior freqiéncla, ou um aumento significativo no tamanho das memérias. De uma outra forma, podemos dizer que muitos dos atuais microcomputadores comerciais ¢ seus sistemas de interconexdo esto bascados em tecnologias de geracées J4 obsoletas. A importancia do sistema de interconexao pode ser entendida pela importéncla de sua fungéo nos computadores, onde esse é responsavel pela ligacdo do processador, médulos de meméria e a ligacdo do subsistema de entrada ¢ saida. Quanto a0 subsistema de entrada e saida, nestes encontram-se dispositivos, tais como a placa de rede, 0 modem, os discos rigidos, o mouse, o teclado ¢ outros periféricos. Um fato interessante que deve ser observado é a preocupagdo da imprensa nao especializada em informatica quanto ao aspecto da limitagéo tecnolégica que os computadores comecam a atinglr. Jornals nao especializados tém produzido reportagens chamando a atencdo de seus leitores de maneira progressiva, com relagdo ao problema de baixo rendimento dos computadores comerciais convencionais. Um exemplo que ‘demonstra esta tendéncia ¢ uma recente reportagem do famoso Jornal Financial Times, de Londres. Em urna matéria, o repérter chama a atengdo para a pesquisa dos processadores denominados de ultra-rapido [Cookson, 2004]. A reportagem apresenta um cenério moderno de arquitetura de processadores destacando as arquiteturas RISC (Reduced Instruction Set Computing), VLIW (Very Long Instruction Word) ¢ a EDGE (Explicit Dataflow Graph Execution). O documento ainda faz uma pequena revisio hist6rica, destacando que a familia de processadores x86 da Intel em 1990 tinha uma freqiiéncia da ordem de 33 MHz, enquanto que os atuals processadores atingem cerca de 3.4 GHz, A matéria enfatiza que 0 avango do desempenho foi de cem vezes em quatorze anos, todavia os novos processadores embora mais velozes nao conseguem sustentar 0 mesmo nivel de taxa de crescimento. As limitagGes na capacidade de processamento impéem restrigdes aos muitos tipos de software, tals como os programas de escritérios, de manipulacao de imagens, Jogos, clentificos e servidores utilizados nas organizagdes. Uma forma de contornar a limitagao ( 4 ) Computardo Distibuida de Alto Desempento: Redes, Clusters e Grids Computaconais local de processamento é a utilizacdo de técnicas que possibilitem o processamento distribuido, £ interessante entender que a adocSo de métodos distribuidos é vantajosa mesmo que novas arquiteturas complexas sejam popularizadas, uma vez que estas Poderéo ser utilizadas em conjunto de wma forma distribuida. ‘A agregagdo de recursos computacionals, em configuracées de clusters ou grids, tem sido um t6pico importante de estudo em intimeras universidades, centros de pesquisa e empresas de tecnologias de'TI. A grande meta da agregacéo de recursos computacionals, Por intermédio dos clusters ou grids, é prover respostas para as limitagGes encontradas nas arquiteturas computacionals centralizadas. Desta forma, o desenvolvimento da ‘computagao distribuida em larga escala ganha uma especial importancla. esforgo da computacéo distribuida em larga escala é, usualmente, denominada de computacao de alto desempenho. ‘Nosso foco neste capitulo, e com certeza ao longo do livro, est voltado para o t6pico de infra-estrutura para prover alto desempenho para as aplicagées distribuidas. Essa abordagem permite que os usnérios finals possam desfrutar de uma grande gama de servigos na utllizagao de novas tecnologias. Desta forma, vamos atacar alguns pontos relacionados ao problema de desempenho da infra-estrutura de TI com o objetivo de um provimento diferenciado de diversos tipos de servicos. Introducaéo Com 0 aumento da prestacéo de servigos digitais em rede de uma maneira nunca antes observada na histérla, surge a necessidade de um continuo aumento em disponibilizar recursos computacionais com um elevado grau de eficiéncia. Em outras palavras, como aumento no volume dos servigos oferecidos A comuntdade via rede € necessdrio que as facilidades computacionais possam acompanhar essas iniciativas de uma manelra eficaz com uma prestago de servicos com qualidade. Todavia, € de conhecimento da comunidade académica e indiistria que o grande avango no desenvolvimento de processadores, que vinha sendo observado nas tiltimas décadas, comega a esbarrar em limites da prépria fisica. Exemplos de restrigSes que comegam a ser atingidas, devido ao uso de técnicas convencionals, so: ‘© O limite na quantidade de componentes que podem ser instalados nos circuitos dos processadores: © 0 aquecimento dos processadores atuais quando executando em altas freqiiéncias; Capitulo 1 Computagdo Distrbuida de Alto Desempenho ‘© Agrande quantidade de colisées ¢ conseqiiente ineficiéncta da topologia de barramento encontrada nos computadores convencionais. Configuracées de barramentos s40 empregadas para a transmisséo de sinal entre os elementos de uma arquitetura de computadores comuns (exemplo IBM-PC); © A limitagéo de armazenamento ¢ transferéncia de informacdo nas memérlas com as tecnologlas ora existentes. No contexto exposto, 0 processamento distribufdo em larga escala, ou processamento de alto desempenho, representa um esforgo diferencial de resposta no sentido de agregar recursos computacionals dispersos localmente ou geograficamente. processamento distribufdo é um paradigma computacional interessante sob muttos aspectos. A utilizacdo descentralizada de componentes de hardware, pacotes software € até mesmo 0 uso de instrumentos geograficamente dispersos - exemplos S40 0s telesc6pios € aceleradores de particulas - j4 € uma realidade computacional para diversos usudrios. Diversos projetos comerciais [GridToday, 2003] ¢ de pesquisa (GCF, 2005] nos tém indicado a possibilidade de prover as aplicagées recursos nunca antes imaginados. Por outro lado, a complexidade envolvida nestes cenérios também é bastante grande. A computagao distribuida de alto desempenho, pode ser entendida como um segmento da ciéncia da computacéo que tem como objetivo a melhoria do desempenho de aplicacées distribufdas ¢ paralelas, utilizando-se de complexas in- fra-estruturas computacionais. As duas configuracées que vamos estudar neste livro do os clusters ¢ os grids computacionais. Por outro lado, as aplicagdes que executam sob esses ambientes sao usualmente divididas em duas grandes classes: as distribufdas e as paralelas. O primetro grande grupo de configurag6es de alto desempenho os clusters, ¢ caracterizado pelo agrupamento fisico considerando-se um pequeno limite geografico, ou virtual, de inimeros computadores para a execugio de aplicagbes. Esta infra- estrutura conhecida em inglés como cluster ¢, também, denominada em portugues ‘como agregado. Como pecullaridades iniciais dos clusters, podemos dizer que, por exemplo, eles podem ser formados por computadores do tipo IBM-PC dedicados € agrupados fisicamente em uma sala. Uma outra maneira de formar um cluster € a conexdo virtual de computadores espalhados em uma rede de computadores. Nestas configuracdes um pacote de software apropriado (exemplos s4o 0 Condor [Condor, 20051, Oscar [Oscar, 2005] ¢ OpenMosix [OpenMosix, 2005]) auxilia a que G) Computagto Distrbulda de Ato Desempeno: Redes, Custer e Grids Computacionais computadores distribufdos ao longo de uma rede possam servir a solicitagées de tercelros como seus recursos computacionais. Em outras palavras, aplicagdes podem solicitar a execucdo de tarefas em mAquinas existentes ¢ distribuidas na organizagéo que nao estejam em uma mesma sala ou andar. As configuracées conhecidas como grids computacionais representam as infra- estruturas com interoperabilidade entre ambientes computacionais dispersos em uma grande drea geogréfica. Quanto A abrangéncia de um grid, podemos supor os Iumites de uma organizagio, de uma cidade, de um estado, de um pais, de um continente ou entre continentes com uma énfase no compartilhamento em massa de recursos € servico especificos. Alguns exemplos de compartilhamento de recursos 40 os processadores, os dispositivos de armazenamento e a utllizacdo de dispositivos especials. Por outro lado, os servigos so caracterizados por determinadas aplicagies que podem ser usadas remotamente. Diferente dos clusters, que pertencem a uma nica organizacdo, os grids computactonais podem ser vistos como cooperativas de clusters de diferentes organizacdes com 0 objetivo de prover recursos e servicos ‘finicos ¢ diferenciados. Rehr. eeeeeeeeeieeeennseeensnnanssssnnananssamseesseeed Os termos agregados e computagdo em grade computacionais séo empregados por alguns autores para tndtcar as configuragées de clusters e grids computactonats. Ao longo do ltvro sdo empregados os termos clusters e agregados significando o meu conceito. Nosso objettvo é produztr uma mator familiartdade para ambos os termos. Quanto ao termo grade computactonal, este néo deverd ser utilizado, pols na verdade a tradugéo mats apropriada para o portugués deveria ser matha computactonal. Quanto as classes de aplicagées, a primeira, denominada de distribuidas, ¢ aquela caracterizada pelo uso de recursos distribuidos e que néo tém necessarlamente relagéo entre s1, Podemos imaginar uma organizacéo, onde diferentes usudrios desejam executar um conjunto bastante grande de aplicagdes em uma determinada infra-estrutura distribuida. Nesta situago, um software do tipo middleware (ou pacote de software que faz interface entre o usurio ¢ o ambiente computactonal) deverd efetuar o escalonamento das tarefas para os computadores oclosos da rede da organizagio. Ao final, espera-se ‘uma melhoria global na execugdo das tarefas, embora uma ou outra aplicagao possa no ter um ganho significativo. Em outras palavras, ndo existe uma relacdo entre 0 desempenho particular de uma especifica aplicacdo e as demais aplicagbes. CCopituo 1 — Conmputagao Distribuida de Ato Desempenho ( 7 ) Por outro lado, as aplicacées paralelas sio distintas, uma vez que uma tinica aplicacao é subdividida em porgdes menores e distribuidas entre processadores distintos. Entretanto, neste tipo de aplicacao existe uma relacdo de interdependéncia entre as porgées distribuidas. Em outras palavras, ao final as porgées so agrupadas para produzir um ‘nico resultado, ou conjunto de resultados. Como um exemplo, imagine o processamento de uma aplicacao na 4rea de computago grafica onde uma determinada pessoa virtual est4 sendo criada. E inaceltével que uma parte do corpo da pessoa nao apareca, ou que apenas alguns fragmentos sejam apresentados. Esta classe de aplicacdo tem como pecullaridade o necessério processamento de todas as partes com um elevado grau de sincronismo ¢ desempenho, Dos exemplos de casos que apresentamos acima, fica patente que é importante que uma determinada aplicacdo seja classificada como distribufda ou paralela. Em adigao, que a aplicagao utilize os recursos computacionais adequados para que se obtenha um resultado diferenciado. Arquitetura e Redes de Computadores Um fator fundamental no sucesso da implementagio de uma abordagem de computacao distribuida ¢ a escolha apropriada de uma tecnologia de rede de computadores na construgéo da infra-estrutura do ambiente. De uma outra forma, pode-se afirmar que & desejdvel que a tecnologia de rede, utilizada na infra-estrutura para suporte as aplicacdes distribuidas, deva inclutr: a disponibilidade de uma grande largura de banda, taxas de transmiss4o compativels com o meio, um baixo retardo de comunteacdo e a possibilidade de escalabilidade. Em outras palavras, pode-se dizer que nada adianta o desenvolvimento de solugées distribufdas de software se 0 projeto de infra-estrutura nao permatir a tradugao da aplicacao como uma solugao diferencial de desempenho. Com 0 objetivo de fornecer um ambtente de rede adequado, visando que as aplicagbes possam atingir um alto desempenho, vamos estudar neste livro novas tecnologias de rede. Mecanismos que se propéem a servir como um diferencial nos aspectos de inter- face de rede, dispositivos € protocolos de comunicagao. Com relagéo ao melhor Processamento no nivel das interfaces de rede. processadores de redes como novos mecantsmos permitem um mator processamento na placa de rede. Novos dispositivos de interligagao visam prover uma grande largura de banda com ligag6es ponto-a-ponto estéticas e dinamicas. Finalmente, 0 uso de protocolos mais apropriados para troca € comunteagéo de processos das aplicagées. (@) Computagto Distriouida de Ato Deserpenho: Redes, Clusters e Grids Computacionais Na literatura comercial [NGN, 2005], os esforcos envolvidos no desenvolvimento deste novo cenério, visando melhorar a comunicagio fim-a-fim das aplicagées, séo denominados de redes de nova geragéo (Next Generation Networks - NGN). Entretanto, como vamos verificar no Capitulo 3, acreditamos que ¢ demasiadamente simples a utilizacdo de um. ‘anico acrnimo para representar todo um conjunto de esforcos complexos na melhoria de desempenho das redes. Ambientes de Clusters Mais recentemente, uma determinada forma local de agrupar computadores vern sendo traduzida em ambiente interessante para aumento de desempenho de aplicacées distribuidas e paralelas. Estes ambientes sio conhecidos como clusters, ou agregados, computacionals. Os agregados computacionais podem ser caracterizados levando-se em. consideragéo diversas métricas. Entre elas: © Caracteristicas de uso dos componentes da configuracéo, ou seja, computadores podem estar dedicados, ou nao-dedicados, a execugio de tarefas submetidas a infra- estrutura computacional; ‘© Os componentes da configuracéo podem ser formados por elementos homogéneos, ou heterogéneos. A diferenga entre os elementos pode ser tanto no nivel do hardware quanto no nivel do sistema operactonal; @ Os limites de um agregado por variar de uma extensdo de um laboratério até as fronteiras da organizacdo. Fato este que deve ser levado em consideracéo para a execugio das aplicagées e projeto da rede fisica; © As redes que compéem a infra-estrutura ¢ fazem a ligagéo dos componentes podem ter caracterfsticas de conexio compartilhada, ponto-a-ponto estética (ou dinamica) ow ainda ser hfbrida; ‘© As aplicagdes que sero executadas no ambiente deverdo ser orientadas para o alto desempenho, para a alta-disponibilidade ou possuir as duas caracteristicas. Os clusters de computadores tém sido formados de manetra popular por intermédio da agregacdo de computadores comuns (exemplo IBM-PO), dispositivos de interconexao (exemplos séo os switches) € pacotes de software abertos (exemplos s4o o Oscar ¢ 0 OpenMosix). Todavia, no s6 as solugées de prateleira como aquelas apresentadas anterlormente podem ser classificadas como clusters. Diversos fabricantes de tecnologia, tals como a IBM, Cray. Nec, SGI e SUN tém adotado técnicas de clusterizacao para aumentar o desempenho de seus computadores. Vamos explorar algumas dessas arquiteturas nos Capitulos 2 ¢ 5. Cophulo 1 — Computarao. sme dete mo (9) Configuragées de Grids Atualmente a computagao distribuida de alto desempenho vem sendo bastante baseada_ em configuragoes de grids computacionais. Mas o que seria esta nova abordagem diferente da estrutura da Internet e dos Servigos Web? ‘O termo grid computing fo! criado a partir de uma proposta computacional que se basela na similaridade as malhas de energia elétrica. Em outras palavras, a idéia € a agregago massiva e disponibilizagio de recursos e servicos computacionais oriundos de inameras configuracées geograficamente distribuidas. Os usudrios podem ter acesso aos recursos € servigos sem a necessidade de conhecimento onde os mesmos esto localizados. Uma configuracéo de grid computacional pode ser entendida como uma plataforma de computadores geografleamente dispersos, onde os usuarios fazem acesso ao ambiente através de uma interface dnica. De uma outra manera, podemos dizer que os ambientes de grid provém de uma tecnologia de acesso comum, os servicos € recursos ‘geograficamente dispersos em organizagées participantes da configuracéo que permitem © compartilhamento das facilidades (servicos ¢ recursos), A diferenga fundamental en- tre uma configuragio de grid e uma outra caracterizada como ambiente distribuido convencional referente a grande quantidade de servigos e recursos que os amblentes de grid focam no seu compartilhamento, Infciativas em diversas éreas do conhecimento jé se beneficiam com 0 uso de infra- estruturas de grid. Exemplos podem ser verificados no estudo do cosmo (Cosmo, 2005], [Sky, 2005), do genoma (IASCC, 2005], TUPAC, 2005)), medicina {GridStar, 20051, negéclos ¢ jogos [GridStar, 2005]. A Organizacao do Livro Este livro fol organizado da seguinte forma: © No Capitulo 2 apresentamos os fundamentos bastcos que s4o necessérios para 0 desenvolvimento de aplicagées distribuidas de alto desempenho, Com este objetivo _apresentamos conceltos relatives as arquiteturas dos computadores, as politicas e técnicas utilizadas para o escalonamento de aplicagées ¢ por fim um estudo sobre dependabilidade; ‘© Os processadores de rede, dispositivos de interconexio ¢ protocolos leves esto descritos no Capitulo 3. Estes trés elementos formam, juntamente com as redes de ‘comuntcagao, a base da infra-estrutura distribufda de alto desempenho. Este capitulo (10) ‘Computagto Distibud de Alto Desempenho: Redes, listers e Grids Computacionals apresenta a nova abordagem das interfaces de redes, que devem ser utilizadas para melhor aproveitar as larguras de bandas disponiveis nas redes fisicas. Dispositivos de rede diferenciados que podem prover altas taxas de transferénclas com baixo retardo s4o apresentados, também, neste capftulo. Finalizando, o Capitulo 3 prové uma reviséo de protocolos que podem ser utilizados para um melhor desempenho das aplicagées quando executadas sob redes com altas taxas de transmissac © Osambientes de programacéo, ferramentase middleware s4o encontrados no Capitulo 4. Estes trés alicerces de software é importante que seja compreendidos, pois em ‘uma diltima analise fazem a interface entre as aplicagées ¢ a infra-estrutura distribuida; © No Capitulo 5 dedicamos uma atencdo as configuragées dos clusters computacionais, com especial énfase em suas caracteristicas. Com esta meta, apresentamos amblentes € suas propostas para melhoria de desempenho de aplicagées: ‘© Exemplos de casos de clusters so tlustrados no Capitulo 6. Este serve como parametro para ilustrar as experiénclas com infra-estruturas dos agregados computacionais. ‘© Os grids computacionais estdo cobertos pelo Capitulo 7. O capitulo introduz um hist6rico da computagdo distribufda em larga escala da Internet, passando pela Web até as configuragées de grid. Outros tépicos que sfo tratados sdo as configuragées, os usudrios, as aplicacées, politicas de utilizagéo, administracéo e seguranca dessa infra- estrutura geograficamente distribuida. © Finalizamos este livro com 0 Capitulo 8, onde apresentamos estudos de casos de uso dos ambientes de grid. A meta é promover uma visio geral de projetos que jé empregam_ técnicas relacionadas aos grids computaclonals para prover um alto desempenho para as aplicag6es das organizagées. No final de cada capitulo existe uma seeao de revisdo do contetido apresentado. Em adigSo, as segdes de fundamentos relevantes ¢ exercicios propostos visam uma melhor fixagao do material apresentado no capitulo. Com o objetivo de estender o contetido programético discutido em cada capitulo, a seco denominada de Referéncias procura indicar fontes adicionais de informagées sobre os t6picos cobertos no capitulo. : Revisao do Capitulo Neste capitulo apresentamos inicialmente um cendrlo dos aspectos que tmpulstonam as Pesquisas sobre os t6picos da computagao de alto desempenho. Assim, foram destacados 0s limites que configuragées computactonais atuals comegam a atingir ea sugestio das (Capitulo 1 ~ Computagao Distribuida de Aito Desempenho. an ) infra-estruturas de cluster e grid como solucées alternativas para o continuo processamento diferencial de aplicagées. Pontos tecnol6gicos tais como as novas interfaces de rede, dispositivos de interconexéo € protocolos de alto desempenkho foram sugeridos como diregdes apropriadas para a formagao das infra-estruturas dos agregados e dos grids. Fundamentos Relevantes Para que o leitor demonstre seu bom conhecimento dos ambientes distribufdos é necessario conhecer os acréntmos ¢ fundamentos relactonados a seguir: ‘© Agregar recursos computacionais © Clusters ‘© Computacéo de alto desempenho © Grids © Largura de banda ‘© Limitacao no desenvolvimento dos processadores ‘© Processadores de rede © Protocolos de alto desempenho Exercicios Propostos 1. Verifique a configuragdo de seu computador pessoal, com especial énfase no clock do seu processador (em QHz) e quantidade de memoria (Mbytes). Faga uma pequena tabela comparativa com outros dols computadores, um de dois anos passados e um outro desse ano, considerando os parametros de processador ¢ meméria. 2. O que vem a ser um servidor, software ou hardware? Quantos processadores existem no principal computador de sua organizacgéo ¢ de que forma esses esto interligados? 3. Diferencie uma configuragao de cluster de uma outra de grid computacional. 4. Qual a diferenca entre uma aplicagéo distribuida e uma outra paralela? 5. Como vocé imagina que seria uma aplicagao paralela distribuida em termos de desenvolvimento ¢ ambiente computacional? de Alto Desempento: Redes, Cstes e Grids Computacionais 6. Cite diferengas de largura de banda ¢ retardo de redes flxas (tals como a Internet) e redes sem flo. 7, Paca uma visita aos Projetos distributed.net e Set@home e descreva de maneira sucinta seus objetivos, ambientes de hardware e software. 8. Faca uma pesquisa na Internet sobre o tema computagdo de alto desempenho (high performance computing). Efetue um filtro das informagées e depots faca uma definigéo utilizando o material selecionado. 9. Procure na Internet documentagdo com relagao a limitagao fisica dos processadores. Como sugestdo procure sobre a Lei de Moore e os limites que a Jed J4 comega a alcangar. 10. Procure diferenciar os pacotes de middleware com relagio a outros tipos de software. Exemplos so os ambientes de programacao e ferramentas. No Capitulo 4, 0 leitor dever4 encontrar um material mais orientado a esses ambientes. 11. Faga acesso a sitios tais como Global Grid Férum, Globus e GridStar e procure identificar o objetivo dessas inictativas. Referéncias ‘A grande quantidade de iniciativas em termos de clusters ¢ grids computacionals representa bem a idéla da importancla do processamento de alto desempenho. Varios exemplos na Srea dos clusters podem ser encontrados na Web. Alguns sitios interessantes sao [Beowulf 2005], [Top500, 2005] ¢ (Extreme, 2005]. Por outro lado, experiéncias com os grids podem ser encontradas em [Globus, 2005], [Legion, 2005}, {Condor-G, 2005] [CoGrid, 2005}. Quanto as redes de nova geragéo o sitio [NGN, 2005] 6 uma boa indicagéo. Os processadores de rede podem ser encontrados em {Cisco2, 2002}, (Intel, 2005] € (Freescale, 2005]. Os dispositivos de conexéo podem ser pesquisados em [Infintband, 2005}, [Myrinet, 2005] e [Quadrics, 2005). Bibliografia e Fonte de Consulta ASCC, http:/twgrid.orgtwgrid_press/ISGC2003_poster:pdf, disponfvel em Margo de 2005. BEOWULF, http:/www.beowulf.org/, disponivel em Marco de 2005. CISCO2, White Paper Cisco 7200 Serie Network - Processor Engine NPE G1, 2002. Capitulo 1 ~ Computoge Distribuida de Ato COGRID, http://cogrid.colostate.edu/project/downloads/COGridDescription.pdf, disponivel em Marco de 2005. CONDOR, http:/www.cs.wise.edu/condor/, disponivel em Marco de 2005. COOKSON, C., Processador. Meta é eriar componente capaz de realizar 1 bilhdo de célculos por segundo. IBM pesquisa o chip ultra-répido, Financial Times, London, Tradugao Valor Econémico, Secao Empresas Tecnologia & Telecomunicagées, 10,11 ¢ 12 de Dezembro de 2004. COSMOS, https:/!webmall inf-ufse.br/horde/util/go.php?url=http%3A%2P%2F www. damtp.cam.ac.uk%2Fcosmos%2F &Horde=132/329028ab56a68a7370 1fe474db35"\t “blank, disponivel em Margo de 2005. DISTRIBUTE.NET, http:/Awww.distributed.net/, disponivel em Margo de 2005. EXTREME, http://www.extremenetworks.com/solutions/applications/clustering.asp, disponivel em Margo de 2005. FREESCALE, httpy/www-freescale.com, disponivel on-line em 2005. GGF, http:/wwwggf.org/, dispontvel em Margo de 2005. GLOBUS. http://www-globus.org/, disponivel em Margo de 2005. GRID, http://www grid.org/about/gc/evolution. htm, disponivel em Margo de 2005. GRIDSTAR, http://www gridstart.org/download/business_news_nov03.pdf, disponfvel em Margo de 2005. GRIDTODAY, hitp://www.gridtoday.com/03/1013/102092.html, Outubro 2003. INFINIBAND, httpyjvww.infinibandta.org/home, disponivel on-line em 2005. INTEL, http:/www.intel.com/design/network/products/npfamtly/ixp425.htm, disponfvel em Margo de 2005. TUPAC, http://Awww.iupac.org/publications/pac/2002/pdf/7406x089 1 pdf, disponivel em Margo de 2005. LEGION, http:/www.cs.virginta.edu/~legion/, disponivel em Marco de 2005. MYRINET, httpy/www.myrt.com, disponivel em 2005. NGN, http./www.tec.org/online/tutorlals/next_gen/, disponivel em Margo de 2005. OPENMOSIX, http://openmosix.sourceforge.net/, disponivel em Marco de 2005. OSCAR, http://www.csm.ornl.gov/oscar/, disponivel em Margo de 2008, PARC, http:/Nwww.pare.xerox.com/, disponfvel em Margo de 2005. Gi ) Computogéo Distribuda de Ato Desempenho: Redes, Clusters e Grids Computaconcis PROTASIO, PM.L.C.; Rodriguez, M.V.R.; Almeida, R.O.; Zona Internacional de Servigos: Rede para Redes - Integrando a América Latina, Aduaneiras, 2004. QUADRICS, http:/Avww.quadrics.com, disponivel on-line em 2005. ‘SBC, http://www.sbc.org.br, disponivel em Margo de 2005. SDSS, http://www.sdss.org/, disponivel em Marco de 2005. SETI@HOME, http://setiathome.ssl.berkeley.edw/, disponivel em Marco de 2005. TOPS5OO, http:/www.top500.org/reports/1995/trottenberg/nodel.html, disponivel em Marco de 2005, FT FUT hay Computagdo Distribulda de Alto Desernpento: Redes, Cstrse Grids Computaconais Neste capitulo, vamos dar infclo ao estudo de alguns fundamentos teéricos que so necessérios para um melhor entendimento dos ambientes distribufdos de alto desempenbo. £ importante que o leitor observe que para uma perfeita compreensdo de tais ambientes, ‘so necessérios bons conhectmentos nas areas de arquitetura de computadores, sistemas operacionals, computacéo distribuida e paralela. Devido A complexidade das 4reas envolvidas, a impossibilidade de cobrir detalhadamente todos os seus aspectos em um 86 documento, nosso objetivo é trabalhar com concettos mais especificos que so empregados como base para a melhorla do desempenho das aplicagées. Desta forma, letturas ¢ pesquisas adicionais sobre as éreas envolvidas com alto desempenho séo sugeridas ao final do capitulo. Nossa meta € fornecer ao leitor algumas direcdes cléssicas na literatura para um conhecimento mats detalhado de cada téptco. Introducao de consenso comum que quando se deseja que uma determinada série de tarefas, ou até mesmo uma tinica tarefa mais complexa, seja realizada com um mator grau de desempenho, as opgées naturals sd: trabalhar mais intensamente, trabalhar de uma maneira mais efictente ou, como uma tiltima opgo, pedir ajuda. Uma analogla em termos computacionais, em como methorar 0 desempenho de um sistema computacional, serta: a utllizagao de uma configuragao computacional com um processador mais rapido; o uso de melhores algoritmos, por fim empregar o paradigma de computagéo distribuida ou paralela. Quanto A utilizagto de computadores com processadores mais velozes, Gordon Moore [MOORE, 1965}, um dos fundadores da Intel, previu que em cada perfodo de dezolto meses 0s sistemas dobrariam seus desempenhos. Este tipo de previsio fol verificado por varios ‘anos e em alguns casos até superada, como fot 0 caso da arquitetura dos processadores RISC (Reduced Instruction Set Computer). Todavia, limitagées tals como a velocidade da uz, algumas lets da termodinamica ¢ o elevado custo de fabricagao de novos processadores esto sendo atingldos, dificultando a progressio de desempenho que vinha acontecendo. Por outro lado, a utilizagao de melhores algoritmos em termos computactonals significa a.utilizacéo de algoritmos mais otimizados. A idéia com certeza parece bastante razodvel em uma primeira andlise. No entanto, como verificamos no dia-a-dia muitas vezes esta meta nao € possivel de ser atingida. O elevado custo de uma ottmizagio faz com que infimeras organizagées optem por continuar executando suas aplicagées, sem uma preocupagdo malor de desempenho. De uma outra forma podemos entender que € dificil modificar aplicacdes J4 existentes e que estejam em produgdo. A opgdo de utilizacao de Capitulo 2 Fundamentos Bésicos (7) computadores com maior capacidade de processamento surge como solugao na maloria dos casos. Todavia, como verificamos anteriormente existe um horizonte de limitacao natural no uso de mAquinas monoprocessadas. Aopedo de pedir ajuda, traduzida em termos computacionats pela computagao distribuida ou paralela, assume um papel diferencial na melhoria do desempenho das aplicagées. Desta forma, a agregacdo de computadores locais (clusters), ou geograflcamente distribuidos (grids), pode representar uma opcdo adequada para a melhoria de desempenho de aplicagées. E neste contexto que os clusters ¢ grids computacionais se enquadram. Neste capitulo, vamos abordar fundamentos teéricos acrescidos de exemplos de casos, sempre que possivel, visando esclarecer melhor cada tema. Cada seco fol escolhida ! devido a sua importancia para as configuracoes dos clusters e grids computacionals. Nosso objetivo € que o leitor compreenda como no cenério dos sistemas distribuidos ‘existe uma integragao de maneira harmoniosa do hardware ¢ dos pacotes de software visando uma melhoria de performance das aplicagoes. ‘Ao longo deste livro vamos utilizar os termos clusters e grids computactonats. Alguns autores empregam os termos agregados e computagdo em grade para se referir as ‘mesmas abordagens. Entendemos que, como ndo existe um consenso na utiltzagao destes termos, a methor escolha é aquela que é empregadia internacionalmente. Arquiteturas Computacionais Devido a existéncia de uma grande diversidade de arquitetura de computadores, indmeras ‘taxonomias Jé foram propostas, tentando uniformizar de maneira mals coerente as caracteristicas dos diferentes sistemas computacionais. A classificacdo dos ambtentes | de hardware mais aceita na érea de arquitetura de computadores ¢ a conhecida taxonomia ; de Flynn [FLYNN, 19721, Esta prestigiosa classificagao proposta a mais de trinta anos (e | valida ainda hoje em dia) leva em consideracdo o nimero de instrugées executadas em paralelo versus 0 conjunto de dados para os quais as instrugoes so submetidas. Desta forma, a taxonomia de Flynn estabeleceu as seguintes classificagées de computadores: ‘© SISD (Single Intruction Single Data) ~ computadores com esta caracteristica so aqueles que executam uma instrugéo de um programa por vez, ou seja, 0 modelo tradicional do processador tinico. Um exemplo seria seu computador pessoal com um processador convencional; (18) ‘Computagdo Distrbuide de Ato Desempenho: Redes, Clusters e Grids Computacionais © SIMD (Single Instruction Multiple Data) - neste tipo de arquitetura existe, também, a execugdo de uma tinica instrugéo. Todavia, devido a existéncia de facilidades em hardware para armazenamento (um vetor ou array), a mesma instrugdo € processada sob diferentes itens de dados. Exemplo de computadores com esta ‘arquitetura sdo as méquinas ILLIAC IV (Universidade de Illinois), Thinking Machine CM-2 € MASPAR MP-1216. Maquinas tas como NEC SX ¢ Cray T90 sdo modelos de m4quinas vetoriais que tém um modelo conceitual semelhante as arquiteturas, ‘SIMD, mas com a vantagem de poderem realizar o processamento sob parte dos elementos. Desta forma, aumentamdo 0 desempenho da configuracdo por causa da sua computagéo concorrente. @ MISD (Multiple Instruction Single Data) - nao se tem conhecimento de arquitetura de méquinas com multiples instrugbes trabalhando com um ‘inico conjunto de dados. @ MIMD (Multiple Instruction Multiple Data) - arquiteturas sob esta classificagao_ tém miltiplos processadores, cada qual podendo executar instrugées independente dos demais. Exemplos sao os computadores paralelos da linha SP da IBM, Intel Paragon, Thinking Machines CM-5 e configuracoes distribuidas de clusters de computadores. As configuracées computacionals que vamos discutir nesta secao séo baseadas em arquiteturas MIMD, com uma preocupagdo especial na forma de interligagdo dos processadores ¢ das memérias através de dispositivos de interconexo especificos. De uma forma mais geral, como ilustramos na Figura 2.1, € usual a classificagio das arquiteturas MIMD como multiprocessadores ¢ multicomputadores. ‘Multiprocessadores (Memérie Compartihada) Multicamputadores (Meméria Distribuidad Ambientes Fracamen:e Acoplados Figura 2.1: ClassificagSo das arquiteturas MIMD.

Das könnte Ihnen auch gefallen