Impacto do uso da Biblioteca ScaLAPACK no Algoritmo de Análise de Componentes Principais (ACP)

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

Download "Impacto do uso da Biblioteca ScaLAPACK no Algoritmo de Análise de Componentes Principais (ACP)"

Transcrição

1 Impacto do uso da Biblioteca ScaLAPACK no Algoritmo de Análise de Componentes Principais (ACP) Thiago Valença Silva 1, Edward David Moreno 1, Wanderson Roger Azevedo Dias 2 1 Departamento de Computação Universidade Federal de Sergipe (UFS) São Cristóvão SE Brasil 2 Coordenadoria de Informática Instituto Federal de Sergipe (IFS) Laboratório de Arquiteturas Computacionais e Processamento de Alto Desempenho (LACPAD) Itabaiana SE Brasil {thiagovs23, edwdavid, wradias}@gmail.com Abstract. Using parallel features to hone algorithms is a trend in the computing world. This research analyzed the use of parallel libraries for the refinement of the ACP algorithm. From the results obtained from the executions carried out with ScaLAPACK, it was possible to perceive the importance of the correct use of the parallel resources (software and hardware). Resumo. A utilização de recursos paralelos para aprimorar algoritmos é uma tendência no mundo da computação. Esta pesquisa analisou o uso de bibliotecas paralelas para o aperfeiçoamento do algoritmo ACP. A partir dos resultados obtidos das execuções realizadas com o ScaLAPACK, foi possível perceber a importância da utilização correta dos recursos paralelos (software e hardware). 1. Introdução Atualmente, aplicações como a rede social Facebook e a máquina de busca Google têm a tarefa de retirar informações, em tempo hábil, de bases de dados cada vez maiores. Sendo assim, necessita-se um poder computacional robusto para a execução desta atividade, mas como fazer isso sem aumentar exponencialmente os custos relacionados a criação deste computador? A resposta pode estar na inserção de uma arquitetura paralela em que são utilizados computadores não tão potentes, mas que possam trabalhar em conjunto na execução de uma tarefa, conhecido como cluster heterogêneo. Vários algoritmos necessitam processar uma quantidade considerável de dados, como é o caso da Análise de Componentes Principais (ACP) (Jolliffe, 2002), necessitando de um tempo maior para apresentar resultados. Um dos pontos que atrasam o processamento em uma arquitetura sequencial é que mesmo que não exista uma dependência entre as tarefas, elas são executadas uma após a outra. Assim, buscou-se reunir dados com o propósito de responder de que forma a aplicação de técnicas de desenvolvimento paralelo pode aumentar o desempenho no processo de obtenção de componentes principais. Então, para o desenvolvimento deste trabalho foram utilizadas pesquisas bibliográficas e testes de escalabilidade, sendo estes executados utilizando multiplicação de matrizes e o programa que reproduz o algoritmo de Análise de Componentes Principais. O restante do artigo está organizado da seguinte forma: a Seção 2 apresenta uma breve contextualização sobre a programação paralela, a fim, de ambientar o estudo corrente, nesta seção também explana conceitos sobre Message Passing Interface (MPI), ScaLAPACK e Análise de Componentes Principais (ACP); A Seção 3 apresenta as análises de resultados dos testes realizados e a Seção 4 finaliza com as conclusões e idéias para trabalhos futuros. 2. Programação Paralela Em um cenário onde a indústria não estava conseguindo desenvolver chips que acompanhassem a Lei de Moore, foi necessário haver uma ruptura com o modelo antigo de processadores mono-core. A indústria de 129

