Exemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface. Fator de speed-up. Speed-up

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

Download "Exemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface. Fator de speed-up. Speed-up"

Transcrição

1 Exemplo de Arquitetura: Cliente/Servidor com Mestre e s Arquitetura Mestre- Speed-up / Cliente Mestre Prof João Paulo A Almeida (jpalmeida@infufesbr) Cliente 2015/01 - INF02799 Com alguns slides de Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed, B Wilkinson & M Allen, Interface Pode ser compartilhada pelo mestre e pelos escravos Cliente Mestre NameService public interface Somador extends javarmiremote { public float soma(float[] vetor) throws javarmiremoteexception; }; }; Speed-up p = número de processos n = tamanho do problema (eg, número de elementos do vetor) Fator de speed-up S(p) = Tempo de execução usando um processador / Tempo de execução usando p processadores = t s /t p Considerar melhor algoritmo sequencial para a tarefa 1

2 Qual é o speed-up máximo possível? Fator de speed-up Intuitivamente o speed-up máximo é o speedup linear (S(p)=p) Em que condições? f=0, ou seja é completamente paralelizável e consigamos dividir o trabalho entre os processadores igualmente E se f 0 Qual é o speed-up máximo possível? S(p)<p, temos speed-up sublinear S(p) 1, temos slow-down S(p)>p, temos speed-up superlinear Speed-up máximo com f<>0 Mesmo com número infinito de processadores, speed-up máximo é limitado a 1/f Se apenas 5% da computação for serial, speed-up máximo é 20, independente do número de processadores Escalabilidade Fator de Speed- up S(p) Número de processadores, p S(p), f=0% S(p), f=5% S(p), f=10% S(p), f=20% S(p), f=50% 2

3 Uma outra métrica importante Revela o uso de recursos para atingir um benefício Eficiência como a razão entre o speed-up e o número de processadores: E(p)=S(p)/p Eficiência, E(p)=S(p)/p Eficiência E(p), f=0% E(p), f=5% E(p), f=10% E(p), f=20% E(p), f=50% Número de processadores, p Variações E se a carga dos escravos não for a mesma? E se as características dos processadores forem diferentes? E se não conseguirmos prever o tamanho do problema? Variações E se houver falhas durante a computação? 3

4 Trabalho de implementação: Parte 1 Implementar a arquitetura mestre/escravo como apresentada para realizar um merge sort paralelo O programa cliente deve gerar vetores aleatórios (de inteiros), de vários tamanhos Use o serviço de nomes para registrar e achar o mestre Pode ser testado inicialmente em uma única máquina (Claro, vários escravos) e6/merge_sort_algorithm_diagramsvg Mergesort Mergesort Implementação serial Nos escravos use qualquer implementação serial de bom desempenho Compare sua solução (p/ obter o speed-up) considerando esta solução serial de bom desempenho : Análise do MergeSort 4

5 Parte 2: Faça uma análise do tempo de resposta observado pelo cliente Crie gráficos para esta análise, usando: Diferentes tamanhos de vetor na faixa [110 6 ] (tempo de resposta x tamanho do vetor) 2, 3 e 4 processadores em máquinas diferentes (tempo de resposta x tamanho do vetor) no caso sequencial Com 2 processadores Com 3 processadores Com 4 processadores Quanto mais melhor! Speed-up comparativo (diferentes tamanhos de vetor e número de processadores) Documente: tipo de máquinas usadas, sistema operacional, memória disponível, configuração de rede Se necessário, use o laboratório de graduação Estime o overhead de comunicação Parte 3: Adicionando robustez Mestre deve remover escravos da lista quando invocação gerar exceção Opção nos escravos para sair, com operação para remoção no mestre Para casa Dê uma forma de se adicionar robustez (tolerância a falhas) à arquitetura mestreescravo descrita em sala de aula Considere que os escravos podem falhar a qualquer momento, e que o mestre não falhará enquanto estiver processando uma requisição de um cliente (o mestre pode falhar entre requisições dos clientes) Como o sistema se recupera de cada uma dessas falhas? (Inclua na sua solução uma abordagem para a distribuição de referências Considere que a referência do objeto muda após uma falha) Use diagramas de sequência para explicitar a dinâmica da sua solução 5

Exemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface em IDL. Dynamic Invocation Interface. Exemplo invocação DII em Java

Exemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface em IDL. Dynamic Invocation Interface. Exemplo invocação DII em Java Exemplo de Arquitetura: Cliente/Servidor com Mestre e s Arquitetura Mestre- Speed-up / Cliente Mestre Prof João Paulo A Almeida (jpalmeida@infufesbr) Cliente 2009/01 - INF02799 Com alguns slides de Parallel

Leia mais

Questão 1. Benefícios. Benefícios. Desafios. Desafios. 1. Quais são os desafios e benefícios em potencial da computação distribuída?

Questão 1. Benefícios. Benefícios. Desafios. Desafios. 1. Quais são os desafios e benefícios em potencial da computação distribuída? Questão 1 1. Quais são os desafios e benefícios em potencial da computação distribuída? Processamento Paralelo Correção Simulado Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2007/01 - INF02799 Com

Leia mais

Medida de desempenho

Medida de desempenho Medida de desempenho Aceleração (Speedup) = (Tempo em 1 CPU) / (Tempo em p CPUs) O que devemos comparar? Programa paralelo em 1 CPU? Programa equivalente sequencial? Melhor programa sequencial? Fator de

Leia mais

Técnicas de Paralelização

Técnicas de Paralelização Técnicas de Paralelização 2 Particionar e dividir para conquistar Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson &

Leia mais

Algoritmos Paralelos - ordenação

Algoritmos Paralelos - ordenação Algoritmos Paralelos - ordenação Fernando Silva DCC-FCUP (Alguns dos slides são baseados nos do livro Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers, 2nd

Leia mais

PCC104 Projeto e Análise de Algoritmos

PCC104 Projeto e Análise de Algoritmos PCC104 Projeto e Análise de Algoritmos Joubert de Castro Lima joubertlima@gmail.com Professor Adjunto DECOM UFOP 2010/1 Figuras retiradas do livro Introduction to parallel Computing Programar em paralelo

Leia mais

Decisões arquiteturais importantes. Projeto arquitetural x projeto de algoritmos. Decomposição de dados. Decomposição de dados

Decisões arquiteturais importantes. Projeto arquitetural x projeto de algoritmos. Decomposição de dados. Decomposição de dados Processamento Paralelo Técnicas de Decomposição de Problemas Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Decisões arquiteturais importantes 1. Divisão de responsabilidades entre partes (componentes)

Leia mais

Programação Paralela e Distribuída

Programação Paralela e Distribuída Programação Paralela e Distribuída Referência: Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd Edition, by B. Wilkinson & M. Allen, 2004

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 13: Ordenação: MergeSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br

Leia mais

Avaliação de Desempenho

Avaliação de Desempenho Avaliação de Desempenho Clock do Sistema Cristal de Quartzo envia onda de sinais constantes que são convertidas em sinais digitais 1GHz = 1 bilhão de pulsos Taxa de pulsos = taxa de clock Incremento de

Leia mais

Questão 1. Benefícios. Benefícios. Desafios. Desafios. 1. Quais são os desafios e benefícios em potencial da computação distribuída?

Questão 1. Benefícios. Benefícios. Desafios. Desafios. 1. Quais são os desafios e benefícios em potencial da computação distribuída? Questão 1 1. Quais são os desafios e benefícios em potencial da computação distribuída? Processamento Paralelo Correção Simulado Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) 2008/01 - INF02799 Com

Leia mais

OpenMP: Variáveis de Ambiente

OpenMP: Variáveis de Ambiente Treinamento OpenMP C/C++ 1 TREINAMENTO OpenMP C/C++ Módulo 1 Computação de Alto Desempenho Módulo 2 OpenMP: Construtores Paralelos Módulo 3 OpenMP: Diretivas de sincronização Módulo 4 OpenMP: Funções de

Leia mais

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado

15/4/15. Processamento Paralelo Middleware Orientado a Objetos. Sistema operacional é a única infraestrutura para interação. Middleware é adicionado Aplicações distribuídas: interação entre partes Processamento Paralelo Middleware Orientado a Objetos Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Rede A Rede B Rede C 2015/01 - INF02799 Sistema

Leia mais

APRESENTAÇÃO. Slides baseados no material de Marco A. Zanata Alves - UFPR (2016) Curso: CI316 Programação Paralela INTEL MODERN CODE PARTNER 1

