Artigo Cluster Beowulf

Embed Size (px)

Citation preview

UNIVERSIDADE SO JUDAS TADEU Curso de Ps-Graduao Lato Sensu Engenharia de Redes e Servios de Telecomunicaes

DIOGO SRGIO CABRERA RA 201180163 PAULO HENRIQUE BARCHA RA 200405382

CLUSTER

So Paulo 2011

UNIVERSIDADE SO JUDAS TADEU Curso de Ps-Graduao Lato Sensu Engenharia de Redes e Servios de Telecomunicaes

DIOGO SRGIO CABRERA PAULO HENRIQUE BARCHA

CLUSTER

Monografia apresentada Disciplina de Sistema Operacional Unix do curso de Ps-Graduao Lato Sensu da Universidade So Judas Tadeu, como requisito parcial para concluso do curso de Especializao em Engenharia de Redes e Servios de Telecomunicaes.

Orientador: Prof. Ms. Lima

So Paulo 2011

UNIVERSIDADE SO JUDAS TADEU Curso de Ps-Graduao Lato Sensu Engenharia de Redes e Servios de Telecomunicaes

DIOGO SRGIO CABRERA PAULO HENRIQUE BARCHA

CLUSTER

Monografia apresentada Disciplina de Sistema Operacional Unix do curso de Ps-Graduao Lato Sensu da Universidade So Judas Tadeu, como requisito parcial para concluso do curso de Especializao em Engenharia de Redes e Servios de Telecomunicaes.

Aprovada em Dezembro de 2011.

___________________________________________________________________ Orientador: Prof. Ms. Lima

DEDICATRIA

Dedicamos este trabalho a todos que direta ou indiretamente contriburam para que o mesmo se concretizasse em especial aos nossos familiares que sempre deram apoio e carinho. Ao nosso amigo e Mestre professor Lima, no obstante, no poupou esforos em sala de aula em discutir e sugerir as idias apresentadas, fornecendo o auxlio preciso, bem como no fornecimento de material para pesquisa do tema, indispensveis realizao da presente obra, bem como, pelo apoio e orientao na metodologia apresentada e o caminho a ser seguido.

AGRADECIMENTOS

Ao Mestre professor Lima pela orientao, pacincia, maestria ao conduzir o desenvolvimento desta monografia, sempre exigindo de ns como alunos o melhor na vida acadmica e na vida profissional. Aos colegas, que de formas diversificadas contriburam com experincias,

conhecimento e incentivo para a maturao do tema. Ao Doutorando professor Rodolfo Riyoei Goya e ao Mestre Clovis Arlindo Ribeiro pela pacincia e determinao em nos conduzir ao fascinante mundo das redes computacionais e ao magnfico mundo da tecnologia das telecomunicaes, pois, possibilitou os subsdios necessrios para o entendimento e realizao deste projeto. Em especial aos nossos pais, pois sem o incentivo deles no atingiramos nossa formao. A Deus, por tudo.

Quando uma porta se fecha outra se abre; mas ns quase sempre olhamos tanto e de maneira to arrependida para a que se fechou, que no vemos aquelas que foram abertas para ns. Alexander Graham Bell

RESUMOBARCHA, Paulo Henrique.CABRERA, Diogo Srgio. CLUSTER. Disciplina de Sistema Operacional Unix do Curso de Engenharia de Redes e Servios de Telecomunicaes. Universidade So Judas Tadeu. So Paulo. p. (23), 2011.

Esta monografia tem por objetivo apresentar uma pesquisa tecnolgica da utilizao dos clusters em uma plataforma composta por pequenos microcomputadores cujo sistema operacional o Linux, visando aspectos essenciais para o desenvolvimento de um ambiente Clusterizado.

Palavras-chave: Cluster, Linux, microcomputadores.

ABSTRACTThis monograph aims to present a survey of the use of technology clusters on a platform composed of small computers whose operating system is Linux, aimed at key aspects for development clustered environment.

Keywords: Cluster, Linux, Small Computers.

LISTA DE ABREVIATURAS E SIGLASFTP HA IP NASA OS PC TI FILES TRANSFERS PROTOCOLS HIGHT AVAILABILITY INTERNET PROTOCOL ADMINISTRAO NACIONAL DE AERONATICA E ESPAO OPEN SOURCE PERSONAL COMPUTER TECNOLOGIA DA INFORMAO

