aplicação de cluster beowulf em instituições de ensino
Transcrição
aplicação de cluster beowulf em instituições de ensino
FACULDADE DE TECNOLOGIA DE GUARATINGUETÁ APLICAÇÃO DE CLUSTER BEOWULF EM INSTITUIÇÕES DE ENSINO Claudio Lima do Prado João Messias Alves da Silva Monografia apresentada à Faculdade de Tecnologia de Guaratinguetá, para graduação no Curso Superior de Tecnologia em Informática, ênfase Redes de Computadores. Guaratinguetá – SP 2010 FACULDADE DE TECNOLOGIA DE GUARATINGUETÁ APLICAÇÃO DE CLUSTER BEOWULF EM INSTITUIÇÕES DE ENSINO Claudio Lima do Prado João Messias Alves da Silva Monografia apresentada à Faculdade de Tecnologia de Guaratinguetá, para graduação no Curso Superior de Tecnologia em Informática, ênfase Redes de Computadores. Área de Concentração: Processamento de alto desempenho. Orientador: Luiz Eduardo Guarino de Vasconcelos Guaratinguetá – SP 2010 PRADO, Claudio Lima do; SILVA, João M. A. da. Aplicação de Cluster Beowulf em Instituições de Ensino. Guaratinguetá, 2010. 117p. Monografia, Faculdade de Tecnologia de Guaratinguetá. 2 AGRADECIMENTOS Agradeço primeiramente a Deus por ter dado força e saúde para conseguir terminar este projeto. Agradeço especialmente aos meus pais, Luiz Carlos Ribeiro do Prado e Anália Maria Lima do Prado por sempre acreditarem. Agradeço a três pessoas em especial que me ajudaram e deram muita força, cada um do seu jeito, Sirley Aparecida Rodrigues de Souza, Allan Espíndola dos Santos e meu colega de TCC João Messias Alves da Silva. Claudio Lima do Prado Agradeço a Deus pela sua participação intrínseca nas coisas que compreendemos, nas que iremos compreender e nas quais nunca iremos entender. Ao meu pai Aloisio pelo exemplo de honestidade, caráter e inteligência. A minha mãe Lourdes pelo exemplo de luta, perseverança e fé. A Michele, minha companheira de sempre pelo seu apoio inquestionável. Ao amigo Claudio, por dividir a realização desta obra. João Messias Alves da Silva As Instituições, professores, coordenadores e pesquisadores que nos apoiaram nas pesquisas e no intercâmbio de informações. Ao amigo Kleber Miranda por dividir momentos estressantes, divertidos e de muito aprendizado e conhecimento. Ao Professor e amigo Luiz Eduardo Guarino Vasconcelos, nosso orientador, por sua paciência e grande ajuda. 3 PRADO, Claudio Lima do; SILVA, João Messias Alves da. Aplicação de Cluster Beowulf em Instituições de Ensino. Guaratinguetá, 2010. 117p. Monografia, Faculdade de Tecnologia de Guaratinguetá. Resumo Este trabalho tem o objetivo de estudar e explorar o tema proposto, considerando dois atores principais: O Cluster Beowulf, como opção de cluster de alto desempenho e baixo custo e as Instituições de Ensino, que são sementes de desenvolvimento científico, humano e tecnológico. A implementação deste cluster de alto desempenho permite as Instituições de Ensino ter laboratórios para pesquisas avançadas com boa relação custo/benefício. Para o desdobramento e aplicação, devemos conhecer bem os requisitos e viabilidade. As barreiras encontradas no caminho merecem atenção especial e estão inclusas ao longo do tema proposto. Palavras-chaves: Processamento de alto desempenho, Cluster Beowulf, Instituições de Ensino, Pesquisa cientifica e tecnológica. 4 PRADO, Claudio Lima do; SILVA, João Messias Alves da. Beowulf Cluster Implementation in Institutions of Higher Education. Guaratinguetá, 2010. 117p. Monografia, Faculdade de Tecnologia de Guaratinguetá. Abstract This work aims to explore and pursue the proposed topic, considering two main actors: The Beowulf Cluster as an option for high performance cluster and low-cost and educational institutions, which are seed development scientific, human and technological. The implementation of high-performance cluster allows the institutions of teaching may have advanced research laboratories for cost / benefit. For the deployment and implementation, we must know well the requirements and feasibility. The barriers encountered along the way, deserve special attention and are included along the proposed topic. Keywords: Processing of high performance, Beowulf Cluster, Education Institutions, Scientific and technological research. 5 LISTA DE FIGURAS Figura 1 – O modelo de von Neumann .................................................................................... 14 Figura 2 – Modelo detalhado de von Neumann ....................................................................... 15 Figura 3 – Arquitetura SISD.................................................................................................... 16 Figura 4 – Arquitetura SIMD .................................................................................................. 16 Figura 5 – Arquitetura MISD .................................................................................................. 17 Figura 6 – Arquitetura MIMD ................................................................................................. 17 Figura 7 – Arquitetura memória distribuída ............................................................................ 18 Figura 8 – Arquitetura com memória compartilhada .............................................................. 18 Figura 9 – Arquitetura UMA ................................................................................................... 20 Figura 10 – Arquitetura NUMA .............................................................................................. 20 Figura 11 – Arquitetura COMA .............................................................................................. 21 Figura 12 – Modelo de sistema de alta disponibilidade .......................................................... 25 Figura 13 – Sistemas Operacionais mais utilizados no TOP 500............................................ 30 Figura 14 – Arquiteturas mais utilizadas no TOP 500 ............................................................ 31 Figura 15 – Áreas de aplicação TOP 500 ................................................................................ 33 Figura 16 – Cluster Beowulf do Mount Olive College ............................................................ 36 Figura 17 – Cluster Skywulf .................................................................................................... 36 Figura 18 – Visão lógica da arquitetura Beowulf .................................................................... 43 Figura 19 – Instalações CENAPAD CE – UFC ...................................................................... 55 Figura 20 – Recursos de hardware e conexões de rede CENAPAD CE – UFC ..................... 56 Figura 21 – Recursos de hardware CENAPAD SP – Unicamp .............................................. 57 Figura 22 – Pesquisa: Importância da pesquisa científica e tecnológica................................. 66 Figura 23 – Pesquisa: Possuem programas de iniciação científica e tecnológica ................... 67 Figura 24 – Pesquisa: Conhecimento sobre PAD e Clusters .................................................. 68 Figura 25 – Pesquisa: Conhecimento áreas abrangidas pelo PAD .......................................... 68 Figura 26 – Conhecimento sobre benefícios do PAD ............................................................. 69 Figura 27 – Pesquisa: Conhecimento sobre o SINAPAD e CENAPAD................................. 70 Figura 28 – Pesquisa: Sobre Laboratórios exclusivos à Pesquisas.......................................... 71 Figura 29 – Pesquisa: Importância Laboratórios exclusivos para PAD .................................. 72 Figura 30 – Pesquisa: Existências de Clusters para atividades em PAD ................................ 72 Figura 31 – Pesquisas: Dificuldades para se ter um laboratório com clusters ........................ 73 Figura 32 – Pesquisa: Prioridade na formação do aluno ......................................................... 74 Figura 33 – Layout básico do Laboratório de Pesquisa com cluster ....................................... 78 Figura 34 – Layout cabeamento estruturado laboratório de pesquisa com cluster.................. 80 Figura 35 – Diagrama conexões Cluster Skywulf .................................................................... 82 Figura 36 – Execução em terminal Linux do programa tstskywulf.c ...................................... 89 Figura 37 – Cluster Skywulf em operação ............................................................................... 91 Figura 38 – Terminal rodando o programa flop.c ................................................................... 92 Figura 39 – Processos x MFlops (Cluster Skywulf)................................................................. 94 Figura 40 – Processos x Tempo (Cluster Skywulf).................................................................. 94 6 LISTA DE TABELAS Tabela 1 – Sistemas Operacionais mais utilizados no TOP 500 ............................................. 29 Tabela 2 – Arquiteturas mais utilizadas no TOP 500 .............................................................. 30 Tabela 3 – Áreas de aplicação TOP 500.................................................................................. 31 Tabela 4 – Pesquisa: Importância da pesquisa científica e tecnológica .................................. 66 Tabela 5 – Pesquisa: Possuem programas de iniciação científica e tecnológica ..................... 67 Tabela 6 – Pesquisa: Conhecimento sobre PAD e Clusters .................................................... 68 Tabela 7 – Pesquisa: Conhecimento áreas abrangidas pelo PAD ........................................... 68 Tabela 8 – Pesquisa: Conhecimento sobre benefícios do PAD ............................................... 69 Tabela 9 – Pesquisa: Conhecimento sobre o SINAPAD e CENAPAD .................................. 69 Tabela 10 – Pesquisa: Sobre Laboratórios exclusivos à Pesquisas ......................................... 70 Tabela 11 – Pesquisa: Importância Laboratórios exclusivos para PAD .................................. 71 Tabela 12 – Pesquisa: Existências de Clusters para atividades em PAD ................................ 72 Tabela 13 – Pesquisas: Dificuldades para se ter um laboratório com clusters ........................ 72 Tabela 14 – Pesquisa: Prioridade na formação do aluno ......................................................... 73 Tabela 15 – Custos Sala de Pesquisa ....................................................................................... 90 Tabela 16 – Custos Cluster Skywulf ........................................................................................ 90 Tabela 17 – Amostragem do teste flop.c ................................................................................. 93 7 LISTA DE QUADROS Quadro 1 – Arquivo: /etc/apt/sources.list................................................................................ 84 Quadro 2 – Arquivo: /etc/network/interfaces .......................................................................... 85 Quadro 3 – Arquivo: /etc/hosts ............................................................................................... 86 Quadro 4 – Arquivo: /etc/hosts.equiv ..................................................................................... 86 Quadro 5 – Arquivo /home/.rhosts .......................................................................................... 86 Quadro 6 – Arquivo: /etc/securetty ......................................................................................... 87 Quadro 7 – Arquivo: /etc/fstab ................................................................................................ 87 Quadro 8 – Arquivo: /etc/exports ............................................................................................ 87 Quadro 9 – Arquivo: /usr/local/share/machines.LINUX ........................................................ 88 Quadro 10 – Arquivo: /root/.bash_profile ............................................................................... 88 8 LISTA DE ABREVIATURAS E SIGLAS ABNT/NBR – Associação Brasileira de Normas Técnicas / Norma da ABNT ANSI/EIA/TIA – American National Standards Institute - Electronic Industries Alliance Telecommunications Industry Association CC-NUMA – Cache Coherence Non-Uniform Memory Access CEDIS – Centro de Excelência em Ciência da Informação e em Dados Espaciais CEI – Computational Engineering International CPU – Central Processing Unit – Unidade Central de Processamento CRM – É um acrônimo de Customer relationship management – Gestão de Relacionamento com o Cliente. DSM – Distributed Shared Memory – Memória compartilhada distribuída ERP – Enterprise Resource Planning ou SIGE – Sistemas Integrados de Gestão Empresarial, no Brasil FORTRAN – Acrônimo de Fórmula Translation FUJB – Fundação Universitária José Bonifácio GB – Gigabytes GFlops – Gigaflops GNU – Acrônimo de GNU's Not UNIX HA – High Availability HPC – High Performance Computing HPCC/ESS - High Performance Computing Cluster/Earth and Space Sciences HS – High Scaling HTTP – Acrônimo de HyperText Transfer Protocol LAN – Local Area Network MB – Megabytes MFlops – Megaflops MIMD – Multiple Instruction Multiple Data MISD – Multiple Instruction Single Data MPI – Message Passage Interface MPP – Processadores Paralelos Massivos NASA – National Airspace and Space Agence NFS – Network File System NORMA – No Remote Memory Access PAD – Processamento de Alto Desempenho PC – Personal computer PVM – Parallel Virtual Machine RAM – Random Access Memory – Memória de acesso aleatório RPC – Remote Procedure Call SBC – Sociedade Brasileira da Computação SIMD – Sngle Instuction Multiple Data SISD – Single Instuction Single Data SMP – Multiprocessadores Simétricos TB – Terabytes TCP/IP – Acrônimo de Transmission Control Protocol/Internet Protocol TFlops – Teraflops UTP – Unshielded Twisted Pair - Par Trançado sem Blindagem 9 SUMÁRIO AGRADECIMENTOS .......................................................................................................................... 2 INTRODUÇÃO ................................................................................................................................... 10 1.1 Arquiteturas e classificações ........................................................................................................ 15 1.2 Tipos de processamento paralelo ................................................................................................. 19 1.3 Sistemas Distribuídos .................................................................................................................... 22 1.4 Clusters de Computadores ........................................................................................................... 23 1.4.1 Cluster Balanceamento de Carga (Load Balancing) ou Horizontal Scaling (HS) ................. 24 1.4.2 Cluster de Alta Disponibilidade (HA) ...................................................................................... 24 1.4.3 Cluster de Alto Desempenho (HPC) ......................................................................................... 26 1.4.4 Benefícios dos Clusters............................................................................................................... 26 1.4.5 Aplicações.................................................................................................................................... 27 1.5 Classificação Top 500 .................................................................................................................... 28 2 CLUSTER BEOWULF.................................................................................................................... 34 2.1 Características ............................................................................................................................... 34 2.2 Funcionamento .............................................................................................................................. 35 2.3 Considerações sobre hardware ..................................................................................................... 37 2.4 Sistema Operacional ..................................................................................................................... 38 2.5 Ambientes de programação .......................................................................................................... 38 2.5.1 PVM – Parallel Virtual Machine ............................................................................................... 39 2.5.2 MPI – Message Passing Interface .............................................................................................. 40 2.6 Softwares de gerenciamento e administração de clusters .......................................................... 41 3 EDUCAÇÃO, PESQUISAS CIENTIFICAS E ACADÊMICAS ................................................. 44 3.1 Uso de computadores na educação .............................................................................................. 44 3.2 Formação escolar........................................................................................................................... 45 3.3 Organização acadêmica ................................................................................................................ 46 3.4 Pesquisa Acadêmica e Iniciação Científica ................................................................................. 47 3.4.1 Fundações de apoio a Iniciação Cientifica e Pesquisa Acadêmica ......................................... 50 4 CENTROS DE ESTUDOS E PESQUISA EM PROCESSAMENTO DE ALTO DESEMPENHO .......................................................................... 53 4.1 SINAPAD E CENAPADs ............................................................................................................. 53 4.2 Outros Centros de Pesquisas em Processamento de Alto Desempenho ................................... 60 4.3 Considerações sobre os Centros de Pesquisa em PAD ............................................................... 63 4.4 Áreas de atuação e pesquisas em processamento de alto desempenho ..................................... 64 5 PESQUISA: INSTITUIÇÕES DE ENSINO .................................................................................. 65 6 LABORATÓRIOS DE ENSINO E INFORMÁTICA .................................................................. 76 7 PROPOSTA DE UM LABORATORIO DE PESQUISA COM CLUSTER BEOWULF ......... 78 7.1 Cabeamento Estruturado ............................................................................................................. 79 7.2 Descrição dos computadores e equipamentos ............................................................................. 81 7.3 O Cluster Skywulf .......................................................................................................................... 82 8 CONSIDERAÇÕES ACERCA DA APLICAÇÃO DE CLUSTER BEOWULF EM INSTITUÇÕES DE ENSINO ............................................................ 96 REFERÊNCIAS BIBLIOGRAFICAS .............................................................................................. 98 BIBLIOGRAFIA CONSULTADA .................................................................................................. 104 APÊNDICE A – QUESTIONÁRIO ELABORADO PARA A PESQUISA COM AS UNIVERSIDADES E FACULDADES ...................................................... 105 APÊNDICE B – RELAÇÃO DE UNIVERSIDADES E FACULDADES SELECIONADAS PARA A PESQUISA ........................................................................................ 107 APÊNDICE C – LISTAGEM DO PROGRAMA TSTSKYWULF.C ............................................ 111 APÊNDICE D – RELAÇÃO DOS COMPUTADORES UTILIZADOS PARA MONTAGEM DO CLUSETER SKYWULF .................................................................... 112 ANEXO A – CAPITULO IV DA LEI Nº 9.394 (LDB) .................................................................. 113 ANEXO B – LISTAGEM DO PROGRAMA FLOP.C .................................................................. 117 10 INTRODUÇÃO Atualmente com o desenvolvimento cada vez mais rápido da tecnologia e da informática, encontram-se cada dia mais aplicações que requerem um alto poder computacional. Para esse fim são desenvolvidos os supercomputadores, clusters e grades computacionais. As Instituições de Ensino como ambiente propício para pesquisas e estudos precisam acompanhar esse desenvolvimento oferecendo aos estudantes e pesquisadores oportunidades para realizarem projetos e soluções que necessitem de cálculos complexos e que somente são alcançados com recursos computacionais com alto poder de processamento. A utilização de Cluster Beowulf, oferecendo alto desempenho a baixo custo, como centro de processamento, garante a instituição uma ferramenta viável e com a possibilidade de expansão de seus recursos sem a necessidade de grandes investimentos. Ao delimitar as Instituições de Ensino Superior para o estudo deste trabalho, consegue-se focar nas reais necessidades de uma Instituição, pois é na graduação, onde a maioria dos alunos começa a desenvolver seus primeiros projetos acadêmicos e de iniciação científica. A importância das Instituições de Ensino em desenvolver estudos na área de computação de alto desempenho, reflete-se principalmente nas áreas como: tecnologia da informação, ciência da computação, ciências ambientais, engenharia, física, matemática e em outras onde existam estudos envolvendo cálculos complexos. Para comprovar essa importância, em 2006 foi realizado pela SBC – Sociedade Brasileira de Computação, o “The 18th International Symposium on Computer Architeture and High Performance Computing” com a participação de mais de 300 pesquisadores. Nesse simpósio foram discutidos os desafios dos próximos dez anos para a área de processamento de alto desempenho. 11 Além dessas ponderações, ao trabalhar com Cluster Beowulf de arquitetura livre, o uso de software livre é predominante, abrindo-se um leque de possibilidades de estudos e soluções próprias e de melhoria, pois o contato com o código fonte e o contrato de licença do software livre permite este tipo de desenvolvimento e trabalho. A implantação de um Cluster Beowulf exige um conhecimento de sistema operacional, redes de computadores, programação paralela / distribuída e hardware. O trabalho de conclusão de curso baseou-se em consultas a livros, periódicos técnicos, monografias e artigos relacionados às áreas abrangidas tais como: Clusters de computadores, supercomputadores, processamento de alto desempenho, programação paralela e distribuída, laboratório de ensino, Instituições de Ensino (Universidades e Faculdades) e centros de pesquisa em computação de alto desempenho. Realizou-se uma pesquisa acadêmica tendo como sujeito as Instituições de ensino da região e como metodologia levou-se a elaboração de um questionário, buscando conhecer o pensamento acerca da pesquisa científica e as atuais instalações laboratoriais de computação e pesquisa dessas instituições. A implementação real do Cluster Beowulf ao final, trouxe a confirmação da teoria e a criação de um pequeno roteiro de instalação e configuração além de uma proposta concreta de um laboratório de pesquisa com cluster de computadores. Ao longo desta obra encontram-se uma breve Fundamentação Teórica, na qual são abordados tópicos que nos levam a compreender o processamento paralelo, os clusters de computadores e em especial o Cluster Beowulf. São apresentados alguns conceitos e definições relacionados à educação, instituições de ensino e programas de iniciação científica no Brasil, levantamento dos centros de pesquisa em computação de alto desempenho, áreas e trabalhos realizados com a ajuda do processamento de alto desempenho e uma pesquisa acadêmica referente a estudos científicos e laboratórios de pesquisa com as instituições de ensino da região. É abordada uma proposta real de um laboratório de pesquisa com cluster de 12 computadores, levantamento de requisitos de software e hardware, custo estimado e um roteiro de instalação e configuração de um Cluster Beowulf. 13 1 PROCESSAMENTO PARALELO Segundo Pinheiro (2008) os problemas computacionais usualmente podem ter algumas de suas partes divididas em pedaços que poderiam ser solucionados ao mesmo tempo ou processadas em paralelo. Define-se então processamento paralelo como uma forma pela qual a demanda computacional é suprida através do uso simultâneo de recursos computacionais como processadores para solução de um problema de forma mais rápida com algum tipo de coordenação. Para Rebonatto (2004) o processamento paralelo é uma técnica que divide as tarefas grandes em tarefas menores, e estas são distribuídas em vários processadores para serem executadas simultaneamente. Estes processadores comunicam-se entre si para que haja coordenação (sincronização) na sua execução. Pitanga (2008, p. 2) relata que surgiu na década de 50 o modelo computacional que seria a base de todo o desenvolvimento posterior chamado de “modelo de von Neuman1”, como pode ser visto na Figura 1. 1 John von Neumann (1903-1957), foi um dos mais importantes matemáticos do século XX. Além do conhecido modelo de von Neumann, realizou trabalhos importantes nas áreas da teoria dos conjuntos, análise funcional, teoria ergódiga, mecânica quântica, ciência da computação, economia, teoria dos jogos, análise numérica, hidrodinâmica das explosões, estatística e muitas outras as áreas. 14 Figura 1 – O modelo de von Neumann Fonte: PITANGA, 2008, p. 1. Este modelo constitui de um esquema básico que envolve: Entrada / Saída + Processamento + Memória, onde o processador executa as tarefas. Silla (2008) relata um modelo mais detalhado da arquitetura de von Neuman que divide um computador digital em cinco partes principais: – Unidade de Entrada: componente responsável por fornecer dados e instruções de programas ao sistema. – Unidade de Memória: é o componente onde as informações são armazenadas. – Unidade Aritmética e Lógica: componente responsável por processar instruções dos programas armazenados na memória. – Unidade de Controle: componente que é encarregado de supervisionar as atividades realizadas por cada um dos outros componentes do sistema durante a execução de uma instrução. – Unidade de Saída: componente responsável por disponibilizar para o mundo externo as informações computadas pela unidade aritmética e lógica. A junção da Unidade Aritmética e Lógica com a Unidade de Controle forma a Unidade Central de Processamento (CPU). Um diagrama detalhado pode ser conferido na Figura 2 a seguir. 15 Figura 2 – Modelo detalhado de von Neumann Fonte: SILLA, 2008. O surgimento do processamento paralelo e de sua arquitetura se relaciona com os avanços do hardware ao longo da história. De acordo com Pitanga (2008, p. 10), as máquinas paralelas surgiram por volta de 1962 quando a empresa Burroughs criou o multiprocessador MIMD simétrico de até 4 CPUs. A empresa CDC (Contral Data Corporation) fundada em 1957 por alguns dissidentes da UNIVAC2 desenvolveu o computador CDC 6600 e segundo Canal (1998) deve-se a eles o pioneirismo em computação paralela, sendo um marco na evolução da história dos computadores. 1.1 Arquiteturas e classificações Classificação de Flynn Segundo Pinheiro (2008), Pitanga (2008), Silla (2008) e Paiva (2010) o pesquisador Michael J. Flynn em 1972 classificou as arquiteturas dos computadores segundo o fluxo de 2 UNIVAC – UNIVersal Automatic Computer – Computador Automático Universal, foi o primeiro computador comercial fabricado e comercializado nos Estados Unidos, foi projetado por J. Presper Eckert e John Mauchly. 16 instruções e de dados. Esta classificação também é conhecida como Taxonomia de Flynn e se agrupa da seguinte forma: - SISD (Single Instruction Single Data): É representada pela Figura 3, essa arquitetura executa uma instrução por vez, por isso o equipamento é considerado seqüencial. Exemplos: Máquina de von Neuman, computador pessoal com processador convencional. Figura 3 – Arquitetura SISD Fonte: PITANGA, 2008, p. 12. - SIMD (Single Instruction Multiple Data): É quando o equipamento(s) utiliza uma única instrução ou fluxo desta, utilizando-se múltiplos dados conforme mostra a Figura 4. Exemplos: CM-2, MasPar, ILLIAC IV. Figura 4 – Arquitetura SIMD Fonte: PITANGA, 2008, p. 13. - MISD (Multiple Instruction Single Data): São máquinas que trabalham com várias instruções, mas apenas um único dado ou fluxo de dado, a Figura 5 traz o diagrama da arquitetura MISD. Exemplos: até hoje não temos representantes nesta categoria. 17 Figura 5 – Arquitetura MISD Fonte: PITANGA, 2008, p. 12. - MIMD (Multiple Instruction, Multiple Data): Várias instruções agindo de forma independente cada um com seu fluxo de dados. Agindo assim de forma paralela. Exemplos: SP IBM, Intel Paragon, Thinking Machines CM-5, Cluster de Computadores Distribuídos. Os Clusters de Computadores se encontram, segundo Flynn, na arquitetura MIMD. Na Figura 6 é mostrado o diagrama da arquitetura MIMD. Figura 6 – Arquitetura MIMD Fonte: PITANGA, 2008, p. 14. Na literatura, ainda encontra-se uma subdivisão dentro da MIMD, que se diferencia segundo a forma de interligação e uso da memória. Memória distribuída Pitanga (2008, p. 15) inclui nesta categoria máquinas formadas por várias unidades de processadores, cada um com a sua própria memória. A Figura 7 ilustra este conceito. 18 Figura 7 – Arquitetura memória distribuída Fonte: PITANGA, 2008, p. 15. Dantas (2005, p. 21) denomina esta divisão como sendo de arquitetura de multicomputadores, são ambientes fracamente acoplados, ou seja, possuem suas próprias memórias locais. A comunicação entre processos é efetuada apenas por troca de mensagens entre os processos que estão sendo executados nos processadores. Processadores e memórias podem ser conectados por um barramento ou comutador. Memória compartilhada De acordo com Pitanga (2008, p. 14) aqui se encontram todas as máquinas com múltiplos processadores que compartilham o mesmo endereço de memória. A Figura 8 a seguir traz a representação desta arquitetura. Dantas (2005, p. 19) refere-se esta divisão como sendo as do multiprocessadores e que se caracteriza por vários processadores compartilhando uma única memória. São ambientes fortemente acoplados sendo que processador e memória estão fortemente interligados em um mesmo sistema local de interconexão. Figura 8 – Arquitetura com memória compartilhada Fonte: PITANGA, 2008, p. 15. 19 1.2 Tipos de processamento paralelo Outra forma de classificação é referente aos tipos de processamento paralelo. De acordo com Dantas (2005, p. 22) e Pitanga (2008, p. 16) podem ser do tipo: Multiprocessadores Simétricos (SMP), Processadores Massivamente Paralelas (MPP) e CCNUMA. Processadores Paralelos Massivos (MPP) É um grande sistema de processamento paralelo com arquitetura de memória compartilhada (DSM) e centralizada. Conta com centenas e até milhares de elementos processadores (nós3), que são interligados por uma conexão de rede com alta velocidade, os nós possuem memória própria e um ou mais processadores. (PITANGA 2008, p. 16). Outra característica da arquitetura é que cada nó possuiu sua própria cópia de sistema operacional, onde as aplicações executam localmente e se comunicam através de pacotes de troca de mensagem. (DANTAS, 2005, p. 29). Paiva (2008) observa que como cada nó só tem acesso a sua própria memória. Os Processadores Paralelos Massivos se caracterizam por serem máquinas NORMA (No Remote Memory Access), ou seja, não existe um espaço de endereçamento global com acesso remoto as memórias, cada processador possuiu sua memória local. Multiprocessadores Simétricos (SMP) Pitanga (2008, p. 17) define como sendo um sistema de processamento simétrico que apresenta de dois até sessenta e quatro processadores, compartilhando a mesma memória, através de um barramento ou uma rede de comunicação dedicada. Como todos os 3 Nós, node ou nodo – elementos processadores de dados, máquinas pertencentes ao um cluster. 20 processadores podem acessar a mesma memória, o tempo de acesso deve ser muito baixo, porém quanto maior o sistema mais cresce o tempo de acesso. Para contornar essa situação são empregadas lógicas adicionais para as interligações entre processadores e memória, as referidas interligações se encaixam em três categorias: - UMA (Uniform Memory Access): memória de acesso uniforme é uma arquitetura fortemente acoplada, usada em multiprocessadores de pequena dimensão. A Figura 9 representa a arquitetura UMA. Figura 9 – Arquitetura UMA Fonte: PITANGA, 2008, p. 17. - NUMA (Non Uniform Memory Access): a memória usada é distribuída com vários módulos de memória associados a um processador. O espaço de endereçamento é único, assim cada processador pode acessar toda a memória do sistema. A Figura 10 traz o diagrama desta arquitetura. Figura 10 – Arquitetura NUMA Fonte: PITANGA, 2008, p. 18. 21 - COMA (Cache-Only Memory Architecture): é um tipo especial de NUMA, onde as memórias são substituídas por caches4 que formam apenas um bloco total de memória, utiliza um mecanismo sofisticado de coerência de cache no nível de hardware, isso faz elevar o custo dessa arquitetura. A Figura 11 ilustra este tipo de interligação. Figura 11 – Arquitetura COMA Fonte: PITANGA, 2008, p. 18. Segundo Dantas (2005, p. 24) as máquinas SMP são também conhecidas como multiprocessadores fortemente acoplados e por isso nestes ambientes não são muito escaláveis. Com o aumento no número de processadores, a taxa de colisão de acesso à memória cresce de maneira substancial. Memória de Acesso não-uniforme com Coerência de Cachê (CC-NUMA) Segundo Pitanga (2008, p. 19) CC-NUMA é um sistema de multiprocessadores escaláveis que possuem uma arquitetura de coerência de cachê com acesso não uniforme. Igual a uma máquina SMP, cada processador é um sistema CC-NUMA com uma visão globalizada da memória. Nessa arquitetura a memória é dividida e cada processador tem seu bloco de memória, cada bloco de memória é conectado via barramento a um processador como memória local. Dantas (2005, p. 26) destaca algumas aplicações para esta arquitetura como serviços de Web, banco de dados, processamento de sinal, CRM e ERP. 4 Cache – é um dispositivo de acesso rápido, interno a um sistema, que serve de intermediário entre um operador de um processo e o dispositivo de armazenamento. Pode ser definido também como um bloco de memória para o armazenamento temporário de dados que possuem uma grande probabilidade de serem utilizados novamente. 22 1.3 Sistemas Distribuídos Sistemas Distribuídos podem ser vistos como a agregação de vários computadores existentes em uma rede convencional. Nos ambientes distribuídos, a homogeneidade ou heterogeneidade de um conjunto de computadores, onde cada um tem seu próprio hardware e seu próprio software, permite a formação de SMPs, MPPs, de clusters e de grids computacionais. (DANTAS, 2005, p. 31) Para Pitanga (2008, p. 22) um Sistema Distribuído é um conjunto de elementos que se comunicam através de uma rede de interconexão e que utilizam software de sistema distribuído. Objetiva melhorar a comunicação entre os computadores incrementando o desempenho da comunicação entre processos. Souza (2004) descreve as características que um sistema distribuído deve ter: - Transparência: Qualquer processo pode ser executado em qualquer máquina da rede de maneira transparente ao utilizador; - Confiabilidade: Alta disponibilidade dos serviços. Atinge-se este patamar utilizando-se vários equipamentos em conjunto; - Concorrência: Caracterizado pelo compartilhamento de recursos com uma melhor utilização da carga de processamento entre todas as máquinas; - Escalabilidade: Capacidade de agregar novos recursos ao sistema, tanto hardware quanto software; - Flexibilidade: Flexível às decisões do projeto, permitindo mudanças no sistema, caso necessite; - Heterogeneidade: Diversidade de elementos computacionais. Como plataforma de hardware ou software. 23 A diferença entre um sistema distribuído e um computador paralelo, segundo Pitanga (2008, p. 23) está na sua utilização. Sendo que o computador paralelo é definido por uma coleção de elementos de processamento que cooperam e comunicam para resolver problemas de maneira bem mais rápida. Assim, os computadores paralelos são um tipo mais restrito dentro do sistema distribuído. 1.4 Clusters de Computadores Para Dantas (2005, p. 32) um cluster pode ser entendido como uma agregação de computadores de uma forma dedicada (ou não) para a execução de aplicações específicas de uma organização ou de uma instituição. A utilização de dois ou mais computadores em conjunto para resolver certo problema denomina-se cluster, que em português significa agrupamento. (PITANGA, 2008, p. 25). O termo cluster, ou aglomerado de computadores, pode ser formado por um conjunto de computadores convencionais agrupados fisicamente em um ambiente, ou simplesmente por computadores dedicados. (ALVARENGA, 2007). Segundo Dantas (2005, p. 147), frente aos altos custos de máquinas do tipo MPP e SMP e de uma maior oferta de computadores pessoais existentes nas redes das instituições, tem se adotado o aglomerado de computadores para a utilização em ambientes que requerem processamento de alto desempenho. Basicamente existem três tipos de clusters: Balanceamento de carga (Load Balancing), Alta disponibilidade (High Availability) e Alto desempenho (High Performance Computing). 24 1.4.1 Cluster Balanceamento de Carga (Load Balancing) ou Horizontal Scaling (HS) O cluster de balanceamento de carga tem por objetivo distribuir as requisições que chegam ao cluster. Mesmo no caso de falha em um dos nós, estas requisições são redistribuídas entre os outros membros do cluster. (BATISTA, 2007). Para Leão (2004) o cluster de Balanceamento de Carga tem como propósito a distribuição igualitária de processos ao longo dos nós do agrupamento de computadores, com a ajuda de algoritmos de escalonamento. Pitanga (2003) destaca a importância de algoritmos para balanceamento e enumera três exemplos destes algoritmos: - Least Connections: Esta técnica redireciona as requisições para o servidor baseado no menor número de requisições/conexões. - Round Robin: Este método usa a técnica de sempre direcionar as requisições para o próximo servidor disponível de uma forma circular. - Weighted Fair: Esta técnica dirige os pedidos para os servidores baseados na carga de requisições de cada um e na capacidade de resposta dos mesmos (performance). Este tipo de cluster é muito utilizado para serviços web e de comércio eletrônico. Também é comum a associação do cluster de balanceamento de carga com o de alta disponibilidade criando-se um cluster hibrido. 1.4.2 Cluster de Alta Disponibilidade (HA) Um cluster de alta disponibilidade é usado para manter o acesso à informação sempre disponível. 25 Pitanga (2003) descreve cluster de Alta Disponibilidade (High Availability – HA) como um modelo construído para prover uma disponibilidade de serviços e recursos de forma ininterrupta através do uso da redundância. Sobre Cluster de Alta Disponibilidade, Alvarenga (2007) relata que são implementados para fornecer uma disponibilidade de serviços de forma sempre ativa, através de operações redundantes nos nós, ou seja, se um deles falhar, então outro nó iria executar sua tarefa, de forma que o cluster não se desliga por inteiro. A Figura 12 faz a representação deste funcionamento. Por essas características o Cluster de alta disponibilidade é utilizado especialmente em missões críticas. Figura 12 – Modelo de sistema de alta disponibilidade Fonte: ALVARENGA, 2007. 26 1.4.3 Cluster de Alto Desempenho (HPC) Para Pitanga (2008, p. 31) é um tipo de sistema para processamento paralelo que consiste de uma coleção de computadores interconectados, trabalhando juntos como um recurso de computação simples e interligado de forma a conseguir um maior processamento. Segundo Dantas (2005) um ambiente de alto desempenho necessita de um cluster com inúmeros processadores, grande quantidade de memória e espaço em disco. Esse tipo de cluster foi desenvolvido para oferecer maior poder de computação para a solução de um determinado problema. De acordo com Gorino (2006) é o cluster mais comum no meio acadêmico e científico. O funcionamento básico de um cluster de alto desempenho pode ser exemplificado da seguinte forma: dado um problema, que possa ser divido em partes menores (“ser paralelizado”), um servidor fica responsável por dividir o problema em várias partes e enviar para os respectivos nós. Esses, por sua vez, acham a solução e respondem ao servidor, que junta às respostas e disponibiliza para o usuário. (GORINO, 2006). Um exemplo de cluster HPC é o Cluster Beowulf, e será visto em detalhes no Capitulo 2. 1.4.4 Benefícios dos Clusters São inúmeros os benefícios que um aglomerado de computadores, ou seja, cluster pode trazer para uma organização ou instituição. Porém, antes do desenvolvimento do cluster, a finalidade do mesmo já deve estar previamente definida, pois devem ser desenvolvidos com uma finalidade especifica e não desenvolver sem saber os processos que devem ser agilizados. (DANTAS, 2005). 27 Os benefícios mais importantes que os clusters podem nos proporcionar segundo Pitanga (2008, p. 33), Batista (2007) e Dantas (2005) são: - Baixo custo: a redução de custo para se obter processamento de alto desempenho utilizandose simples PCs. - Disponibilidade: devido ao cluster possuir no mínimo dois nós, em caso de ocorrer qualquer problema, a disponibilidade dos serviços não deve ser prejudicada. - Escalabilidade: a configuração pode crescer à medida que mais recursos estiverem disponíveis. - Tolerância à falhas: o aumento de confiabilidade do sistema como um todo, caso alguma parte falhe. - Alto desempenho: possibilidade de se resolver problemas muito complexos através do processamento paralelo, o que diminui o tempo de resolução dos problemas. O processamento de alto desempenho, que é a característica principal do Cluster Beowulf (Capitulo 2), é o benefício que permite o desenvolvimento de pesquisas, quando estas exigem cálculos complexos, nas instituições e centros de ensino e pesquisa. 1.4.5 Aplicações As aplicações para os clusters são muito diversificadas, e envolvem todas as áreas, seja de pesquisa, indústria ou ensino. Em qualquer local que aparecer um grande problema computacional em que o processamento paralelo seja indicado, o cluster será recomendado para o serviço. (PITANGA, 2008, p. 34). Dantas (2005) alerta que os clusters, devem ser estabelecidos a partir das necessidades das empresas e instituições. 28 Para Pitanga (2008, p. 33) empresas de menor porte e universidades, com poucos recursos financeiros, podem recorrer a uma alternativa para obtenção do processamento de alto desempenho, a custos baixos, aproveitando os equipamentos (hardware) existentes. Isto se deve ao barateamento das redes locais e da evolução dos processadores. Alguns exemplos de áreas onde os clusters podem ser implementados e serão muito úteis: Servidores de Internet, banco de dados, computação gráfica, aerodinâmica, análise de elementos finitos, inteligência artificial e automação, engenharia genética, exploração sísmica, oceanografia e astrofísica, previsão do tempo, pesquisas militares, problemas e pesquisa básica (física, química, engenharia e matemática), segurança de reatores nucleares. (PITANGA, 2008, p. 37). O uso de clusters para pesquisa científica e acadêmica nas Instituições de Ensino é a proposta central desta obra. 1.5 Classificação Top 500 Top500 é um projeto onde são desenvolvidas e apresentadas as estatísticas sobre os quinhentos mais poderosos sistemas de computadores. Teve inicio em 1993, é atualizada duas vezes ao ano (semestralmente). É organizada por Hans Meuer da University of Mannheim, Alemanha, Jack Dongarra da University of Tennessee, Erich Strohmaier e Horst Simon do NERSC / Lawrence Berkeley National Laboratory. A mensuração é feita a partir da ferramenta de benchmark Linpack, desenvolvida por Jack Dongarra. Esta ferramenta se baseia na resolução de um sistema denso de equações lineares. 29 Essas estatísticas são de grande interesse para os fabricantes, instituições e usuários, facilitando o estabelecimento de colaborações, ao intercâmbio de dados e software, proporcionando uma melhor compreensão do mercado de computadores de alto desempenho e suas aplicações. Foram detalhadas três listas: sistemas operacionais, arquitetura e áreas de aplicação mais utilizados dos sistemas computacionais de alto poder de processamento. Sistemas operacionais mais utilizados Na Tabela 1, é listado segundo TOP 500 (2010) os Sistemas Operacionais mais utilizados. Em seguida a Figura 13, traz o gráfico correspondente. Destaca-se a impressionante marca de 91% de utilização do Sistema Operacional Linux. Tabela 1 – Sistemas Operacionais mais utilizados no TOP 500 Sistema Operacional Quantidade Porcentagem Linux 455 91 % Unix 22 4.40 % Mixed5 17 3.40 % Windows 5 1.00 % BSD Based 1 0.20 % 500 100% Total Fonte: TOP 500, 2010. 5 Mixed – sistemas operativos mistos 30 Sistema Operacional TOP 500 455 500 400 300 200 100 0 22 Quantidade 17 5 Linux Unix Mixed Windows 1 BSD Based Figura 13 – Sistemas Operacionais mais utilizados no TOP 500 Arquiteturas mais utilizad utilizadas A Tabela 2 apresenta os tipos de arquiteturas rquiteturas mais utilizados. utilizados A Figura 14 traz o gráfico correspondente. Observa Observa-se se que 84% da arquitetura dos sistemas computacionais mais poderosos em termos de processamento, são constituídos por clusters de computadores. Tabela 2 – Arquiteturas mais utilizadas no TOP 500 Arquitetura Quantidade Porcentagem Constellations6 2 0.40% MPP 74 14.80% Cluster 424 84.80% Total 500 100.0% Fonte: TOP 500, 2010. 6 Constellations – redes edes composta por várias máquinas MPP MPP. 31 Arquitetura TOP 500 500 424 400 300 200 Quantidade 100 74 0 2 Cluster MPP Constellations Figura 14 – Arquiteturas mais utilizadas no TOP 500 Áreas de aplicação A Tabela 3 traz as áreas de aplicação mais utilizadas e a Figura 15, 15 o gráfico correspondente. Das áreas especificadas, as pesquisas com 16,40% representam a maior aplicação e uso dos sistemas computacionais de alto desempenho. Tabela 3 – Áreas de aplicação TOP 500 Área de Aplicação Quantidade Porcentagem Aeroespacial 5 1.00 % Automotivos 2 0.40 % Aplicações e Testes 4 0.80 % Biologia 1 0.20 % Consultoria 1 0.20 % Banco de Dados 5 1.00 % Defesa 15 3.00 % Energia 6 1.20 % Financeira 53 10.60 % Geofísica 24 4.80 % Hardware 2 0.40 % continua 32 Área de Aplicação (continuação) Quantidade (continuação) Porcentagem (continuação) Serviço de Informação 33 6.60 % Processamento de Informação 16 3.20 % Ciência para a Vida 1 0.20 % Medicina 3 0.60 % Media 2 0.40 % Pesquisas 82 16.40 % Serviços 7 1.40 % Software 7 1.40 % Telecomunicação 6 1.20 % Previsão e Estudos do Clima 4 0.80 % Servidores Web 7 1.40 % Previsão do Tempo 3 0.60 % Semicondutores 15 3.00 % Mídia Digital 1 0.20 % Diversão 3 0.60 % Não Especificado 154 30.80 % Jogos 2 0.40 % Varejo 7 1.40 % Serviço de Logística 29 5.80 % Total 500 100% Fonte: TOP 500, 2010. 33 Não Especificado Pesquisas Financeira Áreas de aplicação TOP 500 Serviço de Informação Serviço de Logística Geofísica Processamento de Informação Defesa Semicondutores Serviços Software Servidores Web Varejo Energia Telecomunicação Aeroespacial Banco de Dados Aplicações e Testes Previsão e Estudos do Clima Medicina Previsão do Tempo Diversão Automotivos Hardware Media Jogos Biologia Consultoria Ciência para a Vida Mídia Digital Figura 15 – Áreas de aplicação TOP 500 34 2 CLUSTER BEOWULF Cluster Beowulf pode ser considerado o cluster mais difundido e utilizado para o processamento de alto desempenho, isto se deve muito ao seu baixo custo de implementação. Veio suprir a crescente necessidade de elevada capacidade de processamento em diversas áreas científicas. (ALVARENGA, 2007, p. 19). A semente inicial veio ainda na década de 1960, com a IBM, em uma forma de interligar vários mainframes, com o projeto que recebeu o nome de IBM Parallel Sysplex System. Porém foi somente em 1993 que os pesquisadores Donald J. Becker e Thomas Sterling começaram a desenvolver um sistema de processamento distribuído utilizando-se hardware convencional. Em 1994, trabalhando no CEDIS (subsidiária da NASA), sob o patrocínio do Projeto HPCC/EES7, nasceu o projeto Beowulf8. (NETO, 2008). O “Cluster da NASA” era “formado por 16 PCs 486 DX-100 ligados em rede. Para manter a independência do sistema e baixar os custos, os desenvolvedores optaram por utilizar o Linux”. (MORIMOTO, 2010). 2.1 Características Uma das características fundamentais do Cluster Beowulf é a possibilidade de utilização de componentes comuns, ou seja, utiliza hardwares e softwares disponíveis no mercado e também de utilizar Sistema Operacional Linux e bibliotecas de comunicação de livre distribuição. (PITANGA, 2008, p. 47). 7 HPCC – High Performance Computing Cluster , programa da NASA para fomento de pesquisa e estudo em processamento massivamente paralelo. EES – Earth and Space Sciences, programa de fomento a pesquisa e estudos em várias áreas da ciência espacial. 8 Beowulf – vem de um poema inglês que conta a historia de um herói que salvou um reino dinamarquês de um monstro chamado Grendel. 35 O Cluster Beowulf foi planejado e desenvolvido para dar suporte às aplicações que necessitavam de alto processamento na época e também para fazer frente aos supercomputadores que possuem alto nível de processamento, mas necessitam de elevado grau de investimento. Júnior (2005) destaca quatro características principais desta arquitetura, são elas: Nenhum componente feito sob medida; Independência de fornecedores de hardware e software; Periférico escalável e software livre e de código aberto. 2.2 Funcionamento Um Cluster Beowulf consiste de um nó denominado master (mestre), server ou frontend que é responsável pela comunicação central e distribuição das tarefas aos demais nós chamados de slaves (escravos), clients ou back-ends. Ao nó master é conectado um monitor, teclado e mouse e aos demais nós somente a alimentação elétrica e o cabo de conexão de rede. E todos interconectados por um concentrador (switch). Os programas para o Beowulf, usualmente são escritos em linguagem C ou FORTRAN e necessitam de uma biblioteca de troca de mensagens (seção 2.6). É configurado o compartilhamento de pastas e arquivos entre servidor e clientes, habitualmente o padrão NFS9, além da criação de uma relação de confiança10 entre os nós. As Figuras 16 e 17 são referências de instalação de Cluster Beowulf. 9 NFS – Network File System, serviço que permite que diretórios e arquivos sejam compartilhados através da rede, baseando-se em uma arquitetura cliente/servidor. 10 Relação de confiança aqui empregado se refere à utilização de programas de acesso remoto entre máquinas e usuário, como o rsh (Remote Shell) que permite a execução de comandos via linha de comando (shell) entre usuários, outro comumente utilizado é o ssh (Secure Shell). 36 Figura 16 – Cluster Beowulf do Mount Olive College Fonte: COLLEGE, 2010. Figura 17 – Cluster Skywulf 37 2.3 Considerações sobre hardware Pitanga (2008, p. 69) lista uma série importante de características a serem levadas em consideração na hora da montagem do projeto de cluster: Tipo de processador; tamanho e velocidade da memória cache (L1/L2/L3); número de processadores por nó; capacidade, velocidade e tecnologia da memória RAM; velocidade do barramento; chipset da placa mãe e placas de rede. Para Dantas (2005, p. 170) quando à interconexão é formado por multiprocessadores e multicomputadores específicos, o projetista poderá avaliar o sistema de interconexão somente com a comparação do material fornecido pelo fabricante. Braga (2003) orienta que a escolha dos componentes de “hardware” e “software” para a construção de clusters do tipo Beowulf devem ser criteriosa e vem se mostrando bastante viável a computação de alto desempenho para instituições com fortes restrições financeiras. Em um projeto de cluster o ideal é produzir uma análise dos aplicativos que irão compor o ambiente e o respectivo custo-benefício do ambiente projetado. (DANTAS, 2005, p. 170). Padrões de Redes Padrão Fast-Ethernet (100Mbps) e Gigabit-Ethernet (1Gbps), são os mais comuns, pois possuem menor custo e permitem fácil migração para os novos padrões Ethernet como o 10 Gigabit-Ethernet (10Gbps). Como desvantagens possuem alta latência11 e não foram projetados especialmente para aplicação de processamento paralelo. A Myrinet é uma tecnologia desenvolvida pela empresa Myricon. É muito utilizada devido ao seu alto desempenho, principalmente com cluster com mais de 32 nodos. Como 11 Latência é a diferença do tempo entre o início de um evento e o momento em que seus efeitos tornam-se perceptíveis. 38 características principais destacam-se: Full-duplex 2+2Gbp/s de velocidade; Controle de fluxo e controle de erros; Baixa latência e Processador programável on-board. (PITANGA, 2008, p. 93). 2.4 Sistema Operacional Segundo Ferreira et al (2001), um Sistema Operacional executa várias tarefas como gerenciamento de periféricos de entrada / saída, memória e controle de arquivos e diretórios no disco. Vários Sistemas Operacionais podem ser usados no projeto de Cluster Beowulf e o GNU/Linux (incluindo suas variadas distribuições) é o mais utilizado para este fim, devido a sua confiabilidade, robustez e por ser software livre com código fonte aberto permitindo várias otimizações e custo reduzido. 2.5 Ambientes de programação Segundo Dantas (2005, p. 107) deve-se levar em consideração requisitos que podem ser explorados na programação frente às configurações computacionais. Assim, relacionam-se diferentes tipos de modelos de programação a diferentes arquiteturas de sistemas computacionais. Em arquiteturas paralelas e especificamente Cluster Beowulf, utilizam-se bibliotecas de programação paralela, que são as rotinas e as funções que um conjunto ou pacote de software possuem para fazerem a comunicação entre os nós. As duas bibliotecas mais utilizadas para clusters Bewoulf são a PVM e MPI. 39 2.5.1 PVM – Parallel Virtual Machine A Máquina Virtual Paralela é uma biblioteca de programação paralela por passagem de mensagem, criada em 1989 pelo Heterogeneous Network Project em conjunto da Oak Ridge National Laboratory, University of Tennesse, Emory University e Carnegie Mellon University, com a intenção de facilitar o campo da computação paralela heterogênea. (PITANGA, 2008, p. 162). De acordo com Dantas (2005, p. 114) o pacote PVM tem como objetivo ser um facilitador em um ambiente de programação paralela adicionando um mecanismo transparente e agregando com isso inúmeras máquinas com arquiteturas homogêneas ou heterogêneas (máquinas diferentes com sistemas operacionais diversos). Júnior (2005) resume o funcionamento do PVM da seguinte forma “A idéia do Parallel Virtual Machine consiste em montar uma máquina virtual de n processadores e usálos para executar tarefas simultâneas”. Objetiva, portanto utilizar um conjunto de computadores interconectados, como um recurso virtualmente único. Pitanga (2008, p. 165) destaca algumas características do PVM: Abstração completa (máquina virtual); Controle de processos em tempo real e recursos; Tolerância a falhas e Fácil de instalar e usar. O PVM, segundo Júnior (2005) pode ser dividido em três partes: - Console: usado para montar a máquina paralela virtual. - Daemon: um programa (processo) que executa em cada máquina do ambiente, estabelecendo a comunicação entre as diversas máquinas (nós). - Biblioteca: onde reside as funções e sub-rotinas que instruem o código a dividir as tarefas entre os daemons. 40 Atualmente o PVM vem deixando de ser o mais utilizado sendo substituído pelo padrão MPI. 2.5.2 MPI – Message Passing Interface É o padrão proposto para a comunidade de desenvolvedores com o objetivo de fazer com que as aplicações tenham uma maior interoperabilidade, tornando-os portáveis para diferentes plataformas de hardwares e sistemas operacionais. (DANTAS, 2005, p. 117). Segundo Pitanga (2008, p. 171) o MPI é uma biblioteca de programação com funções para troca de mensagens entre os nós e responsável também pela comunicação e sincronização dos processos de um cluster paralelo. O padrão MPI foi lançado em 1994 pelo MPI Fórum12 e atualmente esta na versão 2. Junior (2005) descreve algumas características importantes do MPI: - Eficiência: projetado para executar eficientemente em máquinas diferentes. - Facilidade: Define uma interface não muito diferente do padrão PVM e acrescenta algumas extensões que permitem maior flexibilidade. - Portabilidade: Suporte a várias plataformas de hardware e sistemas operacionais. - Transparência: Permite que um programa seja executado em sistemas heterogêneos sem mudanças significativas. - Escalabilidade: O MPI suporta escalabilidade sob diversas formas. O desenvolvimento de programas utilizando MPI usualmente é escrito nas linguagens de programação C ou FORTRAN. A plataforma alvo para o MPI são os ambientes de memória distribuída, máquinas paralelas massivas e clusters de estações de trabalho. 12 MPI Fórum – acesso disponível pelo endereço: http://www.mpi-forum.org 41 Existem várias implementações do MPI tais como: MPICH (ANL/MSU), MPI-F (IBM Research), UNIFY (Mississipi State University), LAM (Ohio Supercomputer Center), CHIMP (Edinburgh Parallel Computing Center) e Open MPI (Open Source High Performance Computing). 2.6 Softwares de gerenciamento e administração de clusters As ferramentas de gerenciamento de clusters segundo Dantas (2005, p. 119) tem o objetivo de gerenciar tarefas e recursos geograficamente distribuídos nos clusters. E como facilidades devem prover: Suporte a Sistemas Operacionais heterogêneos; Ambientes interativos; Verificação e migração de processo; Balanceamento de carga; Interface gráfica amigável e relatórios diversos. Schepke et al (2005) define o gerenciamento de clusters como uma tarefa que resulte um bom aproveitamento dos recursos, provendo para tanto, de mecanismos que auxilie na administração dos nós de forma integrada. Algumas ferramentas de gerenciamento de clusters são listadas a seguir: - bWatch: beowulf Watch, desenvolvido por Jacek Radajewski, software livre escrito na linguagem Tcl/Tk. Tem como característica monitorar carga e uso da memória dos nós. - Ganglia: software livre de monitoramento em tempo real para sistemas de alto desempenho de forma gráfica e fácil interpretação. - Nagios: ferramenta de gerenciamento e monitoramento de rede LAN e WAN, monitora recursos e serviços de rede (protocolos) e computacionais (memória, espaço em disco, uso da CPU, etc.). Emite eventos de alerta ao administrador da rede. - Condor: ferramenta desenvolvida pela Universidade de Wisconsin-Madison (EUA), possui como características: submissão distribuída de tarefas, prioridades para usuários e tarefas, 42 suporte a múltiplos modelos de tarefas, checkpointing e migração, suspensão de tarefa e posterior continuação, autenticação e autorização. - Parmon: ferramenta comercial que permite adquirir informações dos recursos do sistema de vários nós, acompanhar processos e logs do sistema, além de definir eventos de alerta ao administrador do cluster. Também é possível monitorar CPU, memória, rede e disco. - SCMS: ferramenta para clusters de pequeno e médio porte através de uma arquitetura centralizada, organizada em um módulo de monitoração e um módulo de centralização. Permite monitorar o uso de CPU, memória, rede e disco, além de fornecer informações úteis sobre a configuração dos nós do cluster. Os Benchmarks Boavida (2002) destacam que ao se tratar de clusters, os softwares de benchmark, tradicionalmente usados para qualificar o desempenho de um sistema, ganharam mais uma finalidade que é a de medir a escalabilidade dos nodos e/ou aplicações intensivas de comunicação. As unidades mais comuns de medida de desempenho em processamento de alto desempenho são a MFLOPS (Millions of floating-point operations per second) ou Megaflops, MIPS (Millions of instruction per second) e QUIPS (Quality improvement per second). (PATRAO, 2002). Alguns exemplos de ferramentas de benchmark para clusters são: - NAS Parallel Benchmarks: desenvolvido pela NASA Ames Research Center. - HPL – High-Performance Linpack: desenvolvido por Jack Dongarra. - HINT – Hierarchical Integration: desenvolvido pelo U.S Departament of Energy's Ames Research Laboratory. - HPC Challenge Bencharmk Suite. 43 - STREAM: desenvolvido por Dr. John D. McCalpin. - MPBench – Massive Parallel Benchmark Uma visão lógica geral da arquitetura Beowulf pode ser vista na Figura 18. Figura 18 – Visão lógica da arquitetura Beowulf Fonte: FERREIRA et al, 2001. 44 3 EDUCAÇÃO, PESQUISAS CIENTIFICAS E ACADÊMICAS O artigo n.º 205 da Constituição Federal do Brasil (1998) fala de uma educação que visa o pleno desenvolvimento da pessoa, seu preparo para o exercício da cidadania e sua qualificação para o trabalho, além de ser um direito de todos. Segue-se no artigo n.º 206, entre as bases desta educação, está à liberdade de aprender, ensinar, pesquisar e divulgar o pensamento, a arte do saber; pluralismo de idéias e de concepções pedagógicas e coexistência de instituições públicas e privadas de ensino. Neste plano as instituições públicas e privadas de ensino ganham uma importância vital para a formação humana e na identidade e desenvolvimento do próprio país. O modo de se educar em uma sociedade, sofre ao longo da história transformações que acompanham, às vezes tardiamente, as mudanças da sociedade e os avanços científicos e tecnológicos. Pinho (1997) no seu discurso de posse como diretora do Instituto de Biociências da UNESP, campus Botucatu, refletiu que “Os jovens que hoje recebemos pertencem a uma nova geração”. Ela conclui “e por esse motivo, mudou igualmente a tarefa de como educá-los. Nossos métodos de ensino não mais funcionam adequadamente. Surge, então, outro desafio, também bastante difícil, a definição de como ensinar”. Valente (1999, p. 39) defende que as ações para a introdução de novas idéias para serem efetivadas devem ser acompanhadas de alterações de currículo, novas propostas de trabalho em equipe e o uso de novas tecnologias da informação. 3.1 Uso de computadores na educação Os computadores hoje se tornaram indispensáveis no cotidiano do homem moderno, seja no trabalho ou no lazer. Como ferramenta de ensino auxilia professores e alunos. 45 Para Brandão (2009), “O uso do computador na educação tem como papel ultrapassar as fronteiras do educar convencional [...]. A informática na educação possibilita ao educando a construção do seu conhecimento, transformando a sala de aula num espaço real de interação, de troca de resultados, e adaptando os dados à realidade do educando.” Uma das realidades do educando se refere às exigências do mercado de trabalho e em suas atividades de pesquisa e desenvolvimento científico. 3.2 Formação escolar No Brasil a Lei de n.º 9.394 de 20 de dezembro de 1996 é que rege as diretrizes e bases da Educação Nacional, nesta encontra-se definido no Artigo 21º: “A educação escolar compõe-se de: I - educação básica, formada pela educação infantil, ensino fundamental e ensino médio; II - ensino superior”. (NACIONAL, 1996). No Artigo 39º esta as definições referente à educação profissional: “A educação profissional, integrada às diferentes formas de educação, ao trabalho, à ciência e à tecnologia, conduz ao permanente desenvolvimento de aptidões para a vida produtiva”. Segue-se no Artigo 40º: “A educação profissional será desenvolvida em articulação com o ensino regular ou por diferentes estratégias de educação continuada, em instituições especializadas ou no ambiente de trabalho”. (NACIONAL, 1996). Em relação ao ensino superior, objeto maior de análise, o Artigo 43º seguido de seus parágrafos, nos informa do papel do ensino superior e destaca: o incentivo ao trabalho de pesquisa e investigação científica; promover a divulgação de conhecimentos culturais, científicos e técnicos que constituem patrimônio da humanidade e comunicar o saber através do ensino, de publicações ou de outras formas de comunicação; estimular o conhecimento dos problemas do mundo presente, em particular os nacionais e regionais, prestar serviços 46 especializados à comunidade e estabelecer com esta uma relação de reciprocidade. (NACIONAL, 1996). Já o Artigo 45º estabelece que o ensino superior seja ministrado por instituições públicas ou privadas, com variados graus de abrangência e especialização. A pós-graduação no Brasil divide-se basicamente em Stricto Sensu e Latu Sensu, sendo que o primeiro compreende os programas de mestrado e doutorado, abertos a candidatos diplomados em cursos superiores de graduação e que atendam às exigências das instituições de ensino e ao edital de seleção dos alunos (artigo 44, III, Lei nº 9.394/1996.). Já os cursos Lato Sensu, compreende os cursos de especialização em nível de pós graduação oferecidas por instituições de ensino superior credenciadas e que atendem ao disposto na Resolução CNE/CES nº 1, de 8 de junho de 2007. (MEC, 2010). Segundo Bridi (2004), “como instituições socioculturais, criadas e caracterizadas por um conjunto de papéis e funções, as universidades refletem o contexto econômico, político e cultural no qual estão inseridas”. 3.3 Organização acadêmica Cavalcante (2000, p. 20) com base no Decreto nº 2.306/9713 organiza o sistema federal de ensino em: - Universidades: Instituições pluridisciplinares de formação de quadros profissionais de nível superior, caracterizando-se pela indissociabilidade das atividades de ensino, pesquisa e extensão. - Universidades Especializadas: Organizadas por campo do saber, nas quais deverá ser assegurada a existência de atividades de ensino e pesquisa. 13 Ver também Resolução CNE/CES nº 1, de 27/1/99; Portaria nº 639, de 13/5/97; Resolução CNE/CP nº 1, de 30/9/99; Decreto nº 2.406/97 – Regulamenta a Lei nº 8.948, de 8/12/94 e Portaria nº 1.647, de 25/11/99. 47 Centros Universitários: São instituições pluricurriculares, abrangendo uma ou mais áreas de conhecimento, que devem oferecer ensino de excelência e condições de trabalho acadêmico. - Centros Universitários Especializados: Deverão atuar numa área de conhecimento específica ou de formação profissional. - Faculdades Integradas - Faculdades - Institutos Superiores ou Escolas Superiores - Centros de Educação Tecnológica: Instituições especializadas de educação profissional com finalidade de qualificar profissionais, nos vários níveis e modalidades do ensino, para os diversos setores da economia e realizar pesquisa e desenvolvimento tecnológico de novos processos, produtos e serviços. 3.4 Pesquisa Acadêmica e Iniciação Científica “A função da Universidade é única e exclusiva. Não se trata somente de difundir conhecimentos. O livro também os difunde. [...] Trata-se de conservar o saber vivo e não morto, nos livros ou no empirismo das práticas não intelectualizadas. Trata-se de formular intelectualmente a experiência humana, sempre renovada, para que a mesma se torne consciente e progressiva. Trata-se de difundir cultura humana, mas de fazê-lo com inspiração, enriquecendo e vitalizando o saber do passado com a sedução, a atração e o ímpeto do presente. O saber não é um objeto que se recebe das gerações que se foram para a nossa geração; o saber é uma atividade de espírito que se forma lentamente ao contato dos que sabem.” (TEIXEIRA, 1977, p. 74 apud BRIDI, 2004). Esta reflexão de Anísio Teixeira é por si só tema para amplos estudos e análises, no entanto fiquemos com a instrução sobre o papel da Universidade que não deve ser de mero reprodutor de conhecimento e sim de saberes que se desenvolve no processo contínuo em um ambiente propício. A construção de um ambiente para o saber dentro da universidade engloba 48 vários fatores e o incentivo a pesquisa acadêmica ocupa uma grande fatia e tem papel fundamental nesta construção. Pinheiro (2010, p. 17) define pesquisa científica como um conjunto de ações que tem por objetivo encontrar a solução para um problema, tendo como base procedimentos racionais. Ele conclui: “Trata-se, pois, de um processo de construção do conhecimento que tem como metas principais gerar novo conhecimento e corroborar ou refutar algum conhecimento preexistente.” A importância da pesquisa científica é destacada por Bridi (2004), pois a universidade que se assenta no plano do ensino e da pesquisa, a formação científica do universitário é valorizada e o aluno adquire uma postura mais ativa, possibilitada pela valorização da pesquisa. É conclusivo pensar que a pesquisa cientifica é importante para uma universidade, porém Larocca et al (2007) analisa a educação superior universitária contraditória, pois desvaloriza o livre-pensar em favor de um utilitarismo por vezes exagerado aceitando a ênfase da reprodução do conhecimento, ao invés de produzi-lo e colabora para manter fortes os interesses das empresas. Schwartzman (1984) relata que em muitos casos as pesquisas cientificas são influenciadas e distorcidas por interesses meramente empresariais. Larocca et al (2007) levanta novamente à importância de se afastar a idéia de que a universidade se limita a meramente repassar conhecimentos e valores prontos e acabados, devendo sim preocupar-se com à pesquisa e à extensão, assegurando em todos os planos a participação dos alunos, em um sentido de desenvolvimento da criticidade. O fator político e econômico como cerne das metas de ensino e cursos em uma universidade, segundo Schwartzman (1984), afetam diretamente o sistema educacional em 49 todos os seus níveis. O desenvolvimento da pesquisa tecnológica encontra limitações na política econômica baseada na importação de capitais e tecnologia do exterior. Entre as finalidades do ensino superior, lê-se no artigo 43º da Lei de n.º 9.394 (Lei de Diretrizes e Bases da Educação Nacional), mais precisamente no terceiro parágrafo, com grifo nosso: “III - incentivar o trabalho de pesquisa e investigação científica, visando o desenvolvimento da ciência e da tecnologia e da criação e difusão da cultura, e, desse modo, desenvolver o entendimento do homem e do meio em que vive”. (NACIONAL, 1996). Portanto não é um opcional nas universidades e faculdades o incentivo a pesquisa e investigação cientifica, e sim parte das grades e dos programas curriculares destas instituições. Bridi (2004) em sua analise sobre a Lei de n.º 9.394, conclui que a função da universidade é promover a autonomia de pensamento e de reflexão crítica, não se podendo mais admitir uma prática docente que venha reforçar a passividade em vez de despertar a espontaneidade e o espírito de criatividade do aluno. Oliveira (2008) potencializa a pesquisa científica como um instrumento de formação de recursos humanos qualificados: “a iniciação científica é um dever da instituição e não uma atividade eventual ou esporádica”. O parecer 776/97 reforça para o fortalecimento e articulação da teoria com a prática, valorizando a pesquisa individual e coletiva, assim como os estágios e a participação em atividades de extensão. (CNE, 1997). Segundo Bridi (2004) a iniciação científica é considerada uma atividade importante nas instituições de ensino superior, pois incentiva o aluno de graduação à pesquisa, colocando-o, desde cedo, em contato direto com as atividades científicas, formando assim, o futuro investigador. 50 Para Oliveira (2008) a iniciação cientifica pode ser vista como um instrumento de apoio teórico e metodológico que potencializa as chances de um estudante de graduação engajar na pesquisa científica, auxiliando no desenvolvimento das visões do aluno, pois permite um contato com o conhecimento diferente daquele visto em sala de aula. E eleva a iniciação científica como um componente essencial de formação acadêmica. As pesquisas acadêmicas, como destacado, são programas essenciais dentro de uma instituição de ensino e o ambiente e recursos tecnológicos (laboratórios de pesquisa) disponíveis aos alunos é fundamental para o sucesso destas como um todo. 3.4.1 Fundações de apoio a Iniciação Cientifica e Pesquisa Acadêmica Alguns organismos de apoio a iniciação científica e a pesquisa acadêmica são destacadas a seguir. FAPESP Fundação de Amparo à Pesquisa do Estado de São Paulo é uma das principais agências de fomento à pesquisa científica e tecnológica do país. Apóia a pesquisa e financia a investigação, o intercâmbio e a divulgação da ciência e da tecnologia produzida em São Paulo. Possui autonomia garantida por lei, estando ligada à Secretaria de Ensino Superior do governo do Estado de São Paulo (FAPESP, 2010). FAPEMIG A FAPEMIG (2010) é uma fundação do Governo Estadual de Minas Gerais, vinculada à Secretaria de Estado de Ciência, Tecnologia e Ensino Superior e tem a missão de fomentar a pesquisa e a inovação científica e tecnológica para o desenvolvimento do Estado de Minas 51 Gerais. Atua no financiamento de projetos de pesquisa científica e tecnológica, incentivando a capacitação de recursos humanos para Ciência e Tecnologia, por meio de bolsas em diversos níveis de formação. Contribui para a fixação de grupos de pesquisa científica e tecnológica. Promove integração entre o setor produtivo e instituições de pesquisa e desenvolvimento. Apóia a realização e organiza eventos de caráter científico e tecnológico. Realiza intercâmbios entre pesquisadores brasileiros e estrangeiros, e estabelece laços de cooperação com instituições nacionais e internacionais. Por meio do escritório de Gestão de Tecnologia e Patentes, orienta e encaminha as ações de patenteamento e comercialização de produtos ou processos inovadores. FAPERJ A Fundação Carlos Chagas Filho de Amparo à Pesquisa do Estado do Rio de Janeiro – FAPERJ é uma Pessoa Jurídica de direito Público, vinculada à Secretaria de Estado de Ciência e Tecnologia e tem como objetivo fomentar a pesquisa e a formação científica e tecnológica necessárias ao desenvolvimento sócio cultural do Estado do Rio de Janeiro. (FAPERJ, 2010). CNPq Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) é uma agência do Ministério da Ciência e Tecnologia (MCT) destinada ao fomento da pesquisa científica e tecnológica e à formação de recursos humanos para a pesquisa no país. O CNPq opera no âmbito federal. (CNPq, 2010). 52 CAPES Coordenação de Aperfeiçoamento de Pessoal de Nível Superior – CAPES, tem o papel de expandir e consolidar o programa de pós-graduação stricto sensu (mestrado e doutorado) em todo o país. Foi criada em 11 de julho de 1951, pelo Decreto nº 29.741, com o objetivo de “assegurar a existência de pessoal especializado em quantidade e qualidade suficientes para atender às necessidades dos empreendimentos públicos e privados que visam o desenvolvimento do país”. Concentra seus trabalhos em quatro frentes: Avaliação da pósgraduação stricto sensu; Acesso e divulgação da produção científica; Investimentos na formação de recursos de alto nível no país e exterior; Promoção da cooperação científica internacional. (CAPES, 2010). FINEP Financiadora de Estudos e Projetos – FINEP, é uma empresa vinculada ao MCT (Ministério de Ciência e Tecnologia). Criada em 24 de julho de 1967, para institucionalizar o Fundo de Financiamento de Estudos de Projetos e Programas, criado em 1965. Funciona de forma análoga ao CNPq, a diferença é que o apoio em vez de ser prioritariamente a pessoas físicas (CNPq) se dá as instituições públicas e privadas. (FINEP, 2010). 53 4 CENTROS DE ESTUDOS E PESQUISA EM PROCESSAMENTO DE ALTO DESEMPENHO 4.1 SINAPAD E CENAPADs No Brasil o SINAPAD – Sistema Nacional de Processamento de Alto Desempenho, criado pelo Decreto nº 5.156, de 26/07/2004, visa gerar fomento de apoio, pesquisa, serviços e difundir a cultura na área de processamento de alto desempenho (PAD). O SINAPAD é coordenado pelo Ministério de Ciência e Tecnologia (MCT). É uma rede formada por oito Centros Nacionais de Processamento de Alto Desempenho os CENAPADs na qual fazem parte e são operadas respectivamente pela UFRGS (Universidade Federal do Rio Grande do Sul), UFMG (Universidade Federal de Minas Gerais), UFC (Universidade Federal do Ceará), UNICAMP (Universidade de Campinas), UFRJ (Universidade Federal do Rio de Janeiro), UFPE (Universidade Federal de Pernambuco), INPE (Instituto Nacional de Pesquisas Espaciais) e LNCC (Laboratório Nacional de Computação Científica). Este último coordena o sistema por delegação do Ministério de Ciência e Tecnologia. (SINAPAD, 2010). CENAPAD / CESUP – UFRGS É o Centro Nacional de Supercomputação na Região Sul, mantido pela UFRGS – Universidade Federal do Rio Grande do Sul. Suas operações tiveram inicio em junho de 1992 com acesso aberto, via rede de computadores, a todo o País. No mesmo ano concluiu-se o período de teste do Cray Y-MP 2E14. Atualmente o centro conta com dois clusters Newton e Gauss. (CESUP-RS, 2010). 14 Supercomputador lançado em 1989 pela empresa Cray Inc. 54 O Cluster Newton que conta com 36 nós de processamento, gerando um total de 84 TB em disco, 1.248 GB de memória e performance de 12.76 TFlops. Possui duas redes: uma Gigabit-Ethernet e uma rede de alta performance de baixa latência padrão Infiniband15 de modo a conectar todos os nós a um único switch. São destinadas ao tráfego de comunicação interprocessos, bem como ao compartilhamento de arquivos e entrada e saída, através dos protocolos NFS e Lustre Filesystem16. E o Cluster Gauss composto por 5 nós de processamento, 1 nó de gerência, em um total de 1.75 TB em disco e 48 GB de memória. Possui duas redes Gigabit-Ethernet, sendo uma destinada ao tráfego de comunicação interprocessos e outra para o tráfego de dados via protocolo de compartilhamento de dados NFS. Em se tratando de recursos de softwares o centro conta com os compiladores: icpc, Intel C++ Compiler, gcc (GNU Compiler Collection), f77 (Fortran 77 compiler), gfortran (GNU Fortran), ifort (Intel Fortran Compiler). Aplicações: MAPLE V – aplicativo de computação simbólica; BRAMS – aplicativo utilizado para previsão das condições climáticas; CFX 5 – aplicativo destinado a simulação de escoamento de fluído através do método dos volumes finitos e bibliotecas de subrotinas matemáticas otimizadas. (CESUP-RS, 2010). CENAPAD MG / CO – UFMG O Centro Nacional de Processamento de Alto Desempenho em Minas Gerais e Centro Oeste é mantido pelo LCC – Laboratório de Computação Científica e subordinado à Diretoria de Tecnologia da Informação da UFMG – Universidade Federal de Minas Gerais. (CENAPAD-UFMG, 2010). 15 Infiniband é uma associação de mais de 100 empresas com objetivo de desenvolver e ampliar a computação de alto desempenho, com produtos e padrões lançados no mercado. 16 Sistema de arquivo para computação maciçamente paralela. 55 CENAPAD CE – UFC O centro faz parte da estrutura organizacional da UFC – Universidade Federal do Ceará, estando ligado à Pró-Reitoria de Planejamento/Coordenadoria de Projetos Institucionais. As instalações ocupam um espaço de aproximadamente 200 m² e conta com o fornecimento contínuo de energia elétrica através de um grupo gerador e no-breaks, com computadores conectados permanentemente à Internet. A Figura 19 detalha as instalações do centro. (CENAPAD-UFC, 2010). Figura 19 – Instalações CENAPAD CE – UFC Fonte: CENAPAD-UFC, 2010. O CENAPAD-UFC (2010) disponibiliza um ambiente computacional baseado em cluster de arquitetura Sun e sistema operacional Unix. São 4 nós biprocessados Sunfire V20Z, com processadores Opteron 244 e 5 computadores do tipo PC desktop. Recursos de softwares 56 incluem os compiladores GNU versão 3.3.5, ambiente de execução paralela MPI, versão MPICH 1.2.7, ambiente de execução paralela PVM, versão 3.4.2, Globus Toolkit versão 3.0 e escalonador Sun Grid Engine (SGE) 6.0. A Figura 20 detalha os recursos de hardware e conexões de rede do centro. Figura 20 – Recursos de hardware e conexões de rede CENAPAD CE – UFC Fonte: CENAPAD-UFC, 2010. CENAPAD SP – Unicamp Criado em 1994 o Centro Nacional de Processamento de Alto Desempenho em São Paulo é ligado a Pro-Reitoria de Pesquisa da UNICAMP – Universidade de Campinas. O centro disponibiliza um ambiente computacional baseado em máquinas RISC17 (IBM) e Intel / Itanium2 (SGI) com sistema operacional baseado em Unix. A capacidade de processamento teórica desses dois ambientes totaliza em torno de 1.5 TFlops, além de 44 TB disco externo. (CENAPAD-SP, 2010). Um diagrama dos recursos de hardware pode ser conferido na Figura 21 a seguir. 17 RISC – Reduced Instruction Set Computer, arquitetura de processadores que possuem um conjunto simples e pequeno de instruções, as instruções são executadas diretamente pelo hardware. 57 Figura 21 – Recursos de hardware CENAPAD SP – Unicamp Fonte: CENAPAD-SP, 2010. CENAPAD – NACAD / COPPE – UFRJ A COPPE (Instituto Alberto Luiz Coimbra de Pós-graduação e Pesquisa de Engenharia), conta com o Núcleo de Atendimento em Computação de Alto Desempenho (NACAD) que é o laboratório responsável pelos serviços relacionados à computação de alto desempenho. A origem se deu em 1988 quando a COPPE começou o desenvolvimento de atividades relacionadas ao processamento de alto desempenho apoiadas pela FINEP, CNPq e FUJB. A evolução destas atividades se deu com a criação do NACAD, em fevereiro de 1995. É desta data a instalação do Cray EL94 e 12 estações de trabalho Sun Sparc 20. As áreas interdisciplinares abrangidas são: Mecânica computacinoal, sistemas computacionais, 58 simulação e controle de sistemas de grande porte e arquitetura de sistemas operacionais. Oferecendo programas de mestrado e doutorado nestas áreas. (NACAD-URFJ, 2010). Os recursos de hardware e software do NACAD-URFJ (2010) são listados a seguir: - Cluster Galileu Modelo Sun Blade 6048 com 1792 CPUs Quad Core Intel i7 Xeon (Nehalem), 896 nós de processamento, 24 GB de memória por nó de processamento e 21 TB de RAM (distribuída), sistema de arquivo paralelo Lustre Filesystem (216 TB), armazenamento em disco da própria Sun com 50 TB e rede infiniband. Em relação a softwares, sistema operacionais: Red Hat Enterpresie Linux e CentOS. Compiladores: Intel e GNU (Fortran-90 e C/C++). Bibliotecas: Intel MPI, MVAPICH2 e OpenMPI. O Galileu ocupa a 86º posição no rank TOP 500 de Junho de 2010. - SGI Altix ICE 8200 Possui 64 CPUs Quad Core Intel Xeon 5355 (Clovertown), 2.66 GHz, memória 512 GB de RAM (distribuída), armazenamento em disco SGI InfiniteStorage NAS (32 TB) e rede Infiniband e Gigabit. Sistema Operacional: Suse Linux Enterprise Server + SGI ProPack. Compiladores: Intel e GNU (Fortran-90 e C/C). Blibliotecas: MPT (SGI Message Passing Toolkit), MVAPICH2 e OpenMPI. - SGI Altix 450 Com 36 CPUs Dual Core Intel Itanium2, pico teórico de Performance de 6 GFlops por core, memória de 144 GB de RAM (compartilhada) com armazenamento em disco de 3.5 TB. Sistema operacional: Suse Linux Enterprise Server + SGI ProPack. Compiladores Intel e GNU (Fortran-90 e C/C++) com suporte OpenMP e MPT (SGI Message Passing Toolkit). - Dell Blade Server Possui 32 CPUs Quad Core Intel Xeon, memória de 256 GB de RAM (distribuída), armazenamento em disco Dell PowerVault MD3000 e MD1000 Disk Storage Array (10 TB) e 59 rede Infiniband e Gigabit Ethernet. Sistemas operacionais: RedHat Enterprise Linux e/ou Windows HPC Server 2008. Compiladores: Intel e GNU (Fortran-90 e C/C++) com suporte OpenMP e/ou Visual Studio. Bibliotecas: MVAPICH2, OpenMPI e/ou MS-MPI (Microsoft MPI). CENAPAD PE – UFPE O CENAPAD-PE (2010) é fruto de uma iniciativa do grupo de pesquisa de Processamento de Alto Desempenho de Mecânica Computacional (PADMEC), que envolve professores do departamento de engenharia mecânica, área de mecânica computacional e da engenharia civil, área de estruturas. Em 2007 a UFPE passou a integrar o grupo de unidades do Sistema Nacional de Processamento de Alto Desempenho (SINAPAD). CENAPAD Ambiental – CPTEC / INPE Centro Nacional de Processamento de Alto Desempenho Ambiental, mantido pelo INPE – Instituto Nacional de Pesquisas Espaciais e CPTEC – Centro de Tempo e Estudos Climáticos na cidade de Cachoeira Paulista – SP. Possui instalado um supercomputador NEC SX4/8A, com as seguintes características: 8 CPUs, com desempenho por CPU de 2 GFlops, memória 8 GB, disco 256 GB. O Sistema Operacional utilizado é o SuperUX, compiladores Fortran 90 e C, biblioteca OpenMP. (CENAPAD-INPE, 2010). CENAPAD RJ – LNCC Outro integrante do SINAPAD é o CENAPAD RJ – LNCC (Laboratório Nacional de Computação Científica), responsável também por coordenador toda a rede SINAPAD. 60 O parque computacional da CENAPAD-LNCC-RJ (2010) conta com os equipamentos: - Sun Fire 6800: 24 processadores SPARC III, 40 GB de RAM e 0,5 TB de disco T3. - SGI Origin 350: 10 processadores IP35, CPU MIPS R16000 Processor Chip Revision 2.2, FPU MIPS R16010 Floating Point Chip Revision 2.2, 14 GB de RAM e 2x80 GB de disco. - ALTIX BX3700: 32 processadores Itanium2, 64 GB de RAM e 2x140 GB de disco. - Sun Fire V20Z: 5x2 processadores Opteron 248, 5x2 GB de RAM, 5x80 GB de disco. 4.2 Outros Centros de Pesquisas em Processamento de Alto Desempenho LCCV – UFAL – Laboratório de Computação Científica e Visualização da UFAL É uma unidade da UFAL (Universidade Federal de Alagoas), vinculada ao CTEC e voltada à busca de soluções de problemas de engenharia utilizando recursos da mecânica computacional nas áreas de modelagem computacional, desenvolvimento e aplicações de simuladores numéricos, computação de alto desempenho, visualização e computação científica (LCCV-UFAL, 2010). Possuem um cluster beowulf intitulado Typhon montado em 2007. O cluster é constituído por 43 nós. Utiliza os compiladores: gcc 4.1.2, icc 10.1.008; bibliotecas matemáticas: mkl 10.0.3.020, atlas 3.6.0; bibliotecas de paralelismo: openMPI 1.2.5, openMP com icc 10.1.008. (LCCV-UFAL, 2010). Complex Systems – UFF É um grupo de Sistemas Complexos do Instituto de Física da UFF – Universidade Federal Fluminense, realiza simulações de sistemas estatísticos e sistemas complexos. Possui um cluster com 8 nós. (SYSTEMS, 2010). 61 ERAD – Escola Regional de Processamento Alto Desempenho A Escola Regional de Alto Desempenho, ERAD, é um evento promovido pela Sociedade Brasileira de Computação (SBC) e pela CRAD/RS – Comissão Regional de AltoDesempenho do Rio Grande do Sul e tem por objetivo qualificar profissionais da região nas áreas que compõem o Processamento de Alto Desempenho e prover um fórum regular onde possam ser apresentados avanços recentes nessas áreas e discutidas as formas de ensino de processamento de alto desempenho nas universidades do Sul do Brasil. (ERAD, 2010). LAD – PUC/RS É um Laboratório de Alto Desempenho, que tem por objetivo, prover recursos computacionais de alto desempenho para os grupos de pesquisa da Pontifícia Universidade Católica (PUC). Possui três clusters. O cluster Ombrófila com 16 máquinas HP e-pc, cada uma com um processador Pentium III, 256 MB de memória principal e 20 GB de disco e 16 máquinas HP e-pc 42, com processador Intel Pentium IV com 512MB de memória e HD de 40 GB. Este agregado utiliza uma rede Fast-Ethernet. O cluster Pantanal é composto por 6 máquinas HP ProLiant BL20p Blade Server cada uma com 2 processadores Intel Xeon com 4 GB de memória e HD de 150 GB. Essas máquinas estão interligadas por uma rede GigabitEthernet num switch otimizado. O cluster Atlântica é composto por 10 máquinas Dell PowerEdge R610, cada máquina possui dois processadores Intel Xeon Quad-Core E5520 Hyper-Threading, totalizando 16 núcleos por nó, 16 GB de memória e 150GB de HD, os nós estão interligadas por duas redes Gigabit-Ethernet chaveadas, uma para comunicação e uma para gerência. Softwares utilizam biblioteca MPI e compiladores GNU C e Fortran. (LADPUC/RS, 2010). 62 LCAD – UFES Laboratório de Computação de Alto Desempenho da Universidade Federal do Espírito Santo. Possui um cluster composto de 64 nós de processamento e 1 nó de administração. Com 256 MB de memória e 20 GB de capacidade de armazenamento por nó, o cluster totaliza 16 GB de memória RAM e 1,2 TB de capacidade de armazenamento em disco. Sistema operacional Linux Red Hat. (LCAD-UFES, 2010). CoCADA Rede Colaborativa de Computação de Alto Desempenho e Aplicações da Bahia (CoCADA). A rede tem como objetivo geral fortalecer as colaborações envolvendo pesquisadores e atuando nas instituições baianas, tanto da área de computação quanto os de outras áreas do conhecimento que façam uso intensivo de Computação de Alto Desempenho. Universidades participantes: Universidade Federal da Bahia – UFBA, Universidade Estadual de Santa Cruz – UESC, Universidade do Estado da Bahia – UNEB, Universidade Estadual de Feira de Santana – UEFS, Instituto Federal de Educação, Ciência e Tecnologia da Bahia – IFBA, Centro Integrado de Manufatura e Tecnologia – SENAI-CIMATEC. (COCADA, 2010). LCCA – USP Laboratório de Computação Científica Avançada (LCCA) da USP, é um laboratório virtual com recursos de Computação de Alto Desempenho, gerenciados de forma a otimizar a sua disponibilidade a todos os pesquisadores da Universidade que deles necessitem. (LCCAUSP, 2010). Como recursos de hardware possuem: 63 - Cluster Intel Linux PUMA: constituído por 59 servidores Dell PowerEdge 1950, com 2 Xeon 5430 (8 cores), 16 GB de RAM e com 300 GB de disco SAS cada. - SGI Jaguar: Possui 112 GB de RAM compartilhada em uma única imagem de sistema operacional Linux SuSE. 56 CPUs Intel Itanium2 e 5 TB de armazenamento. - IBM Multiusuário Mamute: 8 Blade Center, 112 lâminas (nós) com 4 CPU PowerPC 970 e 1 disco 36 GB cada por lâmina; 3 servidores de gerenciamento; 1 switch Myrinet-2000 com 160 portas e 1 storage com 8 TB (6 TB em RAID 5). 4.3 Considerações sobre os Centros de Pesquisa em PAD Ao conhecer um pouco mais alguns centros de estudo, pesquisa e desenvolvimento de processamento de alto desempenho (PAD) algumas características são destacadas. O grande uso do Sistema Operacional Linux como sistema operativo dos clusters. A adoção da biblioteca de troca de mensagens MPI quase que como um padrão. Os CENAPADs por serem apenas oito em todo Brasil e tendo a função de servir várias universidades, utilizam em sua maioria arquiteturas paralelas mais robustas e clusters proprietários para atingirem um maior desempenho. Porém, mesmo assim, vêem-se tecnologias comuns, encontradas nos clusters Beowulf, como interconexão com redes Gigabit-Ethernet e a utilização de bibliotecas livres como MPICH e Open MPI. Constata-se também que outros laboratórios utilizam-se de clusters acessíveis, oferecendo uma ferramenta concreta e funcional para pesquisadores e alunos desenvolverem suas pesquisas com ajuda do processamento de alto desempenho. 64 4.4 Áreas de atuação e pesquisas em processamento de alto desempenho Todas às pesquisas e estudos em que envolvam cálculos complexos, simulações e modelagem computacional18 se beneficiam do processamento de alto desempenho. Citemos algumas grandes áreas da educação, considerando desde já todas as suas subáreas: engenharia, matemática, física, química, meteorologia (ou ciências atmosféricas), ciências da computação, bioquímica, biologia, genética, medicina, nanotecnologia e geociências. 4.4.1 Pesquisas e trabalhos em PAD Alguns estudos e pesquisas reais de aplicações envolvendo processamento de alto desempenho podem ser encontrados em CENAPAD-SP (2010), CENAPAD-PE (2010), CESUP-RS (2010), LCCV-UFAL (2010), Grupo Complex Systems (SYSTEMS, 2010), LADPUC/RS (2010), CENAPAD-INPE (2010) e NACAD-UFRJ (2010). 18 Modelagem computacional – é uma área de conhecimento multidisciplinar que trata da aplicação de modelos matemáticos à análise, compreensão e estudo da fenomenologia de problemas complexos. 65 5 PESQUISA: INSTITUIÇÕES DE ENSINO Foram selecionadas Instituições de Ensino (Faculdades, Universidades e Centros de Pesquisa) da Região do Vale do Paraíba (Paulista), Sul do estado de Minas Gerais e Sul Fluminense, para responderem ao um questionário com 10 questões. Segundo Pinheiro (2010), um questionário é uma série de perguntas ordenadas (ordem lógica) e objetivas. Deve-se informar o propósito da sua aplicação, ressaltar a colaboração do informante e de fácil preenchimento. O modelo do questionário enviado as instituições esta apresentado no Apêndice A. O critério de seleção se baseou em instituições de ensino superior, proximidade regional e os cursos ministrados por elas. A relação completa das Instituições (Universidades e Faculdades) participantes e a grade dos cursos estão listadas no Apêndice B. Obteve-se um total de 21 Instituições de Ensino potenciais para pesquisa, porém por motivos de comunicação em duas Instituições não foi possível o envio do questionário. Portanto, 19 Instituições receberam o questionário, deste número 10 retornaram positivamente, ou seja, 52,6% participaram de fato da pesquisa. Sobre a importância da pesquisa cientifica e tecnológica e programas de incentivo a pesquisa acadêmica As questões 1 e 2, buscou conhecer a opinião da Instituição e seu apoio referente a pesquisa científica e acadêmica. A questão 1 (Tabela 4), sobre a importância da pesquisa cientifica, obteve 90% como sendo indispensável e 10% como importantes (Figura 22), estes dados mostra que a pesquisa científica, como deveria ser, ocupa uma posição de destaque nestas instituições. A questão 2 (Tabela 5) acompanha o pensamento anterior, sendo que todas 66 as instituições pesquisadas possuem programas de incentivo a pesquisa acadêmica (Figura 23). Porém somente 6 instituições informaram estes programas, que são: - USS (Vassouras): Bolsas de pesquisa para professores / pesquisadores e incentivo à participação discente. Total de 200 alunos. - UNIVAP (São José dos Campos): CNPq. Total de 5 alunos. - UNIFENAS (Alfenas): PIBIC / PROBIC (CNPq). - UGB (Volta Redonda): PIC – Programa de Iniciação Científica (CNPq). Total 20 alunos. - UFLA (Lavras): Bolsas de Iniciação Científica PIBIC/CNPq e PIBIC/FAPEMIG. Total de 150 bolsas. - INATEL (Santa Rita do Sapucaí): Bolsas de IC da FAPEMIG e da própria instituição. Tabela 4 – Pesquisa: Importância da pesquisa científica e tecnológica Alternativas Quantidade Indispensável 9 Importante 1 Regular 0 Dispensável 0 Total 10 Importância da Pesquisa Científica 10% Indispensável Importante Regular Dispensável 90% Figura 22 – Pesquisa: Importância da pesquisa científica e tecnológica 67 Tabela 5 – Pesquisa: Possuem programas de iniciação científica e tecnológica Alternativas Quantidade Sim, e já esta em funcionamento 9 Sim, mas não esta em funcionamento 1 Não temos Total 0 10 Programas de Incentivo 10% Sim, e já esta em funcionamento Sim, mas não esta em funcionamento Não temos 90% Figura 23 – Pesquisa: Possuem programas de iniciação científica e tecnológica Conhecimento sobre processamento de alto desempenho (PAD), clusters de computadores, áreas abrangidas e benefícios Procurando conhecer o entendimento das instituições referente ao processamento de alto desempenho e cluster, foi elaborado as questões 3, 4 e 5. A questão 3 (Tabela 6), referente ao conhecimento mais breve sobre PAD, obteve-se 20% de pleno conhecimento e 80% de conhecimento regular (Figura 24). A questão 4 (Tabela 7), que questionou sobre as áreas abrangidas pelo processamento de alto desempenho, obteve 20% pleno conhecimento, 70% conhecimento regular e 10% Não conhece (Figura 25). A questão 5 (Tabela 8), referente aos benefícios das pesquisas envolvendo PAD, resultou em 10% conhecimento pleno, 80% conhecimento regular e 10% Não conhece os benefícios (Figura 26). Os resultados apontam que quanto mais profunda é a questão referente ao PAD, tem se a tendência de um conhecimento mais superficial. 68 Tabela 6 – Pesquisa: Conhecimento sobre PAD e Clusters Alternativas Quantidade Pleno conhecimento 2 Conhecimento Regular 8 Não conhecemos 0 Total 10 Processamento de Alto Desempenho e Clusters 20% Pleno conhecimento Conhecimento Regular Não conhecemos 80% Figura 24 – Pesquisa: Conhecimento sobre PAD e Clusters Tabela 7 – Pesquisa: Conhecimento áreas abrangidas pelo PAD Alternativas Quantidade Pleno conhecimento 2 Conhecimento Regular 7 Não conhecemos 1 Total 10 Áreas abrangidas pelo PAD 10% 20% Pleno conhecimento Conhecimento Regular Não conhecemos 70% Figura 25 – Pesquisa: Conhecimento áreas abrangidas pelo PAD 69 Tabela 8 – Pesquisa: Conhecimento sobre benefícios do PAD Alternativas Quantidade Pleno conhecimento 1 Conhecimento Regular 8 Não conhecemos 1 Total 10 Beneficios em PAD 10% 10% Pleno conhecimento Conhecimento Regular Não conhecemos 80% Figura 26 – Conhecimento sobre benefícios do PAD Conhecimento sobre o Sistema Nacional de Processamento de Alto Desempenho (SINAPAD) e os Centros Nacionais (CENAPAD) A questão 6 (Tabela 9), questiona o conhecimento acerca do SINAPAD operante através dos CENAPADs, sendo um importante e oficial programa de fomento em pesquisas e estudos em processamento de alto desempenho do governo federal e aberto a qualquer instituição, porém nenhuma instituição utiliza-se deste recurso, 10% pleno conhecimento, 80% conhecimento regular e 10% não conhece (Figura 27). O resultado seguiu a mesma linha das questões mais profundas referente ao PAD. Tabela 9 – Pesquisa: Conhecimento sobre o SINAPAD e CENAPAD Alternativas Quantidade Conhecemos e já utilizamos 0 Pleno Conhecimento 1 Conhecimento Regular 8 Não sabemos do que se trata 1 Total 10 70 Sobre o SINAPAD e CENAPAD 10% 10% Conhecemos e já utilizamos Pleno Conhecimento Conhecimento Regular Não sabemos do que se trata 80% Figura 27 – Pesquisa: Conhecimento sobre o SINAPAD e CENAPAD Sobre a existência de Laboratórios exclusivos para pesquisa acadêmica A questão 7 (Tabela 10) foi referente a existência ou não de laboratório exclusivo de apoio a pesquisa acadêmica, TCC, monografia e teses. É uma pergunta geral, preparatória para o questionamento sobre os laboratórios que necessitam de processamento de alto desempenho. Porém as respostas, 60% possuem e 40% não possuem (Figura 28), revela que apesar de declararem a iniciação cientifica indispensáveis (90%) e importantes (10%) (questão 1), este apoio não se estendeu, para algumas instituições, na necessidade de se oferecer um laboratório exclusivo para pesquisas acadêmicas. Tabela 10 – Pesquisa: Sobre Laboratórios exclusivos à Pesquisas Alternativas Quantidade Sim 6 Não 4 Total 10 71 Laboratórios exclusivos de pesquisa 40% Sim 60% Não Figura 28 – Pesquisa: Sobre Laboratórios exclusivos à Pesquisas Sobre Laboratórios de Pesquisa com recursos de processamento de alto desempenho As questões 8 e 9, objetiva conhecer o pensamento e a existência de laboratórios de pesquisas com recursos de PAD, tais como clusters e/ou supercomputadores. A questão 8 (Tabela 11) classificou a importância desses laboratórios e para 80% declararam importantes e 20% regular (Figura 29). A questão 9 (Tabela 12) trouxe a constatação que nenhuma instituição possui clusters ou supercomputadores instalados (Figura 30). A nona questão (9) tem dois desdobramentos, o primeiro, caso tivessem tais equipamentos deveriam listá-los e o segundo desdobramento é outra questão (Tabela 13) sobre as maiores dificuldades para se ter um laboratório com recursos de PAD (Figura 31), o alto custo (60%) é o maior complicador seguido dê falta de pesquisas (30%) e dificuldade de manutenção (10%). Tabela 11 – Pesquisa: Importância Laboratórios exclusivos para PAD Alternativas Quantidade Indispensável 0 Importante 8 Regular 2 Dispensável 0 Total 10 72 Laboratórios exclusivos de pesquisa com PAD 20% Indispensável Importante Regular Dispensável 80% Figura 29 – Pesquisa: Importância Laboratórios exclusivos para PAD Tabela 12 – Pesquisa: Existências de Clusters para atividades em PAD Alternativas Quantidade Sim 0 Não 10 Não se aplica 0 Total 10 Possuem cluster de computadores instalados Sim Não Não se aplica 100% Figura 30 – Pesquisa: Existências de Clusters para atividades em PAD Tabela 13 – Pesquisas: Dificuldades para se ter um laboratório com clusters Alternativas Quantidade Alto Custo 6 Dificuldade de Manutenção 1 Falta de Pesquisas 3 Falta de Conhecimento Técnico 0 Total 10 73 Maiores dificuldades para implantação de Laboratório de PAD Alto Custo 30% Dificuldade de Manutenção 60% 10% Falta de Pesquisas Falta de Conhecimento Técnico Figura 31 – Pesquisas: Dificuldades para se ter um laboratório com clusters Prioridade da Instituição em relação à formação acadêmica do aluno A última questão (Tabela 14) visa conhecer a prioridade de fato da instituição na formação acadêmica do aluno ao longo dos anos em que este se encontra vinculado a ela. Para 40% delas somente o “preparo para o mercado de trabalho” é prioridade na formação e acabou empatando com a prioridade de “preparo para o mercado de trabalho, mas como foco para o fomento de pesquisa e inovação tecnológica” (40%) e por último, 20% respondeu o “preparo para o mercado de trabalho e igualmente para o fomento de pesquisa e inovação tecnológica” (Figura 32). Estas respostas tiveram o único empate e ao mesmo tempo as maiores diferenças de pensamento sobre os caminhos que esta deve oferecer aos seus alunos. Tabela 14 – Pesquisa: Prioridade na formação do aluno Alternativas Quantidade Preparar para o mercado de trabalho. 4 Preparar para o fomento de pesquisa e inovação tecnológica. 0 Preparar para o mercado de trabalho, mas com foco para o fomento de pesquisa e inovação tecnológica. 4 Preparar para o fomento de pesquisa e inovação tecnológica, mas com foco no mercado de trabalho. 0 Preparar para o mercado de trabalho e igualmente para o fomento de pesquisa e inovação tecnológica. 2 Total 10 74 Prioridade na formação acadêmica do aluno Preparar para o mercado de trabalho. 20% 40% Preparar para o fomento de pesquisa e inovação tecnológica. Preparar para o mercado de trabalho, mas com foco para o fomento de pesquisa e inovação tecnológica. 40% Preparar para o fomento de pesquisa e inovação tecnológica, mas com foco no mercado de trabalho. Figura 32 – Pesquisa: Prioridade na formação do aluno Análises finais Após a formulação do questionário, do envio e da coleta dos dados. Realizou-se uma organização e sintetização dos resultados obtidos. Para tanto, foi elaborado uma série de tabelas e gráficos, com o objetivo de agrupar e contabilizar as respostas conseguidas. Destaca-se, para todas as instituições, a importância da pesquisa acadêmica (questões 1 e 2). Ficou evidente um conhecimento regular em relação ao processamento de alto desempenho (questões 3, 4, 5). O fato de 90% das instituições afirmarem as pesquisas acadêmicas como indispensáveis, não refletiu na existência de um laboratório exclusivo para pesquisas, 40% não possuem (questão 7). A ausência de laboratórios com recursos de processamento de alto desempenho na questão 9, desdobrou para os principais motivos da não aplicação e utilização de fato de equipamentos (cluster) com poder de processamento de alto desempenho, e estes motivos foram: 60% alto custo e 30% falta de pesquisas. Acredita-se que o conhecimento regular sobre processamento de alto desempenho, tenha influenciado em concluir que para ter alto desempenho, necessariamente precisa-se gastar muito, o Capítulo 7 – Proposta de um 75 laboratório de pesquisa com cluster Beowulf vem trazer explicações e uma solução de cluster viável para instituição com restrições financeiras. O mesmo ocorre com a segunda maior causa de não instalação, a falta de pesquisas, de fato não são todas as pesquisas acadêmicas que se beneficiam do processamento de alto desempenho, as maiores beneficiárias são as que exigem cálculos mais complexos, porém um conhecimento superficial sobre as áreas e benefícios, não ajuda a tornar comum a utilização de recursos do PAD a pesquisa acadêmica. O tópico 4.4 – Áreas de atuação e pesquisas em processamento de alto desempenho aborda algumas áreas e trabalhos acadêmicos que vêm sendo explorados pelo processamento de alto desempenho com a ajuda de clusters de computadores. A última questão, a que aponta a prioridade da Instituição junto a formação acadêmica do aluno, traz novamente uma discordância, assim como ocorreu com a questão 7. Ao declarar 90% como indispensável (essencial, imprescindível) a pesquisa acadêmica e cientifica, entende-se que está é uma das prioridades da Instituição, porém não é o que ocorre com 40% delas que estão satisfeitas em atender somente o mercado de trabalho. Este alto número de respostas vem coincidir com o pensamento de Larocca et al (2007) e Schwartzman (1984), descritos no tópico 3.4 Pesquisa Acadêmica e Iniciação Cientifica. No entanto para outros 60% o fomento de pesquisa e inovação tecnológica ou é prioridade igualitária ou maior em relação a formação somente para o mercado de trabalho. 76 6 LABORATÓRIOS DE ENSINO E INFORMÁTICA Teixeira (1954) já observava que não existe ensino prático sem teoria e nem ensino teórico sem a prática, pois formar técnicos sem prática seria formar homens que não sabem coisa nenhuma. Deste modo o laboratório de ensino tem como objetivo proporcionar aos alunos oportunidade de testar através de simulações e praticas aquilo que aprendem na teoria e até inovando e criando novas soluções para problemas atuais e problemas que ainda surgirão. Para Viana (2007) os laboratórios de informática têm a missão de dar apoio aos alunos oferecendo um ambiente favorável para realizações de trabalhos e pesquisas acadêmicas. Além de servir como uma excelente ferramenta didática para o ensino nas diversas disciplinas do currículo do aluno. Projeto pedagógico Um projeto pedagógico segundo Valente (1999, p. 88) traz a idéia de pensar uma realidade que ainda não aconteceu, analisar o presente. Não é um passo a passo do que o educador e os alunos deverão fazer e sim delinear um percurso possível. Porém não se trata de oposição ao conteúdo curricular previsto e definindo pela escola, que deve ser respeitado, e sim uma reinterpretação de tais diretrizes de modo que haja compatibilidade com as necessidades e expectativas da aula. Segundo Brandão (2010), as novas técnicas educacionais estimulam a renovação pedagógica. E o computador, quando usado corretamente, poderá ser uma ferramenta muito importante para a educação, diversificando os métodos de ensino, possibilitando o desenvolvimento do raciocínio, do pensamento abstrato e motivando o aluno ao aprendizado, ajudando-o na construção do próprio conhecimento. 77 Assim a proposta de um laboratório de pesquisas com cluster de computadores, visa ser um recurso e ferramenta de auxilio aos professores e alunos. No âmbito de projeto pedagógico poderá ser incluído como disciplina em cursos de informática ou um espaço complementar de extrema importância para pesquisas acadêmicas. 78 7 PROPOSTA DE UM LABORATORIO DE PESQUISA COM CLUSTER BEOWULF Para fins de nomeclatura, autoria e arranjo, foi estabelecido o nome Cluster Skywulf, para o cluster sugerido nesta obra, que é do tipo Beowulf. A área total do laboratório proposto é de 80m² sendo duas salas divididas por uma “parede falsa” ou vidrada, separada por uma porta com controle de acesso básico. A sala do cluster é o local onde estará abrigado o Cluster Skywulf, assim como o administrador/suporte do cluster. O outro espaço do laboratório é dedicado aos alunos e pesquisadores, sendo composto por oito computadores, duas mesas de leitura, um quadro branco e uma mesa para montagem de datashow ou suporte ao professor (notebook). A Figura 33 ilustra a proposta. Figura 33 – Layout básico do Laboratório de Pesquisa com cluster 79 7.1 Cabeamento Estruturado A montagem do laboratório segue o padrão das normas ABNT/NBR 14565 (2000): Procedimento básico para elaboração de projetos de cabeamento de telecomunicações para rede interna estruturada. E também pela norma ANSI/EIA/TIA 568A e 568B. Sala Cluster A sala de equipamentos (SEQ) onde estará instalado o Cluster Skywulf, inclui um sistema de resfriamento que possibilite manter o ambiente na faixa de 18º a 24º. Em uma área mínima de 20m². A topologia física / lógica será do tipo estrela. O padrão da rede escolhido é o GigabitEthernet – 1000baseT. Cabeamento utilizado UTP Categoria 6 com conectores modulares de 8 vias. Os computadores que formam o cluster estarão em um rack, interconectados por um switch de alta performance e confiabilidade. Além do rack, com os computadores do cluster, terá também uma ATR (área de trabalho) para o administrador/suporte do cluster. Utilização de um no-break para os computadores do cluster e switch. Sala Pesquisa A sala de pesquisa contará com 8 computadores mais uma mesa com disponibilidade para algum equipamento como datashow ou notebook, totalizando 9 ATRs. A topologia física / lógica será do tipo estrela. O padrão da rede Fast-Ethernet – 100baseT. Cabeamento utilizado UTP Categoria 5e, com conectores modulares de 8 vias. 80 Poderá conter um ar-condicionado, porém não é requisito, pois a temperatura não necessita ser controlada. Em ambas as salas os PT (Ponto de Telecomunicação) ficaram a 30 cm do piso, conforme norma ABNT/NBR 14565 (2000). Desenho técnico do cabeamento do laboratório A Figura 34 representa o layout do cabeamento estruturado do laboratório proposto. Figura 34 – Layout cabeamento estruturado laboratório de pesquisa com cluster 81 AT01: Armário de Telecomunicações da Sala Cluster, contendo um rack de parede, um switch 16 portas Gigabit de uso exclusivo do cluster e um patch panel. AT02: Armário de Telecomunicações da Sala de Pesquisa, contendo um rack de parede, um switch 24 portas e um patch panel. PT01 001 até 0024: São os pontos de telecomunicação (conexão) da Sala de Pesquisa / Cluster, onde serão colocadas as estações de trabalho, que são chamadas de ATR. CS: Cabeamento Secundário, representado pela cor azul, ligando todas as ATR’s ao AT (armário de telecomunicações). CP: Cabeamento Primário, representado pela cor verde, ligação entre os AT’s. 7.2 Descrição dos computadores e equipamentos Switch Cluster: Padrão Gigabit-Ethernet (GbE) de alta confiabilidade e performance. Switch central de interconexão dos nós. Switch Pesquisa: Padrão Fast-Ethernet. Utilizado para interligar os computadores da sala de pesquisa. Firewall: Um servidor de pequeno porte Linux para ser o firewall. Este equipamento tem a finalidade de fazer o controle de acesso da rede externa para o front-end do cluster e viceversa. Computadores Pesquisa: Computadores modelo básico, Dual Core, tipo PC compatível ou superior Pentium 4 com 1 GB RAM e HD 160 GB. Computador Administrador/Suporte Cluster: Computador modelo básico, Dual Core, tipo PC compatível ou superior Pentium 4 com 2 GB RAM e HD 320 GB. Cluster Skywulf Mestre (Front-End): Computador PC comum, desejável 512 MB RAM ou superior. 2 Placas rede Gigabit off board. Monitor, mouse e teclado. 82 Cluster Skywulf Escravos (Back-End): Computador PC comum, desejável 512 MB RAM ou superior. Placa rede Gigabit off board. Cabos de Rede: Padrão Categoria 6 para a rede Cluster e padrão Categoria 5e para a rede Pesquisa. Conectores modulares de 8 vias (RJ-45) Tomadas fêmeas para os conectores modulares de 8 vias (RJ-45) No-break: Modelo projetado para carga de até 2 Kva e autonomia para 30 minutos. Calculo para 5 computadores (sem monitores), 1 computador (com monitor) e um swtich. Ar-Condicionado: Para garantir a temperatura da Sala Cluster de acordo com a norma do cabeamento estruturado. 7.3 O Cluster Skywulf A composição do Cluster Skywulf é de 5 nós e um mestre (front-end), interconectados por um switch, todos dispostos em um rack. A Figura 35 traz o diagrama funcional. Figura 35 – Diagrama conexões Cluster Skywulf 83 Um firewall faz a filtragem e segurança das conexões oriundas externamente e da LAN da sala de pesquisa. O Sistema Operacional Debian é uma distribuição do sistema operacional GNU/Linux. Utiliza o kernel (núcleo do sistema operacional) Linux e uma série de outras ferramentas do projeto GNU (GNU is Not Unix). A distribuição vem com mais de 25.000 pacotes (softwares précompilados e empacotados) de fácil instalação. É constituída por softwares livres (Open Source) e possuiu em seu “Contrato Social” o compromisso de se manter livre. Conta com uma lista bem organizada de desenvolvedores e mantenedores. É uma das mais estáveis distribuições e considerada a mais pura por não misturar com softwares proprietários (DEBIAN, 2010). As características foram determinantes pela escolha desta distribuição GNU/Linux para ser o sistema operativo do Cluster Skywulf. Quando nos referimos a software livre se refere à liberdade dos usuários de executarem, copiarem, distribuírem, estudarem, modificarem e aperfeiçoarem o software e com acesso ao seu código fonte. (GNU, 2010). Biblioteca Utilização da biblioteca MPICH na sua versão 1.2.7p1. MPICH (MPICHamaleon) é uma implementação do padrão MPI, disponibilizado livremente19 e sem restrições comerciais. 19 Link para download: ftp://ftp.mcs.anl.gov/pub/mpi/mpich-1.2.7p1.tar.gz 84 Configuração do Cluster Skywulf Atualização o Sistema Operacional Após a instalação do Sistema Operacional Debian Lenny, deve-se atualizá-lo, isto é feito primeiramente editando o arquivo que contém os links (repositórios) de origem dos pacotes20, ver Quadro 1. Após a edição, executar os comandos: apt-get update e apt-get upgrade Quadro 1 – Arquivo: /etc/apt/sources.list deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main deb http://volatile.debian.org/debian-volatile lenny/volatile main deb-src http://volatile.debian.org/debian-volatile lenny/volatile main deb ftp://ftp.br.debian.org/debian/ lenny main contrib-non-free deb http://linorg.usp.br/debian/ lenny main contrib non-free Pacotes O passo seguinte é a instalação de alguns pacotes necessários para o funcionamento do cluster, a instalação destes pacotes, é feito através do comando apt-get install <pacote>. - Computadores Nós (Escravos) rsh-client: Client do Remote Shell rsh-server: Server do Remote Shell nfs-common: Pacote de suporte na montagem do NFS (Network File System). - Computador Mestre Além dos pacotes citados (escravos), instalar também: nfs-kernel-server: Pacote necessário para o funcionamento do NFS. make: GNU Make é um programa que determina quais partes de um programa grande precisam ser recompiladas e fornece os comandos para recompilá-las, quando necessário. gcc: É um compilador C desenvolvido pelo GNU. 20 Pacote é um método de distribuição e instalação de softwares. 85 Configuração da Rede É necessário configurar a interface de rede, isto é feito editando o arquivo de configuração interfaces, ver Quadro 2. Deve-se em seguida reiniciar as configurações da interface de rede com o comando: /etc/init.d/networking restart Quadro 2 – Arquivo: /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.XX netmask 255.255.255.0 Onde XX é o número IP final. Os computadores do cluster skywulf receberam os seguintes endereços: Mestre: 192.168.1.10 (debmaster) Nó 1: 192.168.1.11 (debno1) Nó 2: 192.168.1.22 (debno2) Nó 3: 192.168.1.33 (debno3) Nó 4: 192.168.1.44 (debno4) Nó 5: 192.168.1.55 (debno5) Após a configuração do endereço IP é necessário configurar a relação IP x Nome da máquina (host), assim é necessário a edição do arquivo hosts, que pode ser conferido no Quadro 3: 86 Quadro 3 – Arquivo: /etc/hosts 127.0.0.1 localhost localhost.localdomain 192.168.1.10 debmaster debmaster.sky.com.br 192.168.1.11 debno1 debno1.sky.com.br 192.168.1.22 debno2 debno2.sky.com.br 192.168.1.33 debno3 debno3.sky.com.br 192.168.1.44 debno4 debno4.sky.com.br 192.168.1.55 debno5 debno5.sky.com.br Configuração relação de confiança entre máquinas Entre os computadores do cluster é necessário que ambos mantenham uma relação de confiança e que não exijam senhas para execução de comandos remotamente (rsh), assim devemos editar o arquivo hosts.equiv (Nós e Mestre), ver Quadro 4 e .rhosts (Mestre), conferir o Quadro 5. Quadro 4 – Arquivo: /etc/hosts.equiv debmaster debno1 debno2 debno3 debno4 debno5 Quadro 5 – Arquivo /home/.rhosts debmaster debno1 debno2 debno3 debno4 debno5 87 Incluir os programas rsh e rlogin no arquivo securetty, ver Quadro 6, assim ambos (os programas) poderão ser executados como root. Quadro 6 – Arquivo: /etc/securetty rsh rlogin Configurando o NFS (Computadores Nós – Escravos) É necessário montar o sistema de arquivos de rede NFS para o compartilhamento de arquivos e pastas entre o Nó e o Mestre, isto é feito editando o arquivo fstab. O Quadro 7 apresenta as linhas a serem incluídas. Quadro 7 – Arquivo: /etc/fstab 192.168.1.10:/home/ /home 192.168.1.10:/usr/local/ nfs /usr/local exec,dev,suid,rw nfs 1 exec,dev,suid,rw 1 1 1 Configurando o NFS (Computador Mestre) É necessário indicar quais pastas e permissões irão estar disponíveis (compartilhadas) para os nós na montagem do NFS, assim é necessário editar o arquivo exports, ver Quadro 8. Quadro 8 – Arquivo: /etc/exports /home *(rw,no_root_squash) /usr/local *(rw,no_root_squash) Instalação e configuração do MPICH (Mestre) A Biblioteca de troca de mensagem MPICH somente é instalada e configurada no computador Mestre. O arquivo mpich.tar.gz deve ser copiado para a pasta /usr/local/ em seguida descompactado com o comando: tar –zxvf mpich.tar Na pasta /usr/local/mpich-1.2.7p1, compilar e instalar com os comandos: ./configure –prefix=/usr/local 88 make make install Deve-se ainda indicar (setar) quais computadores (nós) irão executar as tarefas do cluster (pertencer ao cluster), isto é feito editando o arquivo machines.LINUX, conforme Quadro 9 a seguir. Quadro 9 – Arquivo: /usr/local/share/machines.LINUX debmaster debno1 debno2 debno3 debno4 debno5 É necessário configurar o bash21 para “enxergar” os programas instalados na pasta do mpich. Para tanto, deve-se editar, ver Quadro 10, o arquivo .bash_profile Quadro 10 – Arquivo: /root/.bash_profile export MPIR_HOME = /usr/local/mpich-1.2.7p1 Testando e compilando programas Certifique-se que toda a instalação e configuração estão correta, alguns programas de exemplo estão localizados dentro da pasta: /usr/local/mpich/1.2.4/examples Realize o login com o usuário criado durante a instalação do Debian e copie os programas na pasta home (/home/<usuário>) deste usuário. Basicamente utilizam-se dois comandos da biblioteca MPI para compilação e execução de programas respectivamente: mpicc <programa > -o <nome do executável> mpirun -np <numero de processos> <arquivo executável> 21 Bash é um interpretador de comando, também conhecido como terminais de texto Linux. 89 Um programa simples descrito por GALANTE (2010) que tem a função de imprimir a relação processo x máquina, que estão sendo executadas no momento, nos ajuda a testar o funcionamento de todos os nós conectados. O programa tstskywulf.c escrito na linguagem C foi personalizado para esta obra e encontra-se listado no Apêndice C. A Figura 36 mostra o programa executado em 20 processos (-np 20), indicando que todos os nós estão se comunicando. Figura 36 – Execução em terminal Linux do programa tstskywulf.c 7.4 Investimentos do laboratório Hardware Foi realizado uma pesquisa de mercado (Tabela 15 e 16), considerando a instalação completamente nova (computadores e equipamentos), tanto para o Cluster como para o Laboratório de Pesquisa, no entanto, a possibilidade de utilizar-se de recursos e equipamentos 90 já disponíveis dentro da própria Instituição é algo real e uma alternativa quando se tem restrições financeiras mais elevadas. Um modelo alternativo de computadores (usados) foi utilizado na implantação real do Cluster Skywulf para fins de testes e aplicações, como pode ser conferido no tópico 7.5. Tabela 15 – Custos Sala de Pesquisa PRODUTO QUANTIDADE PREÇO UNITÁRIO PREÇO TOTAL Swtich 24 portas Cat. 5e 01 R$ 590,00 R$ 590,00 Computadores Pesquisa 08 R$ 1.200,00 R$ 9.600,00 Rack AT2 (Parede) 5U 01 R$ 300,00 R$ 300,00 Patch Panel 24 portas 01 R$ 100,00 R$ 100,00 Path Cords Cat. 5e 09 R$ 10,00 R$ 90,00 Cabo UTP Cat 5e 100m R$ 1,25 R$ 125,00 RJ-45 25 R$ 0,50 R$ 12,50 Jack (RJ-45 fêmea) 09 R$ 6,00 R$ 54,00 Total: R$ 10.871,50 Tabela 16 – Custos Cluster Skywulf PRODUTO QUANTIDADE PREÇO UNITÁRIO PREÇO TOTAL Swtich Gigabit 16 portas 01 R$ 950,00 R$ 950,00 Computadores Nós 05 R$900,00 R$ 4.500,00 Computador Mestre 01 R$ 1.400,00 R$ 1.400,00 PC Firewall Linux 01 R$ 1.200,00 R$ 1.200,00 Computador ADM 01 R$ 1.200,00 R$ 1.200,00 Rack AT1 (Parede) 5U 01 R$ 300,00 R$ 300,00 Patch Panel 16 portas 01 R$ 100,00 R$ 200,00 Path Cord Cat.6 1,5m 10 R$ 15,00 R$ 150,00 Path Cord Cat.6 2,5m 10 R$ 20,00 R$ 200,00 Jack (RJ-45 fêmea) 01 R$ 6,00 R$ 6,00 No-break 01 R$ 2.000,00 R$ 2.000,00 Ar-condicionado 01 R$ 800,00 R$ 800,00 Total: R$ 12.906,00 91 Softwares Custo zero em relação as licenças dos softwares utilizados pelo Cluster Skywulf, pois todos os programas e pacotes utilizados são softwares livres (Open Source). Source) Também m será custo zero nas estações de pesquisa, devido à utilização de software livre. Incluindo o Sistema operacional (Debian), pacote de escritório (OpenOffice), navegador navegad web (Firefox) e ferramenta de acesso remoto (RSH, SSH) ao Mestre (Front-end). (Front este de desempenho e aplicações do Cluster Skywulf 7.5 Implantação real, teste Para realização de testes, medições e aplicações da teoria e prática, prát a montagem real do Cluster Skywulf se fez necessário e assim foi feito. A montagem, instalação e configuração do cluster seguiu a risca todos os procedimento já explicados e comentados nos tópicos anteriores. Foi utilizado, como já proposto, 5 nós mais 1 nó mestre, interligados por um switch em uma rede Fast--Ethernet (em substituição ao padrão Gigabit-Ethernet Gigabit proposto), Figura 37 que apresenta o Cluster Skywulf em operação. Figura 37 – Cluster Skywulf em operação 92 A relação completa dos computadores utilizados, contendo suas configurações e valor de mercado podem ser conferidos no Apêndice D. Teste de desempenho A aplicação de testes leva a uma série de conclusões e observações que são úteis para o aprimoramento de um projeto. No Cluster Skywulf foram aplicados alguns testes de desempenho. Um deles constituise de um programa desenvolvido por NORDLIE (2003) na linguagem C, intitulado flop.c (Listagem do código fonte no Anexo B), que calcula o numero do Pi e também mede a performance em Megaflops do cluster, é um teste simples. A metodologia do teste, constitui-se em executar o programa flop.c primeiramente rodando sob 1 processo, seguido de 2 processos, 3 processos e assim por diante. A cada execução anota-se o valor do Megaflops estimado e o tempo total de execução (Wall clock time). A Figura 38 mostra o programa flop.c em execução. Figura 38 – Terminal rodando o programa flop.c 93 A Tabela 17 apresenta os resultados obtidos ao longo do teste. Tabela 17 – Amostragem do teste flop.c N.º de Processos 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Megaflops Tempo (em segundos) 322,545 644,115 610,115 767,908 959,864 1143,161 1343,405 1626,730 910,845 984,199 1061,895 1129,581 1278,581 1347,321 936,784 1020,511 1140,868 1148,187 1189,863 1296,099 1011,247 1048,154 1095,479 1129,296 1208,609 1238,481 18,65 9,3 9,82 7,81 6,25 5,24 4,46 3,68 6,58 6,09 5,65 5,31 4,69 4,45 6,4 5,87 5,29 5,22 5,04 4,62 5,93 5,72 5,47 5,31 4,96 4,84 Com os dados do Megaflops estimado e tempo total de execução, gerou-se dois gráficos, apresentados pela Figura 39 e 40 a seguir. 94 Processos x Megaflops 1800 1600 Megaflops 1400 1200 1000 800 600 400 200 0 1 3 5 7 9 11 13 15 17 19 21 23 25 Megaflops N.º de Processos Figura 39 – Processos x MFlops (Cluster Skywulf) Tempo (segundos) Processos x Tempo execução 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 N.º de Processos Tempo (segundos) Figura 40 – Processos x Tempo (Cluster Skywulf) Uma analise do gráfico ráfico Processos x Megaflops (Figura 39) e a Tabela T 17, apresentam algumas conclusões como: Pico de praticamente 1,6 Gigaflops quando o programa é 95 executado com 8 processos, depois a cada 6 processos o Cluster Skywulf obtém seu melhor desempenho. Outra conclusão que se obteve foi à tendência para a estabilidade, pois os menores indicadores de megaflops estavam chegando perto dos maiores, como se pode ver na Tabela 17, observando a diferença entre os megaflops com 8 e 9 processos que são 715 megaflops, com 14 e 15 processos são 410 megaflops, com 21 e 22 processos são 37 megaflops e com 25 e 26 processos ficou em 30 megaflops. O gráfico Processos x Tempo execução (Figura 40), pode ser analisada como sendo o inverso do gráfico Processos x Megaflops (Figura 39), quando maior os megaflops atingido menor será o tempo de execução. Para fins de anotações o Cluster Skywulf obteve o resultado final de 1,2 Gigaflops e média geral de 1 Gigaflops de processamento. 96 8 CONSIDERAÇÕES ACERCA DA APLICAÇÃO DE CLUSTER BEOWULF EM INSTITUÇÕES DE ENSINO Ao entender o funcionamento de um cluster de computadores, o ambiente de processamento de alto desempenho e mais especificamente o cluster beowulf, suas características, usabilidade, requisitos de hardware e de software, consegue-se projetar um cenário útil para sua aplicação e funcionamento. Como visto ao longo desta obra, os cálculos complexos, as simulações e modelagem computacionais são ambientes hoje, que simplesmente não conseguiriam grandes resultados sem a ajuda do processamento de alto desempenho. E muitas outras áreas aos poucos vão se beneficiando com os equipamentos que permitem processar a informação de uma maneira mais rápida. Dentro das instituições de ensino, o uso básico desta ferramenta, vem acompanhado de pesquisas acadêmicas, por tanto, primeiramente, as Instituições de Ensino, mais precisamente as Universidades, devem repensar como as pesquisas acadêmicas são encaradas dentro da Instituição, visto que o incentivo a pesquisa e a divulgação cientifica é um dos tripés do Ensino Superior. A viabilidade da implantação, provada nesta obra, de um cluster beowulf, deve estar em pauta em novas propostas para laboratórios de pesquisa que envolva processamento de alto desempenho, principalmente em instituições com fortes restrições financeiras. Portanto, a junção de instituições de ensino, pesquisa acadêmica e cluster beowulf se aplicam no momento em que ambas se acharem importantes no desenvolvimento científico, tecnológico e profissional. 97 As dificuldades encontradas foram: - Biblioteca de troca de mensagem: Inicialmente foi testada a biblioteca LAM/MPI, porém não se obteve sucesso devido a uma série de bugs e pouca documentação para a solução destes. Em pesquisa realizada, descobriu-se que esta biblioteca encontra-se em estado de manutenção e seus usuários estão sendo fortemente orientados a substituí-la. - Pesquisa Acadêmica: Acredita-se que a falta de um profissional da área de assessoria de comunicação por parte das Universidades e Faculdades tenha dificultado um pouco a colaboração dessas Instituições para com a pesquisa proposta nesta obra. - Computadores: Não foi fácil conseguir computadores disponíveis para testes (montagem do cluster skywulf) por um período relativamente longo. E alguns computadores mais antigos (15 anos de uso) não tiveram a placa de rede reconhecida pelo sistema operacional GNU/Linux Debian e foram substituídos por outros. Para trabalhos futuros propõe-se em relação a custos do laboratório, levantar outros itens, como mobília, segurança física da Sala Cluster e uma versão do Cluster Skywulf com equipamentos mais específicos e adaptáveis ao processamento de alto desempenho, como placas de comunicação Myrinet e arquiteturas de servidores como as Blades. Também calcular os investimentos com treinamento e recursos humanos, garantindo um estudo de ROI (Retorno de Investimento) mais completo. Além disso, instalações de software e bibliotecas para uso mais fácil e adaptável aos pesquisadores e alunos que se utilizarão do cluster; compilação e testes de programas funcionais em linguagem de programação C e/ou Fortran; testes com outras distribuições GNU/Linux como a RedHat, SuSE e CentOS; realização de benchmark com ferramentas profissionais, como por exemplo, o LINPACK utilizado para a classificação da Lista Top500. 98 REFERÊNCIAS BIBLIOGRAFICAS ABNT/NBR 14565. Procedimento básico para elaboração de projetos de cabeamento de telecomunicações para rede interna estruturada. ABNT–Associação Brasileira de Normas Técnicas. 48 páginas. Ano: 2000. ALVARENGA, Fabiano Vieira. Uma proposta de aplicação para a solucao do problema da árvore geradora de custo mínimo com grupamentos utilizando Cluster em Linux. Monografia. Universidade Federal de Lavra: 2007. BATISTA, Alexandre Cavalcanti. Estudo Teórico Sobre Cluster Linux. Universidade Federal de Lavras. Monografia. Ano 2007. BRAGA, Ataulpa Albert Carmo. Aspectos Técnicos Envolvidos na Construção de um "Cluster Bewulf". Artigo. Química Nova, Vol. 26, N. 3, 401-406: 2003. BRANDAO, Silvia Fernanda Martins. O computador e a educação: uma análise sobre funções e competências. Ano 2009. Disponível em < http://www.pgie.ufrgs.br/alunos_espie/espie/silviab/public_html/espieufrgs/espie00001/usoco mputador.html > Acessado em: 29 mar. 2010 (a). BRANDAO, Silvia Fernanda Martins. Projeto para implantação de um laboratório. Disponível em < http://www.pgie.ufrgs.br/alunos_espie/espie/silviab/public_html/espieufrgs/espie00001/labora torio.html > Acessado em: 19 de mai. 2010 (b). BRASIL, Constituição Federal do. Constituição da República Federativa do Brasil de 1988. Disponível em < http://www.planalto.gov.br/ccivil_03/constituicao/constitui%C3%A7ao.htm > Acessado em 12 mar. 2010 BRIDI, Jamile Cristina Ajub. A Iniciação Científica na Formação do Universitário. Dissertação de Mestrado. Unicamp: 2004. Disponível em < http://libdigi.unicamp.br/document/?down=vtls000316054 > Acessado em 01 de mai. 2010. CANAL, Ana Paula. Arquitetura do CDC 6600. Universidade Federal do Rio Grande do Sul. Instituto de Informática. Porto Alegre, RS. 1998. Disponível em < http://www.inf.ufrgs.br/gppd/disc/cmp134/trabs/T1/981/CDC6600/cdc.htm > Acessado em: 11 jun. 2010. CAPES, Coordenação de Aperfeiçoamento de Pessoal de Nível Superior. Sitio oficial. Disponível em < http://www.capes.gov.br/ > Acessado em: 15 jun. 2010. 99 CARDOSO, Fátima. Supercomputadores mais rápidos, para quê?. Edição 067, Abril/1993. Revista Super Interessante. Disponível em < http://super.abril.com.br/tecnologia/supercomputadores-mais-rapidos-440735.shtml > Acessado em: 15 jun. 2010. CAVALCANTE, Joseneide Franklin. Educação Superior: conceitos, definições e classificações. MEC – INEP. Brasília. Ano: 2000. CEI, Computational Engineering International. Sitio Oficial – News - Beowulf. Disponível em < http://legacy.ensight.com/news/beowulf.html > Acessado em 13 jun. 2010. CENAPAD-INPE. Sitio oficial. Disponível em < http://www.cptec.inpe.br/cenapad > Acessado em: 28 mai. 2010. CENAPAD-LNCC-RJ. Sitio oficial. Disponível em < http://www.cenapad-rj.lncc.br/ > Acessado em: 21 abr. 2010. CENAPAD-SP, Sobre. Disponível em < http://www.cenapad.unicamp.br/home/maim.shtml > Acessado em: 18 abr. 2010. CENAPAD-UFC. Sitio oficial. Disponível em < http://www.cenapadne.br/ > Acessado em: 18 abr. 2010. CENAPAD-UFMG. LCC – Cenapad – UFMG. Disponível em < http://www.lcc.ufmg.br/ > Acessado em: 24 de abr. 2010. CENPAD-PE. Agencia – Divulgação. Disponível em < http://www.ufpe.br/agencia/index.php?option=com_content&view=article&id=29250:a&cati d=19&Itemid=72 > Acessado em: 24 de abr. 2010. CESUP-RS. Apresentação. Disponível em < http://www.cesup.ufrgs.br/Apresenta/apresenta.htm > Acessado em: 16 abr. 2010. CNE, Parecer. 776/97. Disponível em < http://portal.mec.gov.br/setec/arquivos/pdf/PCNE776_97.pdf > Acessado em 07 de mai. 2010. Ano: 1997. CNPq. O que é. Disponível em < http://www.cnpq.br/cnpq/index.htm > Acessado em: 11 de mai. de 2010. Ano: 2010. COCADA. Sitio oficial. Disponível em < http://labbi.uesc.br/cocada/cocada/descricaogeral > Acessado em 10 de mai. 2010. Ano: 2010. COLLEGE, MOUNT OLIVE. Sitio Oficial - Instruments Disponivel em < http://www.moc.edu/?academics/Instruments >. Acessado em: 11 jun. 2010. 100 DANTAS, MARIO. Computação Distribuída de Alto Desempenho. 1ª edição. Rio de Janeiro: Axcel Books do Brasil Editora: 2005 DEBIAN. Sitio oficial – Sobre. Disponível em < http://www.br.debian.org/intro/about > Acessado em: 23 de mai. 2010. Ano: 2010. ERAD. Sitio oficial. Disponível em < http://www.upf.br/erad/ > Acessado em: 09 de mai. 2010. Ano: 2010. FAPEMIG: Institucional. Disponível em < http://www.fapemig.br/institucional/apresentacao/index.php > Acessado em: 11 de mai. 2010. Ano: 2010. FAPERJ. Sitio oficial. Disponível em < http://www.faperj.br/ > Acessado em: 14 de mai. De 2010. Ano: 2010. FAPESP. Institucional. Disponível em < http://www.fapesp.br/materia/2/a-instituicao/ainstituicao.htm > Acessado em: 11 de mai. 2010. Ano: 2010. FERREIRA, Luis; et al. Linux HPC Cluster Installation. IBM Redbooks, Ano 2001. Disponível em: < http://www.redbooks.ibm.com/redbooks/pdfs/sg246041.pdf >. Acessado em: 05 jun. 2010. FINEP, Financiadora de Estudos e Projetos. O que é a FINEP. Disponível em < http://www.finep.gov.br/o_que_e_a_finep/a_empresa.asp?codSessaoOqueeFINEP=2 > Acessado em: 15 jun. 2010. GALANTE, Guilherme. MPI – Message Passing Interface – Básico. Disponível em < http://www.inf.unioeste.br/~guilherme/cursos/projens/MPI.pdf > Acessado em: 2 de jun. 2010. Ano: 2010. GNU. Sobre Software Livre. Disponível em < http://www.gnu.org/philosophy/free-sw.ptbr.html > Acessado em: 23 de mai 2010. Ano: 2010. GORINO, Fabio Valle Rego. Balanceamento de carga em clusters de alto desempenho: uma extensão para a LAM/MPI. Universidade Estadual de Maringá. 2006. JÚNIOR, Esli Pereira Faustino; FREITAS, Reinaldo Borges de. Construindo Supercomputadores com Linux. Cluster Beowulf. Centro Federal de Educação Tecnológica de Goiás. Departamento de Telecomunicações. Goiânia, 2005. Disponível em < http://sinergbrasil.com/files/tcc-cluster-beowulf-2005.pdf > Acessado em 12 jun. 2010. LAD-PUC/RS. Sitio oficial. Disponível em < http://www.pucrs.br/ideia/lad/?p=oquee > Acessado em: 15 de jun. 2010. Ano: 2010. 101 LAROCCA, Priscila; et al. Concepção de universidade: construir uma identidade ou assumir uma identidade construída? UNIUV em Revista. v.10, 2007. p. 311-330. União da Vitória. LCAD-UFES. Sitio oficial. Disponível em < http://www.lcad.inf.ufes.br/ > Acessado em: 10 de mai. 2010. Ano: 2010. LCCA-USP. O que é. Disponível em < http://www.usp.br/lcca/o_lcca.html > Acessado em: 11 de mai. 2010. Ano: 2010. LCCV-UFAL. O que é o LCCV. Disponível em < http://www.lccv.ufal.br/institucional/oque-e-o-lccv > Acessado em: 09 de mai. 2010. Ano: 2010. LEÃO, Gabriela Batista; CARDOSO, Fabian Corrêa. Solução ao Processamento Maciço de Dados e Limite da Freqüência de Clock com o Uso de Aglomerado de Computadores por Meio da Hibridização de um Cluster de Alto Desempenho com um Balanceamento de Carga. Faculdade de Ciência da Computação - Fesurv - Universidade de Rio Verde. Ano 2004. MEC, Ministério da Educação. Pós-Gradução. Disponível em < http://portal.mec.gov.br/index.php?option=com_content&view=article&id=385&Itemid=316 > Acessado em: 14 abr. 2010. MORIMOTO, Carlos E. Glossário – Beowulf. Disponível em < http://www.guiadohardware.net/termos/beowulf > Acessado em: 12 jun. 2010. NACAD-URFJ. Apresentação. Disponível em < http://www.nacad.ufrj.br/pt/informacoes/apresentacao > Acessado em: 18 abr. 2010. NACIONAL, Lei de diretrizes e bases da educação. Lei n.º 9394. Ano 1996. Disponível em < http://portal.mec.gov.br/arquivos/pdf/ldb.pdf > Acessado em: 31 mar. 2010. NETO, Calil Jorge; YAMAGISHI, Erika; SUGAYA, Helder Ken. Top500.org Supercomputadores. Instituto de Computação - Universidade Estadual de Campinas (UNICAMP). Ano 2008. Disponível em < http://www.ic.unicamp.br/~rodolfo/Cursos/mc722/2s2008/Trabalho/g11_texto.pdf > Acessado em: 12 jun. 2010. NORDLIE, John. Mini-Wulf. A small Beowulf Cluster running FreeBSD. Ano 2003. Disponível em < http://blizzard.rwic.und.edu/~nordlie/miniwulf/ > Acessado em: 13 jun. 2010. OLIVEIRA, Cassio Silva. A Importância da Iniciação Científica para a Universidade, para o Estudante e para a Comunidade. Disponível em < http://cassioso.wordpress.com/2008/01/03/artigo-a-importancia-da-iniciacao-cientifica/ > Acessado em: 07 de mai. 2010. Ano: 2008. 102 PAIVA, Marcelo Oliveria de; KHOURY, Marcelo Picolo; BERTACCHI, João Eduardo Ferreira. Projeto de Sistemas Computacionais - Arquiteturas Vetoriais. Disponível em < http://www.ic.unicamp.br/~rodolfo/Cursos/mc722/2s2004/g04-arquiteturas_vetoriais-texto.pdf > Acessado em: 11 jun. 2010. PATRÃO, Bernardo Nunes Figueiredo; FERNANDES, Susana Filipa de Noronha Boavida. Cluster Benchmarking. Ano 2002. Disponível em < http://student.dei.uc.pt/~bernardo/ac2/cluster.pdf > Acessado em: 14 jun. 2010. PINHEIRO, Alisson de Oliveira; GARCIA, Daniel Caixeta Queiroz. Arquitetura paralela ou computação paralela. Ano 2008. Disponível em < http://knol.google.com/k/arquiteturaparalela-ou-computa%C3%A7%C3%A3o-paralela# > Acessado em: 11 jun. 2010. PINHEIRO, José Maurício dos Santos. Da iniciação cientifica ao TCC – Uma abordagem para os cursos de tecnologia. Rio de Janeiro. Editora Ciência Moderna, 2010. PINHO, Sheila Zambello de. Fragmentos de uma reflexão sobre ensino na universidade. Ano 1997. Disponível em < http://www.scielo.br/pdf/icse/v1n1/22.pdf > Acessado em 12 mar. 2010. PITANGA, Marcos. Computação em Cluster. Ano 2003. Disponível em < http://www.clubedohardware.com.br/artigos/Computacao-em-cluster/153/1 > Acessado em: 12 jun. 2010. PITANGA, Marcos. Construindo Supercomputadores com Linux. 3ª edição. Rio de janeiro: Brasport Livros e Multimídia Ltda: 2008. REBONATTO, M. T. Introdução a programação paralela com MPI em agregados de computadores (clusters). Congresso Brasileiro de Ciência da Computação, Itajaí, 2004, 938 – 955. Itajaí, SC – Brasil, ISSN 1677-2822. SCHEPKE, Claudio; et al. Comparação de ferramentas para gerenciamento de clusters. Ano 2005. Disponível em < http://www.veiga.eti.br/papers/wsppd2005-panorama.pdf > Acessado em 14 jun. 2010 SCHWARTZMAN, Simon. Como a Universidade Brasileira está se pensando? Publicado em Adroaldo Moura da Silva e outros, Para onde vai a Universidade Brasileira?, Fortaleza, Universidade Federal do Ceará, 1983, 29-45 (com comentários de Edivaldo M. Boaventura). Disponível em < http://www.schwartzman.org.br/simon/pensando.htm > Acessado em 07 de mai. 2010. SILLA, Paulo Roberto. Computação Paralela: Ambientes e Algoritmos. Universidade Estadual de Londrina. Ano 2008. Disponível em < http://www2.dc.uel.br/nourau/document/?view=692 > Acessado em: 12 jun. 2010. SINAPAD, Sistema Nacional de Processamento de Alto Desempenho. O que é?. Disponível em < http://www.lncc.br/sinapad/sinapad.php > Acessado em: 14 abr. 2010. 103 SOUZA, Marcel Fagundes. Estudo de um Modelo de Cluster baseado em um Ambiente WMPI. UNIMINAS. Ano 2004. Disponível em < http://www.si.uniminas.br/TFC/monografias/mfagundes.pdf > Acessado em: 12 jun. 2010. SYSTEMS, Complex. Inicio. Disponível em < http://www.complex.if.uff.br/start > Acessado em: 09 de mai. 2010. Ano: 2010. TEIXEIRA, Anisio (1977). A Universidade de Ontem e de Hoje. Coleção Universidade, editora da UERJ, Rio de Janeiro apud BRIDI, Jamile Cristina Ajub. A Iniciação Científica na Formação do Universitário. Dissertação de Mestrado. Unicamp: 2004. Disponível em < http://libdigi.unicamp.br/document/?down=vtls000316054 > Acessado em 01 de mai. 2010 TEIXEIRA, Anísio. O humanismo técnico. Boletim CBAI. Rio de Janeiro, v.8, n.2, 1954. p. 1186-1187. Ano: 1954 TOP 500, Supercomputers. Sitio Oficial. Disponível em < http://www.top500.org/ > Acessado em: 05 mai. 2010. VALENTE, José Armando (org.). O computador na sociedade do conhecimento. Coleção Informática na Educação. Brasília: MEC, 1999. VIANA, Leonardo Américo Bezerra. Projeto de Redes - Modelo de laboratório de informática para escolas. Disponível em < http://knol.google.com/k/modelo-delaborat%C3%B3rio-de-inform%C3%A1tica-paraescolas#Introdu%28C3%29%28A7%29%28C3%29%28A3%29o > Acessado em: 23 de mai. 2010. Ano: 2007 104 BIBLIOGRAFIA CONSULTADA CECÍLIA, Universidade de. Elaboração de um projeto de pesquisa. Disponível em < http://sites.unisanta.br/teiadosaber/apostila/matematica/ELABORACAO_DE_UM_PROJETO _DE_PESQUISA-Ines2808.pdf > Acessado em: 01 de mai. 2010 FATEC, Faculdade de Guaratinguetá. Normas e orientações para elaboração e apresentação da monografia de conclusão de curso. Guaratinguetá, 2009 – SP. MATTAR, João. Metodologia científica na era da informática. São Paulo: Saraiva, 2008. VALE PORTAL. Lista de IES. Disponível em < http://www.valedoparaiba.com/vestibular/vale_paulista.asp > Acessado em: 27 de abr. 2010. 105 APÊNDICE A – QUESTIONÁRIO ELABORADO PARA A PESQUISA COM AS UNIVERSIDADES E FACULDADES Somos alunos do curso Tecnologia em Informática – ênfase Redes de Computadores da FATEC Guaratinguetá (www.fatecguaratingueta.edu.br) e estamos realizando nosso Trabalho de Conclusão de Curso (TCC) sob o titulo: Aplicação de Cluster Beowulf em Instituições de Ensino. Selecionamos a sua instituição para fazer parte de uma pesquisa regional referente à pesquisa cientifica e laboratórios de informática. Assim pedimos sua atenção e disponibilidade para responder o questionário preferencialmente até o dia 10 de maio. Lembramos também que as informações ficarão restritas a publicações acadêmicas. Nome completo: ___________________________________________________________________________ Cargo: _________________________ Função: _____________________ Departamento: ______________ Instituição: __________________________________________________ Cidade: _____________________ E-mail: ___________________________________________ Telefone/Ramal: _________________________ 1º) Sobre a importância da pesquisa cientifica e tecnológica em uma Universidade e Faculdade, pode se dizer que ela é: ( ) Indispensável ( ) Importante ( ) Regular ( ) Dispensável 2º) A Instituição possui programas de incentivo de iniciação cientifica / tecnológica? ( ) Sim, e já esta em funcionamento ( ) Sim, mas não esta em funcionamento ( ) Não temos Se Sim descreva quais são: Se Sim, quantos alunos fazem parte deste(s) programa(s): 3º) Em relação ao processamento de alto desempenho e clusters de computadores pode se dizer que temos: ( ) Pleno conhecimento ( ) Conhecimento Regular ( ) Não conhecemos 4º) Em relação as áreas que são abrangidas pelas pesquisas que envolvem processamento de alto desempenho pode se dizer que temos: ( ) Pleno conhecimento ( ) Conhecimento Regular ( ) Não conhecemos 5º) Em relação aos benefícios que podem ser alcançados com as pesquisas que envolvem processamento de alto desempenho, pode se dizer que temos: ( ) Pleno conhecimento ( ) Conhecimento Regular ( ) Não procuramos saber 6º) Em relação ao Sistema Nacional de Processamento de Alto Desempenho (SINAPAD) e os Centros Nacionais (CENAPAD), pode-se dizer que: 106 ( ) Conhecemos e já utilizamos ( ) Pleno Conhecimento ( ) Conhecimento Regular ( ) Não sabemos do que se trata 7º) Possuem laboratórios exclusivos de apoio a pesquisa, teses, monografias e TCC? ( ) Sim ( ) Não 8º) Sobre a importância de se ter um laboratório exclusivo para pesquisas e trabalhos acadêmicos que necessitam de processamento de alto desempenho, classificaria como sendo: ( ) Indispensável ( ) Importante ( ) Regular ( ) Dispensável 9º) Nos laboratórios de pesquisa, possuem clusters de computadores ou supercomputadores para atividades de pesquisa que requerem processamento de alto desempenho? ( ) Sim ( ) Não ( ) Não se aplica Se Sim responda abaixo sobre a arquitetura e quantidade: ( ) Clusters. Quantos: [__] ( ) Supercomputadores. Quantos: [__] ( ) Outro. ________ Se Não, qual seria a maior dificuldade para se ter um laboratório de computação para processamento de alto desempenho: ( ) Alto custo ( ) Dificuldade de manutenção ( ) Falta de pesquisas ( ) Falta de conhecimento técnico 10º) Qual a maior prioridade da Instituição em relação a formação acadêmica do aluno: ( ) Preparar para o mercado de trabalho ( ) Preparar para o fomento de pesquisa e inovação tecnológica ( ) Preparar para o mercado de trabalho mas com foco para o fomento de pesquisa e inovação tecnológica ( ) Preparar para o fomento de pesquisa e inovação tecnológica mas com foco no mercado de trabalho ( ) Preparar para o mercado de trabalho e igualmente para o fomento de pesquisa e inovação tecnológica 107 APÊNDICE B – RELAÇÃO DE UNIVERSIDADES E FACULDADES SELECIONADAS PARA A PESQUISA SUL FLUMINENSE Centro Universitário Geraldo Di Biase Cidade: Volta Redonda Cursos: Administração, Arquitetura e Urbanismo, Ciências Biológicas, Ciências Contábeis, Comunicação Social, Jornalismo, Publicidade e Propaganda, Direito, Economia, Serviço Social, Sistemas de Informação, Computação, Ciências Biológicas, Geografia, História, Letras, Português e Inglês, Português e Espanhol, Matemática e Pedagogia, Site: http://www.ugb.edu.br/ Telefone: (24) 3345-1700 UNIFOA – Centro Universitário de Volta Redonda Cidade: Volta Redonda Cursos: Administração, Ciências Biológicas (Biotecnologia), Ciências Contábeis, Comunicação Social (Jornalismo), Comunicação Social (Publicidade e Propaganda), Design (Desenho Industrial), Direito, Educação Física (Licenciatura / Graduação), Enfermagem, Engenharia Ambiental, Engenharia Civil, Engenharia de Produção, Engenharia Elétrica, Engenharia Mecânica, ,Fisioterapia, História, Letras, Medicina, Nutrição, Odontologia, Serviço Social e Sistemas de Informação (Informática). Site: http://www.unifoa.edu.br/ Telefone: (24) 3340-8400 USS – Universidade Severino Sombra Cidade: Vassouras Cursos: Administração, Biomedicina, Ciências Biológicas (Bacharelado/Licenciatura), Ciências Biológicas (Licenciatura), Enfermagem, Engenharia Ambiental, Engenharia Elétrica, Farmácia, Fisioterapia, Geografia, História, Gestão Ambiental, Gestão da Tecnologia da Informação, Gestão Agronegócio, Gestão Turismo, Gestão Pública, Negócios imobiliario, Letras, Matemática, Medicina Veterinária, Medicina, Odontologia, Pedagogia, Psicologia, Quimica, Química Industrial, Sistema de Informação, Tecnologia em Radiologia e Teologia. Site: http://www.uss.br/ Telefone: (24) 2471-1287 UBM – Centro universitário de Barra Mansa Cidade: Barra Mansa Cursos: Administração, Artes Visuais, Biologia, Ciências Contábeis, Comunicação Social, Curso Superior de Tecnologia em Logística, Curso Superior de Tecnologia em Gestão de Recursos Humanos, Curso Superior de Tecnologia em Gestão da Produção Industrial, Ciência da Computação, Curso Superior de Tecnologia em Gestão de Turismo, Curso Superior de Tecnologia em Gestão da Qualidade, Curso Superior de Tecnologia em Gestão Pública, Curso Superior de Tecnologia em Eventos, Curso Superior de Tecnologia em Gestão Ambiental, Direito, Engenharia de Computação, Engenharia de Petróleo, Engenharia de Controle e Automação, Engenharia de Produção, Educação Física, Enfermagem, Fisioterapia, Farmácia, Geografia, História, Letras, Música (Bacharelado), Música (Licenciatura), Matemática, Medicina, Veterinária, Nutrição, Pedagogia, Psicologia e Programa de Formação Pedagógica de Docentes Site: http://www.ubm.br/ Telefone: (24) 3325-0222 / 0800-725-0222 VALE PAULISTA ITA – Instituto Tecnológico de Aeronáutica Cidade: São José dos Campos Cursos: Engenharia Aeronáutica, Engenharia Eletrônica, Engenharia Mecânica-Aeronáutica, Engenharia CivilAeronáutica, Engenharia de Computação Site: http://www.ita.br/ Telefone: (12) 3947-6908 108 UNISAL – Faculdade Salesiana de Lorena Cidade: Lorena Cursos: Psicologia, Ciência da Computação, Matemática, Tecnólogo em Sistemas Para Internet, Administração, Direito, Filosofia, Geografia, História, Pedagogia, Tecnologia em Hotelaria e Turismo. Site: http://www.lo.unisal.br/ Telefone: (12) 3159-2033 EEL-USP – Escola de Engenharia de Lorena Cidade: Lorena Cursos: Engenharia Bioquímica, Engenharia Química, Industria Química, Engenharia de Materiais Site: http://www.faenquil.br/ Telefone: FATEC – Faculdade de Tecnologia de Guaratinguetá Cidade: Guaratinguetá Cursos: Análise e Desenvolvimento de Sistemas, Gestão da Tecnologia da Informação, Gestão Financeira, Logística e Tecnólogo em Gestão Empresarial (Processos Gerenciais) Site: http://www.fatecguaratingueta.edu.br/ Telefone: (12) 3126-3921 FATEC – Faculdade de Tecnologia de São José dos Campos Cidade: São José dos Campos Cursos: Tecnologia em Logística, Informática - opções de saída: Banco de Dados ou Redes de Computadores, Manutenção de Aeronaves - opções de saída: Manutenção de Aeronaves ou Automação Aeronáutica, Manufatura Aeronáutica e Manufatura Aeronáutica - opções de saída: Manufatura Aeronáutica ou Estruturas Leves. Site: http://www.fatecsjc.edu.br/index.php Telefone: (12) 3905-4851 FEG – UNESP – Faculdade de Engenharia de Guaratinguetá Cidade: Guaratinguetá Cursos: Engenharia Mecânica, Engenharia Civil, Engenharia Elétrica, Engenharia de Produção, Engenharia de Materiais, Física (Licenciatura/Bacharelado), Licenciatura em Matemática. Site: http://www.feg.unesp.br/ Telefone: UNIVAP – Universidade do Vale do Paraíba Cidade: São José dos Campos Cursos: Administração, Arquitetura e Urbanismo, Artes Visuais, Biomedicina, Ciência da Computação, Ciências Biológicas, Ciências Contábeis, Comunicação Social (Jornalismo), Comunicação Social (Publicidade e Propaganda), Comunicação Social (Rádio e TV), Direito, Educação Física, Enfermagem, Engenharia Aeronáutica e Espaço, Engenharia Ambiental, Engenharia Biomédica, Engenharia Civil, Engenharia Elétrica /Eletrônica, Engenharia Química, Engenharia de Computação, Engenharia de Alimentos, Engenharia de Materiais, Farmácia, Fisioterapia, Física, Geografia, História, Letras, Matemática, Moda, Nutrição, Odontologia, Pedagogia, Química, Serviço Social, Superior de Tecnologia em Gastronomia, Superior de Tecnologia em Gestão Ambiental, Terapia Ocupacional e Turismo. Site: http://www.univap.br/ Telefone: (12) 3947-1085 ou (12) 3947-1028 UNIP – Universidade Paulista Cidade: São José dos Campos Cursos: Administração, Análise de Sistema, Arquitetura e Urbanismo, Ciência da Computação, Comunicação Digital, Comunicação Digital (webdesign), Desenho Gráfico Digital, Direito, Enfermagem, Engenharia da Computação, Engenharia elétrica, Farmácia, Fisioterapia, Gestão de Comércio Exterior, Gestão de Marketing, Gestão de Negócios Empresariais, Gestão de recursos Humanos, Gestão de Gerenciamento de redes, Nutrição, Pedagogia, Propaganda e Marketing, Psicologia e Turismo. Site: http://www.unip.br/ Telefone: (12) 2136-9000 109 UNITAU – Universidade de Taubaté Cidade: Taubaté Cursos: Ciências Biológicas, Agronomia, Engenharia de Alimentos, Nutrição, Educação Física, Enfermagem, Fisioterapia, Medicina, Odontologia, Psicologia, Arquitetura e Urbanismo, Engenharia Civil, Engenharia Ambiental e Sanitária, Engenharia de Telecomunicações, Engenharia Elétrica e Eletrônica, Engenharia Aeronáutica, Engenharia de Produção Mecânica, Engenharia Mecânica, Engenharia Mecânica com ênfase em Mecatrônica, Bacharelado em Sistemas de Informação, Computação Aplicada (Automação de Sistemas), Computação Científica, Engenharia da Computação, Sistemas de Informação - Análise e Gestão em Tecnologia da Informação (TI), Física, Matemática, Direito, Filosofia, Geografia, História, Letras, Ciências Sociais, Jornalismo, Publicidade e Propaganda, Relações Públicas, Administração, Ciências Contábeis, Ciências Econômicas, Comércio Exterior, Pedagogia e Serviço Social. Site: http://www.unitau.br/ Telefone: (12) 3625-4258 ANHANGUERA – SJC Cidade: São José dos Campos Cursos: Administração, Comunicação Social, Engenharia Elétrica, Engenharia de Controle e Automação Mecatrônica, Fisioterapia, Letras, Pedagogia, Tecnologia em Análise e Desenvolvimento de Sistemas, Tecnologia em Marketing. Site: http://www.unianhanguera.edu.br/anhanguera/ Telefone: (12) 3625-4256 ANHANGUERA – Taubaté Cidade: Taubaté Cursos: Administração, Ciências da Computação, Ciências Contábeis, Comunicação Social - Publicidade e Propaganda, Enermagem, Engenharia Elétrica, Engenharia de Controle e Automação (Mecatrônica), Engenharia de Produção Mecânica, Fisioterapia, Letras, Pedagogia, Tecnologia em Gestão de Recursos Humanos, Tecnologia em Marketing. Site: http://www.unianhanguera.edu.br/anhanguera/ Telefone: (12) 3631-4467 SUL DE MINAS INATEL – Instituto Nacional de Telecomunicações Cidade: Santa Rita do Sapucaí Cursos: Engenharia Eletrica, Engenharia da Computação, Engenharia Biomédica, Tecnologia em Automação e Tecnologia em Redes Site: http://www.inatel.br Telefone: (35) 3471-9292 UNIFENAS – Universidade José do Rosário Vellano Cidade: Alfenas Cursos: Administração, Enfermagem, Odontologia, Agronomia, Farmácia, Pedagogia, Biomedicina, Fisioterapia, Psicologia, Ciência da Computação, Medicina, Zootecnia, Direito, Medicina Veterinária, Educação Física, Nutrição. Site: http://www.unifenas.br Telefone: (12) 3299-3000 UNIFEI – Universidade Federal de Itajubá Cidade: Itajubá Cursos: Administração, Ciência da Computação, Engenharia Ambiental, Engenharia da Computação, Engenharia de Controle e Automação, Engenharia de Produção, Engenharia Elétrica, Engenharia Hídrica, Engenharia Mecânica, Física (Bacharelado), Física (Licenciatura), Matemática (Bacharelado/Licenciatura), Sistemas de Informação, Ciências Atmosféricas, Engenharia de Materiais e Engenharia Eletrônica. Site: http://www.unifei.edu.br/ Telefone: (35) 3629-1101 110 UNIVERSITAS – Centro Universitário de Itajubá Cidade: Itajubá Cursos: Ciências Biológicas, Educação Física, Engenharia Civil, Engenharia de Produção, Farmácia, Fisioterapia, Letras, Medicina Veterinária, Pedagogia, Psicologia, Sistemas de Informação, Tecnologia em Automação Industrial, Tecnologia em Fabricação Mecânica. Site: http://www.universitas.edu.br/ Telefone: (35) 3629-8400 UFLA- Universidade Federal de LavrasCidade: Lavras Cursos: Administração, Agronomia, Ciências Biológicas, Ciência da Computação, Engenharia Agrícola, Engenharia Ambiental, Engenharia de Alimentos, Engenharia de Controle e Automação, Engenharia Florestal, Zootecnia, Medicina Veterinária, Nutrição, Química (Licenciatura), Matemática (Licenciatura), Sistemas de Informação, Educação Física (Licenciatura), Física (Licenciatura). Site: http://www.ufla.br Telefone: (35) 3829-1378 UFSJ – Universidade Federal de São João Del-Rei Cidade: São João Del-Rei Cursos: Administração, Administração Pública, Arquitetura e Urbanismo, Artes Aplicadas - Ênfase em Cerâmica, Ciência da Computação, Ciências Biológicas, Ciências Contábeis, Ciências Econômicas, Comunicação Social - Habilitação em Jornalismo, Educação Física, Engenharia de Produção, Engenharia Elétrica, Engenharia Mecânica, Filosofia, Física (Bacharelado/Licenciatura), Geografia, História, Letras, Matemática, Música, Pedagogia, Psicologia, Química (Bacharelado/Licenciatura), Teatro e Zootecnia Site: http://www.ufsj.edu.br/ Telefone: (32) 3379-2530 111 APÊNDICE C – LISTAGEM DO PROGRAMA TSTSKYWULF.C /* programa para testar comunicao x processos dos computadores do cluster */ #include "mpi.h" #include <stdio.h> int main (int argc, char * argv[]) { int processId; int noProcesses; int nameSize; char computerName[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &noProcesses); MPI_Comm_rank(MPI_COMM_WORLD, &processId); MPI_Get_processor_name(computerName, &nameSize); printf("Cluster ->Skywulf<-: Processo %d na Maquina %s\n", processId, computerName); MPI_Finalize(); return 0; } 112 APÊNDICE D – RELAÇÃO DOS COMPUTADORES UTILIZADOS PARA MONTAGEM DO CLUSETER SKYWULF MESTRE: Notebook Dell Inspiron 1525 CPU: Core2Duo Memória Ram: 3GB HD: 120GB Placa Rede: Marvell Yukon 88E8040 Chipset placa mãe: Intel Valor: R$ 1.800,00 NÓ1: CPU: AMD Athlon XP 2700+ (2.1GHz) Memória Ram: 765MB DDR333 HD: 80GB IDE Placa de Rede: Via VT6102 10/100 Chipset placa mãe: Via VT8378 (KM400) Valor: R$ 400,00 NÓ2: CPU: AMD Duron Pro 1200+ (900MHz) Memória Ram: 384MB DDR333 HD: 20GB IDE Placa de Rede: SIS 900 10/100 Chipset placa mãe: SIS 5513(SIS730) Valor: R$ 250,00 NÓ3: CPU: AMD Athlon 64Bits X2 5600+ (2.81GHz) Memória Ram: 2GB DDR2 800MHz HD: 160GB Sata II Placa de Rede: Nvidia NForce Chipset placa mãe: Nvidia Valor: R$ 1.200,00 NÓ4: CPU: Intel Dual Core E2200 2.2GHz Memória Ram: 1GB DDR2 667MHz HD: 160GB Sata II Placa de Rede: Realtek 8139B 10/100 Chipset placa mãe: Intel 945G Valor: R$ 1.000,00 NÓ5: CPU: Intel i7 920 2.67GHz Memória Ram: 4GB DDR3 1066MHz HD: 320GB Sata II Placa de Rede: Realtek RTL-8168C Chipset placa mãe: Intel X58 Valor: R$ 2.300,00 113 ANEXO A – CAPITULO IV DA LEI Nº 9.394 (LDB) CAPÍTULO IV Da Educação Superior Art. 43º. A educação superior tem por finalidade: I - estimular a criação cultural e o desenvolvimento do espírito científico e do pensamento reflexivo; II - formar diplomados nas diferentes áreas de conhecimento, aptos para a inserção em setores profissionais e para a participação no desenvolvimento da sociedade brasileira, e colaborar na sua formação contínua; III - incentivar o trabalho de pesquisa e investigação científica, visando o desenvolvimento da ciência e da tecnologia e da criação e difusão da cultura, e, desse modo, desenvolver o entendimento do homem e do meio em que vive; IV - promover a divulgação de conhecimentos culturais, científicos e técnicos que constituem patrimônio da humanidade e comunicar o saber através do ensino, de publicações ou de outras formas de comunicação; V - suscitar o desejo permanente de aperfeiçoamento cultural e profissional e possibilitar a correspondente concretização, integrando os conhecimentos que vão sendo adquiridos numa estrutura intelectual sistematizadora do conhecimento de cada geração; VI - estimular o conhecimento dos problemas do mundo presente, em particular os nacionais e regionais, prestar serviços especializados à comunidade e estabelecer com esta uma relação de reciprocidade; VII - promover a extensão, aberta à participação da população, visando à difusão das conquistas e benefícios resultantes da criação cultural e da pesquisa científica e tecnológica geradas na instituição. Art. 44º. A educação superior abrangerá os seguintes cursos e programas: I - cursos seqüenciais por campo de saber, de diferentes níveis de abrangência, abertos a candidatos que atendam aos requisitos estabelecidos pelas instituições de ensino; II - de graduação, abertos a candidatos que tenham concluído o ensino médio ou equivalente e tenham sido classificados em processo seletivo; III - de pós -graduação, compreendendo programas de mestrado e doutorado, cursos de especialização, aperfeiçoamento e outros, abertos a candidatos diplomados em cursos de graduação e que atendam às exigências das instituições de ensino; IV - de extensão, abertos a candidatos que atendam aos requisitos estabelecidos em cada caso pelas instituições de ensino. Art. 45º. A educação superior será ministrada em instituições de ensino superior, públicas ou privadas, com variados graus de abrangência ou especialização. Art. 46º. A autorização e o reconhecimento de cursos, bem como o credenciamento de instituições de educação superior, terão prazos limitados, sendo renovados, periodicamente, após processo regular de avaliação. § 1º. Após um prazo para saneamento de deficiências eventualmente identificadas pela avaliação a que se refere este artigo, haverá reavaliação, que poderá resultar, conforme o caso, em desativação de cursos e habilitações, em intervenção na instituição, em suspensão temporária de prerrogativas da autonomia, ou em descredenciamento. § 2º. No caso de instituição pública, o Poder Executivo responsável por sua manutenção acompanhará o processo de saneamento e fornecerá recursos adicionais, se necessários, para a superação das deficiências. Art. 47º. Na educação superior, o ano letivo regular, independente do ano civil, tem, no mínimo, duzentos dias de trabalho acadêmico efetivo, excluído o tempo reservado aos exames finais, quando houver. 114 § 1º. As instituições informarão aos interessados, antes de cada período letivo, os programas dos cursos e demais componentes curriculares, sua duração, requisitos, qualificação dos professores, recursos disponíveis e critérios de avaliação, obrigando-se a cumprir as respectivas condições. § 2º. Os alunos que tenham extraordinário aproveitamento nos estudos, demonstrado por meio de provas e outros instrumentos de avaliação específicos, aplicados por banca examinadora especial, poderão ter abreviada a duração dos seus cursos, de acordo com as normas dos sistemas de ensino. § 3º. É obrigatória a freqüência de alunos e professores, salvo nos programas de educação a distância. § 4º. As instituições de educação superior oferecerão, no período noturno, cursos de graduação nos mesmos padrões de qualidade mantidos no período diurno, sendo obrigatória a oferta noturna nas instituições públicas, garantida a necessária previsão orçamentária. Art. 48º. Os diplomas de cursos superiores reconhecidos, quando registrados, terão validade nacional como prova da formação recebida por seu titular. § 1º. Os diplomas expedidos pelas universidades serão por elas próprias registrados, e aqueles conferidos por instituições não-universitárias serão registrados em universidades indicadas pelo Conselho Nacional de Educação. § 2º. Os diplomas de graduação expedidos por universidades estrangeiras serão revalidados por universidades públicas que tenham curso do mesmo nível e área ou equivalente, respeitando-se os acordos internacionais de reciprocidade ou equiparação. § 3º. Os diplomas de Mestrado e de Doutorado expedidos por universidades estrangeiras só poderão ser reconhecidos por universidades que possuam cursos de pósgraduação reconhecidos e avaliados, na mesma área de conhecimento e em nível equivalente ou superior. Art. 49º. As instituições de educação superior aceitarão a transferência de alunos regulares, para cursos afins, na hipótese de existência de vagas, e mediante processo seletivo. Parágrafo único. As transferências ex officio dar-se-ão na forma da lei. Art. 50º. As instituições de educação superior, quando da ocorrência de vagas, abrirão matrícula nas disciplinas de seus cursos a alunos não regulares que demonstrarem capacidade de cursá-las com proveito, mediante processo seletivo prévio. Art. 51º. As instituições de educação superior credenciadas como universidades, ao deliberar sobre critérios e normas de seleção e admissão de estudantes, levarão em conta os efeitos desses critérios sobre a orientação do ensino médio, articulando-se com os órgãos normativos dos sistemas de ensino. Art. 52º. As universidades são instituições pluridisciplinares de formação dos quadros profissionais de nível superior, de pesquisa, de extensão e de domínio e cultivo do saber humano, que se caracterizam por: I - produção intelectual institucionalizada mediante o estudo sistemá tico dos temas e problemas mais relevantes, tanto do ponto de vista científico e cultural, quanto regional e nacional; II - um terço do corpo docente, pelo menos, com titulação acadêmica de mestrado ou doutorado; III - um terço do cor po docente em regime de tempo integral. Parágrafo único. É facultada a criação de universidades especializadas por campo do saber. Art. 53º. No exercício de sua autonomia, são asseguradas às universidades, sem prejuízo de outras, as seguintes atribuições: I - criar, organizar e extinguir, em sua sede, cursos e programas de educação superior previstos nesta Lei, obedecendo às normas gerais da União e, quando for o caso, do respectivo sistema de ensino; 115 II - fixar os currículos dos seus cursos e programas, observadas as diretrizes gerais pertinentes; III - estabelecer planos, programas e projetos de pesquisa científica, produção artística e atividades de extensão; IV - fixar o número de vagas de acordo com a capacidade institucional e as exigências do seu meio; V - elaborar e reformar os seus estatutos e regimentos em consonância com as normas gerais atinentes; VI - conferir graus, diplomas e outros títulos; VII - firmar contratos, acordos e convênios; VIII - aprovar e executar planos, programas e projetos de investimentos referentes a obras, serviços e aquisições em geral, bem como administrar rendimentos conforme dispositivos institucionais; IX - administrar os rendimentos e deles dispor na forma prevista no ato de constituição, nas leis e nos respectivos estatutos; X - receber subvenções, doações, heranças, legados e cooperação financeira resultante de convênios com entidades públicas e privadas. Parágrafo único. Para garantir a autonomia didático-científica das universidades, caberá aos seus colegiados de ensino e pesquisa decidir, dentro dos recursos orçamentários disponíveis, sobre: I - criação, expansão, modificação e extinção de cursos; II - ampliação e diminuição de vagas; III - elaboração da programação dos cursos; IV - programação das pesquisas e das atividades de extensão; V - contratação e dispensa de professores; VI - planos de carreira docente. Art. 54º. As universidades mantidas pelo Poder Público gozarão, na forma da lei, de estatuto jurídico especial para atender às peculiaridades de sua estrutura, organização e financiamento pelo Poder Público, assim como dos seus planos de carreira e do regime jurídico do seu pessoal. § 1º. No exercício da sua autonomia, além das atribuições asseguradas pelo artigo anterior, as universidades públicas poderão: I - propor o seu quadro de pessoal docente, técnico e administrativo, assim como um plano de cargos e salários, atendidas as normas gerais pertinentes e os recursos disponíveis; II - elaborar o regulamento de seu pessoal em conformidade com as normas gerais concernentes; III - aprovar e executar planos, programas e projetos de investimentos referentes a obras, serviços e aquisições em geral, de acordo com os recursos alocados pelo respectivo Poder mantenedor; IV - elaborar seus orçamentos anuais e plurianuais; V - adotar regime financeiro e contábil que atenda às suas peculiaridades de organização e funcionamento; VI - realizar operações de crédito ou de financiamento, com aprovação do Poder competente, para aquisição de bens imóveis, instalações e equipamentos; VII - efetuar transferências, quitações e tomar outras providências de ordem orçamentária, financeira e patrimonial necessárias ao seu bom desempenho. 116 § 2º. Atribuições de autonomia universitária poderão ser estendidas a instituições que comprovem alta qualificação para o ensino ou para a pesquisa, com base em avaliação realizada pelo Poder Público. Art. 55º. Caberá à União assegurar, anualmente, em seu Orçamento Geral, recursos suficientes para manutenção e desenvolvimento das instituições de educação superior por ela mantidas. Art. 56º. As instituições públicas de educação superior obedecerão ao princípio da gestão democrática, assegurada a existência de órgãos colegiados deliberativos, de que participarão os segmentos da comunidade institucional, local e regional. Parágrafo único. Em qualquer caso, os docentes ocuparão setenta por cento dos assentos em cada órgão colegiado e comissão, inclusive nos que tratarem da elaboração e modificações estatutárias e regimentais, bem como da escolha de dirigentes. Art. 57º. Nas instituições públicas de educação superior, o professor ficará obrigado ao mínimo de oito horas semanais de aulas. 117 ANEXO B – LISTAGEM DO PROGRAMA FLOP.C #include "mpi.h" #include <stdio.h> #include <math.h> int main(int argc,char *argv[]) { int done = 0, n, myid, numprocs, i; double PI25DT = 3.141592653589793238462643; double mypi, pi, h, sum, x, mflops; double startwtime = 0.0, endwtime; int namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); MPI_Get_processor_name(processor_name,&namelen); fprintf(stdout,"Process %d of %d on %s\n", myid, numprocs, processor_name); n = 0; while (!done) { if (myid == 0) { /* printf("Enter the number of intervals: (0 quits) "); scanf("%d",&n); */ if (n==0) n=1000000000; else n=0; startwtime = MPI_Wtime(); } MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD); if (n == 0) done = 1; else { h = 1.0 / (double) n; sum = 0.0; /* A slightly better approach starts from large i and works back */ for (i = myid + 1; i <= n; i += numprocs) { x = h * ((double)i - 0.5); sum += ( 4.0 / ( 1.0 + x * x )); } mypi = h * sum; MPI_Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); if (myid == 0) { printf("pi is approximately %.16f, Error is %.16f\n", pi, fabs(pi - PI25DT)); endwtime = MPI_Wtime(); printf("wall clock time = %f\n", endwtime-startwtime); mflops = ((6.0 * (double)n) / (endwtime - startwtime)) / 1000000.0; printf("Estimated MFLOPs = %f\n", mflops); fflush( stdout ); } } } MPI_Finalize(); return 0; }
Documentos relacionados
Uma Abordagem para Alta Demanda de Processamento Utilizando
Abstract. In recent years the demand for more efficient processing and fast has led many studies to consider the option of using computational clusters. The clusters are a good alternative to assis...
Leia mais