UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE CLUSTER DE BAIXO CUSTO Área de Sistemas Paralelos e Distribuídos por Sidnei Baron Ademir Goulart, M.Sc. Orientador Itajaí (SC), junho de 2005

2 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE CLUSTER DE BAIXO CUSTO Área de Sistemas Paralelos e Distribuídos por Sidnei Baron Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Ademir Goulart, M.Sc. Itajaí (SC), junho de 2005

3 SUMÁRIO LISTA DE ABREVIATURAS...iv LISTA DE FIGURAS...vi LISTA DE TABELAS...vii LISTA DE EQUAÇÕES...viii RESUMO...ix ABSTRACT...x 1. INTRODUÇÃO OBJETIVOS Objetivo Geral Objetivos Específicos METODOLOGIA ESTRUTURA DO TRABALHO FUNDAMENTAÇÃO TEÓRICA CLASSIFICAÇÃO DE SISTEMAS PARALELOS Classificação de Flynn Multiprocessadores e multicomputadores CLUSTER DE COMPUTADORES Arquitetura de Hardware Arquitetura de Software PROGRAMAÇÃO PARALELA PVM MPI PVM x MPI OpenMP ANÁLISE DE DESEMPENHO Lei de Amdhal Ferramentas de Análise de Desempenho e de Gerenciamento TRABALHOS RELACIONADOS PROJETO MODELAGEM DESENVOLVIMENTO Apresentação do Sistema Dificuldades Encontradas Resultados CONCLUSÕES...60 REFERÊNCIAS BIBLIOGRÁFICAS...62

4 ANEXO I RESUMO PUBLICADO NO CRICTE APÊNDICE A MODELAGEM UML...66 APÊNDICE B REMASTERIZAÇÃO DO KURUMIN...94 APÊNDICE C ARQUIVOS DE SAÍDA DO PARPAC APÊNDICE D ARTIGO CIENTÍFICO iii

5 LISTA DE ABREVIATURAS AFS API ATLAS ATM ATOLL BPROC BPS BWATCH CC-NUMA CMA COMA COW CRICTE DSM E/S FFTW FLOPS FTP GFLOPS GV HA HD HIPPI IEEE ITWM KSIX LAN LAPACK LINPACK LLCBENCH LSED NAG NCC-NUMA NETPERF NETPIPE NFS NORMA NOW NUMA MFLOPS MIMD MIPS MISD MPI MPITH OPENPBS Andrew File System Aplication Program Interface Automatically Tuned Linear Algebra Software Asynchomous Transmission Mode Atomic Low Latency Network Beowulf Distributed Process Bits Per Second Beowulf Watch Cache-Coherent Non-Uniform Memory Access Control and Monitoring Agent Cache-Only Memory Architeture Cluster of Workstation Congresso Regional de Iniciação Científica e Tecnológica em Engenharia Distributed Shared Memory Entrada e Saída Fast Fourier Transform Floating Point Operation Per Second File Transfer Protocol Gigaflops ou Billions of Floating Point Operation Per Second Ganho de Velocidade High Availability Hard Disk High Performace Parallel Interface Institute of Electrical and Electronics Engineers Institut Techno und Wirtschaftsmatematik Kasetstart System Interconnected executive Local Área Network Linear Algebra Package Linear Algebra Software Package Low Level Characterization Benchmark Laboratório de Sistemas Embarcados e Distribuídos Numerical Algorithms Group Non-Cache-Coherent Non-Uniform Memory Access Network Performance Network Protocol Independent Performace Evaluator Network File System No Remote Memory Access Network of Workstation Non Uniform Memory Access Millions of Floating Point Operation Per Second Multiple Instruction Multiple Data Millions of Instruction Per Second Multiple Instruction Single Data Message Passing Interface MPI Thin and High-Performace Open Portable Batch System

6 OPENSCE OSCAR PC PCI PFS PIOUS PPS PVFS PVP PVM RAM RMI RPC RSH SQMS SAN SC-NUMA SCALAPACK SCI SCMS SIMD SISD SMA SMB SMP SO SSI SSH TCC TCP TCP/IP TPS UDP UMA UML UNIVALI Open Scalable Cluster Enviroment Open Source Cluster Application Resource Personal Computer Peripheral Component Interconnect Parallel File System Parallel I/O System Packets Per Second Parallel Virtual File System Parallel Vector Processor Parallel Virtual Machine Random Access Memory Resource Management Interface Remote Procedure Call Remote Shell Simple Queuing Management System System Area Network Software-Coherent Non-Uniform Memory Access Scalable Linear Algebra Package Scalable Coherent Interface Scalable Cluster Management System Single Instruction Multiple Data Single Instruction Single Data System Management Agent Server Message Block Simetric Multi Processor System Operation Single System Image Secure Shell Trabalho de Conclusão de Curso Transmission Control Protocol Transmission Control Protocol / Internet Protocol Transactions Per Second User Datagramer Protocol Uniform Memory Access Unified Modeling Language Universidade do Vale do Itajaí v

7 LISTA DE FIGURAS Figura 1. Fluxo de instrução e de dados...5 Figura 2. Arquitetura SISD...6 Figura 3. Arquitetura MISD...6 Figura 4. Arquitetura SIMD...7 Figura 5. Arquitetura MIMD...7 Figura 6. Classificação segundo o compartilhamento de memória...8 Figura 7. Arquitetura dos multiprocessadores...9 Figura 8. Arquitetura dos multicomputadores...10 Figura 9. Arquitetura típica de um cluster...12 Figura 10. Estrutura em camadas do NFS...24 Figura 11. As três possibilidades de saídas para uma requisição de serviço...30 Figura 12. Influência do custo de paralelização...32 Figura 13. Diagrama de Classe do cluster...40 Figura 14. Diagrama de Caso de Uso da inicialização do sistema...41 Figura 15. Diagrama de Caso de Uso da criação de um programa paralelo...43 Figura 16. Diagrama de Estado da execução de um programa paralelo no nó escravo...43 Figura 17. Diagrama de Estado da execução de um programa paralelo no nó mestre...44 Figura 18. Diagrama de Seqüência da inicialização de um nó...45 Figura 19. Diagrama de Seqüência da entrada dos nodos e a execução de um programa paralelo...46 Figura 20. Diagrama de Componentes do cluster...47 Figura 21. Tela de boot do Kcluster...49 Figura 22. Execução do KCluster no laboratório de ciência da computação da UNIVALI...53 Figura 23. Execução do benchmarck PARPAC...54 Figura 24. Desempenho alcançado em Gflops...56 Figura 25. Tempo total de execução do PARPAC com rede de 10 e 100 Mbits...57 Figura 26. Comparativo do desempenho alcançado entre uma rede 10 e 100 Mbits...57 Figura 27. Resultados da multiplicação de matrizes...58 Figura 28. Speedup do cluster com a multiplicação de matrizes...59 Figura 29. Exemplo de gráficos gerados pela ferramenta CACTI...61

