Influência da comunicação no rendimento de uma máquina paralela virtual baseada em Redes ATM

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

Download "Influência da comunicação no rendimento de uma máquina paralela virtual baseada em Redes ATM"

Transcrição

1 Influência da comunicação no rendimento de uma máquina paralela virtual baseada em Redes ATM Marcelo Souza *, Josemar Souza *, Milena Micheli ** ( soares.souza@ig.com.br, josemar@ucsal.br, mmicheli@ufba.br) * Universidade Católica do Salvador Curso de Informática Salvador, Bahia, Brasil * * Projeto REMAV SALVADOR (REMA) Salvador, Bahia Brasil Resumo: Este artigo apresenta a avaliação do desempenho de uma máquina paralela virtual de baixo custo utilizando uma rede de comunicação de alta velocidade padrão ATM. O trabalho objetiva a criação e avaliação de uma máquina paralela virtual entre instituições ligadas ao projeto REMAV - SALVADOR. Foram utilizados a estrutura de Rede do projeto REMAV SALVADOR, criando-se clusters de máquinas em diferente localidades a fim de avaliar o desempenho (performance) dessa máquina rodando em rede padrão ATM em comparação a uma máquina rodando em rede padrão Ethernet. Palavras chave: ATM, REMA, Ethernet, PVM, NOW, SPMD, Redes de Computadores, Sistemas Homogêneos, Computação Paralela, Linux. 1 - Introdução a Computação Paralela Virtual Computação Paralela refere-se ao conceito de aumento de velocidade na execução de um programa através da divisão deste em pequenos fragmentos que são distribuídos e processados paralelamente, cada fragmento em um processador. Com isto obtemos um ganho de performance na execução de uma tarefa. A premissa é a de que se executando uma tarefa dividida entre vários processadores conseguiremos executa-la muito mais rápido. [DIETZ98]

2 Esses sistemas são compostos por vários processadores que operam concorrentemente, cooperando na execução de uma determinada tarefa. Nas chamadas arquiteturas paralelas o objetivo principal é o aumento da capacidade de processamento, utilizando o potencial oferecido por um grande número de processadores [STE99]. As máquinas paralelas de baixo custo, conhecidas como NOW 1, utilizam as redes de computadores comerciais, locais e/ou remotas para paralelizar suas transações. Utiliza um software que permite que um conjunto heterogêneo ou homogêneo de computadores (série, paralelos ou vetoriais) seja visto como uma única máquina. Dentre outros softwares poderemos utilizar o PVM 2 [ALG94], que é um software que permite que um conjunto heterogêneo ou homogêneo de computadores seja visto como uma única máquina, sendo a portabilidade uma de suas características principais as bibliotecas de rotinas de comunicação entre processos são standard de fato [DON-LUQ99]. A independência de plataforma que o PVM disponibiliza é indubitavelmente interessante; um software pode ser executado em ambientes diferentes, este fato gera segurança para desenvolvedores de software criarem aplicações paralelas, tendo em vista a portabilidade possível. 1.1 Necessidade de Computadores Paralelos O alto custo de máquinas paralelas de qualidade voltada somente para este fim impede que muitas instituições que necessitem de grande poder de processamento adquiram uma. Com a chegada do limiar do aumento de capacidade de processamento das máquinas seqüenciais, o processamento paralelo se torna uma solução a ser considerada e estudada. Com a redução de custo e aumento de performance das Workstation, surgimento de Sistemas Operacionais robustos, gratuitos e de fácil obtenção (Linux, FreeBSD, etc...), a queda de preços em tecnologia de redes, obtém-se o cenário perfeito para a criação de máquinas paralelas virtuais. É importante salientar que cada Workstation não perde sua funcionalidade original ao ser utilizada dentro de um cluster de máquinas paralelas virtuais, podendo ser incluída e retirada a qualquer momento. 1 Network of Workstation 2 Parallel Virtual Machine 2

3 1.2. Objetivo do trabalho Um dos principais fatores, senão o principal, de desempenho de um algoritmo baseado em troca de mensagens é a quantidade de mensagens geradas durante a sua execução, além do número de mensagens, o custo de comunicação é muito importante. [SOU2000] Muitas pesquisas e trabalhos foram feitos utilizando redes de baixo custo, principalmente fazendo uso de redes padrão Ethernet, largamente aceita e de baixo custo na obtenção e manutenção. Trabalhos que envolvam tecnologias mais complexas e caras como ATM são quase escassos, devido ao alto custo de aquisição deste equipamentos e da falta de drivers e utilitários para a utilização de tal rede em sua forma nativa o que possibilitaria um ganho de performance nas passagem de mensagens em aplicações paralelas. O sistema operacional mais utilizado para a criação de máquinas paralelas virtuais é o Linux, onde todos os drivers e ferramentas para redes ATM ainda estão em desenvolvimento precisando ainda serem analisados e testados. 1.3 Descrição do problema O paradigma de programação utilizado foi o SPMD 3 implementado com o esquema Mestre Trabalhador (MT) ou Master Work (MW). No esquema Mestre Trabalhador, um processo será o mestre, e os restantes trabalhadores. O processo mestre centraliza o controle, inicia os trabalhadores, distribui o trabalho, sincroniza a comunicação e executa operações de I/O. Para analisar comparativamente o rendimento em um ambiente de computação paralela que se utiliza de comunicação pôr passagem de mensagem, principalmente nos aspectos relacionados a cômputo e comunicação podemos utilizar: aplicações reais; programas sintéticos ou; benchmark. Em nosso caso, para poder analisar os diferentes aspectos de um sistema heterogêneo em relação ao desempenho nos interessa escolher como benchmark uma aplicação escalável tanto em cômputo quanto em comunicação. 3 Single Program Multiple Data 3