2 computação mudou o curso em 2005 quando a Intel [...] anunciou que dali em diante seus computadores de alta performance iriam conter múltiplos processadores ou núcleos. (Asanović, et al., 2006). Em consonância com a citação acima, Pacheco (2011, p.1,2) afirma que a maioria dos produtores de chip (Intel, AMD, ARM e etc), decidiram que o caminho para o rápido aumento de desempenho é na direção do paralelismo. Além disso, ele afirma que essas mudanças revolucionariam também o modo de programar já que os códigos seriais não iriam se adequar magicamente às novas arquiteturas para aumentar o ritmo de processamento. Contudo, antes de 2005 a computação paralela não era tão explorada porque até então o processamento serial fazia bem o seu papel, porém isso começou a não acontecer mais e era necessária uma mudança. A programação paralela surge como solução para este problema, porém foi necessário haver mudanças que vão além da arquitetura. Programas deveriam ser reescritos, agora, para realizar instruções paralelas e não só seriais como eram antigamente. Segundo Rauber & Rünger (2013, p.1) a computação paralela vem sendo bem consolidada ao passar dos anos em simulações de problemas científicos que exigem uma alta performance. Ademais, por causa das mudanças de hardware já citadas, o processamento paralelo tornou-se um campo primordial em técnicas de desenvolvimento de software. Então, subentende-se que cada vez mais a computação paralela deve continuar sendo explorada tanto no meio acadêmico quanto na indústria como resultado da estagnação nos índices de desenvolvimento em processamentos mono-core Message Passing Interface (MPI) De acordo com Rauber & Rünger (2013, p.228) o modelo de envio de mensagens (Message Passing Model) é apropriado para uma arquitetura onde não há memória global, ou seja, a memória está distribuída entre os processadores. Este modelo trabalha enviando mensagens da memória de um processador para a memória de outro. Para isso, instruções de envio e recebimento devem ser realizadas pelos processadores. É interessante destacar que o modelo MPI foi criado para arquiteturas como clusteres, onde a memória está distribuída entre os processadores, além da necessidade de utilização de instruções extras para lidar com a comunicação entre memórias. Mesmo assim espera-se que essas instruções sejam utilizadas de forma a não se sobrepor as comunicações com outras operações em tempo de execução do algoritmo. Conforme Gropp, et. al. (1999), o desafio encontrado para a obtenção de uma interface que pudesse prover paralelismo era a portabilidade, então, a comunidade científica se mobilizou para criar uma biblioteca padrão que pode ser utilizada na maioria dos sistemas paralelos de memória distribuída. Muitas bibliotecas foram criadas, porém a que mais se destacou e a mais utilizada é a Interface de Envio de Mensagens (Message Passing Interface ou MPI). Pode-se dizer que tanto Rauber & Rünger (2013) quanto Gropp, et. al. (1999) concordam sobre a importância da criação de uma biblioteca padrão capaz de fazer a interação entre o desenvolvedor e os recursos paralelos e convergem também sobre a adequação do modelo apresentado com a arquitetura que é utilizada em clusteres ScaLAPACK O MPI traz uma forma do desenvolvedor interagir com arquiteturas de memória distribuída, porém essa interação deve ser feita com alguns cuidados para que o programa não apresente uma performance aquém do esperado. O ScaLAPACK (Blackford, et. al. 1997) possui funções de álgebra linear otimizadas para sistemas de memória distribuída. A biblioteca ScaLAPACK utiliza duas outras bibliotecas para fornecer funções que resolvem problemas de álgebra linear em sistemas de memória distribuída (Pacheco, 1996). A primeira é o LAPACK (Linear Algebra Package) que viabiliza funções para a resolução de problemas de álgebra em sistemas de memória compartilhada. A segunda biblioteca é o BLAS (Basic Linear Algebra Subprogram) que oferece funções operações básicas como multiplicação vetor-matriz, multiplicação entre matrizes, entre outras. 130

3 Por se utilizar do LAPACK e entender suas funções para sistemas de memória distribuída, o ScaLAPACK (Scalable Linear Algebra Package, ou Pacote de Álgebra Linear Escalável) possui portabilidade e a otimização alcançada nas operações faz com que a biblioteca seja bastante utilizada pelo meio acadêmico em processamento de alta performance. De acordo com Quinn (2003, p.211), o ScaLAPACK oferece uma variedade de funções como operações básicas em matrizes e vetores, resolução de sistemas lineares de equações e o cálculo de autovalores e autovetores. Trata-se inegavelmente de uma biblioteca de ampla utilidade em algoritmos comumente utilizados no meio acadêmico, além de ser uma biblioteca gratuita. Pode-se dizer que as funções citadas por Pacheco (1996) e Quinn (2003) podem ser escritas utilizando apenas MPI e que a utilização da biblioteca ScaLAPACK traz algumas vantagens para o programa que contém as funções oferecidas, como: (i) eficiência; (ii) portabilidade e (iii) disponibilidade Análise em Componentes Principais (ACP) A Análise em Componentes Principais é uma técnica que realiza redução dimensional dos dados sem grande perda de informação. Isso é feito eliminando a parte redundante da informação (Araujo, 2009). Então, para encontrar os componentes principais é necessário: (i) padronização dos dados; (ii) cálculo da matriz de correlação; (iii) cálculo dos autovalores e autovetores e (iv) transformada de Hotelling. 3. Resultados Experimentais 3.1. Multiplicação de Matrizes Para a realização dos testes com multiplicação de matrizes foi utilizada uma base de dados numéricos contendo 32,66MB de dados. Os testes foram feitos utilizando matrizes quadradas de dimensão variando entre quadrados perfeitos encontrados de a e número de processos variando entre quadrados perfeitos de 1 a 16. No gráfico da Figura 1, cada ponto representa o tempo de execução da multiplicação em determinado tamanho de matriz e cada reta representa o número de processos que foi utilizado nas execuções. Então, analisando a Figura 1 destacamos que a reta representando as execuções que utilizaram oito processos teve desempenho melhor que as outras retas, porém esse ganho não é significativo. Também é interessante destacar que mesmo que exista um ganho de performance, as retas têm um padrão de crescimento similar fazendo com que não exista uma diferença significante entre a quantidades de processos em execução. Ainda analisando a Figura 1 é possível destacar que a execução do programa com dezesseis processos teve a pior performance. Isso pode ter ocorrido principalmente porque apesar de muitos processos em execução, a arquitetura utilizada nos testes só possui um único processador (core). Por este motivo, a inserção de n processos em uma arquitetura como esta é prejudicial quanto ao desempenho computacional do programa em execução, quando o melhor caso para o uso do ScaLAPACK é quando se tem vários nós. Figura 1. Tempos de execução do algoritmo de multiplicação de matrizes 131