LISTA DE FIGURASFigura 1: Cluster Beowulf Unicamp.................................................................................16 Figura 2: Projeto Multipingim.........................................................................................17 Figura 3: Cluster Beowulf................................................................................................19

SUMRIO1. INTRODUO...........................................................................................................12 1.1 MOTIVAO.........................................................................................................13 1.2 OBJETIVO.............................................................................................................13 1.3 METODOLOGIA.....................................................................................................13 1.4 ESTRUTURA DA MONOGRAFIA..........................................................................13 2. CLUSTER....................................................................................................................14 2.1 TIPOS DE CLUSTER.............................................................................................14 2.2 BEOWULF CLUSTER............................................................................................15 2.2.1 MODO DE TRABALHO DO CLUSTER BEOWULF.......................................16 3. IMPLEMENTANDO O CLUSTER BEOWULF.............................................................17 3.1 METODOLOGIA.....................................................................................................19 3.2 CONSTRUINDO SISTEMA CLUSTER BEOWULF................................................19 4. CONCLUSO E TRABALHOS FUTUROS.................................................................22 4.1 CONCLUSO.........................................................................................................22 4.2 TRABALHOS FUTUROS........................................................................................22 REFERNCIAS BIBIOGRFICAS..................................................................................23

1. INTRODUOCom o desenvolvimento voraz da tecnologia de equipamentos da Tecnologia da Informao (TI) , conseqentemente faz com que o custo de equipamentos de informtica que permitem e garantem alta disponibilidade estejam cada vez mais acessveis aos usurios e para as empresas que almejam estruturas computacionais que ofeream proteo e alta disponibilidade das informaes e de seus servios. Embora exista uma tendncia entre as empresas de grande porte, na postura em adotar a tecnologia do cluster como soluo em suas plataforma e sistemas por reduzir os gastos com mainframes ou at mesmo servidores dedicados; outrossim, empresas de pequeno porte, na maioria das vezes no possuem uma alternativa que ofeream proteo e alta disponibilidade de seus servios em detrimento ao custo desta plataforma adotada. Surge como soluo a este empecilho tecnolgico, uma possibilidade acessvel e plausvel, onde, pode-se construir um cluster com qualidade a partir da reusabilidade de hardware j existentes na prpria empresa, cuja arquitetura convencional, composta por Personal Computers (PC). O sistema operacional e os programas utilizados nesta arquitetura open source1 (OS), isto , sem gerar nus para o oramento da empresa com as respectivas licenas de seus desenvolvedores. Assim, pode-se obter uma plataforma Cluster, cujo processamento se d de maneira paralela, isto , uma tarefa em especfico poder ser distribuda em inmeros ncleos distintos. Este procedimento potencializa e maximiza a performance do sistema computacional. Onde o hardware mestre, concentra a distribuio e os demais equipamentos, assumem a condio de hardware Ns. Tal arquitetura ladeada por uma rede interna, no qual, sero transmitidos os dados ao sistema que sofreram todo o processamento, permitindo o retorno das informaes obtidas.

1

Cdigo fonte aberto e gratuito.

1.1

Motivao sabido que os sistemas de informao so largamente aplicados nas

empresas. O ideal seria que estes sistemas estejam em sua plenitude sempre disponveis. Nos primrdios da aplicao desta tecnologia de cluster, a mesma se restringia as grandes corporaes, pelo fato do alto custo, entretanto, empresas de pequeno porte, atualmente, passaram a ter acesso a esta tecnologia, possibilitando a implementao de solues que permitem alta disponibilidade a partir da utilizao de pequenos computadores e uso de softwares gratuitos (BATISTA, 2007).

1.2 ObjetivoO objetivo desta monografia apresentar um estudo terico sobre a tecnologia de clusters existentes, buscando demonstrar a sua empregabilidade nas corporaes e instituies de ensino e pesquisa, permitindo que estas, possam a ter um ambiente computacional de baixo custo, confivel e de alta disponibilidade.