4 Para que um programa possa ser executado por um computador paralelo com memória distribuída e passagem de mensagem uma das opções é distribuir a mesma cópia do seu código entre os processadores, e os distintos conjuntos de dados a processar serão distribuídos entre as diversas máquinas. [SOU-REX00] Como algoritmo bem conhecido que apresenta estas características de escalabilidade escolhemos os algoritmos de multiplicação de matrizes, que tem princípio básico de funcionamento iguais, porém, com algumas modificações na estrutura de envio e recebimento de dados para os nós da máquina paralela. O fator principal enquanto cômputo e comunicação do ponto de vista de escalabilidade, e distribuição de carga, é o tamanho dos blocos enviados para cada processo trabalhador, seguido da aplicação de comandos e funções específicos da biblioteca PVM. O algoritmo nos permite a fazer diferentes distribuições de trabalhos em cômputo, comunicação e sobreposição de cômputo e comunicação. Também poderemos fazer distribuição de carga simétrica ou distribuição de carga balanceada tendo em conta o grau de heterogeneidade ou a potência específica de cada máquina. O grau de heterogeneidade, que é a relação entre os índices de desempenho das distintas máquinas que constituem o cluster heterogêneo, necessário para fazer a distribuição de carga em sistemas heterogêneos, pode ser conseguido: executando programa cálculo de matrizes em cada máquina de maneira serial, tomando o tempo de execução de cada uma delas e dividindo o tempo de execução da máquina mais rápida pelo tempo de execução das máquinas mais lentas ou; executando um algoritmo que distribua carga dinamicamente, de maneira proporcional ao desempenho de cada computador (modelo MW dinâmico) extraindo daí o trabalho resultante que foi atribuído a cada processador, a medida de capacidade de cada máquina. 2 Necessidade de uma Rede de Alta Velocidade A rede numa máquina paralela virtual serve como barramento para a comunicação entre as máquinas pertencentes ao cluster, a depender da aplicação que está sendo rodada e de como ela foi desenvolvida tem-se a necessidade de uma grande largura banda e de grande disponibilidade da rede. 4

5 Ligando-se algumas dezenas de máquinas num cluster, a quantidade de mensagens passadas entre elas podem ser um empecilho no aumento de processos, não pode-se perder tempo na transmissão de mensagens entres as máquinas do cluster, o processador ficaria ocioso neste tempo, perdendo assim parte da força da máquina paralela. Foi utilizada para testes a rede de alta velocidade do Projeto REMA, padrão ATM [ATMFORUM] uma tecnologia baseada na segmentação e transmissão (comutação) da informação em pequenos pacotes de tamanho fixo chamados de célula, tendo uma comutação rápida de pacotes. A Rede ATM do Projeto REMA possibilita não só uma alta largura de banda mais parâmetros de QoS (Qualidade de Serviço), que podem melhorar a transmissão de pacotes dentro do cluster. Uma das grandes vantagens da Rede ATM é a de poder interligar pontos distantes a grande velocidade. O projeto em sua fase final, pretende a criação de uma máquina paralela entre instituições parceiras. Testes foram e estão sendo feitos utilizando máquinas de duas instituições (Universidade Católica do Salvador UCSal e Universidade Federal da Bahia UFBa) parceiras, que estão interligadas através de Rede de Fibra Ótica a 155 Mbps do Projeto REMAV-SALVADOR (Fig. 1) Fig. 1 Rede do projeto REMAV-SALVADOR 5

6 3. Experimentos realizados Foram realizados testes com programas de multiplicação de matrizes devido o seu alto poder de escalabidade. Foi criado um cluster de duas máquinas homogêneas e executado em cada uma destas um programa de multiplicação de matrizes seqüencial afim de avaliar a capacidade de cada máquina incluída no cluster, este teste foram feitos em cada máquina pertencente ao cluster. Em seguida foram executados dois programas de multiplicação de matrizes modificados a partir do seqüencial, para fazer uso dos conceitos de paralelismo utilizando-se do paradigma SPMD adotado. Primeiramente foi utilizado uma rede Padrão Ethernet de 10Mbps. Logo depois foi utilizado uma Rede Padrão ATM (com placas de 25Mbps em cada máquina). Neste teste utilizou-se uma máquina localizada na Universidade Católica do Salvador (UCSal) e outra na Universidade Federal da Bahia (UFBa), parceiras no projeto REMA ligadas através de Fibra Ótica a uma velocidade de 155Mbps. As matrizes utilizadas para multiplicação tiveram dimensão 400 linhas x 400 colunas e 800 linhas x 800 colunas. Os programas utilizados para os testes são descritos a seguir. 3.1 Programa Serial O programa serial.c será utilizado para caracterizar a potência das máquinas. Esse programa será executado em todas as máquinas que comporão a máquina paralela virtual. serial.c, é o algoritmo que calcula serialmente a multiplicação de matrizes. Este algoritmo Inicializa três matrizes. As matrizes A e B são usadas para o cálculo da multiplicação, e a matriz C recebe o resultado. O algoritmo serial.c, executa os seguintes passos: As máquinas utilizadas só tem capacidade de executar o algoritmo com alocação dinâmica de memória, matrizes de até 800 x 800. Algoritmo Serial - serial.c Passo 1. O programa Inicializa as matrizes Passo 2. Captura o tempo inicial 6

7 Passo 3. Realiza a multiplicação Passo 4. Captura o tempo final Passo 5. Diminui o tempo final do tempo inicial Passo 6. Mostra o tempo de processamento em milisegundos 3.2. Programa Paralelo Mestre (Empacotamento Bloco a Bloco) Assíncrono (Mestre e Trabalhador) Utiliza o empacotamento de dados bloco a bloco assíncrono - divide a matriz a ser calculada pelo número de trabalhadores igualmente e envia as linhas a serem calculadas. blbalm.c e blbale.c, são os algoritmos que calculam paralelamente de maneira assíncrona a multiplicação de matrizes. Algoritmo Mestre - blbalm.c Passo 1. Mapa máquinas que serão utilizadas Passo 2. Identifica task no PVM Passo 3. Obtém informações sobre a Máquina Virtual Passo 4. Imprime na tela o numero de trabalhadores na Máquina Virtual Passo 5. Retorna e informa o numero de tasks criadas com sucesso Passo 6. Inicializa,matrizes Passo 7. Inicializa o buffer de envio Passo 8. Empacotam dados no buffer de envio Passo 9. Inicia posição. na matriz Passo 10. Envia o conteúdo do buffer de envio para a task escravo Passo 11. Imprime mensagens diversas informando situação de envio Passo 12. Espera pôr resultados das tasks trabalhador Passo 13. Informa o tipo de mensagem Passo 14. Recebe mensagem do trabalhador Passo 15. Desempacota linhas Passo 16. Imprime resultados em milisegundos e segundos Passo 17. Grava o resultado do tempo decorrido em arquivo 7