4 Também destacamos que o comportamento do crescimento das retas na Figura 1 é que existe um padrão de crescimento linear levando em consideração que o tamanho das matrizes utilizadas nos testes é sempre 4x menor que a sua subsequente. Por fim, é imprescindível lembrar que os testes representados na Figura 1 foram executados em uma máquina em que só existe um nó de processamento e os processos são organizados em um único processador (core) o que resulta em pequeno ganho ou até mesmo em overhead. Então, espera-se que em uma arquitetura com mais de um nó a computação seja melhor distribuída entre esses nós o que possivelmente resultará em um melhor desempenho na execução do algoritmo Multiplicação de Matrizes com ACP Igualmente para os testes de multipliação de matrizes (conforme Seção 3.1), também foi utilizada uma base de dados numéricos contendo 32,66MB de dados. Os dados de entradas foram lidos como uma matriz em que as linhas representavam as variáveis e as colunas as informações sobre as mesmas. Então, os testes foram feitos utilizando matrizes de entrada com números de linhas alternando entre 2, 4 e 8 e número de colunas alternando em quadrados perfeitos entre e Também alterou-se a quantidade de processos utilizados em cada bloco de testes usando os valores 1, 2, 4, 8 e 16. Os testes foram divididos em três gráficos (a, b e c) apresentados na Figura 2, conforme a quantidade de variáveis que são representadas pelas linhas da matriz de entrada. A Figura 2(a) mostra os resultados obtidos na execução do ACP em uma matriz com apenas duas variáveis, onde cada linha representa o programa sendo executado por diferente número de processos. (a) com 2 variáveis (b) com 4 variáveis (c) com 8 variáveis Figura 2. Tempo de execução da multiplicação de matriz usando ACP Observando a Figura 2(a), percebe-se que quanto maior o número de processos utilizados, pior é a performance do programa. Isso pode parecer não lógico devido ao fato de um maior número de processos organizarem melhor as partes do programa em diferentes nós, porém é necessário perceber que o ambiente onde o programa foi executado possui apenas um nó, ou seja, apenas um processador, então a criação de vários processos nesse caso adiciona complexidade (overhead) à execução sem haver uma compensação. 132

5 Analisando a Figura 2(b), destacamos que execução com 8 e 16 processos em uma matriz com colunas não foi finalizada com sucesso devido a complexidade adicionada pelo aumento das variáveis. A utilização de uma arquitetura em que esses processos sejam divididos entre diferentes nós pode ser uma possível solução para este problema de execução. Também destacamos que o mesmo fato ocorreu quando a execução foi realizada com 8 variáveis (ver Figura 2(c)). No entanto, é interessante destacar a disparidade quando se compara a execução utilizando dois processos com a execução que utiliza dezesseis processos, é visível que o overhead foi causado por causa do acréscimo de complexidade ao aumentar o número de processos criados em uma arquitetura com processador único. Por fim, a Figura 3 mostra a execução do ACP em matrizes com 2, 4 e 8 variáveis utilizando apenas 2 processos que foi constatado como melhor caso. Observando a Figura 3, é perceptível ver o aumento de complexidade quando o número de variáveis é aumentado. É esperado que a execução deste algoritmo em uma arquitetura que contenha vários nós apresente melhores resultados e uma menor disparidade quando comparado os tempos de execução com quantidades de variáveis distintas. Figura 3. Tempo de execução do ACP utilizando 2 processo com 2, 4 e 8 variáveis 3.3. Multiplicação de Matrizes com ACP no Cluster Para a realização das execuções no cluster foram gerados em tempo de execução dados numéricos aleatórios, a plataforma usada foi o cluster Cristal localizado no Departamento de Computação (DComp) da Universidade Federal de Sergipe (UFS). Os dados de entradas foram lidos como uma matriz em que as linhas representavam as variáveis e as colunas as informações sobre as mesmas. Os testes foram feitos utilizando matrizes de entrada com número de linhas alternando entre 2, 4, 8, 16, 32, 64 e 128 e número de colunas alternando em quadrados perfeitos entre 2 a de acordo com a capacidade do hardware de processar esses dados. Além do tamanho da matriz, alterou-se também a quantidade de processos utilizados em cada bloco de testes usando os valores 4, 8, 16 e 32. A Figura 4(a) apresenta parte dos testes executados no cluster Cristal e mostra a quantificação de dados computados no cluster que foi maior que nos testes realizados anteriormente. Pode-se perceber que com 8 variáveis, o cluster conseguiu computar uma matriz com colunas resultando em uma matriz de mais de um bilhão de dados. Além disso, pode-se aumentar o número de variáveis para 512 conseguindo ainda sucesso nas execuções, algo não atingido nas outras execuções. O programa utilizando a biblioteca ScaLAPACK se mostrou mais escalável no cluster. Outro cenário importante para a comparação é o efeito gerado a partir da mudança de quantidade de processos na execução como é mostrado na Figura 4(b). Execuções com 2, 64 e 128 processos também foram executados, mas não apresentaram resultados coesos, ou seja, algumas execuções apresentaram resultado e outros erros. Ainda observa-se na Figura 4(b) que as execuções que utilizaram 4 e 8 processos tiveram um crescimento mais contido em relação às outras configurações. 133