APRESENTAÇÃO. Slides baseados no material de Marco A. Zanata Alves - UFPR (2016) Curso: CI316 Programação Paralela INTEL MODERN CODE PARTNER 1 INTEL MODERN CODE PARTNER APRESENTAÇÃO Slides baseados no material de Marco A. Zanata Alves - UFPR (2016) Curso: CI316 Programação Paralela INTEL MODERN CODE PARTNER 1 O QUE ESPERAR DESSE WORKSHOP? INTEL

Leia mais

Arquiteturas Paralelas

Arquiteturas Paralelas ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Arquiteturas Paralelas Medidas de desempenho Alexandre Amory Edson Moreno Índice 2 1. Introdução 2. Medidas de Desempenho Introdução 3 Aumento de desempenho dos

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 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

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

Leia mais

SSC PROGRAMAÇÃO CONCORRENTE

SSC PROGRAMAÇÃO CONCORRENTE SSC- 0143 PROGRAMAÇÃO CONCORRENTE Aula 08 Avaliação de Desempenho de Programas Paralelos Prof. Jó Ueyama Créditos Os slides integrantes deste material foram construídos a par4r dos conteúdos relacionados

Leia mais

27 de maio de Implementando arquitetura mestre-escravo

27 de maio de Implementando arquitetura mestre-escravo 2º Trabalho Processamento Paralelo 2015/01 Arquitetura Mestre-Escravo com Java RMI: Ataque de Dicionário em Mensagem Criptografada Prof. João Paulo Andrade Almeida 27 de maio de 2015 O objetivo deste trabalho

Leia mais

Avaliação de Desempenho

Avaliação de Desempenho September 25, 2012 O que é desempenho? em primeiro lugar, uma ótima tradução para performance... :-) tempo de execução (o centro das atenções!) outras: projeto, ciclo de vida, manutenção,... mesmo outras

Leia mais

Arquitetura de Sistemas Digitais

Arquitetura de Sistemas Digitais Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Arquitetura de Sistemas Digitais Lucas Cordeiro lucascordeiro@ufam.edu.br Notas de Aula Os slides deste

Leia mais

Monografia de Conclusão do Curso de Graduação em Ciência da Computação. 2

Monografia de Conclusão do Curso de Graduação em Ciência da Computação. 2 APLICAÇÃO DE BALANCEAMENTO DE CARGA COM CHARM++ NA PARALELIZANDO DE UM SIMULADOR DO MOVIMENTO DA ÁGUA NO SOLO 1 LOAD BALANCING APLICATION WITH CHARM++ IN THE PARALELIZATION OF A WATER MOVEMENT SIMULATOR

Leia mais

Guia del Laboratório 2 Desenho e Implementação de algoritmos paralelos Introdução

Guia del Laboratório 2 Desenho e Implementação de algoritmos paralelos Introdução Guia del Laboratório 2 Desenho e Implementação de algoritmos paralelos Introdução Este laboratório tem como objetivo: Desenhar e implementar algoritmos paralelos. Desenvolvimento Em conferência pudemos

Leia mais

ESTRUTURA DE DADOS LISTAS LINEARES

ESTRUTURA DE DADOS LISTAS LINEARES ESTRUTURA DE DADOS LISTAS LINEARES Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender as listas sequenciais Implementar uma Lista Sequencial com Vetor Compreender o uso de listas sequenciais Material

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

Algoritmos de Ordenação

Algoritmos de Ordenação Algoritmos de Ordenação Leandro Tonietto Unisinos ltonietto@unisinos.br http://professor.unisinos.br/ltonietto Atualizado em 7-Jun-12 http://professor.unisinos.br/ltonietto/inf/lb2/sort.pdf ! Objetivos!

Leia mais

Sistemas Multiprogramáveis/Multitarefa

Sistemas Multiprogramáveis/Multitarefa Sistemas Multiprogramáveis/Multitarefa - Programas submetidos são armazenados em fitas/discos onde são executado sequencialmente -A UCP pode processar seqüencialmente cada job (tarefa), diminuindo o tempo

Leia mais

Avaliação de Desempenho. September 28, 2010

Avaliação de Desempenho. September 28, 2010 September 28, 2010 O que é desempenho? em primeiro lugar, uma ótima tradução para performance... :-) tempo de execução (o centro das atenções!) outras: projeto, ciclo de vida, manutenção,... mesmo outras

Leia mais

Comparação entre Abordagens de Paralelização para o Problema do Jogo da Vida