8 Algoritmo Trabalhador - blbale.c Passo 1. Informa task id do escravo Passo 2. Recebe mensagem do mestre Passo 3. Informa tipo de mensagem, pega task id do processo mestre Passo 4. Espera p/ receber mensagem do mestre Passo 5. Inicia posição nas matrizes Passo 6. Recebe linhas Passo 7. Realiza multiplicação da matriz Passo 8. Empacota dados do resultado para o mestre. Passo 9. Informa tipo de mensagem Passo 10. Inicializa buffer de envio Passo 11. Envia 3.3 Programa Paralelo Mestre (Empacotamento Linha a Linha) - Semi-Síncrono (Mestre e Trabalhador) linhamwm.c e linhamwe.c Utiliza empacotamento de dados linha a linha semi-sincrono - envia uma linha da matriz a ser calculada para cada um dos trabalhadores que compõe a máquina virtual e recebe os resultados à medida que elas calculem, tornando a lhes enviar novas linhas. linhamwm.c e linhamwe.c, são os algoritmos que calculam paralelamente de maneira Semi-sincrona a multiplicação de matrizes. Algoritmo Mestre - linhamwm.c Passo 1. Define linhas a serem enviadas Passo 2. Faz mapeamento para máquinas estáticas (homogênea) Passo 3. Identifica task no PVM Passo 4. Obtêm informações sobre a Máquina Virtual Passo 5. Informa a quantidade de trabalhadores que conterá a máquina virtual 8

9 Passo 6. Imprime na tela o numero de trabalhadores na Máquina Virtual Passo 7. Informa o numero de tasks criadas com sucesso Passo 8. Inicialização das matrizes Passo 9. Envia o conteúdo do buffer de envio para a task escravo Passo 10. Espera pôr resultados das tasks trabalhadoras Passo 11. Informa o tipo de mensagem Passo 12. Identifica o buffer do trabalhador Passo 13. Recebe dados Passo 14. Inicia posição. na matriz Passo 15. Recebe linhas Passo 16. Desempacota dados Passo 17. Envia o conteúdo do buffer de envio para a task escravo Passo 18. Envia FIM TRABALHO ao processo Passo 20. Imprime resultados em milisegundos e segundos Passo 21. Grava o tempo decorrido em arquivo Algoritmo Trabalhador - linhamwe.c Passo 1. Informa task id do escravo Passo 2. Recebe mensagem do mestre Passo 3. Pega task id do processo mestre Passo 4. Informa tipo de mensagem Passo 5. Espera p/ receber mensagem do mestre Passo 6. Realiza multiplicação da matriz Passo 7. Informa tipo de mensagem Passo 8. Recebe dados Passo 9. Espera p/ receber mensagem do mestre Passo 10. Empacota dados do resultado para o mestre Passo 11. Informa tipo de mensagem Passo 12. Envia dados Passo 13. Inicializa buffer de envio Passo 14. Envia 9

10 3.4. Implementação Para a implementação da máquina paralela virtual, utilizou-se como sistema operacional o Linux (Kernel 2.2.9), utilitários para rede ATM (ATM on Linux v0.59), bibliotecas PVM (PVM v3.4.3) e para implementação dos algoritmos paralelos a linguagem de programação C, utilizando o compilador GCC 4 incluso no Linux e protocolos Tcp/Ip (Tab.1) (Fig.2 ). Na utilização da Rede ATM optou-se pelo uso de LANE (Lan Emulation) que simula uma rede Ethernet em cima da rede ATM. Ás máquinas utilizadas para os testes foram. - Trabalhadores (PVM) Host: icaro (UFBa) IP: Net Mask: CPU: Intel Pentium 166 Mhz Memória: 16 Mb HD: IDE 2.1 GB Ethernet: 10 Mbps ATM: 25Mbps Host: pandora (UFBa) IP: Net Mask: CPU): Pentium 166 Mhz Memória: 16 Mb HD: IDE GB Ethernet: 10 Mbps ATM: 25 Mbps Host: perseu (UCSal) IP: Net Mask: CPU: Intel Pentium 166 Mhz Memória: 16 Mb HD: IDE 2.1 GB Ethernet: 10Mbps ATM: 25 Mbps - Mestre (Não envolvido no trabalho, apenas administrar o cluster) Host: gandalf (UFBa) IP: Net Mask: CPU: Intel Celeron 466 Mhz Memória: 64 Mb HD: IDE 5.1 GB Ethernet: 10 Mbps ATM: 25Mbps Tab.1 Especificação das máquinas 4 GCC Gnu C Compiler 10

11 Fig.2 Ambiente de teste 4. Resultados obtidos Os seguintes resultados foram obtidos: Tab.2 - Programa serial.c, Multiplicação de Matrizes seqüencial. Executado em cada máquina do cluster. Matriz (tamanho) Algoritmo Máquina Serial Pandora Serial Icaro Serial Perseu Serial Gandalf Tempo de execução (Mseg) 11

12 Algoritmo Serial Mseg Matriz 200 X 200 Matriz 400 X Pandora Icaro Perseu Máquina O cluster da máquina paralela virtuais nos testes foram formado por dois trabalhadores. Tab. 3 - Programa blbal sobre ATM. Paralelo Bloco a Bloco. Executado no mestre(gandalf) que distribui a tarefa para os trabalhadores, ao termino do processo os trabalhadores retornam a resposta. Cluster formado pelas máquinas perseu e icaro. Matriz (tamanho) Algoritmo Máquina Paralelo Bloco a Bloco PVM Tempo de execução (Mseg) Tab. 4 - Programa blbal sobre Ethernet. Paralelo Bloco a Bloco. Executado no mestre(gandalf) que distribui a tarefa para os trabalhadores, ao termino do processo os trabalhadores retornam a resposta. Cluster formado pelas máquinas pandora e icaro. Matriz (tamanho) Algoritmo Máquina Paralelo Bloco a Bloco PVM Tempo de execução (Mseg) 12