6 (a) com 4 processos (b) com 8 processos Figura 4. Biblioteca ScaLAPACK executando uma matriz no cluster Cristal 4. Conclusões e Trabalhos Futuros O desenvolvimento deste trabalho possibilitou uma análise do uso de ferramentas paralelas, no caso o MPI e o ScaLAPACK, na execução do algoritmo ACP de forma paralela. Ao mesmo tempo o trabalho ampliou a noção de que é necessário um ambiente apropriado para que a execução de códigos paralelos sejam eficientes. De forma geral, foi demonstrado que a utilização de ferramentas paralelas em um ambiente (hardware) que não dá suporte aos recursos necessários, como por exemplo a disponibilidade de vários processadores independentes, estará acrescentando complexidade ao programa e por consequência aumentando o tempo de execução. Então, é válida a idéia do uso do ScaLAPACK como instrumento para aumentar o desempenho de um algoritmo que executa rotinas de álgebra linear, porém é necessário prover recursos suficientes para que todo o potencial da biblioteca possa ser extraído. Portanto, a utilização de técnicas de desenvolvimento paralelo tem o potencial de aumentar o desempenho no processo de obtenção de componentes principais. Dada a necessidade de investigar mais profundamente o tema, sugere-se como trabalhos futuros: (i) configurar um ambiente que atenderá todos os requisitos para explorar o potencial do ScaLAPACK; (ii) execução do ACP em um cluster embarcado; (iii) utilizar outros métodos de cálculo numérico para identificação dos autovalores e dos autovetores, tais como: método das Potências, ou o método de Leverrier. Referências Araujo, W. O. de (2009) Análise de Componentes Principais (PCA). Centro Universitário de Anápolis, Relatório Técnico RT-MSTMA_003-09, Maio, 2009, 12p. Asanović, K.; Bodik, R.; Catanzaro, B. C.; Gebis, J. J.; Husbands, P.; Keutzer, K.; Patterson, D. A.; Plishker, W. L.; Shalf, J.; Williams, S. W. and Yelick, K. A. (2006) The Landscape of Parallel Computing Research: A View from Berkeley. EECS Department, University of California, Berkeley, Technical Report Nº UCB/EECS , December 18, 2006, 56p. Blackford, L. S.; Choi, J.; Cleary, A.; D'Azevedo, E.; Demmel, J.; Dhillon, I.; Dongarra, J.; Hammarling, S.; Henry, G.; Petitet, A.; Stanley, K.; Walker, D. and Whaley, R. C. (1997) ScaLAPACK Users Guide. Series: Software, Environments and Tools. Book Code, 345p. Gropp, W.; Lusk, E.; Skjellum, A. (1999) Using MPI: Portable Parallel Programming with the Message- Passing Interface. Cambridge: MIT Press, 2 nd edition, 350p. Jolliffe, I. T. (2002) Principal Component Analysis, Series: Springer Series in Statistics. New York: Springer, 2 nd edition, 487p. Pacheco, P. S. (2011) An Introduction to Parallel Programming. San Francisco: Elsevier, 1 st edition, 392p. Pacheco, P. S. (1996) Parallel Programming with MPI. San Francisco: Morgan Kaufmann, 1 st edition, 500p. Quinn, M. J. (2003) Parallel Programming in C with MPI and OpenMP. Mc Graw Hill, 1 st edition, 544p. Rauber, T.; Rünger, G. (2013) Parallel Programming for Multicore and Cluster Systems. New York: Springer, 2 nd edition, 529p. 134

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

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

USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS

USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO

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

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core RSS-Verão-01/08 p.1/36 Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7 Escola de Verão 2008 Arquiteturas Multi-Core Renato S. Silva LNCC - MCT Janeiro de 2008 RSS-Verão-01/08 p.2/36 Objetivo:

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

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

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1 UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1 Eldair F. Dornelles 2, Henrique A. Richter 3, Miquéias F. M. Trennepohl 4, Taís T. Siqueira

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

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

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

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