Comparação entre Abordagens de Paralelização para o Problema do Jogo da Vida Comparação entre Abordagens de Paralelização para o Problema do Jogo da Vida Daniel Michelon de Carli 1,2, Eduardo Spolaor Mazzanti 1,2,3, Rodrigo Dewes 1, Ronaldo Canofre M. dos Santos 1,3, Valdir Stumm

Leia mais

Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( )

Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista ( ) Projeto e Análise de Algoritmos Aula 4: Dividir para Conquistar ou Divisão e Conquista (2.1-2.2) DECOM/UFOP 2013/1 5º. Período Anderson Almeida Ferreira Adaptado do material desenvolvido por Andréa Iabrudi

Leia mais

Introdução na Computação Distribuída e Paralela

Introdução na Computação Distribuída e Paralela ISUTIC 2017 Introdução na Computação Distribuída e Paralela Docente: MSc. Angel Alberto Vazquez Sánchez Características da matéria 90 horas no semestre Conferências, Aulas Práticas, Laboratórios e Seminários

Leia mais

Tabelas de dispersão/hash

Tabelas de dispersão/hash Tabelas de dispersão/hash 1 Tabelas de dispersão/hash 1. Considere uma tabela de hash de tamanho m = 1000 e a função de hash h(k)= [m.(k.a % 1)], com A=( 5-1)/2. Calcule os valores de hash das chaves 61,

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

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

Programação Paralela e Distribuída Lista de Exercícios P2 2008/1

Programação Paralela e Distribuída Lista de Exercícios P2 2008/1 Programação Paralela e Distribuída Lista de Exercícios P2 2008/1 Sincronização de Relógio Questão 1 Explique por que existe a necessidade de sincronização de relógio em sistemas distribuídos. Questão 2

Leia mais

Ordenação: MergeSort. Prof. Túlio Toffolo BCC202 Aula 14 Algoritmos e Estruturas de Dados I

Ordenação: MergeSort. Prof. Túlio Toffolo  BCC202 Aula 14 Algoritmos e Estruturas de Dados I Ordenação: MergeSort Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 14 Algoritmos e Estruturas de Dados I DIVISÃO E CONQUISTA Motivação É preciso revolver um problema com uma entrada grande

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Sincronização Slide 7 Nielsen C. Damasceno Introdução Utilizando Sistemas Distribuídos, uma grande dificuldade que temos é como garantir o acesso exclusivo a um recurso compartilhado,

Leia mais

Algoritmos de Ordenação: Tempo Linear

Algoritmos de Ordenação: Tempo Linear Algoritmos de Ordenação: Tempo Linear ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo dbeder@usp.br 10/2008 Material

Leia mais

Uma introdução ao Apache Hama

Uma introdução ao Apache Hama Uma introdução ao Apache Hama O modelo BSP nas nuvens Thiago Kenji Okada 1 1 Departamento de Ciências da Computação (DCC) Instituto de Matemática e Estatística (IME) Universidade de São Paulo (USP) MAC5742

Leia mais

Cérebro humano versus Computador digital

Cérebro humano versus Computador digital Cérebro humano versus Computador digital O cérebro humano possui uma rede de neurónios (células nervosas) que formam um sistema de processamento de informação em rede extremamente potente. E isso é um

Leia mais

INPE Outubro, Fabiana. S. Santana, César Bravo, Antonio. M. Saraiva Projeto:

INPE Outubro, Fabiana. S. Santana, César Bravo, Antonio. M. Saraiva  Projeto: INPE Outubro, 2008 Fabiana. S. Santana, César Bravo, Antonio. M. Saraiva fabiana.santana@usp.br, amsaraiv@usp.br Apoio: Instituição: Projeto: Objetivos: Apresentar versão de alto desempenho para o Garp

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I 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 Computadores I Circuitos Lógicos Sequenciais (Parte

Leia mais

Paralelismo em Computadores com Tecnologia Multicore

Paralelismo em Computadores com Tecnologia Multicore IFRN - Pau dos Ferros Pau dos Ferros/RN, 25 de fevereiro de 2016 O minicurso Descrição: Para se utilizar os vários núcleos de processamento disponíveis nos computadores atuais de forma eficiente, faz necessário

Leia mais

Introdução ao Processamento de Alto Desempenho

Introdução ao Processamento de Alto Desempenho ao Processamento de Alto Desempenho ERAD Nordeste Prof. Dr. Esbel Tomás Valero Orellana Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas Departamento de Ciências Exatas e Tecnológicas

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

Departamento de Engenharia Elétrica. ELE Microprocessadores I. Prof. Carlos Antonio Alves Sala 59 Fone

Departamento de Engenharia Elétrica. ELE Microprocessadores I. Prof. Carlos Antonio Alves Sala 59 Fone Departamento de Engenharia Elétrica ELE 1078 - Microprocessadores I Prof. Carlos Antonio Alves Sala 59 Fone 3743-1224 caa@dee.feis.unesp.br 1 P R O G R A M A D E E N S I N O OBJETIVOS Compreender o funcionamento

Leia mais

Filas de prioridade. Marcelo K. Albertini. 3 de Dezembro de 2013

Filas de prioridade. Marcelo K. Albertini. 3 de Dezembro de 2013 Filas de prioridade Marcelo K. Albertini de Dezembro de / Filas de prioridade O que é uma fila de prioridade? Estrutura de dados que generaliza a ideia de ordenação. Coleções de elementos: inserir e remover

Leia mais

Filas de prioridade. Marcelo K. Albertini. 27 de Novembro de 2014

Filas de prioridade. Marcelo K. Albertini. 27 de Novembro de 2014 Filas de prioridade Marcelo K. Albertini de Novembro de / Filas de prioridade O que é uma fila de prioridade? Estrutura de dados que generaliza a ideia de ordenação. Coleções de elementos: inserir e remover

Leia mais

ESTRUTURA DE DADOS ORDENANDO LISTAS

ESTRUTURA DE DADOS ORDENANDO LISTAS ESTRUTURA DE DADOS ORDENANDO LISTAS Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender o que são ordenações por seleção e por inserção Capacitar para implementar ambos os tipos de ordenação Material

Leia mais

Estrutura da Apresentação. Introdução ao Processamento Paralelo e Distribuído. Conceitos em PPD. Conceitos em PPD 4/26/09.

Estrutura da Apresentação. Introdução ao Processamento Paralelo e Distribuído. Conceitos em PPD. Conceitos em PPD 4/26/09. Estrutura da Apresentação Introdução ao rocessamento aralelo e Distribuído Conceitos em rocessamento aralelo e Distribuído; Frentes de trabalho e pesquisa em D; O D no Rio Grande do Sul; Observações finais.

Leia mais

Introdução OpenMP. Nielsen Castelo Damasceno

Introdução OpenMP. Nielsen Castelo Damasceno Introdução OpenMP Nielsen Castelo Damasceno Computação de auto desempenho Processamento Paralelo Memória Distribuída e Compartilhada Modelo de programação OpenMP Métricas de Desempenho Computação de auto

Leia mais

Divisão-e-Conquista ( ) CAL ( ) MIEIC/FEUP. ./rr (1) Técnicas de Concepção de Algoritmos

Divisão-e-Conquista ( ) CAL ( ) MIEIC/FEUP. ./rr (1) Técnicas de Concepção de Algoritmos 1 Técnicas de Concepção de Algoritmos (1ª parte): divisão e conquista R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Fevereiro de 2011 2 Divisão e Conquista (divide and

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

Introdução. Programação Paralela. Motivação. Conhecimento do Hardware. Análise de Desempenho. Modelagem do Problema

Introdução. Programação Paralela. Motivação. Conhecimento do Hardware. Análise de Desempenho. Modelagem do Problema Introdução Programação Paralela Profa Mariana Kolberg e Prof. Luiz Gustavo Fernandes Programação paralela é a divisão de um problema em partes, de maneira que essas partes possam ser executadas paralelamente

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

List Ranking: Solução probabilística. Baseado na dissertação de mestrado de Guilherme Pereira Vanni Orientador: Prof.

List Ranking: Solução probabilística. Baseado na dissertação de mestrado de Guilherme Pereira Vanni Orientador: Prof. List Ranking: Solução probabilística Baseado na dissertação de mestrado de Guilherme Pereira Vanni Orientador: Prof. Siang Wung Song Introdução Definição Lista ligada: uma seqüência de nós tal que cada

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étodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort)

Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort) Métodos de Ordenação: Selection, Insertion, Bubble, Merge (Sort) Hebert Coelho e Nádia Félix Ordenação É a operação de rearranjar os dados em uma determinada ordem. Problema da ordenação - Definição formal

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 20ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquiteturas MIMD As arquiteturas MIMD dividem-se

Leia mais

CAP-387(2016) Tópicos Especiais em