13 Algoritmo Bloco Balanceado Mseg Tam. Matriz blbal sobre ATM blbal sobre Ethernet Tab. 5 - Programa linhamw sobre ATM, Paralelo Linha a Linha. Executado no mestre(gandalf) que distribui a tarefa para os trabalhadores, ao termino do processo os trabalhadores retornam a resposta. Cluster formado pelas máquinas perseu e icaro. Matriz (tamanho) Algoritmo Máquina Paralelo Linha a Linha PVM Tempo de execução (Mseg) Tab. 6 - Programa linhamw sobre Ethernet, Paralelo Linha a Linha. Executado no mestre(gandalf) que distribui a tarefa para os trabalhadores, ao termino do processo os trabalhadores retornam a resposta. Cluster formado pelas máquinas pandora e icaro. Matriz (tamanho) Algoritmo Máquina Paralelo Linha a Linha PVM Tempo de execução (Mseg) 13

14 Algoritmo Linha a Linha Balanceado Mseg Tam Matriz linhamw sobre ATM linhame sobre Ethernet 5. Conclusões Notou-se um sensível ganho de performance quando utilizando a Rede Padrão ATM nos casos de matrizes de tamanho 800 x 800. Nenhuma diferença considerável se notou em matrizes de tamanho 400 x 400 ou utilizando a transmissão de Linha a Linha. Mais testes são necessários, com uma quantidade maior de máquinas no cluster, para melhor ser avaliado a eficiência em uma redes ATM. Implementações de tecnologias para melhora de transmissão das redes ATM precisam ser testadas e avaliadas. 6. Trabalho futuro Muitos experimentos ainda são necessários para se avaliar as vantagens de uma Rede ATM na criação de uma máquina paralela virtual. Novos testes devem serem feitos considerando diferentes configurações de redes: Classical IP : Com o protocolo IP rodando diretamente sobre a AAL5. LANE com MPOA: Com conexões ATM fim-a-fim podendo ser estabelecidas entre máquinas de um cluster pertencentes a ELANS diferentes. Nativa ATM: Com eliminação de overhead causado pelo encapsulamento de pacotes IP em células ATM. 14

15 Tais testes são fundamentais para possibilitar a criação de clusters entre instituições filiadas ao projeto REMA a fim de se obter uma maior quantidade de máquinas na criação de poderosas Máquinas Paralelas Virtuais. Essas máquinas são necessárias a grandes instituições que buscam um alto poder de processamento de dados em menor espaço de tempo mas que não dispõem de recursos para obter uma máquina paralela convencional. Estando ainda em desenvolvimento os drivers e utilitários para redes ATM em plataforma Linux o sistema operacional adotado na criação dessa máquina paralela virtual, ainda não se tem dados concretos sobre sua eficiência. Serão feitos testes utilizando matrizes muito grande (acima de 800 x 800) e aplicações reais existentes como por exemplo Pvmpovray que serve para renderização de gráficos e outras em desenvolvimento. 15

16 6. Referências Bibliografia [ALG94] Geist, Al. Beguelin, Adam. Dongarra, Jack. Wicheng, Jiang. Mancheck, Robert. Sunderam, Vaidy. PVM 3 User s Guide and Reference Manual. Prepared by the Oak Ridge National Laboratory [DON-LUQ99] Jack Dongarra, Emilio Luque, Tomàs Margalef (Eds.). Recent Advances in Parallel Virtual Machine and Message Passing Interface. 6 th European PVM/MPI User s Group Meeting. Barcelona, Spain, September Proceeding. [SOU2000] Souza, Josemar R. de. Influencia de la comunicación en el rendimimiento de un sistema de computación paralela, basado en redes de estaciones de trabajo. Tese de Mestrado, Arquitetura de Computadores e Processamento Paralelo. Universidade Autônoma de Barcelona, - UAB [SOU-REX00] Souza, Josemar. Luque, Emilio. Rexachs, Dolores. Análise da distribuição de carga em um cluster heterogêneo. VI Congresso Argentino de Ciencias de la Computación CACIC 2000, Universidad Nacional de la Patagonia San Juan Bosco UNP, Ushuaia, Tierra del Fuego, Argentina Anais. [STE99] Sterling, Thomas L. Salmon, John. Becker, Donald J. e Savaresse, Daniel F. How to build a Beowulf: a guide to the implementation and aplication of PC clusters. Massachusetts Institute of Technology [DIETZ98] Dietz, Hank Linux Parallel Processing How To. 5 January [ATMFORUM] 16

Influência da comunicação no rendimento de uma renderização de imagem utilizando uma máquina paralela virtual baseada em redes ATM e Ethernet