Modelo de Programação Paralela

Modelo de Programação Paralela Modelo de Programação Paralela As arquiteturas paralelas e distribuídas possuem muitos detalhes Como especificar uma solução paralela pensando em todos esses detalhes? O que queremos? Eecutar a solução

Leia mais

Programação Concorrente e Paralela

Programação Concorrente e Paralela 2010.2 Objetivos princípios e técnicas de programação paralela multiprocessadores memória compartilhada troca de mensagens arquiteturas alternativas multicomputadores troca de mensagens obs: Essa troca

Leia mais

Análise empírica de algoritmos de ordenação

Análise empírica de algoritmos de ordenação Análise empírica de algoritmos de ordenação Mario E. Matiusso Jr. (11028407) Bacharelado em Ciências da Computação Universidade Federal do ABC (UFABC) Santo André, SP Brasil mario3001[a]ig.com.br Resumo:

Leia mais

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina

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

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES Euzébio da Costa Silva 1, Victor Pereira Ribeiro 2, Susana Brunoro Costa de Oliveira 3 1 29520-000, euzebioprogramacao@gmail.com 2 29520-000, victor3ifes@gmail.com

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

Computadores e Programação (DCC/UFRJ)

Computadores e Programação (DCC/UFRJ) Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo

Leia mais

TÍTULO: PROGRAMAÇÃO PARALELA - UMA INTRODUÇÃO AO PARALELISMO COM A OPENMPI

TÍTULO: PROGRAMAÇÃO PARALELA - UMA INTRODUÇÃO AO PARALELISMO COM A OPENMPI Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: PROGRAMAÇÃO PARALELA - UMA INTRODUÇÃO AO PARALELISMO COM A OPENMPI CATEGORIA: CONCLUÍDO ÁREA:

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

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

IMPLEMENTAÇÃO E AVALIAÇÃO DE UM MODELO DE MERCADO IMPERFEITO EM COMPUTAÇÃO PARALELA

IMPLEMENTAÇÃO E AVALIAÇÃO DE UM MODELO DE MERCADO IMPERFEITO EM COMPUTAÇÃO PARALELA IMPLEMENTAÇÃO E AVALIAÇÃO DE UM MODELO DE MERCADO IMPERFEITO EM COMPUTAÇÃO PARALELA Ana Luísa de A. Santos, Diego Carvalho, Felipe G. França DEL/UFRJ, COPPE/UFRJ E-mail: analuisa@lps.ufrj.br RESUMO Este

Leia mais

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register PROCESSADORES Um computador digital consiste em um sistema interconectado de processadores, memória e dispositivos de entrada e saída. A CPU é o cérebro do computador. Sua função é executar programas armazenados

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

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

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

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

Projeto BELIEVe : Andamento de projeto. Junho / 2003

Projeto BELIEVe : Andamento de projeto. Junho / 2003 Projeto BELIEVe : Andamento de projeto Junho / 2003 Participantes EFA Angelo Passaro Onofre Felix de Lima Neto (Sgto) Roberto Y. Tanaka Ademar Muraro Jr. Nancy M. Abe Marcos A. Rugierri Franco Antônio

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

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

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

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização

Arquitetura e Organização de Processadores. Aula 1. Introdução Arquitetura e Organização Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 1 Introdução Arquitetura e Organização 1. Arquitetura

Leia mais

Processamento Paralelo

Processamento Paralelo Processamento Paralelo Apresentação do Curso Esbel Tomás Valero Orellana Bacharelado em Ciência da Computação Departamento de Ciências Exatas e Tecnológicas Universidade Estadual de Santa Cruz evalero@uesc.br

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

The future is parallel but it may not be easy

The future is parallel but it may not be easy The future is parallel but it may not be easy Adriano Tabarelli, Alex Morinaga, Caio Silva, Cássia Ferreira, Daniel Santos, Eduardo Apolinário, Hugo Posca, Thiago Batista, Paulo Floriano Universidade de

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

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos Profa. Sheila Morais de Almeida DAINF-UTFPR-PG junho - 2018 Sheila Almeida (DAINF-UTFPR-PG) Análise e Projeto de Algoritmos junho - 2018 1 / 40 Este material é preparado

Leia mais

CRIVO QUADRÁTICO: UM ESTUDO DA OBTENÇÃO DE UM QUADRADO PERFEITO

CRIVO QUADRÁTICO: UM ESTUDO DA OBTENÇÃO DE UM QUADRADO PERFEITO CRIVO QUADRÁTICO: UM ESTUDO DA OBTENÇÃO DE UM QUADRADO PERFEITO Marcelo Figueiredo Terenciani 1 ; Adriana Betânia de Paula Molgora 2 1 Estudante do Curso de Ciência da Computação da UEMS, Unidade Universitária

Leia mais