CAP-387(2016) Tópicos Especiais em CAP-387(2016) Tópicos Especiais em Computação Aplicada: Construção de Aplicações Massivamente Paralelas Aula 4: Desempenho, Modelos e Benchmarks Celso L. Mendes, Stephan Stephany LAC /INPE Emails: celso.mendes@inpe.br,

Leia mais

Arquitetura de sistemas distribuídos

Arquitetura de sistemas distribuídos Arquitetura de sistemas distribuídos 2. Introdução aos Sistemas Distribuídos 2.1.Características de sistemas distribuídos 2.2 Aplicações distribuídas e TI Verde 2.3 Tratamento de Falhas 2.4 Classificação

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

SENAI - FATESG. Prof. Esp. MBA Heuber G. F. Lima. Aula 1

SENAI - FATESG. Prof. Esp. MBA Heuber G. F. Lima. Aula 1 PRIMEIRO CONTATO SENAI - FATESG Prof. Esp. MBA Heuber G. F. Lima Aula 1 Quem sou eu? Page 2 Apresentação Bacharel em Análise de Sistemas Destaque acadêmico Especialista em Tecnologia da Informação MBA

Leia mais

Complexidade de Tempo e Espaço

Complexidade de Tempo e Espaço Complexidade de Tempo e Espaço Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Complexidade de Tempo e Espaço junho - 2018 1 / 43 Este material é preparado usando

Leia mais

Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular

Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular Pedro Carlos da Silva Lara Fábio Borges de Oliveira Renato Portugal Laboratório Nacional de Computação Científica Índice 1 Introdução

Leia mais

Arquitetura Cliente-Servidor Generalizada com identificação de tiers. Arquitetura Cliente-Servidor Generalizada com identificação de tiers

Arquitetura Cliente-Servidor Generalizada com identificação de tiers. Arquitetura Cliente-Servidor Generalizada com identificação de tiers Projeto de Sistemas Distribuídos Prof João Paulo A Almeida (@infufesbr) Projeto de Sistemas Distribuídos Até agora consideramos apenas a infraestrutura para a construção de aplicações distribuídas (middleware)

Leia mais

Programação Paralela. Profa Mariana Kolberg e Prof. Luiz Gustavo Fernandes

Programação Paralela. Profa Mariana Kolberg e Prof. Luiz Gustavo Fernandes Programação Paralela Profa Mariana Kolberg e Prof. Luiz Gustavo Fernandes Introdução Programação paralela é a divisão de um problema em partes, de maneira que essas partes possam ser executadas paralelamente

Leia mais

Pesquisa Linear. Adriano J. Holanda 15/3/2016

Pesquisa Linear. Adriano J. Holanda 15/3/2016 Pesquisa Linear Adriano J. Holanda 15/3/2016 Busca Linear em memória principal Introdução O dados estarão sempre armazenados na memória principal (DRAM 1 ): não há necessidade de acesso à memória secundária

Leia mais

Revisão: Projeto de Processadores em VHDL

Revisão: Projeto de Processadores em VHDL Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Revisão: Projeto de Processadores em VHDL DCA0119 Sistemas Digitais Heitor Medeiros Florencio 1 Sumário

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

Computação científica utilizando placas gráficas

Computação científica utilizando placas gráficas Brasília, dezembro de 2008 Universidade de Brasília - Faculdade do Gama Sumário Introdução Sumário Introdução Arquitetura da GPU Sumário Introdução Arquitetura da GPU Modelo de programação Sumário Introdução

Leia mais

Precondicionadores baseados na aproximação da inversa da matriz de coeficientes

Precondicionadores baseados na aproximação da inversa da matriz de coeficientes Precondicionadores baseados na aproximação da inversa da matriz de coeficientes João Paulo K. Zanardi, Italo C. N. Lima, Programa de Pós Graduação em Eneganharia Mecânica, FEN, UERJ 20940-903, Rio de Janeiro,

Leia mais

Paralelização do Método de Jacobi em Memória Compartilhada 1

Paralelização do Método de Jacobi em Memória Compartilhada 1 Paralelização do Método de Jacobi em Memória Compartilhada 1 Claudio Schepke cschepke@inf.ufrgs.br 1 PPGC - Instituto de Informática - UFRGS Introdução ao Processamento Paralelo e Distribuído Professor

Leia mais

Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10

Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10 Computação 1 - Python Aula 8 - Teórica: Estrutura de Repetição : for 1/ 10 Estrutura de Repetição while Estrutura que permite a repetição de um conjunto de comandos. Até o momento vimos o while: while