1.3 MetodologiaEsta monografia foi desenvolvida a partir de consultas a livros e pginas da Internet, cujos tpicos, apresentavam assuntos pertinentes a clusters, possibilitando projetos de alta disponibilidade.

1.4 Estrutura da monografiaNo captulo 2 apresentado o conceito de cluster, seus tipos e os benefcios essenciais da utilizao desta tecnologia; O captulo 3 explana sobre a implementao do sistema Cluster; finalmente no captulo 4 apresentada a concluso e as propostas de trabalhos futuros.

2. CLUSTERAs empresas buscam por alta disponibilidade de seus servios, permitindo de maneira ininterrupta o acesso s informaes, possibilitando atender as necessidades de seus clientes e assim, consolidando seus negcios. O Cluster surge como uma soluo para compor um ambiente computacional, realizando grandes tarefas.Trata-se de um sistema composto de um grupo de computadores que trabalham em harmonia, tornando-se um nico sistema, objetivando alta disponibilidade nas aplicaes e servios, balanceamento de carga e distribuio de tarefas, mesmo que ocorra falha em um dos ns. Assim sendo, os usurios tero a sensao de estarem utilizando um nico sistema, ou seja, permite uma transparncia do sistema, onde, a confiana, a distribuio e a performance geral elevam-se gradativamente. (PITANGA, 2003)

2.1 Tipos de cluster.Segundo Pitanga (2003) existem quatro modelos de clusters: Alta Disponibilidade (High Availability (HA) and Failover), estes modelos de clusters so construdos para prover uma disponibilidade de servios e recursos de forma ininterrupta atravs do uso da redundncia implcita ao sistema. A idia geral que se um n do Cluster vier a falhar (failover)2, aplicaes ou servios possam estar disponveis em outro n. Estes tipos de Cluster so utilizados para base de dados de misses crticas, correio, servidores de arquivos e aplicaes. Balanceamento de carga (Load Balancing), este modelo distribui o trfego entrante ou requisies de recursos provenientes dos nodos que executam os mesmos programas entre as mquinas que compem o Cluster. Todos os nodos esto responsveis em controlar os pedidos. Se um n falhar, as requisies so distribudas entre os ns disponveis no momento. Este tipo de soluo normalmente utilizado em fazendas de servidores de web (web farms). Combinao HA & Load Balancing, como o prprio nome diz combina as caractersticas dos dois2

Falha do sistema.

tipos de cluster, aumentando assim a disponibilidade e escalabilidade de servios e recursos. Este tipo de configurao de cluster bastante utilizado em servidores de web, mail, news ou Files Transfers Protocol (FTP). Processamento Distribudo ou Processamento Paralelo, este modelo de Cluster aumenta a disponibilidade e performance para as aplicaes, particularmente as grandes tarefas computacionais. Uma grande tarefa computacional pode ser dividida em pequenas tarefas que so distribudas ao redor das estaes (nodos), como se fosse um supercomputador massivamente paralelo. comum associar este tipo de cluster ao projeto Beowulf da NASA. Estes Clusters so usados para computao cientifica ou anlises financeiras, tarefas tpicas para exigncia de alto poder de processamento.

2.2 Beowulf ClusterEmbora existam diversos clusters atualmente, ser apresentada a tecnologia do Cluster Beowulf3 em razo deste ser composto por computadores pessoais e ser viavelmente econmico e oferecer uma performance de boa qualidade em relao a estaes de trabalho dedicadas. Este tipo de cluster foi projetado pelos seus criadores com a finalidade de prover ao meio cientfico maior poder de processamento, subsidiando sistemas computacionais viveis e mais poderosos. Obviamente, que a evoluo tecnolgica caminha em progresso aritmtica em busca da melhoria da performance dos processadores, aproximando os computadores pessoais e estaes de trabalhos, diminuindo assim, os custos da infraestrutura de redes, processadores e at mesmo o sistema operacional open source, tais como, o Linux que sofre constante melhoria em seu desempenho em ambiente cluster. Um predicado marcante em um cluster Beowulf, so os aplicativos de alto desempenho neles empregados, assim como, o sistema operacional, sendo eles, GNU/Linux ou FreeBSD, ambos gratuitos e viabiliza o processamento paralelo.

3