Suporte à Execução Eficiente de Aplicações em Plataformas com Paralelismo Multi-Nível

Suporte à Execução Eficiente de Aplicações em Plataformas com Paralelismo Multi-Nível Suporte à Execução Eficiente de Aplicações em Plataformas com Paralelismo Multi-Nível Vinícius Garcia Pinto Lucas Mello Schnorr Nicolas Maillard Grupo de Processamento Paralelo e Distribuído (GPPD) Instituto

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

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

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

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

Exemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface. Fator de speed-up. Speed-up 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

Leia mais

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante Gabriel Freytag Guilherme Arruda Rogério S. M. Martins Edson L. Padoin Universidade Regional do Noroeste do Estado do Rio Grande

Leia mais

Análise de algoritmos

Análise de algoritmos Análise de algoritmos SCE-181 Introdução à Ciência da Computação II Alneu Lopes Thiago A. S. Pardo 1 Algoritmo Noção geral: conjunto de instruções que devem ser seguidas para solucionar um determinado

Leia mais

Ambientes de computação de alto desempenho no LNCC

Ambientes de computação de alto desempenho no LNCC Ambientes de computação de alto desempenho no LNCC Roberto Pinto Souto MCTI/LNCC/CSR - CENAPAD-RJ rpsouto@lncc.br 24 de Março de 2014 (Seminário da Pós-graduaçao) 24 de Março de 2014 1 / 78 Roteiro 1 Introdução

Leia mais

Introdução aos Conceitos de Computação Paralela através da estimativa de Pi

Introdução aos Conceitos de Computação Paralela através da estimativa de Pi Introdução aos Conceitos de Computação Paralela através da estimativa de Pi Diego da Silva Pereira 1 1 Professor de Redes de Computadores IFRN Câmpus Currais Novos. e-mail: diego.pereira@ifrn.edu.br Resumo:

Leia mais

Preliminares. Profa. Sheila Morais de Almeida. agosto

Preliminares. Profa. Sheila Morais de Almeida. agosto Preliminares Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2016 Algoritmos Definição - Skiena Algoritmo é a ideia por trás dos programas de computador. É aquilo que permanece igual se o programa

Leia mais

Computação de Alto Desempenho Clusters de PCs

Computação de Alto Desempenho Clusters de PCs RSS-10/03 p.1/31 Computação de Alto Desempenho Clusters de PCs Renato Silva LNCC - MCT Outubro de 2003 RSS-10/03 p.2/31 Renato S. Silva sala: 2a-23 - ramal: 6148 - e-mail: rssr@lncc.br Material: Aulas:

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

Pesquisa de Iniciação Científica desenvolvida no Grupo de Pesquisa em Computação Aplicada (GCA) da UNIJUI 2

Pesquisa de Iniciação Científica desenvolvida no Grupo de Pesquisa em Computação Aplicada (GCA) da UNIJUI 2 AMBIENTE DE EXPERIMENTAÇÃO PARA PLATAFORMAS DE INTEGRAÇÃO DE APLICAÇÕES EMPRESARIAIS 1 AN EXPERIMENTAL ENVIRONMENT FOR ENTERPRISE APPLICATIONS INTEGRATION PLATFORMS Matheus Henrique Rehbein 2, Rafael Z.

Leia mais

Introdução ao CUDA. Material elaborado por Davi Conte.

Introdução ao CUDA. Material elaborado por Davi Conte. Introdução ao CUDA Material elaborado por Davi Conte. O objetivo deste material é que o aluno possa iniciar seus conhecimentos em programação paralela, entendendo a diferença da execução de forma sequencial

Leia mais

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador 1 Introdução 1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador possa resolver problemas de forma automática

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

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 01 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL O OBJETIVO DA DISCIPLINA? Objetivo Tornar vocês (alunos) capazes

Leia mais

Carlos Eduardo Batista Centro de Informática - UFPB

Carlos Eduardo Batista Centro de Informática - UFPB Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação Arquitetura de computadores modernos Desafios da programação concorrente Definição de concorrência Correr junto Disputa por

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

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. ramal 5981

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. ramal 5981 CCI-36 Computação Gráfica Apresentação Instituto Tecnológico de Aeronáutica Prof. Carlos Henrique Q. Forster Sala 121 IEC VERSÃO 2019 ramal 5981 Tópicos do curso Gráficos vetoriais Imagens Inteface gráfica

Leia mais

Definindo melhor alguns conceitos

Definindo melhor alguns conceitos Definindo melhor alguns conceitos Concorrência termo mais geral, um programa pode ser constituído por mais de um thread/processo concorrendo por recursos Paralelismo uma aplicação é eecutada por um conjunto

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

Aplicação de Processamento Paralelo com GPU a Problemas de Escoamento Monofásico em Meios Porosos. Bruno Pereira dos Santos Dany Sanchez Dominguez