Leia mais

Sincronização em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos Sincronização em Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Sincronização Como as regiões críticas são implementadas em um SD? Como

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação (Machine Learning) Aula 07 Classificação com o algoritmo knn Max Pereira Classificação com o algoritmo k-nearest Neighbors (knn) Como os filmes são categorizados em gêneros? O que

Leia mais

PMR5229 Projeto de Sistemas Mecatrônicos com Microprocessadores. Prof. Jun Okamoto Jr. sala ES-05 Tel:

PMR5229 Projeto de Sistemas Mecatrônicos com Microprocessadores. Prof. Jun Okamoto Jr. sala ES-05 Tel: PMR5229 Projeto de Sistemas Mecatrônicos com Microprocessadores Prof. Jun Okamoto Jr. sala ES-05 Tel: 3091-5516 E-mail: jokamoto@usp.br Sistemas Mecatrônicos? Não Sistemas Mecatrônicos? Sim mas não interessam

Leia mais

Algoritmos e Estrutura de dados II. Fila de Prioridade e Heaps

Algoritmos e Estrutura de dados II. Fila de Prioridade e Heaps Algoritmos e Estrutura de dados II Fila de Prioridade e Heaps 1 Heap Sort...mas antes Agenda Implementação de uma Fila de Prioridade usando um HEAP Propriedade do Heap e exemplos adcionar min/max Remover

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir

Leia mais

ESTRUTURA DE DADOS VETORES E LISTAS LINEARES

ESTRUTURA DE DADOS VETORES E LISTAS LINEARES ESTRUTURA DE DADOS VETORES E LISTAS LINEARES Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer os vetores Compreender as Listas Sequenciais Implementar uma Lista Sequencial com Vetor GRUPOS? Até o fim

Leia mais

Análise e Técnicas de Algoritmos

Análise e Técnicas de Algoritmos Análise e Técnicas de Algoritmos Prof. Jorge Figueiredo http://www.dsc.ufcg.edu.br/~abrantes/atal032.html Jorge Figueiredo Aula 1-1 Agenda Apresentação do curso Motivação Introdução informal Jorge Figueiredo

Leia mais

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 Márcia Da Silva 2, Igor Gamste Haugg 3, Eliézer Silveira Prigol 4, Édson L. Padoin 5, Rogério S. M. Martins

Leia mais

Organização de Computadores Computação paralela; Sistema de entrada e saída (I/O); Suporte a Sistema operacional. Professor: Francisco Ary

Organização de Computadores Computação paralela; Sistema de entrada e saída (I/O); Suporte a Sistema operacional. Professor: Francisco Ary Organização de Computadores Computação paralela; Sistema de entrada e saída (I/O); Suporte a Sistema operacional Professor: Francisco Ary Computação Paralela Capacidade de um sistema computacional executar

Leia mais

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 Jessica De Almeida Berlezi 2, Janiel Ceretta Foletto 3, Edson Luiz Padoin 4, Rogério S. M. Martins 5. 1 Trabalho realizado

Leia mais

ORDENAÇÃO EXTERNA DE ARQUIVOS: GERAÇÃO DE PARTIÇÕES CLASSIFICADAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

ORDENAÇÃO EXTERNA DE ARQUIVOS: GERAÇÃO DE PARTIÇÕES CLASSIFICADAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ORDENAÇÃO EXTERNA DE ARQUIVOS: GERAÇÃO DE PARTIÇÕES CLASSIFICADAS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ORDENAÇÃO DE ARQUIVOS GRANDES Para arquivos binários, é possível implementar o

Leia mais

Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot

Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Universidade Estadual de Santa Cruz Cronograma Introdução Serial vs Processamento

Leia mais

ALGORITMOS AVANÇADOS. UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão

ALGORITMOS AVANÇADOS. UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão UNIDADE III Algoritmo de Ordenação por Intercalação (Mergesort) Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 3.1 - Definição 3.2 - Dividir para conquistar 3.3 - Problema da

Leia mais

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A.

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Processamento Cosequencial: Ordenação Interna e Externa Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Ciferri Ordenação em RAM Situação: arquivo cabe em RAM Etapas leitura de todos

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

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C

Exercícios: Árvores. Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de estrutura de dados em linguagem C Exercícios: Árvores 1. Utilizando os conceitos de grafos, defina uma árvore.

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes

Leia mais