Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular
|
|
- Bianca Vilarinho Freire
- 6 Há anos
- Visualizações:
Transcrição
1 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
2 Índice 1 Introdução 2 Algoritmo Binário de Exponenciação Complexidade Computacional 3 Paralelização do Algoritmo Binário Análise de Complexidade 4 Acelerando o Algoritmo 5 Trabalhos Correlatos 6 Conclusões
3 Introdução Neste trabalho é considerado o problema de calcular g e mod m, onde g, e Z m. A exponenciação modular é utilizada em grande parte dos algoritmos de criptografia assimétrica e testes de primalidade. O desempenho do algoritmo de exponenciação modular possui forte impacto no desempenho de muitos criptossistemas assimétricos.
4 Introdução Foi utilizado o conceito de paralelismo de tarefas para acelerar o calculo de g e mod m sendo g, e Z m. A técnica proposta está baseada no algoritmo binário de exponenciação modular.
5 Algoritmo Binário Também referenciado com square-and-multiply o algoritmo binário de exponenciação modular pode ser descrito recursivamente como: 1 se e = 0 g e = (g e/2 ) 2 se e é par g e 1 g se e é ímpar
6 Algoritmo Binário Algoritmo 1: Algoritmo binário versão esquerda para direita. Entrada: Inteiro g Z m e e = k i=0 2i b i onde b i {0,1} (representação em base binária). Saída: g e mod m. início a 1; para i = k até 0 faça a a 2 mod m; se b i = 1 então a a g mod m; 7 8 retorna a; fim
7 Complexidade Custo Computacional O algoritmo anterior, no caso médio, executa log 2 e + 1 elevações ao quadrado e log 2 e +1 2 multiplicações modulares. Custo Computacional Sendo E o custo para uma elevação ao quadrado, M o custo para uma multiplicação e j = log 2 e + 1 T(j) = je + j 2 M
8 Paralelização do Algoritmo Binário e = (b k b k 1 b k 2...b k/2 b k/2 1...b 2 b 1 b 0 ), b i {0, 1}, i {0,...,k} Fazendo e = 2 r e 1 + e 0 com r = k/2. e 1 {}}{{}}{ e = ( b k b k 1 b k 2...b k/2 b k/2 1...b 2 b 1 b 0 ) e 0 = (b k/2 1...b 1 b 0 ) e e 1 = (b k b k 1...b k/2 ) e 0
9 Paralelização do Algoritmo Binário Desta forma O cálculo de g e = g 2r e 1 +e 0 = g 2r e 1 g e 0. g e = g 2r e 1 g e 0 poderá ser executado em paralelo. log 2 e 0 log 2 e 2 e log 2 e 1 log 2 e 2
10 Paralelização do Algoritmo Binário e = ( ) Região Paralela 1 e 1 = (10011) 2 Região Paralela 2 e 2 = (11010) 2 a 1 = g e1 a 2 = g 25 e2 g e = a 1 a 2
11 Paralelização do Algoritmo Binário Algoritmo 2: Paralelização do algoritmo binário. Entrada: Inteiro g Z m e e = P k i=0 2i b i onde b i {0, 1} (representação em base binária). Saída: g e mod m. início e 0 (b r+1... b 1 b 0 ) 2 ; e 1 (b k... b r 1 b r) 2 ; início [Região Paralela 1] a 0 g e 0 mod m; fim início [Região Paralela 2] fim a 1 g 2r ; a 1 a e 1 1 mod m; fim retorna a 0 a 1 mod m;
12 Generalização Poderiamos fazer e = 2 rn e n + 2 r n 1 e n r 1 e 1 + e 0. Com log 2 e i = log 2 e n+1 e r i = i log e n+1 para i {0,...,n}. Logo g e = g 2rn e n+2 r n 1e n r 1e 1 +e 0 g e = (g en ) 2rn (g e n 1 ) 2r n 1...g e 0.
13 Generalização (Exemplo) Exemplo e = ( ) j = log 2 e + 1 = 32 e = ( }{{} }{{} }{{} }{{}) e 3 e 2 e 1 e 0 e = ( r r r ) r 1 = 8, r 2 = 16, r 3 = 24 e = 2 r 3 e r 2 e r 1 e 1 + e 0
14 Custo Computacional Para duas linhas o custo computacional é determinado pelo cálculo da expressão (g e 1 ) 2r sendo r = log 2 e Como log 2 e 1 log 2 e 2 e fazendo j = log 2 e + 1, para calcular (g e 1 ) 2r é necessário: Complexidade ( ) j T 2 (j) = je M
15 Custo Computacional (Caso Geral) Neste caso a complexidade fica determinada pelo termo onde r i é máximo, ou seja, (g e k) 2rn. Como log 2 e i = log 2 e n+1, i {0,...,n} e r n = n log 2 e n+1. Complexidade ( ) j T n (j) = je + 2n + n 1 M
16 Análise de Complexidade Comparação Sequencial T(j) = je + j 2 M Paralelo, usando n linhas paralelas ( ) j T n (j) = je + 2n + n 1 M j = log 2 e + 1
17 Análise de Complexidade Considerações Não houve redução no número de elevações ao quadrado. É necessário estudar o comportamento da função a medida que n cresce. γ(n, j) = j 2n + n 1 Esta função está associada ao número de multiplicações modulares, no caso médio.
18 Análise de Complexidade Considerando j constante, a fim de minimizar o número de multiplicações, considere a derivada parcial γ n = j 2n (1) Igualando (1) a zero e resolvendo na variável n, temos a seguinte relação entre o número de linhas paralelas n e o tamanho do expoente j. j n = (2) 2 Como 2 γ n 2 = j n 3 > 0 a expressão (2) é um mínimo global.
19 Acelerando o Algoritmo Algoritmo 3: Paralelização da multiplicação final. Entrada: Inteiros a 1, a 2,...,a n Z p Saída: O produtório n i=1 a i mod p. início enquanto n 1 faça para cada processador i = 1 até n/2 faça em paralelo A i a 2i 1 a 2i mod p; n n/2; para i = 1 até n faça a i A i ; retorna A 1 ; fim
20 Análise de Complexidade Este algoritmo computa γ = log 2 n multiplicações. Assim o custo computacional total fica ( ) j + 1 T(j) = (j + 1)E + 2n + log 2 n M. Neste caso, o número de multiplicações modulares é Desta forma, resolvendo µ(j, n) = j + 1 2n + log 2 n. µ(j, n) n = 0 n = ln 2 2 (j + 1).
21 Resultados Experimentais Recursos Utilizados Sistema operacional Open SuSE Linux kernel x86/64. O hardware utilizado foram 8 nós Sun Blade x6250. Cada nó com 2 processadores Intel Xeon E5440 Quad Core 3GHz e 16GB de memória física interligados por um barramento InfiniBand. GMP (GNU Multiple Precision), aritmética de precisão múltipla. OpenMPI, paralelismo usando memória compartilhada.
22 Resultados Experimentais (512 bits) 300 Execution time speed on 512 bits 250 microseconds number of processes 12 Speedup on 512 bits speedup number of processes Figura: Tempo de execução e speedup para até 64 unsado 512 bits
23 Resultados Experimentais (1024 bits) 1800 Execution time speed on 1024 bits microseconds number of processes 18 Speedup on 1024 bits speedup number of processes Figura: Tempo de execução e speedup para até 64 unsado 1024 bits
24 Resultados Experimentais (2048 bits) Execution time speed on 2048 bits microseconds number of processes 30 Speedup on 2048 bits speedup number of processes Figura: Tempo de execução e speedup para até 64 unsado 2048 bits
25 Resultados Experimentais (Comparação) 2500 Time speed comparison on 1024 bits Algoritmo 2 Algoritmo microseconds number of processes Figura: Comparativo entre os algoritmo de paralelização apresentados.
26 Trabalhos Correlatos Grande parte dos autores posicionam seu trabalho em problemas de base-fixa, e. g., Diffie-Hellman. A versão multi-prima do RSA junto com o Teorema do Resto Chinês possui uma paralelização direta e eficiente.
27 Trabalhos Futuros Utilizar GPGPU (General-Purpose computing on Graphics Processing Units). Trabalhar com algoritmos mais interessantes do ponto de vista de desempenho, e. g., Janela Deslizante. Ajustar o ponto de partição, de forma a balancear a carga entre os processadores.
28 Conclusões Este trabalho descreveu uma técnica de paralelismo para o cálculo da exponenciação modular para o caso geral. A paralelização final do algoritmo mostrou-se mais escalável e como menor custo computacional que o algoritmo original. Somente foi possível diminuir o número de multiplicações modulares. O número de elevações ao quadrado foi mantido inalterado.
29 Último Slide Obrigado pela atenção! para contato: Perguntas?
Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular
Anais do IX Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais 17 Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular Pedro Carlos da Silva Lara 1, Fábio
Leia maisImplementação para Multiplicação por Escalar em Curvas Elípticas sobre Z p
Implementação para Multiplicação por Escalar em Curvas Elípticas sobre Z p Pedro Carlos da Silva Lara Fábio Borges de Oliveira {pcslara, borges}@lncc.br LABORATÓRIO NACIONAL DE COMPUTAÇÃO CIENTÍFICA LNCC
Leia maisImplementação para Multiplicação por Escalar. 2 Curvas Elípticas Sobre Z p
Anais do CNMAC v.2 ISSN 1984-820X Implementação para Multiplicação por Escalar em Curvas Elípticas sobre Z p Pedro Lara, Fábio Borges, Coordenação de Sistemas e Redes, CSR, LNCC, 25651-075, Petrópolis,
Leia maisTé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 maisCriptografia com Maple
Criptografia com Maple - Verão/2005 Fábio Borges & Renato Portugal Criptografia com Maple p.1/32 Simétrica versus Assimétrica Simétrica Criptografia com Maple p.2/32 Simétrica versus Assimétrica Simétrica
Leia maisAluno 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 maisLuís Fernando Schultz Xavier da Silveira. 12 de maio de 2010
Monóides e o Algoritmo de Exponenciação Luís Fernando Schultz Xavier da Silveira Departamento de Informática e Estatística - INE - CTC - UFSC 12 de maio de 2010 Conteúdo 1 Monóides Definição Propriedades
Leia mais28 de fevereiro de 2016
Ítalo Mendes da Silva Ribeiro UESPI 28 de fevereiro de 2016 1 / 72 Súmario Breve 2 / 72 Súmario Breve 3 / 72 Por que estudar Arquitetura e Organização de Computadores? Conhecimento do funcionamento interno
Leia maisCRIVO QUADRÁTICO: IMPLEMENTAÇÃO DA OBTENÇÃO DE UM CONJUNTO DE NÚMEROS COMPLETAMENTE FATORADOS SOBRE UMA BASE DE FATORES
CRIVO QUADRÁTICO: IMPLEMENTAÇÃO DA OBTENÇÃO DE UM CONJUNTO DE NÚMEROS COMPLETAMENTE FATORADOS SOBRE UMA BASE DE FATORES Alex Zanella Zaccaron1; Adriana Betânia de Paula Molgora2 1Estudante do Curso de
Leia maisSparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile?
Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile? Paula Prata João Muranho Instituto de Telecomunicações Departamento de Informática Universidade da Beira Interior Instituto
Leia maisAKS: um algoritmo para identificar números primos
AKS: um algoritmo para identificar números primos IM-UFBA 08 de novembro de 2016 Índice 1 Preliminares 2 3 4 5 Introdução Números primos Comprovar a primalidade de um número natural significa comprovar
Leia maisPTC Aula 20. (Kurose, p ) (Peterson, p ) 14/06/ Princípios de criptografia
PTC 2550 - Aula 20 5.2 Princípios de criptografia (Kurose, p. 587-626) (Peterson, p. 444-454) 14/06/2017 Muitos slides adaptados com autorização de J.F Kurose and K.W. Ross, All Rights Reserved Capítulo
Leia maisReynaldo C. Villena. Abril de 2013
Fatoração do inteiro N multi-primo com bits aleatórios Reynaldo C. Villena (reynaldo@ime.usp.br) Orientador: Routo Terada IME - DCC - USP Abril de 2013 Reynaldo C. Villena Fatoração do inteiro N multi-primo
Leia maisAplicaçã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 maisProcessamento 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 maisTroca de chaves Diffie-Hellman Grupos finitos Grupos cíclicos
Introdução à Chave Pública Troca de chaves Diffie-Hellman Grupos finitos Grupos cíclicos Troca de Chaves de Diffie-Hellman Parâmetros públicos p, α Alice: 1 Sorteia a = K pra {2, 3,..., p 2} 3 Envia para
Leia maisANÁLISE DE DESEMPENHO COM A PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PERFEITOS 1
ANÁLISE DE DESEMPENHO COM A PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PERFEITOS 1 Éder Paulo Pereira 2, Gilberto Przygoda Marmitt 3, Emilio Hoffmann De Oliveira 4, Edson Luiz Padoin 5, Carlos Eduardo Das Chagas
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária
Universidade Federal de Uberlândia Faculdade de Computação Representação e aritmética binária Prof. Renato Pimentel 1 Tipos de informação Representação por meio de sequências binárias: 8 bits (byte) Também
Leia maisde 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 maisCelso L. Mendes LAC /INPE
Arquiteturas para Processamento de Alto Desempenho (PAD) Aula 9 Celso L. Mendes LAC /INPE Email: celso.mendes@inpe.br Aula 9 (3/5): E. Aceleradores Estrutura Planejada i. Estruturas mais Populares ii.
Leia maisSSC 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 maisEmparelhamentos Bilineares Sobre Curvas
Emparelhamentos Bilineares Sobre Curvas Eĺıpticas Leandro Aparecido Sangalli sangalli@dca.fee.unicamp.br Universidade Estadual de Campinas - UNICAMP FEEC - Faculdade de Engenharia Elétrica e de Computação
Leia maisPCC104 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 maisPARALELIZAÇÃ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 maisArquiteturas 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 maisParadigmas 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 maisSupercomputador Pleiades
Supercomputador Pleiades Introdução ao Processamento Paralelo e Distribuído Renato Marques Dilli Prof. Adenauer C. Yamin Universidade Católica de Pelotas 1 de maio de 2009 Mestrado em Ciência da Computação
Leia maisMonografia 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 maisFalando um segredo em público a um estranho e mantendo o segredo
Falando um segredo em público a um estranho e mantendo o segredo UEL - Out/2007 Fábio Borges de Oliveira LNCC Falando um segredo em público a um estranho e mantendo o segredo p.1/19 Origem do problema
Leia maisList 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 maisNotas sobre teoria dos números (3)
1 / 21 Notas sobre teoria dos números (3) Fonte: livros do L. Lóvasz e Kenneth Rosen (ref. completa na página) Centro de Informática Universidade Federal de Pernambuco 2007.1 / CIn-UFPE 2 / 21 Teorema
Leia maisIntroduçã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 maisSistema 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 maisAmbientes 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 maisProcessamento Paralelo Utilizando GPU
Processamento Paralelo Utilizando GPU Universidade Estadual de Santa Cruz Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Evalero Orellana Cronograma Breve introdução sobre processamento paralelo
Leia maisToward an Architecture-Independent Analysis of Parallel Algorithms
1/22 Introdução O algoritmo de aproximação Aplicações em Problemas Concretos Problemas Abertos Referências Toward an Architecture-Independent Analysis of Parallel Algorithms Mijail Gamarra Holguin 18 de
Leia maisAná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 maisArquitetura de Computadores
Arquitetura de Computadores Eduardo Albuquerque Adaptado do material do Prof. Fábio M. Costa Instituto de Informática UFG 1S/2004 Representação de Dados e Aritmética Computacional Roteiro Números inteiros
Leia maisComputação Paralela (CUDA)
Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Computação Paralela (CUDA) Hussama Ibrahim hussamaibrahim@ufam.edu.br Notas de Aula Baseado nas Notas de
Leia maisCOMPUTAÇÃO PARALELA COM ACELERADORES GPGPU 1. Emilio Hoffmann De Oliveira 2, Edson Luiz Padoin 3.
COMPUTAÇÃO PARALELA COM ACELERADORES GPGPU 1 Emilio Hoffmann De Oliveira 2, Edson Luiz Padoin 3. 1 Trabalho de Conclusão de Curso 2 Aluno do Curso de Ciência da Computação - emiliohoffmann@hotmail.com
Leia maisIntrodução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 21 Representação de Números em
Leia maisComputadores 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 maisA 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 maisIntroduçã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 maisEquação de Poisson. Paulo Matias. f (x, y) =
Equação de Poisson Paulo Matias 12 de outubro de 2011 1 Introdução Foi desenvolvido, em linguagem C++, um programa sequencial de alto desempenho para resolver a equação de Poisson: 2 u (x, y) x 2 + 2 u
Leia maisDivisão e Conquista. Norton T. Roman. Apostila baseada nos trabalhos de Cid de Souza, Cândida da Silva e Delano M. Beder
Divisão e Conquista Norton T. Roman Apostila baseada nos trabalhos de Cid de Souza, Cândida da Silva e Delano M. Beder Divisão e Conquista Construção incremental Ex: Consiste em, inicialmente, resolver
Leia maisReconstrução da Chave Privada RSA Multi-primo
Reconstrução da Chave Privada RSA Multi-primo Reynaldo C. Villena (reynaldo@ime.usp.br) Orientador: Routo Terada Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade
Leia maisPrediçã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 maisParalelizaçã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 maisPK - Public Key RSA. Segurança RSA
Introdução à Chave Pública PK - Public Key RSA Exponenciação rápida Segurança RSA Compartilhamento de chaves Algoritmo de chave simétrica Necessário compartilhar uma chave secreta previamente Chave que
Leia maisMONTAGEM E MANUTENÇÃO DE COMPUTADORES
Álvaro Elias Flôres alvaro.flores@sc.senai.br MONTAGEM E MANUTENÇÃO DE COMPUTADORES Introdução A atividade de um computador pode ser definida por um modelo simples: Introdução Na etapa de processamento
Leia maisArquitetura 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 maisCriptografia com Números Irracionais p.1/20
Criptografia com Números Irracionais Foz-2006 Fábio Borges Laboratório Nacional de Computação Científica Criptografia com Números Irracionais p.1/20 Ataque M = {M 1,..., M n } Criptografia com Números
Leia maisARQUITECTURA DE COMPUTADORES
ARQUITECTURA DE COMPUTADORES CAPÍTULO III AULA I, II e III Abril 2014 Índice Aritmética para computadores Intro Adição e subtração Multiplicação Divisão Virgula Flutuante Virgula Flutuante - aritmética
Leia maisAritmética de Ponto Fixo
Aritmética de Ponto Fixo Prof. Paulo Fernando Seixas Prof. Marcos Antônio Severo Mendes http://www.delt.ufmg.br/~elt/docs/dsp/ Representação Numérica DSP Ponto fixo Ponto flutuante 6 bits 3 bits 0 bits
Leia maisPROCESSADORES 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 maisOrganização de Computadores
Organização de Computadores Aula 29 Controle Microprogramado Rodrigo Hausen 24 de novembro de 2011 http://cuco.pro.br/ach2034 1/32 Apresentação 1. Bases Teóricas 2. Organização de computadores... 2.6.
Leia maisComputaçã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 maisMicroprocessadores II - ELE 1084
Microprocessadores II - ELE 1084 CAPÍTULO III PROCESSADORES P5 3.1 Gerações de Processadores 3.1 Gerações de Processadores Quinta Geração (P5) Pentium (586) 32 bits; Instruções MMX; Concorrente K5 (AMD).
Leia maisXV 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 maisUm novo algoritmo probabilístico para fatoração de inteiros com primos relativamente distantes p.1/15
Um novo algoritmo probabilístico para fatoração de inteiros com primos relativamente distantes VIII SBSeg - Set/08 Fábio Borges - LNCC Um novo algoritmo probabilístico para fatoração de inteiros com primos
Leia maisComplexidade de Algoritmos
Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Algoritmos com Inteiros Grandes
Leia maisOrganização de Sistemas Computacionais Processadores: Organização da CPU
Universidade Paulista UNIP Curso: Ciências da Computação Turma: CCP30 Turno: Noturno Disciplina: Arquitetura de Computadores Professor: Ricardo Loiola Alunos: Thiago Gomes dos Santos Matrícula: C63873-0
Leia maisAutenticação por par de. chaves assimétricas. Bruno Follmann
Autenticação por par de 1 chaves assimétricas Bruno Follmann 2 Criptografia assimétrica Criada em 1976 por Diffie e Hellman; Também chamada de criptografia de chave pública; Sistema para cifrar e decifrar
Leia maisPARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Como representar números em memória? Como representar números negativos e de ponto flutuante?
Leia maisCOMPLEXIDADE DE ALGORITMOS
COMPLEXIDADE DE ALGORITMOS Algoritmos Seqüência de instruções necessárias para a resolução de um problema bem formulado Permite implementação computacional COMPLEXIDADE DE ALGORITMOS Um algoritmo resolve
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais
Universidade Federal de Uberlândia Faculdade de Computação Expressões aritméticas, relacionais e lógicas Estruturas condicionais Prof. Renato Pimentel 1 Expressões aritméticas 2 Prof. Renato Pimentel 1
Leia maisUniversidade do Minho
Teórica n o 1 2007-02-22 Apresentação do docente e da disciplina. Algumas revisões de teoria de números elementar. O algoritmo de Euclides estendido; demonstração do teorema que fundamenta o algoritmo.
Leia maisCodificação de Informação 2010/2011
Codificação de Informação 2010/2011 Sumário: Criptografia de chave pública Tipos de chave: cifras simétricas Chave comum à operação de cifrar e de decifrar Chave secreta P mensagem em claro, C mensagem
Leia maisParalelismo 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 maisCé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 maisRSA: ALGORITMOS DE CHAVE PÚBLICA PRIMEIRA PUBLICAÇÃO: ABRIL/1998 QUARTA REVISÃO: DEZEMBRO/2004
Teoria e Implementação Chave Pública São algoritmos baseados em propriedades matemáticas que possibilitam o processo de criptografia (encrypt) a partir de uma chave de conhecimento público (K P ), mas
Leia maisProgramação de Computadores I
Programação de Computadores I 2018.2 Computador O computador é uma máquina que realiza processamento de dados automaticamente. Ela é formada por um hardware e um software. Notebook Celular Video Game Câmeras
Leia maisComplexidade de Algoritmos
Complexidade de Algoritmos Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Prof. Cristiano Damiani Vasconcellos cristiano.vasconcellos@udesc.br Um pouco de Teoria dos Números
Leia maisProcessamento de áudio em tempo real em dispositivos computacionais de alta disponibilidade e baixo custo
Processamento de áudio em tempo real em dispositivos computacionais de alta disponibilidade e baixo custo André J. Bianchi 21/10/2013 1 / 33 1 Introdução 2 Metodologia 3 Arduino 4 GPU 5 Android 6 Conclusão
Leia maisDecisõ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 maisCIC 111 Análise e Projeto de Algoritmos II
CIC 111 Análise e Projeto de Algoritmos II Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 21 Number theory Primes and factors Modular arithmetic Solving equations Other results
Leia maisIntrodução a Computação
O que é um computador? Um computador é uma coleção de componentes que realizam operações lógicas e aritméticas sobre um grande volume de dados. (F. K. Miyazawa) Um computador é composto por: Introdução
Leia maisTeste à Primalidade. (Método de Monte Carlo) Geração de Números Primos (Grandes)
Teste à Primalidade (Método de Monte Carlo) Margarida Mamede, DI FCT/UNL APD, 2010/11, Teste à Primalidade 1 Geração de Números Primos (Grandes) Como se pode obter um número primo grande? Gerando números
Leia maisDisciplina: Arquitetura de Computadores
Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na
Leia maisFACULDADE DE TECNOLOGIA SENAC GOIÁS. Arquitetura de Computadores
FACULDADE DE TECNOLOGIA SENAC GOIÁS DESIRON GONÇALVES, IURY NERES, JADER FIGUEIREDO E JEFFERSON MENDES. Arquitetura de Computadores Goiânia, dezembro de 2016. FACULDADE DE TECNOLOGIA SENAC GOIÁS DESIRON
Leia maisOpenMP: 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 mais30/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 maisExemplo Amdahl. O speedup total é dado por:
Í Revisão da prova Questão 20: A exploração do paralelismo em nível de instruções em uma arquitetura superescalar é realizada identificando no fluxo de instruções aquelas que são independentes a fim de
Leia maisFrustum Culling Híbrido Utilizando CPU e GPU. Aluno: Eduardo Telles Carlos Orientador: Alberto Raposo Co-Orientador: Marcelo Gattass
Frustum Culling Híbrido Utilizando CPU e GPU Aluno: Eduardo Telles Carlos Orientador: Alberto Raposo Co-Orientador: Marcelo Gattass Agenda Objetivos Motivação Algoritmos de visibilidade Frustum Culling
Leia maisIntel 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 maisComparaçã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 maisOTES07 Segurança da Informação Módulo 05c: Criptografia Assimétrica RSA e ECC
OTES07 Segurança da Informação Módulo 05c: Criptografia Assimétrica RSA e ECC Prof. Charles Christian Miers e-mail: charles.miers@udesc.br Breve Histórico Primeiro algoritmo de chave pública foi desenvolvido
Leia maisAlgoritmos Paralelos Eficientes para Alguns Problemas em Proce. Caracteres
lgoritmos Paralelos Eficientes para lguns Problemas em Processamento de Cadeias de Caracteres JI/SBC 2007 - Rio de Janeiro Parte 1 gradecimentos O material deste curso é baseado em trabalhos publicados
Leia maisTOCI08 Segurança em Redes de Computadores Módulo 08: Criptografia Assimétrica RSA e ECC
TOCI08 Segurança em Redes de Computadores Módulo 08: Criptografia Assimétrica RSA e ECC Prof. M.Sc. Charles Christian Miers e-mail: charles@joinville.udesc.br Roteiro Criptografia Moderna: Diferenças criptografia
Leia maisProposta de Melhoria de uma Implementação Paralela para GPUs Usando CUDA - Estudo de Caso em Modelo Atmosférico
Proposta de Melhoria de uma Implementação Paralela para GPUs Usando CUDA - Estudo de Caso em Modelo Atmosférico Fabiano Cassol de Vargas, Matheus Beniz Bieger, Claudio Schepke 1 Laboratório de Estudos
Leia maisAnálise de Algoritmos Estrutura de Dados II
Centro de Ciências Exatas, Naturais e de Saúde Departamento de Computação Análise de Algoritmos Estrutura de Dados II COM10078 - Estrutura de Dados II Prof. Marcelo Otone Aguiar marcelo.aguiar@ufes.br
Leia maisAnálise de Desempenho e Paralelização de Algoritmos para Redes Neurais Profundas
Análise de Desempenho e Paralelização de Algoritmos para Redes Neurais Profundas Carlos A. T. Aguni, Alex E. Kawahira, Daniel Cordeiro 1 Escola de Artes Ciências e Humanidades Universidade de São Paulo
Leia mais1. Conceitos Básicos de Computação
Introdução à Computação I IBM1006 1. Conceitos Básicos de Computação Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 1.Conceitos Básicos de Computação 1.1.
Leia maisJônatas Lopes de Paiva Instituto de Matemática e Estatística Universidade de São Paulo. 06 de maio de 2011
Jônatas Lopes de Paiva jlp@ime.usp.br Instituto de Matemática e Estatística Universidade de São Paulo 06 de maio de 2011 Introdução String-matching O que é? Em que é utilizado Tipos GPU GPGPU String-matching
Leia maisESTRATÉGIAS DE OTIMIZAÇÃO DE CÓDIGO EM OPENCL
6ª Jornada Científica e Tecnológica e 3º Simpósio de Pós-Graduação do IFSULDEMINAS 04 e 05 de novembro de 2014, Pouso Alegre/MG ESTRATÉGIAS DE OTIMIZAÇÃO DE CÓDIGO EM OPENCL Claudio André da SILVA JUNIOR
Leia maisCRIPTOGRAFIA DE CHAVE PÚBLICA O PAPEL DA ARITMÉTICA EM PRECISÃO MÚLTIPLA
CRIPTOGRAFIA DE CHAVE PÚBLICA O PAPEL DA ARITMÉTICA EM PRECISÃO MÚLTIPLA Aline Sousa da Silveira* (IC), Antonio Cândido Faleiros (PQ) Divisão de Ensino Fundamental IEF Instituto Tecnológico de Aeronáutica
Leia maisAnálise da segurança de esteganocriptografia em seqüências de imagens p.1/33
Análise da segurança de esteganocriptografia em seqüências de imagens LNCC - Fev/2007 Fábio Borges de Oliveira Análise da segurança de esteganocriptografia em seqüências de imagens p.1/33 Divisão do trabalho
Leia maisAlgoritimos e Estruturas de Dados III CIC210
Algoritimos e Estruturas de Dados III CIC210 Divisão e Conquista Haroldo Gambini Santos Concurso Universidade Federal de Ouro Preto - UFOP 3 de setembro de 2009 Haroldo Gambini Santos Divisão e Conquista
Leia mais