8 LISTA DE TABELAS Tabela 1: Diferenças entre PVM e MPI...28 Tabela 2. Critérios para a seleção de uma técnica de avaliação...29 Tabela 3. Resultados do PARPAC...55 Tabela 4. Comparativo entre a execução do PARPAC com a rede a 10 Mbits e 100 Mbits...56 Tabela 5. Resultados da multiplicação de matrizes...58 Tabela 6. Speedup do cluster na multiplicação de matrizes...59 vii

9 LISTA DE EQUAÇÕES Equação Equação Equação

10 RESUMO BARON, Sidnei. Cluster de Baixo Custo. Itajaí, f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, Um cluster pode ser definido como um conjunto de nós processados autônomos e que, interligados, comportam-se como um sistema único. Clusters são utilizados quando os serviços devem ser processados o mais rápidos possível ou ter alta disponibilidade. Pesquisadores, organizações e empresas estão utilizando os cluster porque necessitam de desempenho escalável, gerenciamento de recursos, disponibilidade ou processamento em nível supercomputacional a um preço adequado. A aquisição de máquinas e de redes de alto desempenho é cara. Grandes organizações e universidades possuem equipamentos que ficam boa parte do tempo com processadores ociosos. A fim de oferecer um cluster de baixo custo que contribua para um maior aproveitamento dos recursos das organizações e universidades, este projeto apresenta a modelagem, montagem, instalação, validação e disponibilização de um ambiente para processamento paralelo baseado em um cluster de PCs (Personal Computers). O cluster deverá ser escalável e os seus nodos deverão ser de fácil inclusão com configuração em ambientes distribuídos, onde a configuração manual das máquinas deva ser evitada. Na primeira parte deste trabalho foram realizados estudos dos conceitos de cluster, os passos necessários para a montagem e gerenciamento, e programação paralela. Ainda nesta parte foi a de modelagem, a qual especificou e se criou o modelo conceitual do sistema. A segunda parte foi a de desenvolvimento e validação do cluster, apresentando os resultados obtidos. Palavras-chave: Cluster. Sistemas Distribuídos, Programação Paralela.

11 ABSTRACT A cluster can be defined as a set of autonomous prossessing nodes, interconneted, which behave as a unique system. Clusters are used when the services have to be processed the fastest as possible or with high availability. Researchers, organizations and companies are using clusters because they need scalable performance, resources management, availability or processing at super computational level to the adequated price. The acquisition of machines and network of high performance is expensive. Large organizations and universities have equipaments that are the greatest part of time with idle processors. In order to offer a cluster of low price that contributes to the greatest utilization of the resources of the organizations and universities, this work discusses how to model, mount, install, validate and turn available an environment for the parallel processing based on a cluster of personal computer. The cluster should be scalable and their nodes should be of easy inclusion with configuration in distributed environments, where the manual configuration of machines should be avoided. In the first part of this work concepts studies of clusters, the necessary steps to the assembly and management and parallel programming were accomplished. Also in this first part, was made the modeling that specifies and creates the conceptuel model of the system.the second part was the implemantation and validation of the cluster showing the results collected. Keywords: Cluster, Distributed Systems, Parallel Programming.

12 1. INTRODUÇÃO Um cluster (ou agregado) de computadores pode ser definido como um sistema de computação paralela composta de um conjunto de nós processadores (PCs Personal Computers ou estações de trabalho) autônomos e que, interligados, comportam-se como um recurso computacional único (BUYYA, 1999). Existem vários tipos de cluster com algumas diferenças entre si, quanto à topologia de rede, configuração e objetivo, entre outras características. O Cluster of Workstation (COW) e o cluster Beowulf são exemplos de tipos de cluster. Segundo Patterson (2000), serviços que freqüentemente requerem alta disponibilidade e balanceamento de carga de forma escalável são indicados para o ambiente de cluster. Exemplos desses são os Internet Service Providers (provedores de Internet) e sites de comércio eletrônico. Indústrias cinematográficas podem se utilizar desses recursos, pois necessitam de alto desempenho para renderização de gráficos de altíssima qualidade e animações. Os nós de um cluster tendem a ser mais complexos e possuirem um custo administrativo mais alto do que os nós de uma rede LAN (Local Area Network Rede local), os quais correspondem, em sua maioria, a PCs ou estações de trabalho monoprocessadas. Os nós de um cluster podem conter vários processadores, sendo de igual ou maior complexidade que máquinas proprietárias de processamento, se considerando a presença de discos e sistemas operacionais completos no primeiro, em relação à ausência de discos e sistemas operacionais baseados em microkernel no segundo (PATTERSON, 2000). Pesquisadores, organizações e empresas estão utilizando os clusters porque necessitam de desempenho escalável, gerenciamento de recursos, disponibilidade ou processamento em nível supercomputacional a um preço adequado. A aquisição de máquinas e de redes de alto desempenho é cara. Além do custo do hardware, os custos de instalação e de manutenção também são altos, pois são feitos por profissionais capacitados e, geralmente, terceirizados. O trabalho de manutenção, tanto de software como de hardware, aumenta conforme a quantidade de nós no cluster. Porém, existem algumas técnicas que podem ser utilizadas para 1