Influência da comunicação no rendimento de uma renderização de imagem utilizando uma máquina paralela virtual baseada em redes ATM e Ethernet Influência da comunicação no rendimento de uma renderização de imagem utilizando uma máquina paralela virtual baseada em redes ATM e Ethernet Marcelo Souza, Josemar Souza. (marcelo@cebacad.net, josemar@cebacad.net

Leia mais

Análise da distribuição de carga em um cluster heterogêneo.

Análise da distribuição de carga em um cluster heterogêneo. Análise da distribuição de carga em um cluster heterogêneo. Josemar Souza *, D. Rexachs **, E. Luque **. ( josemar@stn.com.br, d.rexachs@cc.uab.es, e.luque@cc.uab.es,) ** * Universidade Católica do Salvador

Leia mais

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído Arquitetura de Computadores Sistemas computacionais para processamento paralelo e distribuído Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Processamento

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER COMPARAÇÃO DE DESEMPENHO NA PROGRAMAÇÃO PARALELA HÍBRIDA (MPI + OPENMP) NA BUSCA DE TEXTO EM ARQUIVOS 1 COMPARISON OF PERFORMANCE IN HYBRID PARALLEL PROGRAMMING (MPI + OPENMP) IN SEARCH OF TEXT IN FILES

Leia mais

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA

Leia mais

PROGRAMAÇÃO PARALELA USANDO MPI

PROGRAMAÇÃO PARALELA USANDO MPI PROGRAMAÇÃO PARALELA USANDO MPI Maurílio Boaventura DCCE/IBILCE/UNESP São José do Rio Preto - SP Nos computadores convencionais, um programa é um conjunto de instruções que são transmitidas à unidade de

Leia mais

speedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado

speedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado Multiprocessadores - A evolução tecnológica dos processadores iria diminuir drasticamente. 2- O caminho para o aumento de desempenho é de unir mais de um processador para realizar a mesma tarefa em menos

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I BARRAMENTO Slide 1 Sumário Introdução Componentes de Computador Funções dos Computadores Estruturas de Interconexão Interconexão de Barramentos Slide 2 Introdução

Leia mais

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Desenvolvimento de Aplicações Paralelas (gec.di.uminho.pt/lesi/ap10203/aula06aplicaçõespar.pdf) João Luís Ferreira Sobral Departamento

Leia mais

Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot

Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Tomás Evalero Orellana Universidade Estadual de Santa Cruz Roteiro Breve introdução

Leia mais

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES

DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES João Ricardo Kohler Abramoski (PAIC/FUNDAÇÃO ARAUCÁRIA), Sandra Mara Guse Scós Venske (Orientadora), e-mail: ssvenske@unicentro.br

Leia mais

Introdução aos Sistemas Distribuídos

Introdução aos Sistemas Distribuídos Introdução aos Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Ementa; Bibliografia Calendário Site Introdução Características http://sites.google.com/sitew/leonardobcampos

Leia mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (2.0) (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre

Leia mais

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores Fundamentos de Sistemas Operacionais de Arquitetura Aberta CST em Redes de Computadores Introdução Computadores Computadores são compostos, basicamente, de CPU, memória e dispositivos de entrada e saída

Leia mais

Caracterização de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes

Leia mais

Paralelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data)

Paralelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data) Paralelismo de dados (execução de simultaneidade) Em métodos tradicionais de programação (processamento sequencial), uma grande quantidade de dados é processada em um único núcleo de uma CPU, enquanto

Leia mais

SIST706 Sistemas Distribuídos

SIST706 Sistemas Distribuídos Slide01 Introdução e Conceitos de Sistemas Distribuídos SIST706 Sistemas Distribuídos 2013/1 Prof. Jéfer Benedett Dörr @: prof.jefer@gmail.com profjefer.wordpress.com Sistema Distribuído Definição de Andrew

Leia mais

Sistemas Operacionais. Sistema de entrada e Saída

Sistemas Operacionais. Sistema de entrada e Saída Sistemas Operacionais Sistema de entrada e Saída Sistema de Entrada e Saída I/O É uma das principais tarefas de um sistema computacional Como máquina abstrata o S.O. deve oferecer uma visão padronizada

Leia mais

Programação Paralela e Distribuída

Programação Paralela e Distribuída Curso de Informática DCC-IM / UFRJ Programação Paralela e Distribuída Um curso prático Mario J. Júnior Gabriel P. Silva Colaboração: Adriano O. Cruz, Julio S. Aude Ementa Paradigma de Troca de Mensagens

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens

Leia mais

A Biologia na Era da Computação. Hugo Brandão Uchôa Laboratório de Sistemas Biomoleculares IBILCE-UNESP

A Biologia na Era da Computação. Hugo Brandão Uchôa Laboratório de Sistemas Biomoleculares IBILCE-UNESP A Biologia na Era da Computação Hugo Brandão Uchôa Laboratório de Sistemas Biomoleculares IBILCE-UNESP Tópicos Motivação Áreas da Computação Parmodel BioLinux MyODB Conclusão Motivação Grande desenvolvimento

Leia mais

Comparação de eficiência entre OpenCL e CUDA

Comparação de eficiência entre OpenCL e CUDA Aluno: Thiago de Gouveia Nunes Orientador: Prof. Marcel P. Jackowski GPGPU O que é GPGPU? É programação de propósito geral em GPUs. =D GPGPU Existem 2 linguagens populares no mercado para GPGPU, o CUDA

Leia mais

Visualização Distribuída utilizando Agrupamentos de PCs 10

Visualização Distribuída utilizando Agrupamentos de PCs 10 1 Introdução Sistemas de visualização vêm sendo utilizados em diversas áreas da indústria e do campo científico. Dentre essas áreas, CAD (Computer Aided Design), visualização científica e realidade virtual

Leia mais

SSC510 Arquitetura de Computadores. 6ª aula

SSC510 Arquitetura de Computadores. 6ª aula SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas

Leia mais

4 Processamento Paralelo

4 Processamento Paralelo 4 Processamento Paralelo Como apresentado no Capítulo 3, o algoritmo de mapeamento de textura com relevo é divido em cinco passos: reinicialização de recursos, configuração da câmera, cálculo de lookup

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS INTRODUÇÃO SISTEMAS DISTRIBUÍDOS Até meados dos anos 80 as máquinas eram grandes e caras; A maioria das empresas tinham equipamentos que operavam de forma independente por falta de uma forma confiável

Leia mais

Parte I Multiprocessamento

Parte I Multiprocessamento Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de

Leia mais

Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór

Bacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór Bacharelado em Sistemas de Informação Sistemas Operacionais Prof. Filipo Mór WWW.FILIPOMOR.COM - REVISÃO ARQUITETURAS PARALELAS Evolução das Arquiteturas Evolução das Arquiteturas Entrada CPU Saída von

Leia mais

Introdução a Sistemas Operacionais. Adão de Melo Neto

Introdução a Sistemas Operacionais. Adão de Melo Neto Introdução a Sistemas Operacionais Adão de Melo Neto 41 Definição de SO Sistema Operacional É um conjunto de rotinas (programa) executado pelo processador que controla o funcionamento do computador como

Leia mais

Arquiteturas Paralelas

Arquiteturas Paralelas Arquiteturas Paralelas Arquiteturas Paralelas Graduação em Ciência da Computação Universidade do Vale do Rio dos Sinos Prof. Gerson Cavalheiro Programação Paralela e Distribuída 2006 CC / UNISINOS Classificação