Nome dado por Donald Becker a um aglomerado de computadores, que potencializa processamento.

2.2.1 Modo de trabalho do Cluster Beowulf.A arquitetura composta por um nodo de controle, tambm chamado de frontend (n mestre), cuja finalidade controlar o cluster, distribuindo tarefas e as monitorando, atuando como servidor de arquivos, atuando entre os usurios e o cluster. Conforme Pitanga (2003) Grandes sistemas em cluster podem distribuir diversos servidores de arquivos, n de gerencia pela rede para no sobrecarregar o sistema. Os outros ns escravos so dedicados ao processamento dos dados enviados pelo n de controle, sem a necessidade do uso de perifricos de entrada e sada e at mesmo sem boot remoto, sendo acessadas via login remoto (telnet, ssh). A figura 1 ilustra um sistema Cluster Beowulf. Figura 1: Cluster Beowulf Unicamp.

Fonte: Unicamp. O cluster Beowulf uma tecnologia consolidada. A Escolha elaborada por seus idealizadores em utilizar computadores populares e programas abertos, fez com que este sistema de cluster assumisse uma popularidade e consequentemente, modificaes e aperfeioamento constantes surgem a cada dia, tornando-o o mais utilizado em campus universitrio, organizaes e empresas. PITANGA (2003).

3. IMPLEMENTANDO UM CLUSTER BEOWULF.

Segundo Pitanga (2003) Construiu uma rede com vrios computadores e distribuiu o processamento de um programa entre eles, aumentando o desempenho de processamento. Chamado de mutipingim, usou computadores comuns e o sistema operacional Linux, conforme se vislumbra na figura 2, o aparato que compem o projeto de Pitanga. Figura 2: Projeto Multipingim.

Fonte: Marcos Pitanga. Devido a persistente demanda pelo potencial computacional, gera a necessidade de microprocessadores com resposta mais rpida. Quando se trata de enormes quantidades de dados, onde a necessidade de alto desempenho, a soluo se d pela aplicabilidade do sistema cluster proprietrio de empresas renomadas. Esta soluo

proposta por Pitanga, torna a computao de alto desempenho vivel e acessvel por utilizar do sistema operacional Linux, cuja distribuio gratuita.

3.1 MetodologiaSegundo Pitanga (2003), O primeiro passo consiste em buscar uma plataforma que tornassem vivel o uso de ambientes distribudos, permitindo programao paralela, utilizando apenas produtos de distribuio gratuita. Com base nos estudos da NASA, optei pela plataforma Linux, distribuio RedHat 7.1 e Conectiva 7.0 com a biblioteca MPI para troca de mensagens e para os testes de implementao foi utilizado um laboratrio montado para esta finalidade contendo 3 microcomputadores ligados em rede de 100 mbits. Conforme Pitanga (2003) A melhor soluo seria utilizar a prpria estrutura de uma rede de computadores, um sistema operacional de distribuio gratuita e um conjunto enorme de ferramentas de programas gratuitos disponveis que transforma esta rede de computadores em um supercomputador de baixo custo, para execuo de programao paralela. So inmeras as vantagens que podem ser exploradas neste tipo de sistema de cluster de alto desempenho, sendo elas: A insero de mais computadores no sistema, teremos uma estrutura mais rpida; Hardware de fcil aquisio; Manutenibilidade fcil; Interoperabilidade entre hardware; Baixo custo; Operabilidade ( qualquer computador do sistema parando), o sistema cluster continua operando.

3.2 Construindo o sistema Cluster BeowulfSegundo Pitanga (2003) As verses utilizadas no Multipingim foram Conectiva Linux 7.0 (kernel 2.2.19cl) e o Red Hat 7.1 (Kernel 2.4.2). Foi utilizada uma arquitetura de cluster denominada Beowulf, estrutura visualizada na figura 3. Figura 3: Cluster Beowulf.

Fonte: Marcos Pitanga. O computador mestre onde est instalado: Toda distribuio do sistema de arquivos e a configurao do relacionamento de confiabilidade entre os ns escravos; evita-se assim, o emprego de um servidor de autenticao; Servidor RARP;

MPI;

Distribuio de endereos Internet Protocol (IP) dinmicos via protocolo DHCP; Resoluo de nomes via arquivo hosts, evitando a latncia no utilizando