13 reduzir a manutenção de software. Essas técnicas podem ser de diferentes formas, um exemplo são os scripts que, a partir de um local centralizado, instalam, atualizam ou removem o software nas máquinas. Outra técnica utilizada é a de criação de uma imagem a partir de uma máquina e a replicação dessa imagem em todas as outras da rede. Quando for necessário fazer uma atualização ou nova instalação de algum software, basta criar uma imagem com este software e replicar em todos os nós. Grandes organizações e universidades possuem laboratórios que ficam uma boa parte do tempo com processadores ociosos, tais como muitos laboratórios de ensino, nas universidades, nos finais de semana. Esses ambientes poderiam ser melhor aproveitados em horários que não estão sendo utilizados localmente. A fim de oferecer um cluster de baixo custo que contribua para um maior aproveitamento dos recursos das organizações e universidades, este projeto propõe modelar, montar, instalar, validar e disponibilizar um ambiente para processamento paralelo baseado em um cluster de PCs OBJETIVOS Objetivo Geral Este projeto de pesquisa tem como objetivo geral modelar, montar, instalar, validar e disponibilizar um ambiente para processamento paralelo baseado em um cluster de PCs. O cluster deverá ser escalável e os seus os nodos deverão ser de fácil inclusão e configuração em ambientes distribuídos onde a configuração manual das máquinas deva ser evitada Objetivos Específicos Os objetivos específicos deste projeto de pesquisa são: Realizar estudo sobre cluster, configuração e gerenciamento; Determinar os passos necessários para montagem de um cluster; Realizar estudo sobre programação de sistemas paralelos e ferramentas de gerenciamento; Realizar modelagem conceitual do ambiente de processamento paralelo; 2

14 Montar e instalar o servidor (nó-mestre) do cluster; Instalar ferramentas necessárias para rodar sistemas paralelos; Montar e instalar o cliente (nó-escravo) do cluster; Desenvolver um mecanismo para automatizar a instalação e configuração do servidor e do cliente no cluster; Selecionar programas paralelos para validação do cluster; Testar e validar o sistema no cluster; Documentar o desenvolvimento e os resultados do sistema METODOLOGIA Foram realizadas várias etapas para alcançar o objetivo deste trabalho. Nesta primeira parte do projeto (TCC I), a etapa inicial foi a de aprendizado, na qual foi realizado um estudo sobre clusters, os passos necessários para montagem e gerenciamento de um cluster, e programação de sistemas paralelos. A segunda etapa foi a de modelagem, a qual especificou o funcionamento e se criou o modelo conceitual do sistema. Na segunda parte deste projeto (TCCII), foi desenvolvido o sistema modelado, disponibilizado programas paralelos, validando o cluster com programas paralelos e analisando seus resultados. Em paralelo com essas atividades, foi realizado a documentação deste trabalho e redigido um artigo científico ESTRUTURA DO TRABALHO Este trabalho está dividido em quatro capítulos: introdução, fundamentação teórica, projeto e considerações finais. No capítulo de fundamentação teórica são descritos os conceitos que envolvem o ambiente de cluster, como a classificação de máquinas paralelas, programação paralela, ferramentas de gerenciamento e avaliação, e também as ferramentas (serviços) necessárias para a implementação de um cluster. 3

15 No capítulo de projeto são apresentadas a modelagem UML (Unified Modeling Language) do sistema, as dificuldades encontradas e as soluções adotadas. Neste capítulo também é apresentado a funcionalidade do sistema e os resultados obtidos. TCC. Por fim, são apresentadas as considerações finais a respeito do desenvolvimento de todo o 4

16 2. FUNDAMENTAÇÃO TEÓRICA Neste capítulo são apresentados os conceitos relevantes para o desenvolvimento deste projeto, descrevendo a classificação dos sistemas paralelos, cluster, programação paralela e análise de desempenho. No final deste capítulo são apresentados alguns trabalhos relacionados com este projeto CLASSIFICAÇÃO DE SISTEMAS PARALELOS Classificação de Flynn Conforme Gualeve (2004), Michael Flynn, em 1972, caracterizou diversos modelos de arquiteturas de computadores seguindo dois critérios, o número de fluxos de dados e de instruções. A classificação foi feita em quatro classes de computadores, conforme a Figura 1. Fluxo de Instrução Único Múltiplo Fluxo de Único SISD MISD Dados Múltiplo SIMD MIMD Figura 1. Fluxo de instrução e de dados Fonte: Adaptado de Gualeve (2004). Estas classes são: Arquitetura SISD (Single Instruction Single Data): As instruções são executadas seqüencialmente sem qualquer paralelismo. São as máquinas Von Neuman tradicionais. A Figura 2 apresenta esta arquitetura.

17 Figura 2. Arquitetura SISD Fonte: (GUALEVE, 2004). Arquitetura MISD (Multiple Instruction Single Data): São máquinas que executam várias instruções ao mesmo tempo sobre um único dado (Figura 3). Esta categoria não possui nenhuma máquina como exemplo. Figura 3. Arquitetura MISD Fonte: (GUALEVE, 2004). Arquitetura SIMD (Single Instruction Multiple Data): São máquinas que executam uma instrução paralelamente utilizando vários dados de forma síncrona (Figura 4). Exemplos dessa categoria são os processadores atuais que possuem a tecnologia MMX (MultiMedia extension). 6

18 Figura 4. Arquitetura SIMD Fonte: (GUALEVE, 2004). Arquitetura MIMD (Multiple Instruction, Multiple Data): São máquinas que possuem mútiplos fluxos de instruções e múltiplos dados e que cada processador age independentemente (Figura 5). Figura 5. Arquitetura MIMD Fonte: (GUALEVE, 2004). 7

19 Multiprocessadores e multicomputadores Dependendo de uma máquina paralela utilizar-se ou não de uma memória compartilhada por todos os processadores, pode se diferenciar as máquinas paralelas em multiprocessadores (memória compartilhada) e multicomputadores (memória distribuída). Esta classificação é apresentada na Figura 6, e explicada nos tópicos seguintes. MIMD Multiprocessadores (espaço de endereçamento único) UMA (memória central) NUMA (memória distribuída) COMA CC-NUMA NCC-NUMA Multicomputadores (múltiplos espaços de endereçamento) SC-NUMA NORMA Figura 6. Classificação segundo o compartilhamento de memória Fonte: (ROSE e NAVAUX, 2002) Multiprocessadores Nesta classe, as máquinas são fortemente acopladas, pois possuem múltiplos processadores que compartilham um espaço de endereçamento de memória comum (Figura 7).O uso de uma memória cache em cada processador é adotado para evitar o gargalo gerado quando uma única área de memória é acessada simultaneamente por diversos processadores. Para manter todos os cache atualizados é utilizada uma técnica chamada write-trhough, onde toda a gravação é feita na memória principal e a leitura na memória cache. Também todas as cache ficam monitorando o barramento e se alguma alteração ocorrer na memória principal, cujo endereço também está na cache de um processador, este também atualiza o conteúdo da cache (TANENBAUM, 1995). 8