Aplicação de Processamento Paralelo com GPU a Problemas de Escoamento Monofásico em Meios Porosos. Bruno Pereira dos Santos Dany Sanchez Dominguez Aplicação de Processamento Paralelo com GPU a Problemas de Escoamento Monofásico em Meios Porosos Bruno Pereira dos Santos Dany Sanchez Dominguez 1 Roteiro 1. Introdução 2. Five-Spot Problem 3. Modelagem

Leia mais

Processamento de áudio em tempo real utilizando dispositivos não convencionais:

Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento paralelo com Pure Data e GPU. André Jucovsky Bianchi ajb@ime.usp.br Departamento de Ciência da Computação Instituto

Leia mais

Implementação da Especificação de Tempo Real Java para o EPOS

Implementação da Especificação de Tempo Real Java para o EPOS UNIVERSIDADE FEDERAL DE SANTA CATARINA Curso de Ciências da Computação Implementação da Especificação de Tempo Real Java para o EPOS ANDERSON LUIS ZAPELLO Florianópolis, julho de 2005 ANDERSON LUIS ZAPELLO

Leia mais

Algoritmos Genéticos em Ambientes Paralelos

Algoritmos Genéticos em Ambientes Paralelos Algoritmos Genéticos em Ambientes Paralelos Michele Alves de Freitas Batista Instituto Nacional de Pesquisas Espaciais michele.afreitas@gmail.com Lamartine Nogueira Frutuoso Guimarães Instituto Nacional

Leia mais

Arquitetura de Microprocessadores

Arquitetura de Microprocessadores Arquitetura de Computadores UNIDADE 4 Arquitetura de 26-02-2019 Sumário Técnicas de processamento paralelo; Pipeline; Hyper-Threading; Processadores de vários núcleos; O aumento de velocidade de processamento

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

INFRAESTRUTURA PARA CLOUD COMPUTING VISANDO INTEROPERABILIDADE E DISPONIBILIDADE. Charles Boulhosa Rodamilans Edson Toshimi Midorikawa

INFRAESTRUTURA PARA CLOUD COMPUTING VISANDO INTEROPERABILIDADE E DISPONIBILIDADE. Charles Boulhosa Rodamilans Edson Toshimi Midorikawa IMPLEMENTAÇÃO DE UMA INFRAESTRUTURA PARA CLOUD COMPUTING VISANDO INTEROPERABILIDADE E DISPONIBILIDADE Charles Boulhosa Rodamilans Edson Toshimi Midorikawa {rodamilans, emidorik}@usp.br AGENDA Introdução

Leia mais

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação. Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de Computadores I Organização e Arquitetura Básicas

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

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MINAS GERAIS IFMG Matriz Curricular FGGCOMP - Bacharelado em Ciência da Computação 0. Disciplinas Obrigatórias FGGCOMP.00 Cálculo I FGGELET.00 - Cálculo I / FGGMATE.00 - Cálculo Diferencial e Integral I FGGCOMP.00 Geometria

Leia mais

Implantação e Análise de Desempenho de um Cluster com Processadores ARM e Plataforma Raspberry Pi

Implantação e Análise de Desempenho de um Cluster com Processadores ARM e Plataforma Raspberry Pi UNIVERSIDADE FEDERAL DE SERGIPE CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Implantação e Análise de Desempenho de um Cluster com Processadores ARM e Plataforma

Leia mais

Monitorando o Consumo Energético de Aplicações Concorrentes com Arduino

Monitorando o Consumo Energético de Aplicações Concorrentes com Arduino Monitorando o Consumo Energético de Aplicações Concorrentes com Arduino Bruno Giacobo Pinto Lucas Mendonça da Silva Xavier Gerson G. H. Cavalheiro Laboratory of Ubiquitous and Parallel Systems Universidade

Leia mais

Máquinas mais rápidas do mundo

Máquinas mais rápidas do mundo Máquinas mais rápidas do mundo Jorge Melegati Instituto de Matemática e Estatística Introdução à Computação Paralela e Distribuída melegati@ime.usp.br Junho de 2015 Jorge Melegati (IME) Máquinas mais rápidas

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

Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva

Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva Introdução à Programação Paralela através de Padrões Denise Stringhini Calebe Bianchini Luciano Silva Sumário Introdução: conceitos de paralelismo Conceitos básicos sobre padrões de programação paralela

Leia mais

SSC0112 Organização de Computadores Digitais I - Turma 2

SSC0112 Organização de Computadores Digitais I - Turma 2 SSC0112 Organização de Computadores Digitais I - Turma 2 1ª Aula Apresentação e Introdução da disciplina Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Apresentada pelo Prof. Paulo Sergio Lopes de Souza

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

Softwares livres e sua utilização no ensino de engenharia

Softwares livres e sua utilização no ensino de engenharia Softwares livres e sua utilização no ensino de engenharia Ana Flávia Marques Martins, Frederico Ferreira Alvim de Aguiar, Giordano Moyses Temponi, Luciano Rubinger Júnior, Victor Rangel de Carvalho Resumo