assim o servio de DNS; Servio de boot remoto (TFTP); Acesso remoto aos ns atravs de rlogin, ssh, ftp, rsh, rwho, rwall; Gerncia dos ns atravs de duas aplicaes: bWatch, SCMS (Smile Cluster Management System); Bibliotecas paralelas: MPICH 1.2.2, PVM 3.4.4; Bibliotecas matemticas: ATLAS, BLAS, SCALAPACK, FFTW; Aplicaes de renderizao de imagens com o PVMPOV e patch para Escalonadores de tarefas: SQMS, MAUI; Analisadores de Performance - NetPipe, NetPerf, UnixBench, LMbench,Stream, Bonnie; Sincronizao atravs de rsync; Segundo Pitanga (2003) uma futura implementao ainda no testada a colocao de um distribuidor de processos dinmicos no cluster como o Bproc (patch ao kernel do Linux desenvolvido pela NASA) e o KSIX (processo daemon da Kasetstat University da Tailndia). Conforme Pitanga Observe que interessante que exista uma alta disponibilidade e redundncia de hardware no controlador mestre ou que separe alguns servios para outros servidores tais como distribuio dos sistemas de arquivos e gerenciamento do cluster. Vale ressaltar que esta estrutura de Cluster foi idealizada por Pitanga em 2003, com os hardwares disponveis na poca. Computador Mestre Dual Pentium III 550 MHz

512 KB de memria cach 384MB de SDRAM PC-133 Gravador de CD HP 9100c Placa Me com chipset Intel810 2 (duas) placas de rede 3Com 3c509 Host SCSI on-board Adaptec Disco rgido de 9,1 GB SCSI Ultra Wide 2 (dois) Discos rgidos de 4,3 GB SCSI Monitor de 17 SVGA Hansol Mouse Microsoft PS/2 Teclado de 102 teclas

Computadores Escravos Quantidade: 02 (dois) Processador Pentium III 600 EB Placa de Rede 3Com 3C509 PCI Placa de Rede on-board SIS900 (utilizado para monitoramento remoto) Floppy Disk de 1,44 MB Placa me Pcchips modelo M756+

Estrutura da Rede Local Fast Ethernet 100 Mbps Switch TrendNet 10/100 8 portas - store and forward Cabos CAT5 padro EIA 568A Rack de construo sob medida Chave Comutadora 4 x 4 x 4 para teclado, mouse e monitor Teclado, mouse e monitor para gerenciamento dos ns

4. CONCLUSO E TRABALHOS FUTUROSNeste captulo so apresentadas as concluses finais deste artigo, onde foi apresentado a tecnologia dos sistemas em Cluster, em especifico o Beowulf e as propostas de trabalhos futuros a derem desenvolvidos.

4.1 Concluso.Atualmente corriqueiro nas empresas empregar seus sistemas com margem de contingncia possibilite em caso de falhas de hardware, manter seus servios em funcionamento. Uma soluo em cluster deve prover disponibilidade da prestao de servios sem interrupes inesperadas. Para isso, deve-se levar em conta o ambiente fsico no qual se planeja instalar o sistema em cluster, com as dividas protees, alem do hardware e software que venham ao encontro desta necessidade. Almejando a garantia de alta disponibilidade deste sistema, de suma importncia as polticas de um bom planejamento de recovery e de backup, testadas e documentadas, antes da implementao.

4.2 Trabalhos futuros.A realizao deste artigo demonstrou a abrangncia deste rico assunto, assim sendo, como proposta para trabalhos futuros, o aprofundamento a respeito da configurao do hardware deste sistema Beowulf e os aspectos que compem a alta disponibilidade, ou ate mesmo um manual que auxilie na instalao e configurao deste sistema.

REFERNCIAS BIBLIOGRFICAS

PITANGA, Marcos. Computao em Cluster. Rio de Janeiro, 2004. Disponvel em : Acesso em: 11 dez. 2011. BATISTA, Alexandre cavalcanti. Estudo terico sobre cluster Linux, 2007, 77 pginas (Ps-Graduao Lato Sensu). Universidade Federal de Lavras, UFLA, Lavras Minas Gerais.