20 Figura 7. Arquitetura dos multiprocessadores Fonte: (GUALEVE, 2004). A vantagem desta arquitetura é que o compartilhamento de dados entre os processos torna-se muito mais rápido. As desvantagens são que os computadores são caros, possuem limitação física para a quantidade de processadores e necessitam de técnicas de sincronização para a leitura e gravação dos dados (PITANGA, 2004c). Dependendo da interligação dos processadores com a memória, a classe de multiprocessadores se enquadra em duas categorias principais: UMA (Uniform Memory Access): existe um espaço de endereçamento comum acessível a todos os processadores através de uma rede de interconexão; NUMA (Non Uniform Memory Access): a memória utilizada é distribuída, implementada em vários módulos que são associados a cada processador. O espaço de endereçamento é único e cada processador pode acessar toda a memória do sistema. A categoria NUMA ainda pode ser subdividida dependendo da coerência de cache ter sido tratado ou não, e se esse tratamento ter sido feito por hardware ou em software: NCC-NUMA (Non-Cache-Coherent Non-Uniform Memory Access): variação de NUMA em que não há coerência de cache garantida em hardware; CC-NUMA (Cache-Coherent Non-Uniform Memory Access): variação de NUMA em que há coerência de cache garantida em hardware. 9

21 SC-NUMA (Software-Coherent Non-Uniform Memory Access): variação da NUMA em que a coerência de cache é implementada em software, de forma transparente para o usuário. Essa camada também é conhecida como DSM (Distributed Shared Memory) COMA (Cache-Only Memory Architeture): variação da NUMA em que todas as memórias locais estão estruturadas como memória cache, e todas as caches formam um espaço de endereçamento global. São utilizados mecanismos em hardware para garantir a coerência de cache Multicomputadores Nesta classe as máquinas são formadas por várias unidades processadoras, cada uma unidade (nó) é constituída por um processador, memória local e dispositivo de entrada/saída (Figura 8). Nesta classe a comunicação entre os diferentes nós do sistema é feita através de dispositivos físicos de entrada/saída ligadas num barramento de interconexão, como uma rede local de velocidade de 100 a 1000 Mbps (ROSE e NAVAUX, 2002). Devido a essas características os multicomputadores são denominados fracamente acoplados. Figura 8. Arquitetura dos multicomputadores Fonte: (GUALEVE, 2004). A vantagem desta classe é que é possível construir máquinas deste tipo com milhares de unidades processadas. As desvantagens são que a programação é mais complicada e o paralelismo 10

22 não é tão intuitivo e que a troca de mensagem para a comunicação pode comprometer o desempenho (PITANGA, 2004c). Conforme Rose e Navaux (2002), conforme a interligação dos processadores com a memória, estas máquinas podem ser classificadas como NORMA (No Remote Memory Access). Nesta classificação, os processadores, conectados em rede de alto desempenho, possuem memórias locais e a troca de dados é realizada através de troca de mensagens CLUSTER DE COMPUTADORES Segundo Buyya (1999), um agregado, ou no inglês cluster, é um sistema de computação paralela composto de um conjunto de elementos (nós) que se comunicam através de uma rede de interconexão e utilizam softwares de sistemas distribuídos para resolver um problema. Cada elemento é composto por um ou mais processadores e de uma ou mais memórias. Estes elementos são visto pelos seus usuários como um sistema de recurso único, também chamado de sistema de imagem única (SSI Single System Image). Goulart (2002), descreve de maneira mais ampla os principais componentes da arquitetura de um cluster de computadores. Os componentes apontados por ele são: Nó ou node; Sistema Operacional; Rede Local; Protocolos; Camada de interface; Ferramentas de comunicação; e Sistemas de arquivos paralelo. A Figura 9 mostra uma arquitetura típica de um cluster. 11

23 Figura 9. Arquitetura típica de um cluster Fonte: (GOULART, 2002). Segundo Pitanga (2004b) os clusters, dependendo da sua área e para qual função é utilizado, podem ser divididos nos seguintes tipos: Alta Disponibilidade (High Availability (HA) and Failover): estes modelos de clusters são construídos para prover uma disponibilidade de serviços e recursos de forma ininterrupta através do uso da redundância implícita ao sistema. A idéia geral é que se um nó do cluster vier a falhar (failover), aplicações ou serviços possam estar disponíveis em outro nó. Estes tipos de cluster são utilizados para base de dados de missões críticas, correio, servidores de arquivos e aplicações. Balanceamento de carga (Load Balancing): este modelo distribui o tráfego entrante ou requisições de recursos provenientes dos nodos que executam os mesmos programas entre as máquinas que compõem o cluster. Todos os nodos estão responsáveis em controlar os pedidos. Se um nó falhar, as requisições são redistribuídas entre os nós disponíveis no momento. Este tipo de solução é normalmente utilizado em fazendas de servidores de web (web farms). Combinação HA & Load Balancing: este modelo combina as características dos dois tipos de cluster, aumentando assim a disponibilidade e escalabilidade de serviços e recursos. Este tipo de configuração de cluster é muito utilizado em servidores de web, ou FTP (File Transfer Protocol). Alto Desempenho (Processamento Distribuído ou Paralelo): este modelo de cluster aumenta a disponibilidade e performance para as aplicações, particularmente as 12