Leia mais

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTICOMPUTADORES

Leia mais

Benchmarks. 1. Introdução

Benchmarks. 1. Introdução Benchmarks 1. Introdução Um Benchmark é um programa de teste de desempenho que analisa as características de processamento e de movimentação de dados de um sistema de computação com o objetivo de medir

Leia mais

5.1 Gerenciamento de Memória

5.1 Gerenciamento de Memória 5 Validação Uma vez implementadas as três abordagens, vários testes foram executados a fim de se poder validar as soluções propostas. Os testes realizados objetivaram avaliar aspectos individuais de cada

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 19: Memória Virtual: Introdução Diego Passos Última Aula Paginação Método de gerenciamento de memória mais usado hoje. Espaço de endereçamento de um processo é

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br 29 de julho de 2015 1/21 Apresentação da disciplina Objetivo da disciplina

Leia mais

Sistemas de Troca de Mensagens

Sistemas de Troca de Mensagens Universidade Federal do Rio de Janeiro Programa de Pós-Graduação em Informática DCC/IM - NCE/UFRJ Arquitetura de Sistemas Paralelos Sistemas de Troca de Mensagens Sistemas de Comunicação O Sistema de Comunicação

Leia mais

Bibliografia em processamento paralelo

Bibliografia em processamento paralelo Bibliografia em processamento paralelo Andrews, Concurrent Programming: Principles and Practice Foster, Designing and Building Parallel Programs Wolfe, High Performance Compilers for Parallel Computing

Leia mais

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores Ciência da Computação Arq. e Org. de Computadores Processadores Prof. Sergio Ribeiro Composição básica de um computador eletrônico digital: Processador Memória Memória Principal Memória Secundária Dispositivos

Leia mais

COMPUTAÇÃO PARALELA E DISTRIBUÍDA

COMPUTAÇÃO PARALELA E DISTRIBUÍDA COMPUTAÇÃO PARALELA E DISTRIBUÍDA Aluno: Alessandro Faletti Orientadora: Noemi Rodriguez Introdução O objetivo inicial no projeto era aplicar a possibilidade de processamento em paralelo no sistema CSBase

Leia mais

Backup e Restauração Banco de Dados. Evandro Deliberal

Backup e Restauração Banco de Dados. Evandro Deliberal Backup e Restauração Banco de Dados Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Redes de armazenamento: Tecnologias e Virtualização Agenda I. DAS e Introdução a

Leia mais

SSC PROGRAMAÇÃO CONCORRENTE. Aula 03 Terminologia Geral de Computação Paralela Prof. Jó Ueyama

SSC PROGRAMAÇÃO CONCORRENTE. Aula 03 Terminologia Geral de Computação Paralela Prof. Jó Ueyama SSC- 0742 PROGRAMAÇÃO CONCORRENTE Aula 03 Terminologia Geral de Computação Paralela Prof. Jó Ueyama Créditos Os slides integrantes deste material foram construídos a par4r dos conteúdos relacionados às

Leia mais

Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle

Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle Elaine de Mattos Silva1 José Paulo Vilela Soares da Cunha1 Orlando Bernardo Filho2 1 Departamento

Leia mais

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Programação de Alto Desempenho - 2. Prof: Carla Osthoff Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: osthoff@lncc.br 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda

Leia mais

Concorrência em Processos

Concorrência em Processos Concorrência em Processos Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Baseado nas aulas do professor Alberto Costa Neto da UFS 1 O que fazer com essa apresentação

Leia mais

Árvore Binária de Busca Ótima - Uma Implementação Distribuída

Árvore Binária de Busca Ótima - Uma Implementação Distribuída Árvore Binária de Busca Ótima - Uma Implementação Distribuída Felipe Reis e Caio Valentim Departamento de Informática PUC-Rio 7 de novembro de 2010 1 Introdução O problema de encontrar a árvore binária

Leia mais

Organização de Computadores I

Organização de Computadores I Organização de Computadores I Aula 2 Material: Diego Passos http://www.ic.uff.br/~debora/orgcomp/pdf/parte2.pdf Organização de Computadores I Aula 2 1/29 Tópicos de Computação. de um Sistema de Computação..

Leia mais

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Barramento

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Barramento Sâmia Rodrigues Gorayeb Arquitetura de Computadores Barramento Arquitetura de Computadores Agenda: Barramento 1. Introdução (definição). 2. Função 3. Vantagem e Desvantagem 4. Característica 5. Tipos 6.

Leia mais

Modelo de Von Neumann. Modelo de Von Neumann. Componentes básicos de um computador. Modelo de Von Neumann ARQUITETURA DE HARDWARE

