Cálculo Aproximado do número PI utilizando Programação Paralela
|
|
- Cacilda Carvalhal Fernandes
- 8 Há anos
- Visualizações:
Transcrição
1 Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Cálculo Aproximado do número PI utilizando Programação Paralela Grupo 17 Raphael Ferras Renan Pagaiane Yule Vaz SSC-0143 Programação Concorrente São Carlos Março de 2012
2 1 - Introdução Gauss-Legendre Borwein Monte Carlo Desenvolvimento Gauss-Legendre Versão Seqüencial Versão Paralela Borwein Versão Seqüencial Versão Paralela Versão Seqüencial Versão Paralela Resultados Obtidos Ferramentas utilizadas e Metodologia de Execução dos Experimentos Forma de Execução... Erro! Indicador não definido. 6 - Conclusão Bibliografia...13
3 1 - Introdução O número Pi é a constante matemática que representa a relação entre perímetro e diâmetro circular. Apesar de ser conhecido há milhares anos, ainda é fonte de pesquisas em diversas áreas. Suas propriedades continuam a ser investigadas e busca-se frequentemente desenvolver novos e mais poderosos métodos para calcular seu valor. Em nosso trabalho, utilizaremos três algoritmos para o cálculo aproximado do PI. São eles: Gauss-Legendre, Borwein e Monte Carlo Gauss-Legendre O algoritmo de Gauss-Legendre é um método de aproximações sucesivas. É baseado no trabalho de Carl Friedrich Gauss( ) e Adrien-Marie Legendre ( ) combinado com algoritmos modernos para multiplicação e raízes quadradas. Em 2002 foi utilizado por Yasumasa Kanada para obter o recorde mundial no cálculo de casas decimais de pi. É um método considerado rapidamente convergente. Ele produz 45 milhões de dígitos corretos do utilizando apenas 25 iterações (a cada inretação a precisão dobra). Sua desvantagem é a necessidade de grande quantidade de memória para sua execução Borwein O algoritmo de Borwein é um método numérico de aproximação com crescimento quadrático da precisão do. Obteve-se pouca informação a seu respeito e dentre os três algoritmos é o menos conhecido, Monte Carlo O Método de Monte Carlo é um método para aproximação por meio da utilização de simulações estocásticas.
4 Possui diversas aplicações em diferentes áreas científicas e tem sido utilizado há bastante tempo para obter aproximações numéricas de funções complexas. Em nosso trabalho utilizaremos este método para a aproximação do valor do número Pi. 2 - Desenvolvimento Gauss-Legendre Versão Seqüencial Inicialização das variáveis: A cada iteração: O valor de será aproximado por: Versão Paralela Inicialização das variáveis:
5 A cada iteração separamos em três threads para todo n > 0. Serão registrados os valores de e a cada iteração para podermos paralelizar o cálculo de. Primeira Thread (Thread A): Segunda Thread (Thread B): Terceira Thread (Thread T): O valor de será aproximado por:
6 Figura 1. Representação gráfica da estratégia de paralelismo utilizada no algoritmo de Gauss-Legendre Borwein Versão Seqüencial Inicialização das variáveis: Para cada iteração: A aproximação de feita por interações será aproximado por:.
7 Versão Paralela A inicialização das duas primeiras variáveis foi a mesma, e para sua paralelização o algoritmo foi quebrado em blocos dependentes, sendo esses blocos: Primeiro Termo de A (Thread A1): Segundo Termo de A (Thread A2): Cálculo de A (Thread A): Cálculo de Y (Thread Y): Como o cálculo de é independente de, foi utilizada a estratégia de produtor vs consumidor em que é gerado e, paralelamente, consumimos para calcular o valor de. Nesta estratégia utilizamos um buffer circular com capacidade de três váriaveis de ponto flutuante da biblioteca GMP. Para sincronizar as threads foi utilizado um vetor de mutex de tamanho três. A sincronia das threads funciona a partir da seguinte estratégia: ao finalizar uma operação sobre uma região crítica (RC) do buffer, a thread requisita o bloqueio da próxima região crítica para poder atuar sobre a mesma liberando a RC atual apenas se ou quando a próxima RC for liberada para uso(por isso, se utilizarmos apenas um buffer de tamanho dois as threads entrarão em deadlock). Note que a thread Y deve ser executada primeiramente visto que, ao mesmo tempo, esta deve bloquear a execução da thread A caso esta tente acessar região crítica utilizada pela thread Y ou as RCs posteriores.
8 Figura 2. Representação gráfica da estratégia de paralelismo utilizada no algoritmo de Borwein Monte Carlo Versão Seqüencial Inicialização das variáveis: Para cada iteração faz-se: A aproximação de será dada por:
9 Versão Paralela Dividiu-se os cálculos e testes estatísticos entre todos os nós disponiveis visto que este algoritmo é bastante paralelizável já que possui poucas dependências; seu resultado foi apenas acumulado na hora de calcular o número aproximado de PI. Figura 3. Representação gráfica da estratégia de paralelismo utilizada no algoritmo de Monte Carlo. 3 - Resultados Obtidos Dos três algoritmos estudados obtivemos os seguintes speed-ups: Resultados comparados no site Gauss-Legendre: Tempo Sequencial Paralelo T1(s) 146,739 96,194 T2(s) 146,373 96,022 T3(s) 146, T Méd 146,598 96,097 Desvio Padrão 0,197 0,087 Borwein:
10 Tempo Sequencial Paralelo T1(s) 185, ,008 T2(s) 185, ,964 T3(s) 185, ,896 T Méd 185, ,956 Desvio Padrão 0,062 1,784 Monte Carlo: Como o método de monte carlo não converge, utilizamos iterações para estipular se há ou não maior eficiência do algoritmo executado paralelamente em relação ao sequencial. Tempo Sequencial Paralelo T1(s) 17,349 36,614 T2(s) 17,381 34,986 T3(s) 17,501 35,339 T Méd 17,410 35,646 Desvio Padrão 0,080 0, Ferramentas utilizadas 4.1- Software Devido a precisão em número de casas decimais ser muito alta, os tipos de dados básicos oferecidos na linguagem c não foram suficientes. Para resolver essa questão utilizamos em todas as soluções a biblioteca GMP (The GNU Multiple Precision Arithmetic Library), a qual nos deixou como limitante em uma operação
11 aritmética apenas a quantidade de memória disponível em um computador. Para o problema alocamos uma memoria de tamanha bits (aproximadamente, onde n é o tamanho da precisão que desejamos atingir, que no caso é de digitos decimais). Para a programação distribuída foi utilizada a API Posix Pthreads que facilita a manipulação, sincronização e criação de threads. 4.2 Hardware Para a realização do calculo do speed-up utilizamos uma de nossas máquinas. Apesar de também termos rodádos os programas no Cluster, não vimos necessidades do calculo do tempo ser realizado no mesmo, pois nossos programas apenas rodária em uma unica máquina. Máquina utilizada: Modelo: HP DV6636 Processador: AMD Turion X2 64bits Dual Core 1.9GH:: Memória: 2GB de ram DD2:: Placa de Vídeo Dedicada: Vídeo NVIDIA GeForce Go 7150 S0: Ubuntu Conclusão O algoritmo de Monte Carlo foi o que apresentou pior speed-up. Isto se deve pois as threads não foram paralelizadas em nós independentes e sim executadas em um mesmo processador com dois núcleos. Mesmo possuindo dois núcleos, o escalonamento das threads é gerenciado pelo sistema operacional (SO) que, por motivos intrínsecos deste, não paralelizou o programa da forma desejada. Sendo assim, apesar de se possuir threads independentes, perde-se muito tempo na mudança de contexto feita pelo SO devido o escalonamento das mesmas (um tempo considerável se compararmos com o tempo de execução das simples operações definidas em cada thread). Outro ponto importante do algoritmo de monte carlo é que
12 por ser um método estatístico e utilizar elementos pseudo-randômicos em seu algoritmo, sua precisão se torna menos confiável. Por motivos semelhantes ao do algoritmo de Monte Carlo, o método de Borwein não apresentou o desempenho desejado ao ser executado de forma paralela visto que seu tempo de execução com a utilização de threads se comportou de forma semelhante ao mesmo algoritmo executado de forma seqüencial. Pode-se perceber também que, apesar da estratégia utilizada neste algoritmo para sua paralelização ser promissora, as threads devem ser definidas de forma que possuam tempo de execução similares fazendo com que as mesmas não se tornem gargalos. O algoritmo Gauss-Legendre paralelo possuiu o melhor speed-up dos três algorítmos já que sua paralelização foi implantada de uma forma em que presencia-se menos gargalos na execução e em que as cargas divididem-se de forma mais homogênea entre as threads. Consideramos satisfatórios nossos resultados obtidos, levando-se em consideração o estudo de diferentes estratégias e abordagens de paralelização. Em todos os algoritmos a forma sequencial mostrou-se mais fácil de se implementar do que a paralela já que foi necessária uma mudança do paradigma lógico sequencial para o paralelo. Dentre as dificuldades enfrentadas pelo grupo, podemos citar: 1) encontrar o algoritmo correto a ser implementado. Esta tarefa nos fez ter um retrabalho considerável em boa parte de nossa implementação. 2) A não-trivialidade na paralelização dos algoritmos de Borwein e de Gauss-Legendre que em muitas soluções propostas o ganho obtido aparentava-se nulo, 3) Problemas com sincronização de threads já que a não-trivialidade na paralelização exigia complexas estratégias, 4) Dificuldade na implementação devido a grande quantidade de fatores influênciadores tais como a grande quantidade de memória utilizada pelos pontos flutuantes da biblioteca GMP fazendo com que o programador adote uma atenção maior no uso da memória. A maioria dos problemas encontrados se deve principalmente ao fato dos integrantes do grupo estarem condicionados a pensar em algoritmos sequenciais.
13 6 - Bibliografia
Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi
5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem
Leia maisProcessos e Threads (partes I e II)
Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa
Leia maisCarlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br
Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Principais problemas programação concorrente Deadlocks (impasses) Starvation (inanição) Condições de corrida Erros de consistência na
Leia maisSistemas Operacionais
AULA 09 Sincronização de Processos - II Monitores Conforme comentamos, o uso equivocado dos semáforos pode levar a uma situação de deadlock, por isso devemos tomar cuidado ao programar utilizando este
Leia mais6 Construção de Cenários
6 Construção de Cenários Neste capítulo será mostrada a metodologia utilizada para mensuração dos parâmetros estocásticos (ou incertos) e construção dos cenários com respectivas probabilidades de ocorrência.
Leia maisCálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante
Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia mais1.1. Organização de um Sistema Computacional
1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes
Leia maisTRABALHO COM GRANDES MONTAGENS
Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura
Leia maisSistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com
Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32
Leia mais2. Representação Numérica
2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos
Leia maisCapacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB
Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha
Leia maisO método de Monte Carlo: algumas aplicações na Escola Básica
1 Universidade de São Paulo/Faculdade de Educação Seminários de Ensino de Matemática (SEMA-FEUSP) Coordenador: Nílson José Machado novembro/2009 O método de Monte Carlo: algumas aplicações na Escola Básica
Leia maisNotas da Aula 4 - Fundamentos de Sistemas Operacionais
Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta
Leia maisArquiteturas RISC. (Reduced Instructions Set Computers)
Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina
Leia maisUniversidade Federal de Alfenas
Universidade Federal de Alfenas Projeto e Análise de Algoritmos Aula 04 Introdução a Análise de Algoritmos humberto@bcc.unifal-mg.edu.br Última aula Fundamentos de Matemática Exercícios: Somatórios; Logaritmos
Leia maisGuilherme Pina Cardim. Relatório de Sistemas Operacionais I
Guilherme Pina Cardim Relatório de Sistemas Operacionais I Presidente Prudente - SP, Brasil 30 de junho de 2010 Guilherme Pina Cardim Relatório de Sistemas Operacionais I Pesquisa para descobrir as diferenças
Leia maisDadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares
Leia maisO hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware
1 2 Revisão de Hardware 2.1 Hardware O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware 2.1.1 Processador O Processador
Leia maisSistemas Operacionais Processos e Threads
Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura
Leia maisO que veremos nesta aula? Principais Aspectos de Sistemas Operacionais. Visão geral de um sistema computacional
O que veremos nesta aula? Principais Aspectos de Sistemas Operacionais Laboratório de Sistemas Operacionais Aula 1 Flávia Maristela (flavia@flaviamaristela.com) Tudo o que já vimos antes... Introdução
Leia maisGuilherme Pina Cardim. Pesquisa de Sistemas Operacionais I
Guilherme Pina Cardim Pesquisa de Sistemas Operacionais I Presidente Prudente - SP, Brasil 30 de junho de 2010 Guilherme Pina Cardim Pesquisa de Sistemas Operacionais I Pesquisa realizada para identicar
Leia maiscomputador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:
1 UNIVERSIDADE FEDERAL DE VIÇOSA Departamento de Matemática - CCE Cálculo Numérico - MAT 271 Prof.: Valéria Mattos da Rosa As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia
Leia maisNotas da Aula 17 - Fundamentos de Sistemas Operacionais
Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.
Leia mais5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS. 5.1 - Os Programas de Avaliação
36 5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS 5.1 - Os Programas de Avaliação Programas de avaliação convencionais foram utilizados para análise de diversas configurações da arquitetura. Estes programas
Leia maisProgramação Concorrente Processos e Threads
Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisAula 03 Custos de um algoritmo e funções de complexidade
BC1424 Algoritmos e Estruturas de Dados I Aula 03 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2015 1 Custo de um algoritmo e funções de complexidade
Leia maisAULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.
AULA4: PROCESSADORES 1. OBJETIVO Figura 1 Processadores Intel e AMD. Conhecer as funcionalidades dos processadores nos computadores trabalhando suas principais características e aplicações. 2. INTRODUÇÃO
Leia maisDisciplina: Introdução à Informática Profª Érica Barcelos
Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados
Leia maisSincronização e Comunicação entre Processos. Adão de Melo Neto
Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.
Leia maisAs fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:
1 As notas de aula que se seguem são uma compilação dos textos relacionados na bibliografia e não têm a intenção de substituir o livro-texto, nem qualquer outra bibliografia. Introdução O Cálculo Numérico
Leia maisCálculo Numérico. ECA / 4 créditos / 60 h Introdução, Erros e Matlab. Ricardo Antonello. www.antonello.com.br
Cálculo Numérico ECA / 4 créditos / 60 h Introdução, Erros e Matlab Ricardo Antonello www.antonello.com.br Conteúdo Erros na fase de modelagem Erros na fase de resolução Erros de arredondamento Erros de
Leia maisOn Scalability of Software-Defined Networking
On Scalability of Software-Defined Networking Bruno dos Santos Silva bruno.silva@ic.uff.br Instituto de Computação IC Universidade Federal Fluminense UFF 24 de Setembro de 2015 B. S. Silva (IC-UFF) On
Leia maisProf. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.
Leia maisCapítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho
20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam
Leia mais1 http://www.google.com
1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou
Leia maisProcessos. Adão de Melo Neto
Processos Adão de Melo Neto 1 EXECUTE O SEGUINTE Baixa a aula dos dias 20 MAR 15 e 08 MAI 15 e salve no computador. Feche o browser Inicialize o vmware player e inicialize a máquina virtual ubuntu Inicialize
Leia maisSISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis
Leia maisProgramação Orientada a Objetos Threads
Threads Prof. Edwar Saliba Júnior Janeiro de 2013 1 Introdução Multithreading: fornece múltiplas threads de execução para a aplicação; permite que programas realizem tarefas concorrentemente; às vezes
Leia mais10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO
10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE
Leia maisCONSTRUÇÃO DE JOGOS: FERRAMENTA ELETRÔNICA PARA ENSINO DA RESOLUÇÃO DO CUBO DE RUBIK
CONSTRUÇÃO DE JOGOS: FERRAMENTA ELETRÔNICA PARA ENSINO DA RESOLUÇÃO DO CUBO DE RUBIK Resumo: César Augusto Goulart Universidade Estadual do Centro-Oeste, bolsista de iniciação cientifica PIBIC/FA goulart.cesaraugusto@gmail.com
Leia mais1. NÍVEL CONVENCIONAL DE MÁQUINA
1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0
Leia maisProgramação Concorrente Introdução
Introdução Prof. Eduardo Alchieri (definição) Programação Concorrente Do inglês Concurrent Programming, onde Concurrent signifca "acontecendo ao mesmo tempo" Programação Concorrente é diferente de programação
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisSistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)
Sistemas Operativos Threads 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Dos Processos para os Threads O conceito de thread foi introduzido na tentativa de
Leia maisUnidade 13: Paralelismo:
Arquitetura e Organização de Computadores 1 Unidade 13: Paralelismo: SMP e Processamento Vetorial Prof. Daniel Caetano Objetivo: Apresentar os conceitos fundamentais da arquitetura SMP e alguns detalhes
Leia maisFundamentos de Hardware
Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PROCESSADOR... 3 CLOCK... 4 PROCESSADORES COM 2 OU MAIS NÚCLEOS... 5 NÚCLEOS FÍSICOS E LÓGICOS... 6 PRINCIPAIS FABRICANTES E MODELOS... 6 PROCESSADORES
Leia maisLinguagem Matemática e as Artes
Linguagem Matemática e as Artes Hermes Renato Hildebrand e José Armando Valente Sumário Introdução Matemática como linguagem Capítulo 01 Etnomatemática e os Espaços de Representação 1. Etnomatemática;
Leia maisComparativo de desempenho do Pervasive PSQL v11
Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive
Leia mais29/3/2011. Primeira unidade de execução (pipe U): unidade de processamento completa, capaz de processar qualquer instrução;
Em 1993, foi lançada a primeira versão do processador Pentium, que operava a 60 MHz Além do uso otimizado da memória cache (tecnologia já amadurecida) e da multiplicação do clock, o Pentium passou a utilizar
Leia maisSistemas Computacionais II Professor Frederico Sauer
Sistemas Computacionais II Professor Frederico Sauer Livro-texto: Introdução à Organização de Computadores 4ª edição Mário A. Monteiro Livros Técnicos e Científicos Editora. Atenção: Este material não
Leia mais5 Equacionando os problemas
A UA UL LA Equacionando os problemas Introdução Nossa aula começará com um quebra- cabeça de mesa de bar - para você tentar resolver agora. Observe esta figura feita com palitos de fósforo. Mova de lugar
Leia maisAnálise de complexidade
Introdução Algoritmo: sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador) Estratégia: especificar (definir propriedades) arquitectura
Leia maisA memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande
A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada
Leia maisCapítulo 8 Arquitetura de Computadores Paralelos
Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da
Leia mais28/9/2010. Paralelismo no nível de instruções Processadores superescalares
Arquitetura de Computadores Paralelismo no nível de instruções Processadores superescalares Prof. Marcos Quinet Universidade Federal Fluminense P.U.R.O. Processadores superescalares A partir dos resultados
Leia maisPré-requisitos para Instalação Física e Lógica do Sisloc
Pré-requisitos para Instalação Física e Lógica do Sisloc Sumário: 1. Pré-requisitos de instalação física e lógica do Sisloc... 3 Servidores de Dados... 3 Servidores de Aplicação (Terminal Service)... 3
Leia maisATIVIDADES PRÁTICAS SUPERVISIONADAS
ATIVIDADES PRÁTICAS SUPERVISIONADAS Ciência da Computação 5ª série Sistemas Operacionais A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido por meio de um conjunto
Leia maisParalelismo. Computadores de alto-desempenho são utilizados em diversas áreas:
Computadores de alto-desempenho são utilizados em diversas áreas: - análise estrutural; - previsão de tempo; - exploração de petróleo; - pesquisa em fusão de energia; - diagnóstico médico; - simulações
Leia maisIntrodução aos Computadores
Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas
Leia maisProgramação Concorrente
+ XV Jornada de Cursos CITi Programação Concorrente Aula 1 Benito Fernandes Fernando Castor João Paulo Oliveira Weslley Torres + Suposições básicas Conhecimento básico sobre Programação Orientada a Objetos
Leia maisSistema de Computação
Sistema de Computação Máquinas multinível Nível 0 verdadeiro hardware da máquina, executando os programas em linguagem de máquina de nível 1 (portas lógicas); Nível 1 Composto por registrados e pela ALU
Leia maisBalanceamento de Carga
40 4. Balanceamento de Carga Pode-se entender por balanceamento de carga uma política a ser adotada para minimizar tanto a ociosidade de utilização de alguns equipamentos quanto a super utilização de outros,
Leia maisANÁLISE DE DESEMPENHO DA PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PRIMOS UTILIZANDO PTHREAD E OPENMP 1
ANÁLISE DE DESEMPENHO DA PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PRIMOS UTILIZANDO PTHREAD E OPENMP 1 Francisco Berti Da Cruz 2, Cleber Cristiano Sartorio 3, Edson Luiz Padoin 4, Emilio Hoffmann 5. 1 Trabalho
Leia mais5 Resultados. 1 Os resultados apresentados foram obtidos com 1 rodada do simulador.
5 Resultados A dificuldade em modelar analiticamente o comportamento de sistemas celulares hierarquizados faz com que grande parte dos estudos de desempenho destes sistemas seja baseada em simulações.
Leia maisSimulação Computacional de Sistemas, ou simplesmente Simulação
Simulação Computacional de Sistemas, ou simplesmente Simulação Utilização de métodos matemáticos & estatísticos em programas computacionais visando imitar o comportamento de algum processo do mundo real.
Leia maisSistemas Operacionais Gerência de Dispositivos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
Leia maisTaxa de Gravação da Memória RAM (MegaBytes / segundo) G5 2.7 Ghz (Mac) Linux Kernel 2.6 2799 1575
21 4 Análise É necessária uma análise criteriosa, que busque retornar as questões primordiais sobre o que é realmente preciso para a aquisição de uma plataforma de produção gráfica digital profissional.
Leia mais4 Arquitetura básica de um analisador de elementos de redes
4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme
Leia mais5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado
5 Avaliação Decidimos avaliar a arquitetura de componentes para o OiL proposta neste trabalho em duas dimensões diferentes. Na primeira, demonstramos a capacidade de configuração do middleware com alguns
Leia maisProf.: Roberto Franciscatto. Capítulo 1.1 Introdução
Sistemas Operacionais Prof.: Roberto Franciscatto Capítulo 1.1 Introdução Tipos de Sistemas Operacionais Sistemas Monoprogramáveis / Monotarefa Voltados tipicamente para a execução de um único programa.
Leia maisComo foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.
5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo
Leia maisItinerários de Ônibus Relatório Final
CENTRO UNIVERSITÁRIO SENAC Itinerários de Ônibus Relatório Final Grupo 5 Caio Roque Daniel Nunes Elise Roese José Caneiro Marcos Grignani São Paulo Junho de 2007 1 ÍNDICE 1. Introdução... 3 2. Desenvolvimento...
Leia maisArquitetura de Computadores. Sistemas Operacionais IV
Arquitetura de Computadores Sistemas Operacionais IV Introdução Multiprogramação implica em manter-se vários processos na memória. Memória necessita ser alocada de forma eficiente para permitir o máximo
Leia maisTecnologia da Informação. Prof Odilon Zappe Jr
Tecnologia da Informação Prof Odilon Zappe Jr Conceitos básicos de informática O que é informática? Informática pode ser considerada como significando informação automática, ou seja, a utilização de métodos
Leia maisBACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia
O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos
Leia maisMatemática Financeira II
Módulo 3 Unidade 28 Matemática Financeira II Para início de conversa... Notícias como essas são encontradas em jornais com bastante frequência atualmente. Essas situações de aumentos e outras como financiamentos
Leia maisMRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior
MRP II Introdução A lógica de cálculo das necessidades é conhecida há muito tempo Porém só pode ser utilizada na prática em situações mais complexas a partir dos anos 60 A partir de meados da década de
Leia maisAdmistração de Redes de Computadores (ARC)
Admistração de Redes de Computadores (ARC) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br RAID é a sigla para Redundant
Leia maisEscalonamento no Linux e no Windows NT/2000/XP
Escalonamento no Linux e no Windows NT/2000/XP 1 Escalonamento no Linux Os requisitos do escalonador do Linux eram: Apresentar boa performance em programas interativos, mesmo com carga elevada; Distribuir
Leia maisGUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas
PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia maisAMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário
Leia mais5 Extraindo listas de produtos em sites de comércio eletrônico
5 Extraindo listas de produtos em sites de comércio eletrônico Existem diversos trabalhos direcionadas à detecção de listas e tabelas na literatura como (Liu et. al., 2003, Tengli et. al., 2004, Krüpl
Leia maisComputadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 19: Visão geral sobre otimização de programas 06 de julho de 2010 1 2 3 Características esperadas dos programas O primeiro objetivo ao escrever programas de computador
Leia maisUniversidade Federal de Mato Grosso do Sul Faculdade de Computação Disciplina de Verão: Algoritmos e Programação II
Universidade Federal de Mato Grosso do Sul Faculdade de Computação Disciplina de Verão: Algoritmos e Programação II Professores: Liana Duenha 10 de março de 2014 Professores: Liana Duenha () Universidade
Leia maisEngenharia de Software
Engenharia de Software O que é a engenharia de software É um conjunto integrado de métodos e ferramentas utilizadas para especificar, projetar, implementar e manter um sistema. Método É uma prescrição
Leia maisIntrodução a Informática - 1º semestre AULA 02 Prof. André Moraes
Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes 3 MÁQUINAS VIRTUAIS Em nossa aula anterior, fizemos uma breve introdução com uso de máquinas virtuais para emularmos um computador novo
Leia maisSistemas Distribuídos Processos I. Prof. MSc. Hugo Souza
Sistemas Distribuídos Processos I Prof. MSc. Hugo Souza Até agora vimos a organização como um todo dos SDS, com o mapeamento estrutural e suas devidas características descritas em elementos, regras, conceitos,
Leia maisPré-requisitos para Instalação Física e Lógica do SISLOC
Pré-requisitos para Instalação Física e Lógica do SISLOC Sumário Pré-Requisitos de Instalação Física e Lógica do SISLOC...3 Servidores de Dados...3 Servidores de Aplicação (Terminal Service)...3 Estações
Leia maisFundamentos em Informática (Sistemas de Numeração e Representação de Dados)
1 UNIVERSIDADE DO CONTESTADO / UnC CAMPUS CONCÓRDIA/SC CURSO DE SISTEMAS DE INFORMAÇÃO Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) (Apostila da disciplina elaborada pelo
Leia maisTécnicas de Manutenção de Computadores
Técnicas de Manutenção de Computadores Professor: Luiz Claudio Ferreira de Souza Processadores É indispensável em qualquer computador, tem a função de gerenciamento, controlando todas as informações de
Leia mais