24 grandes tarefas computacionais. Uma grande tarefa computacional pode ser dividida em pequenas tarefas que são distribuídas pelas estações (nós), como se fosse um supercomputador massivamente paralelo. Estes clusters são usados em tarefas que exigem alto poder de processamento, como na computação científica ou em análise financeiras. Conforme a configuração e objetivos os clusters podem ser chamados de diferentes formas entre diferentes grupos de pesquisa. A seguir são apresentados alguns deles: NOW (Network of Workstation): segundo a definição de Rose e Navaux (2002), e de Bueno (2004), essas máquinas são sistemas constituídos por um conjunto de estações de trabalho completos (com teclado, monitor, mouse) interligadas por uma tecnologia tradicional de rede como Ethernet ou ATM (Asynchomous Transmission Mode). Elas cumprem funções de uso diário, com diversos tipos de programas, e de uso para processamento paralelo pesado no final do dia e/ou nos fins de semana. COW (Cluster of Workstation): são considerados uma evolução das máquinas NOW. Como as NOW, também são constituídos por vários PCs interligados, mas com a diferença de terem sido projetadas com o objetivo de executar aplicações paralelas. Dessa forma, as máquinas podem ser otimizadas para este fim, retirando monitor, teclado e o mouse. Mas as principais otimizações são feitas no software. Como essas estações não vão ser usadas localmente, o sistema operacional pode ser enxugado, desabilitando vários serviços e simplificando (ou mesmo eliminando) algumas camadas de rede, já que as necessidades de comunicação das máquinas paralelas é diferentes das redes locais. Estas máquinas resultantes são denominadas de headless workstation ou de Pile-of-PC s (ROSE e NAVAUX, 2002). Beowulf: desenvolvida pela NASA em 1994, é uma tecnologia de cluster que agrupa computadores rodando o sistema operacional GNU/Linux para formar um supercomputador virtual para o processamento paralelo (distribuído). Este tipo de cluster requer o uso de uma biblioteca de troca de mensagens como PVM ou MPI, ou o uso de múltiplos processos como o MOSIX (BUENO, 2004). OpenMosix: foi criado para manter os privilégios do projeto MOSIX em software de código aberto. O MOSIX é uma extensão do núcleo do sistema operacional no caso do OpenMosix, o sistema operacional Linux, que faz com que um cluster de 13

25 computadores se comporte como um grande e único supercomputador através da utilização de migração preemptiva de processos e balanceamento dinâmico de carga. As aplicações que se beneficiam com o MOSIX são processos com longos tempos de execução e baixo volume de comunicação (OPENMOSIX, 2005). Goulart (2002) destaca entre as inúmeras vantagens em se utilizar cluster as seguintes: alta performance; escalabilidade e facilidade de expansão; alta disponibilidade; baixo custo e; independência de fornecedores Arquitetura de Hardware Nó O nó, ou node em inglês, é responsável por todas as atividades e capacidades associadas com a execução de aplicações e suporte a ambientes sofisticados de software (STERLING, 2002). Na arquitetura cluster o nó mestre, ou nó controlador, tem a função de gerenciar todos os outros nós escravos que compõem o cluster. O nó mestre também pode funcionar como uma ponte que liga a rede externa com o cluster. Um cluster pode ser composto de simples PCs, poderosas estações de trabalho SMPs (Symmetric Multi Processor) e até mesmo supercomputadores vetoriais (PITANGA, 2004c). A escolha do hardware e a configuração dos computadores escravos podem ser baseadas algumas vezes no tipo das aplicações que serão executadas no sistema. As características mais importantes a serem consideradas são (PITANGA, 2004c): Tipo de processador; Tamanho e velocidade da memória cache L2; Número de processadores por nó; Capacidade, velocidade e tecnologia da memória RAM (Random Access Memory); Velocidade do barramento PCI (Peripheral Component Interconnect); Capacidade e velocidade dos discos rígidos; Placa de Vídeo; 14

26 Chipset da placa mãe e; Placas de rede. Um cluster pode ser caracterizado como heterogêneo ou homogêneo, e tem implicações importantes no balanceamento de carga das aplicações conforme sua característica. Um cluster homogêneo todos os nós do cluster tem as mesmas características e a mesma rede de comunicação. Ao contrário dos homogêneos, os clusters heterogêneos possuem nós com características diferentes ou diferentes redes de comunicação. (PITANGA, 2004c) Rede A habilidade de comunicação entre os nós do cluster é de extrema importância e pode ser diferenciada de cluster para cluster. O hardware (a placa de rede, o switch e o cabeamento) de uma rede local tem total influência na performance do cluster. A rede de interconexão entre os nós pode levar a uma gama de diferentes topologias de rede topologias já existentes ou muitas delas ainda sendo pesquisadas e desenvolvidas. Segundo Tanenbaum (1995), as topologias mais comuns para cluster são: árvore, hipercubo, barramento cruzado (crossbar) e malha (mesh). Cada uma destas topologias possui vantagens e desvantagens em termos de performance de comunicação ou de custo de implementação. A primeira questão a ser levantada quando o cluster é exposto a Internet é em relação à segurança, fator que não é primordial à sua implementação para um cluster isolado da Internet. Alguns mecanismos podem aumentar a segurança desses clusters, como na utilização do SSH (Secure Shell) ao invés do RSH (Remote Shell) e a utilização de firewalls para controlar os pacotes que trafegam no cluster (PITANGA, 2004c). Em contra partida, estes mecanismos podem diminuir consideravelmente o desempenho do cluster. Uma outra solução para a questão de segurança é isolar o cluster da Internet e disponibilizar somente um nó do cluster, o qual será uma ponte para o cluster e a partir dele disparar a aplicações no cluster. Com esta solução é possível aplicar políticas de segurança, como firewalls, em cima deste nó, facilitando a administração de segurança e não comprometendo o tráfego dentro do cluster. 15

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução Cluster Resumo Introdução Cluster Cluster Beowulf Curiosidades Conclução Introdução Sua empresa esta precisando fazer um grande processamento; As Nuvens existentes não são suficientes para sua empresa;

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 4 - CLUSTER DE COMPUTADORES 1. INTRODUÇÃO Grande parte do tempo, os computadores que utilizamos encontram-se ociosos, ou seja, sem nada para processar. Isso se deve, em grande parte, pelas aplicações

Leia mais

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN

Sistemas Paralelos e Distribuídos. Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Sistemas Paralelos e Distribuídos Prof. Jorge Dantas de Melo Depto. Eng. Comp. e Automação CT - UFRN Conceitos preliminares Paralelismo refere-se a ocorrência simultânea de eventos em um computador Processamento

Leia mais

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro Introdução Sistemas Operacionais 1 Sistema Operacional: Um conjunto de programas, executado pelo computador como os outros programas. Função: Controlar o funcionamento do computador, disponibilizando seus

Leia mais

Sistemas Distribuídos Conceitos HW e SW. Edeyson Andrade Gomes www.edeyson.com.br

Sistemas Distribuídos Conceitos HW e SW. Edeyson Andrade Gomes www.edeyson.com.br Sistemas Distribuídos Conceitos HW e SW Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Roteiro da Aula Conceitos de Hardware Conceitos de Software Combinações de SW e HW 3 Sistemas Distribuídos

Leia mais

slide 0 Algoritmos Paralelos

slide 0 Algoritmos Paralelos slide 0 Algoritmos Paralelos Slide 2 Demanda por Velocidade Computational Demanda contínua por maior rapidez computational das máquinas que as atualmente disponíveis. As áreas que exigem maior rapidez

Leia mais

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES ALGORÍTMOS PARALELOS (Aula 2) Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Programa do Curso LCAD 1. Introdução 2. Arquitetura de Computadores 3. Arquiteturas

Leia mais

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos Capítulo 8 Sistemas com Múltiplos Processadores 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1 Sistemas Multiprocessadores Necessidade contínua de computadores mais rápidos modelo

Leia mais

Comparação SDs X Scs

Comparação SDs X Scs Prof. Alexandre Lima Sistemas Distribuídos Cap 9 1/7 Comparação SDs X Scs Distribuição inerente Economia Velocidade Confiabilidade Crescimento incremental Descrição Algumas aplicações envolvem máquinas

Leia mais

Cluster HPC High Performance Computing.

Cluster HPC High Performance Computing. Faculdade de Tecnologia de Guaratinguetá. doze, março de 2009. Cluster HPC High Performance Computing. Diogo Salles, Thiago Pirro, Camilo Bernardes, Paulo Roberto, Ricardo Godoi, Douglas, Fauzer. Sistemas

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SISTEMAS COM MÚLTIPLOS PROCESSADORES LIVRO TEXTO: CAPÍTULO 13, PÁGINA 243 Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Arquiteturas que possuem duas ou mais CPUs interligadas

Leia mais

hvbacellar@gmail.com Palavras-chave Cluster; Beowulf; OpenMosix; MPI; PVM.

hvbacellar@gmail.com Palavras-chave Cluster; Beowulf; OpenMosix; MPI; PVM. Cluster: Computação de Alto Desempenho Hilário Viana Bacellar Instituto de Computação, Universidade Estadual de Campinas Av. Albert Einstein 1251, Cidade Universitária, CEP 13083-970 Campinas, SP, Brasil

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Referências Caracterização de Sistemas Distribuídos Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Capítulo 9 Seções 9.1 a 9.3 Distributed Systems: concept

Leia mais

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede

} Monolíticas Aplicações em um computador centralizado. } Em Rede Aplicações com comunicação em rede. } Distribuídas Comunicação e cooperação em rede Prof. Samuel Souza } Monolíticas Aplicações em um computador centralizado } Em Rede Aplicações com comunicação em rede } Distribuídas Comunicação e cooperação em rede } Aplicações que são funcionalmente

Leia mais

Computação em cluster

Computação em cluster Computação em cluster Por Marcos Pitanga em 30 de maio de 2003 Introdução Este artigo tem por finalidade dar ao leitor uma visão mais integrada do que vem a ser a computação em cluster e como esta a cada

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

4 Computação Paralela 4.1. Introdução

4 Computação Paralela 4.1. Introdução 4 Computação Paralela 4.1. Introdução Nos últimos anos observa-se uma tendência cada vez maior do aumento da demanda computacional na resolução de grandes problemas. Exemplos de aplicações que exigem alto

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2) Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 4 Tipos de SO Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Os Sistemas Operacionais podem ser assim classificados: SO - Prof. Edilberto Silva

Leia mais

Introdução às arquiteturas paralelas e taxonomia de Flynn

Introdução às arquiteturas paralelas e taxonomia de Flynn Introdução às arquiteturas paralelas e taxonomia de Flynn OBJETIVO: definir computação paralela; o modelo de computação paralela desempenhada por computadores paralelos; e exemplos de uso da arquitetura

Leia mais

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França Arquitetura NUMA 1 Daniel de Angelis Cordeiro INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França 6 de Outubro de 2010 1 Baseado em slides feitos por Christiane Pousa

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro Sistemas MIMD Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas Paralelas (SISD) Single Instruction Stream, Single Data Stream: Monoprocessador

Leia mais

Desenvolvimento de um Cluster de Alto Desempenho com PVM

Desenvolvimento de um Cluster de Alto Desempenho com PVM Desenvolvimento de um Cluster de Alto Desempenho com PVM Daniel Cândido de Oliveira 1, Yzaac Gonçalves da Silva 1, Madianita Bogo 1 1 Centro Universitário Luterano de Palmas Universidade Luterana do Brasil

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Introdução Aplicações em rede de computadores As redes de computadores atualmente estão em todos os lugares. Ex.: Internet, redes de telefones móveis, redes corporativas, em fábricas,

Leia mais

Sistemas Distribuídos Aula 1 Introdução

Sistemas Distribuídos Aula 1 Introdução Sistemas Distribuídos Aula 1 Introdução 35T34 3B2 Programa Introdução. Conceitos de sistemas distribuídos. Comunicação em sistemas distribuídos. Sincronização em sistemas distribuídos. Processos e processadores

Leia mais

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters

Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Instituto Superior de Engenharia do Porto Administração de Sistemas Informáticos I Clusters Trabalho elaborado por: 980368 - Sérgio Gonçalves Lima 1010949 - Nisha Sudhirkumar Chaganlal Clusters O que é

Leia mais

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat: 0413829 5