Modelo de Von Neumann. Modelo de Von Neumann. Componentes básicos de um computador. Modelo de Von Neumann ARQUITETURA DE HARDWARE Componentes básicos de um computador Memória Processador Periféricos Barramento O processador (ou microprocessador) é responsável pelo tratamento de informações armazenadas em memória (programas em código

Leia mais

SSC PROGRAMAÇÃO CONCORRENTE. Aula 06 Modelos de Programação Prof. Jó Ueyama e Julio Cezar Estrella

SSC PROGRAMAÇÃO CONCORRENTE. Aula 06 Modelos de Programação Prof. Jó Ueyama e Julio Cezar Estrella SSC- 0143 PROGRAMAÇÃO CONCORRENTE Aula 06 Modelos de Programação Prof. Jó Ueyama e Julio Cezar Estrella Créditos Os slides integrantes deste material foram construídos a par4r dos conteúdos relacionados

Leia mais

Curso: Redes de Computadores

Curso: Redes de Computadores Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg

Leia mais

Arquitetura e organização de computadores

Arquitetura e organização de computadores Arquitetura e organização de computadores 3º. Semestre - Sistemas de informação Prof. Emiliano S. Monteiro Classificação de computadores Grande porte: Supercomputadores e Mainframes Médio porte: Minicomputadores

Leia mais

Definição Rede Computadores

Definição Rede Computadores Definição Rede Computadores Uma rede de computadores consiste na interconexão entre dois ou mais computadores e dispositivos complementares acoplados através de recursos de comunicação, geograficamente

Leia mais

de petróleo. Um novo domínio chamado computação de propósito geral em processadores gráficos (GPGPU) surgiu quando os pipelines de gráficos de

de petróleo. Um novo domínio chamado computação de propósito geral em processadores gráficos (GPGPU) surgiu quando os pipelines de gráficos de 12 1 1.1. Motivações Dentre os tipos de técnicas de Inteligência Artificial existentes, as técnicas de Programação Genética (PG) continuam mudando rapidamente conforme os pesquisadores e profissionais

Leia mais

STD29006 Sistemas Distribuídos

STD29006 Sistemas Distribuídos STD29006 Sistemas Distribuídos Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/std 28 de julho de 2017 1/22 Apresentação

Leia mais

Sistemas de Entrada e Saída

Sistemas de Entrada e Saída Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 33 Sumário 1 Dispositivos de E/S 2 Interrupções 3 Software de E/S 2

Leia mais

UNIVERSIDADE FEDERAL DO PARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DIRETORIA DE PESQUISA PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA

UNIVERSIDADE FEDERAL DO PARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DIRETORIA DE PESQUISA PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA UNIVERSIDADE FEDERAL DO PARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DIRETORIA DE PESQUISA PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA RELATÓRIO TÉCNICO CIENTÍFICO Período: Outubro/2015 a

Leia mais

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA: Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Introdução a Sistemas Operacionais Andreza Leite andreza.leite@univasf.edu.br Plano de Aula Introdução aos Sistemas Operacionais Fundamentação Teórica Evolução Histórica Características

Leia mais

SISTEMAS OPERACIONAIS DE REDE

SISTEMAS OPERACIONAIS DE REDE SISTEMAS OPERACIONAIS DE REDE Questão 01 O sistema operacional gerencia o sistema de arquivos, que irá armazenar as informações/arquivos. Para esta tarefa, durante a formatação do disco rígido, são criados

Leia mais

INE5645-Programação Paralela e Distribuída Aula 17/09/2018 Nome

INE5645-Programação Paralela e Distribuída Aula 17/09/2018 Nome INE5645-Programação Paralela e Distribuída Aula 17/09/2018 Nome Para paralelizar códigos de programas, tudo que necessitamos é de uma construção sintática denominada kernel. Seja o kernel: kernel void

Leia mais

Arquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela

Arquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela Arquitetura de Computadores Paralelos Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela Por que estudar Computação Paralela e Distribuída? Os computadores sequenciais

Leia mais

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída 11 1 Introdução Recentes avanços em redes de computadores impulsionaram a busca e o desenvolvimento de meios para facilitar e acelerar o desenvolvimento de aplicações em sistemas distribuídos, tornando

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,

Leia mais

Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operacionais 1 Introdução aos Sistemas Operacionais 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Conceitos sobre sistemas operacionais 1.5 Chamadas

Leia mais

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 6. THREAD: 6.1 Introdução; 6.2 Ambiente Monothread; 6.3 Ambiente Multithread; 6.4 Arquitetura

Leia mais

Arquitetura e Protocolos de Rede TCP/IP

Arquitetura e Protocolos de Rede TCP/IP Arquitetura e Protocolos de Rede TCP/IP Modelo Arquitetural Prof. Sales Filho Agenda Motivação Objetivos Histórico Família de protocolos TCP/IP Modelo de Interconexão Arquitetura

Leia mais

Programação de Sistemas em Tempo Real

Programação de Sistemas em Tempo Real BCC722 Programação de Sistemas em Tempo Real Processos Prof. Charles Garrocho O conceito de processo Um S.O. executa uma variedade de programas Sistemas de tempo compartilhado: programas Processo: um programa

Leia mais

I/O para Dispositivos Externos e Outros Computadores. Redes de Interconexão. Redes de Interconexão. Redes de Computadores Correntes

I/O para Dispositivos Externos e Outros Computadores. Redes de Interconexão. Redes de Interconexão. Redes de Computadores Correntes para Dispositivos Externos e Outros Computadores Processor interrupts Cache Memory - Bus Main Memory Disk Disk Graphics Network ideal: bandwidth alto, baixa latência Redes de Computadores Correntes Objetivos:

Leia mais

Interconexão de redes locais. Repetidores. Hubs. Existência de diferentes padrões de rede

Interconexão de redes locais. Repetidores. Hubs. Existência de diferentes padrões de rede Interconexão de redes locais Existência de diferentes padrões de rede necessidade de conectá-los Interconexão pode ocorrer em diferentes âmbitos LAN-LAN LAN: gerente de um determinado setor de uma empresa

Leia mais

Introdução à Computação: Sistemas de Computação

Introdução à Computação: Sistemas de Computação Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

3.1 Linha de Produção Utilizada

3.1 Linha de Produção Utilizada 3 Linha de Produção Gráfica Distribuída Neste capítulo, é proposta uma extensão à linha de produção gráfica convencional (graphics pipeline) destinada à renderização distribuída. Esta apresentação inclui

Leia mais

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação

Leia mais

Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI

Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI Diego Luis Kreutz 1 Lucas Mello Schnorr 2 Cleverton Marlon Possani 3 Resumo Este texto apresenta um calculador de capacidade

Leia mais

Processos ca 3 pítulo

Processos ca 3 pítulo Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém

Leia mais

PROGRAMA. 1. Ementa. 2. Objetivos. 3. Metodologia. 4. Avaliação

PROGRAMA. 1. Ementa. 2. Objetivos. 3. Metodologia. 4. Avaliação Universidade Católica do Salvador Curso de Bacharelado em Informática Disciplina : INF363 - Teleprocessamento e Redes Pré-Requesitos : INF-375 - Sistemas Operacionais INF-359 - Pesquisa Operacional Carga

Leia mais

Arquitetura de Computadores

Arquitetura de Computadores Arquitetura de Computadores 2018.1 Computador O computador é uma máquina que realiza processamento de dados automaticamente. Ela é formada por um hardware e um software. O Engenho Analítico é o primeiro

Leia mais

Computação Distribuída Baseada em Java rodando em Arquiteturas Beowulf e Arquiteturas Heterogêneas

Computação Distribuída Baseada em Java rodando em Arquiteturas Beowulf e Arquiteturas Heterogêneas Computação Distribuída Baseada em Java rodando em Arquiteturas Beowulf e Arquiteturas Heterogêneas Geraldo Pereira de Souza, Gerson Henrique Pfitscher, Alba Cristina M. A. de Melo Departamento de Computação

Leia mais

Chamadas de Sistema (SYSCALL)

Chamadas de Sistema (SYSCALL) Chamadas de Sistema (SYSCALL) Eduardo Ferreira dos Santos Engenharia de Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 26 Sumário 1 Estrutura dos Sistemas Operacionais 2 System Calls

Leia mais

Redes P2P Gnutella e Simuladores

Redes P2P Gnutella e Simuladores Redes P2P Gnutella e Simuladores Definições de P2P P2P é o compartilhamento de recursos e serviços pela troca direta entre sistemas. WG P2P Intel, 2001 P2P é uma classe de aplicações que tira proveito

Leia mais

Gerência de Dispositivos. Adão de Melo Neto

Gerência de Dispositivos. Adão de Melo Neto Gerência de Dispositivos Adão de Melo Neto 1 Gerência de Dispositivos Introdução Acesso ao Subsistema de E/S Subsistema de E/S Device Drivers Controladores Dispositivos de E/S Discos Magnéticos Desempenho,

Leia mais

BALANCEAMENTO DE CARGA EM SISTEMAS MULTIPROCESSADORES UTILIZANDO O MODELO DE PROGRAMAÇÃO CHARM++ 1

BALANCEAMENTO DE CARGA EM SISTEMAS MULTIPROCESSADORES UTILIZANDO O MODELO DE PROGRAMAÇÃO CHARM++ 1 BALANCEAMENTO DE CARGA EM SISTEMAS MULTIPROCESSADORES UTILIZANDO O MODELO DE PROGRAMAÇÃO CHARM++ 1 Guilherme Henrique Schiefelbein Arruda 2, Edson Luiz Padoin 3. 1 Trabalho desenvolvido no contexto do

Leia mais

Computação por Passagem de Mensagens

Computação por Passagem de Mensagens Computação por Passagem de Mensagens Programação por passagem de mensagens Programação de multiprocessadores conectados por rede pode ser realizada: criando-se uma linguagem de programação paralela especial

Leia mais

Capítulo 4: Camada de rede

Capítulo 4: Camada de rede Capítulo 4: Camada de Objetivos do capítulo: entender os princípios por trás dos serviços da camada de : modelos de serviço da camada de repasse versus roteamento como funciona um roteador roteamento (seleção

Leia mais

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior - Capítulo 5 Afirmações Entrada/Saída Introdução Processos se comunicam com o mundo externo através de dispositivos de E/S. Processos não querem ou não precisam entender como funciona o hardware. Função

Leia mais

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos

Leia mais

Introdução ao roteamento e encaminhamento de pacotes

Introdução ao roteamento e encaminhamento de pacotes CCNA Exploration (Protocolos e Conceitos de Roteamento) Introdução ao roteamento e encaminhamento de pacotes Cronograma Introdução Roteadores são computadores Processo de inicialização Interface de um

Leia mais

5 Resultados Experimentais

5 Resultados Experimentais 5 Resultados Experimentais Neste capítulo são apresentados os resultados dos experimentos elaborados para validar a linha de produção gráfica distribuída e os algoritmos propostos para melhorar o desempenho

Leia mais

Arquitetura de Computadores. Processamento Paralelo

Arquitetura de Computadores. Processamento Paralelo Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple

Leia mais

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída Introdução aos Sistemas Operacionais Subsistema de Entrada e Saída Eleri Cardozo FEEC/Unicamp Entrada e Saída O subsistema de entrada e saída é responsável pela interface entre o sistema operacional e

Leia mais

Sistemas Operacionais. Tipos de SO

Sistemas Operacionais. Tipos de SO Sistemas Operacionais Tipos de SO Tipos de Sistemas Operacionais Tipos de Sistemas Operacionais Sistemas Monoprogramáveis/ Monotarefas Sistemas Multiprogramáveis/ Multitarefas Sistemas com Múltiplos Processadores

Leia mais

Sistemas Operacionais. Entrada/Saída

Sistemas Operacionais. Entrada/Saída Sistemas Operacionais Entrada/Saída Atualizado em 28/02/2014 Como ocorre a comunicação de E/S Aplicação Operações de E/S Chamadas de Sistema S.O. Subsistema de E/S Núcleo (Kernel) Drivers HARDWARE Controladoras

Leia mais

Tipos de Clusters. Introdução. Introdução 21/03/12

Tipos de Clusters. Introdução. Introdução 21/03/12 Tipos de Clusters Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! Cluster pode ser definido como um sistema onde dois ou mais computadores trabalham de maneira conjunta para realizar processamento

Leia mais

Programação Concorrente

Programação Concorrente INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica

Leia mais

Modelos para Concorrência

Modelos para Concorrência Modelos para Concorrência Modelos para descrição de concorrência Programa Interdisciplinar de Pós Graduação em Computação Aplicada Universidade do Vale do Rio dos Sinos Gerson Cavalheiro Processamento

Leia mais

MÁQUINAS VIRTUAIS EM SISTEMAS DISTRIBUÍDOS. Luiz C. Vieira

MÁQUINAS VIRTUAIS EM SISTEMAS DISTRIBUÍDOS. Luiz C. Vieira EM SISTEMAS DISTRIBUÍDOS Luiz C. Vieira Origem na Virtualização de Mainframes IBM, 1960 Executar várias aplicações e processos ao mesmo tempo. Otimização de recursos M44/44X 7044 Máquinas virtuais Em 1980

Leia mais

Sub-Redes. Alberto Felipe Friderichs Barros

Sub-Redes. Alberto Felipe Friderichs Barros Sub-Redes Alberto Felipe Friderichs Barros Exercícios 8- Descubra se os ips de origem e destino se encontram na mesma rede: a) IP Origem: 10.200.150.4 IP Destino: 10.200.150.5 Máscara de rede: 255.255.255.0

Leia mais