Leia mais

Sumário. Referências utilizadas. Introdução. MAFIA: Merging of Adaptive Finite Intervals. Introdução Visão Geral e Objetivos do MAFIA

Sumário. Referências utilizadas. Introdução. MAFIA: Merging of Adaptive Finite Intervals. Introdução Visão Geral e Objetivos do MAFIA Sumário : Merging of Adaptive Finite Intervals Elaine Ribeiro de Faria Análise de Agrupamento de Dados ICMC-USP Dezembro 2010 Introdução Visão Geral e Objetivos do Algoritmo Grid Adaptativo Algoritmo Algoritmo

Leia mais

Predição de Utilização de Recursos Computacionais Usando Séries Temporais

Predição de Utilização de Recursos Computacionais Usando Séries Temporais Predição de Utilização de Recursos Computacionais Usando Séries Temporais Aluno: Paulo Roberto Pereira da Silva Orientador: Paulo Romero Martins Maciel Coorientador: Jean Carlos Teixeira de Araujo de Garanhuns

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

Sistemas Digitais INE 5406

Sistemas Digitais INE 5406 Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Sistemas Digitais INE 5406 Aula 10-P Refinamento das especificações

Leia mais

Intel Thread Building Blocks (TBB)

Intel Thread Building Blocks (TBB) Intel Thread Building Blocks (TBB) MCZA020-13 - Programação Paralela Emilio Francesquini e.francesquini@ufabc.edu.br 2019.Q1 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Disclaimer

Leia mais

XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015

XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015 XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015 Impacto das Interfaces de Programação Paralela e do Grau de Paralelismo no Consumo Energético de uma Aplicação Thayson R. Karlinski, Arthur F. Lorenzon,

Leia mais

Programação Paralela e Distribuída

Programação Paralela e Distribuída INE 5645 Programação Paralela e Distribuída Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. Introdução 2. Programação Paralela 3. Controle de Concorrência 4.

Leia mais

Aluno do Curso de Ciência da Computação UNIJUÍ, 3

Aluno do Curso de Ciência da Computação UNIJUÍ, 3 PROPOSTA DE UM BALANCEADOR DE CARGA PARA REDUÇÃO DE TEMPO DE EXECUÇÃO DE APLICAÇÕES EM AMBIENTES PARALELOS 1 PROPOSAL FOR A LOAD BALANCER TO REDUCE APPLICATION RUNTIME IN PARALLEL ENVIRONMENTS Vinícius

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

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

Ferramentas de Suporte

Ferramentas de Suporte Cálculo Numérico Módulo I Prof Reinaldo Haas Como estudar Métodos Numéricos? 2 Uso do método numérico Computador Programa Desenvolver Utilizar Verificar validade dos resultados obtidos 3 Programas para

Leia mais

ANÁLISE COMPARATIVA ENTRE MODELOS DISTINTOS DE SGBD UTILIZANDO PROCESSAMENTO EM GPU E NOSQL

ANÁLISE COMPARATIVA ENTRE MODELOS DISTINTOS DE SGBD UTILIZANDO PROCESSAMENTO EM GPU E NOSQL ANÁLISE COMPARATIVA ENTRE MODELOS DISTINTOS DE SGBD UTILIZANDO PROCESSAMENTO EM GPU E NOSQL José Luiz Bermudez 1 ; Iury Krieger 2 ; Tiago Heineck 3 INTRODUÇÃO Segundo previsões de renomadas empresas de

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

Avaliação do Tempo de Processamento e Comunicação via Rotinas MPI Assíncronas no Modelo OLAM

Avaliação do Tempo de Processamento e Comunicação via Rotinas MPI Assíncronas no Modelo OLAM Universidade Federal do Pampa 15º Escola Regional de Alto Desempenho/RS Avaliação do Tempo de Processamento e Comunicação via Rotinas MPI Assíncronas no Modelo OLAM Matheus Beniz Bieger - Claudio Schepke

Leia mais

Universidade Federal de Ouro Preto

Universidade Federal de Ouro Preto Outubro de 2012 WSCAD-WIC 2012 - Petrópolis - RJ A parallel simulator for large scale wireless sensor network (1) Universidade Federal de Ouro Preto A parallel simulator for large scale wireless sensor

Leia mais

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período

MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO. 1º Período MATRIZ CURRICULAR BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO 1º Período Código Disciplina CHT 1 CHP 2 CH Total Pré-requisitos Dados I 40 40 80 - Cálculo I 80-80 - Fundamentos da Computação 40-40 - Fundamentos

Leia mais

SSC0611 Arquitetura de Computadores

SSC0611 Arquitetura de Computadores SSC0611 Arquitetura de Computadores 5ª e 6ª Aulas Revisão de Hierarquia de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação

Leia mais