Projetos I Resumo de TCC. Luiz Rogério Batista De Pieri Mat: 0413829 5 Projetos I Resumo de TCC Luiz Rogério Batista De Pieri Mat: 0413829 5 MAD RSSF: Uma Infra estrutura de Monitoração Integrando Redes de Sensores Ad Hoc e uma Configuração de Cluster Computacional (Denise

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

Sistema de Arquivos Distribuídos

Sistema de Arquivos Distribuídos Sistema de Arquivos Distribuídos Sistema de Arquivos Distribuídos A interface cliente para um sistema de arquivos é composta por um conjunto de primitivas e operações em arquivos (criar, apagar, ler, escrever)

Leia mais

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos Sistemas Distribuídos Sistemas de Arquivos Distribuídos Roteiro Sistema de arquivos distribuídos Requisitos Arquivos e diretórios Compartilhamento Cache Replicação Estudo de caso: NFS e AFS Sistemas Distribuídos

Leia mais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais Introdução Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS 1. Histórico Primeiros computadores Computadores dos anos 50 e 60 Primeiros computadores com sistemas operacionais Surgimento das redes de computadores Nos anos 70 início das pesquisas

Leia mais

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo 1 Professores: Aula 10 Lúcia M. A. Drummond Simone de Lima Martins Conteúdo: Arquiteturas Avançadas - Arquiteturas RISC - Processamento Paralelo 2 Arquiteturas RISC Reduced Instruction Set Computer se

Leia mais

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 4 - INTRODUÇÃO A SUPERCOMPUTAÇÃO 1. INTRODUÇÃO Atualmente cientistas brasileiros usam supercomputadores para pesquisar desde petróleo até mudanças climáticas. Um grande exemplo é o supercomputador

Leia mais

SO Sistemas Operacionais

SO Sistemas Operacionais GOVERNO DO ESTADO DO RIO DE JANEIRO FUNDAÇÃO DE APOIO A ESCOLA TÉCNICA ESCOLA TÉCNICA ESTADUAL REPÚBLICA SO Sistemas Operacionais Curso de Informática ETE REPÚBLICA - Rua Clarimundo de Melo, 847, Quintino

Leia mais

Memória compartilhada (shared memory): - o espaço de endereçamento é único; - comunicação através de load e store nos endereços de memória.

Memória compartilhada (shared memory): - o espaço de endereçamento é único; - comunicação através de load e store nos endereços de memória. 4. Arquiteturas ID áquinas ID (ultiple Instruction ultiple Data) são arquiteturas caracterizadas pela execução simultânea de múltiplos fluxos de instruções. Essa capacidade deve-se ao fato de que são construídas

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

Computação de Alta Perfomance com Software Livre (Clusters)

Computação de Alta Perfomance com Software Livre (Clusters) Computação de Alta Perfomance com Software Livre (Clusters) 3º Seminário de Tecnologia da Informação UCSal Marcelo Soares Souza (marcelo@cebacad.net) CEBACAD Centro Baiano de Computação de alto Desempenho

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Organização de Computadores 2005/2006 Processamento Paralelo

Organização de Computadores 2005/2006 Processamento Paralelo Organização de Computadores 2005/2006 Processamento Paralelo Paulo Ferreira paf a dei.isep.ipp.pt Maio de 2006 Introdução 2 Porquê?...........................................................................................

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos Aula 23 Distribuídos SOs de Rede Em sistemas operacionais de rede você sabe quando é local e quando é remoto. Assim, o trabalho não muda, com exceção de comandos para acesso remoto: - telnet - ftp - etc.

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário

Leia mais

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores Camadas de Serviço de Hardware e Software em Sistemas Distribuídos Arquiteutra de Sistemas Distribuídos Introdução Applications, services Adaptação do conjunto de slides do livro Distributed Systems, Tanembaum,

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 6 - ARQUITETURAS AVANÇADAS DE COMPUTADORES 1. INTRODUÇÃO As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com ela o conceito de arquitetura avançada tem se modificado. Nos

Leia mais

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s: Tecnologia em Redes de Computadores Redes de Computadores Professor: André Sobral e-mail: alsobral@gmail.com Conceitos Básicos Modelos de Redes: O O conceito de camada é utilizado para descrever como ocorre

Leia mais

Tecnologia e Infraestrutura. Conceitos de Redes

Tecnologia e Infraestrutura. Conceitos de Redes Tecnologia e Infraestrutura Conceitos de Redes Agenda Introdução às Tecnologias de Redes: a) Conceitos de redes (LAN, MAN e WAN); b) Dispositivos (Hub, Switch e Roteador). Conceitos e tipos de Mídias de

Leia mais

Considerações no Projeto de Sistemas Cliente/Servidor

Considerações no Projeto de Sistemas Cliente/Servidor Cliente/Servidor Desenvolvimento de Sistemas Graça Bressan Graça Bressan/LARC 2000 1 Desenvolvimento de Sistemas Cliente/Servidor As metodologias clássicas, tradicional ou orientada a objeto, são aplicáveis

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES Eriko Carlo Maia Porto UNESA Universidade Estácio de Sá eriko_porto@uol.com.br Última revisão Julho/2003 REDES DE COMPUTADORES INTRODUÇÃO EVOLUÇÃO DOS SISTEMAS DE COMPUTAÇÃO Década de 50 introdução dos

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Nesse capítulo, apresentamos os trabalhos relacionados ao GridFS, entrando em mais detalhes sobre os sistemas citados durante a introdução e realizando algumas considerações sobre

Leia mais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas

Leia mais

05/08/2013. Sistemas Distribuídos Cluster. Sistemas Distribuídos Cluster. Agenda. Introdução

05/08/2013. Sistemas Distribuídos Cluster. Sistemas Distribuídos Cluster. Agenda. Introdução Sistemas Distribuídos Cluster Originais gentilmente disponibilizados pelos autores em http://www.cdk4.net/wo/ Adaptados por Társio Ribeiro Cavalcante Agenda 1. Introdução 2. O que é um cluster 3. Alta

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Disciplina - Sistemas Distribuídos Prof. Andrey Halysson Lima Barbosa Aula 8 Sistema de Arquivos Distribuído Sumário Problemas Solução

Leia mais

1 Redes de comunicação de dados

1 Redes de comunicação de dados 1 Redes de comunicação de dados Nos anos 70 e 80 ocorreu uma fusão dos campos de ciência da computação e comunicação de dados. Isto produziu vários fatos relevantes: Não há diferenças fundamentais entre

Leia mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Informática I Aula 22 http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Critério de Correção do Trabalho 1 Organização: 2,0 O trabalho está bem organizado e tem uma coerência lógica. Termos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

Capítulo 8 - Aplicações em Redes

Capítulo 8 - Aplicações em Redes Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos

Leia mais

Figura 01 Kernel de um Sistema Operacional

Figura 01 Kernel de um Sistema Operacional 01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações

Leia mais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Sistema Operacional (S.O.) Aplicativos Formado por um conjunto de rotinas que oferecem serviços aos usuários, às aplicações

Leia mais

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema Sistemas Operacionais I Parte III Estrutura dos SOs Prof. Gregorio Perez gregorio@uninove.br 2007 Roteiro Serviços Estrutura dos Sistemas Operacionais Funções do Sistema Operacional Chamadas do Sistema

Leia mais

Introdução às Redes de Computadores. Por José Luís Carneiro

Introdução às Redes de Computadores. Por José Luís Carneiro Introdução às Redes de Computadores Por José Luís Carneiro Portes de computadores Grande Porte Super Computadores e Mainframes Médio Porte Super Minicomputadores e Minicomputadores Pequeno Porte Super

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 SISTEMA DE INTERCONEXÃO (BARRAMENTOS) Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Componentes estruturais: Memória Principal Unidade de Processamento Central

Leia mais

Sistemas Operacionais Distribuídos e Multiprocessados

Sistemas Operacionais Distribuídos e Multiprocessados Tópicos em Sistemas Operacionais Sistemas Operacionais Distribuídos e Multiprocessados Por André Macedo, Marcelo Moraes, Thaís Fernandes Sumário Teoria: Sistemas Multiprocessados Estudo de caso:k42 Teoria:

Leia mais

Sistemas Operacionais 2014 Sistemas Distribuídos. Alexandre Augusto Giron

Sistemas Operacionais 2014 Sistemas Distribuídos. Alexandre Augusto Giron Sistemas Operacionais 2014 Sistemas Distribuídos Alexandre Augusto Giron ROTEIRO Conceitos Hardware/Software para Sistemas Distribuídos Estrutura de Rede Objetos Distribuídos Sistemas de Arquivos Distribuídos

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 05 Rogério Eduardo Garcia (rogerio@fct.unesp.br)

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas Sistema Operacional (SO) é um programa colocado entre o hardware do

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Sistemas Operacionais. Alexandre Meslin meslin@inf.puc-rio.br

Sistemas Operacionais. Alexandre Meslin meslin@inf.puc-rio.br Sistemas Operacionais Alexandre Meslin meslin@inf.puc-rio.br Ementa Apresentação do curso Cap1 - Visão Geral Cap2 - Conceitos de Hardware e Software Cap3 - Concorrência Cap4 - Estrutura do Sistema Operacional

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS 1. Introdução a supercomputação 2. Visão geral de Mainframe 3. Cluster de computadores 4. Cluster Beowulf considerações de projeto 5. Cluster x Grid 6.

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Classificação de Sistemas Distribuídos e Middleware

Sistemas Distribuídos: Conceitos e Projeto Classificação de Sistemas Distribuídos e Middleware Sistemas Distribuídos: Conceitos e Projeto Classificação de Sistemas Distribuídos e Middleware Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA

Leia mais

ENGENHARIAS E TECNOLOGIAS - Computação e Informática ESTUDO DE APLICABILIDADE DE SISTEMAS FRACAMENTE ACOPLADOS UTILIZANDO HARDWARE DE BAIXO CUSTO

ENGENHARIAS E TECNOLOGIAS - Computação e Informática ESTUDO DE APLICABILIDADE DE SISTEMAS FRACAMENTE ACOPLADOS UTILIZANDO HARDWARE DE BAIXO CUSTO ENGENHARIAS E TECNOLOGIAS - Computação e Informática ESTUDO DE APLICABILIDADE DE SISTEMAS FRACAMENTE ACOPLADOS UTILIZANDO HARDWARE DE BAIXO CUSTO Autor: HILÁRIO VIANA BACELLAR Co-autor: Matheus de Paula

Leia mais

Google File System. Danilo Silva Marshall Érika R. C. de Almeida

Google File System. Danilo Silva Marshall Érika R. C. de Almeida Google File System Danilo Silva Marshall Érika R. C. de Almeida Tópicos abordados Sistemas de arquivos Sistemas de arquivos distribuídos Google File System Gmail File System Linux Windows Gspace Referências

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

Meio Físico. Mensagem. Protocolo. Emissor e Receptor. Data Terminal Equipment Data Communications Equipment

Meio Físico. Mensagem. Protocolo. Emissor e Receptor. Data Terminal Equipment Data Communications Equipment Emissor Receptor Meio Físico Mensagem Protocolo Emissor e Receptor Data Terminal Equipment Data Communications Equipment (DTE) + (DCE) Meio Físico Mensagem ( pacote ) O meio físico É o elemento que transmite

Leia mais

Nível do Sistema Operacional

Nível do Sistema Operacional Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/1 Introdução Hardware Provê os recursos básicos

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Introdução Edeyson Andrade Gomes www.edeyson.com.br Agenda Definição de Sistemas Distribuídos Evolução Histórica Exemplos Comparação com Sistemas Centralizados Conclusão 2 Definição

Leia mais

Prof. Manuel A Rendón M

Prof. Manuel A Rendón M Prof. Manuel A Rendón M Kurose Redes de Computadores e a Internet Uma Abordagem Top-Down 5ª. Edição Pearson Cap.: 1 até 1.2.2 2.1.2 2.1.4 Como funciona uma rede? Existem princípios de orientação e estrutura?

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com O que veremos hoje... Evolução Histórica Motivação Conceitos Características

Leia mais

Organização e Arquitetura de Computadores I. de Computadores

Organização e Arquitetura de Computadores I. de Computadores Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de I Organização Básica B de (Parte V, Complementar)

Leia mais