Programação de Alto Desempenho - 2. Prof: Carla Osthoff
|
|
- Alessandra Ana do Carmo Vilaverde Ferrão
- 6 Há anos
- Visualizações:
Transcrição
1 Programação de Alto Desempenho - 2 Prof: Carla Osthoff osthoff@lncc.br
2 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda Hybrid
3 Modelos de programação paralela Modelos de programação paralela são formados através de uma abstração de ambas arquiteturas de hardware e software.
4 Escolha do modelo A escolha do modelo a ser utilizada é normalmente baseada na arquitetura do sistema disponível e na escolha pessoal. Não existe o melhor modelo, mas existem implementações que podem ser implementadas mais facilmente em determinados modelos.
5 Arquitetura de computadores de memória compartihada.
6 3.1 Modelo de Programação de Memória Compartilhada As tarefas compartilham um espaço de endereçamento comum, que é lido e escrito de forma assíncrona. Vários mecanismos tais como locks e semáforos podem ser utilizados para controlar o acesso à memória compartilhada.
7 Modelo de memória compartilhada baseado em Threads Um único processo pode ter múltiplas threads concorrentes em execução. Podemos fazer uma analogia à um programa que possui uma série de subrotinas executando concorrentemente.
8 Threads
9 Threads O programa principal (a.out) executa de forma serial, e cria uma série de tarefas (threads) que podem ser escalonadas pelo sistema operacional para serem executadas de forma concorrente. Cada Thread possui seus dados locais e compartilha todos os recursos do programa principal ( a.out ).
10 Threads Elimina gastos com replicação de recursos de programa para cada thread. Além disso a comunicação entre os threads se beneficia com o acesso a uma memória global.
11 Threads É necessário a implementar diretivas de sincronização para garantir a coerência da memória. Os threads podem ser criados e eliminados durante a execução da aplicação ( a.out). Normalmente associado à: Arquiteturas de memória compartilhada Sistemas Operacionais.
12 Implementações de Threads Do ponto de vista do programador, pode ser composta por: biblioteca de sub-rotinas para serem chamadas pelo código fonte(pthreads). conjunto de diretivas de compilador para serem embutidas no código fonte. (OpenMP) O PROGRAMADOR É RESPONSÁVEL POR DETERMINAR O PARALELISMO
13 Padrão POSIX (Pthreads) Biblioteca; Especificado pelo padrão IEEE POSIX c standard (1995). Linguagem C. Paralelismo explícito, o programador necessita ficar atendo aos detalhes. Obs: Microsoft possui implementação própria de threads
14 Padrão OpenMP: Diretivas de compilador. Implementado pela maioria de vendedores de software e hardware. Versão em FORTRAN ( desde 1997) Versão em C/C++ ( desde 1998) Portável para diversas plataformas incluindo Unix e Windows NT. Fácil implementação.
15 Arquitetura de computadores de memória distribuída
16 3.3 - Modelo de Programação de Troca de Mensagem Composto por um conjunto de tarefas que acessam sua própria memória durante a computação. Múltiplas tarefas podem residir em uma mesma máquina física ou em diversas máquinas individuais.
17 Modelo de Troca de Mensagem A comunicação dos dados é realizada através de troca de mensagens. A transferência dos dados requer operações cooperativas entre os processos. Uma operação de envio necessita de uma operação de recebimento.
18 Implementações: Biblioteca. O programador é responsável por especificar o paralelismo. Várias bibliotecas foram implementadas desde a década de 80 Em 1992 foi estabelecido um forum para a criação de um padrão, o padrão Message Passing Interface ou MPI.
19 3.4 - Paralelismo de Dados Focada na execução paralela de um conjunto de dados. O conjunto de dados é formado tipicamente por uma estrutura comum: array,cubo,etc... Um conjunto de tarefas trabalha coletivamente na mesma estrutura de dados, entretanto cada tarefa trabalha em uma determinada partição da estrutura. As tarefas executam a mesma operação na sua partição exemplo: "add 4 to every array element".
20 Paralelismo de dados
21 Arquitetura Cliente/Servidor
22 Paralelismo de Dados
23 Paralelismo de Dados É normalmente realizada através de construtores paralelos: Chamadas à uma sub-rotina de paralelismo de dados de uma biblioteca.(opencl/cuda) Diretivas de compilador (High Performance Fortran).
24 High Performance Fortran (HPF ) As diretivas de compilador permitem ao programador especificar a distribuição e o alinhamento dos dados. Nas implementações em memória distribuída, usualmente o compilador converte o programa em chamadas do código padrão de MPI para distribuir o dados entre os processos.a troca de mensagens é executada de forma transparente ao usuário.
25 Modelo de programação Híbrido Implementação usual é a combinação de modelo de troca de mensagens MPI com modelos de threads (POSIX threads ou OpenMP), em ambiente de redes máquinas SMP. Combinação de paralelismo de dados com troca de mensagens, com a implementação de F90 ou HPF em arquitetura de memória distribuída, onde a troca de mensagem (MPI) é utilizada para transmitir o dado entre as tarefas de forma transparente ao programador.
26 4 Construção de Programas paralelos O projeto e desenvolvimento de programas paralelos tem sido realizado tipicamente como um processo manual. O programador é responsável por identificar e implementar o paralelismo. Usualmente, o desenvolvimento manual do código é um processo iterativo que gasta muito tempo, é complexo leva a diversos erros de desenvolvimento.
27 Construção de Programas paralelos Durante muitos anos diversas ferramentas foram desenvolvidas para auxiliar o programador na conversão do código serial em código paralelo. Compiladores e Pré-processadores têm sido utilizados para realizar uma conversão automática do código serial para o código paralelo.
28 Compilador paralelo Compilação automática: O compilador analisa o código fonte e identifica os pontos de paralelização tais como loops (do,for). A análise identifica inibidores á paralelização e uma avaliação do ganho de desempenho coma paralelização.
29 Compilador paralelo Compilação direcionada pelo programador: Através de diretivas de compilação ou flags,o programador pode indicar explicitamente ao compilador como paralelizar o código. Pode ser utilizado em conjunto com algum grau de paralelização automática.
30 Construção de Programas paralelos Caso você esteja trabalhando com um código que foi escrito originalmente de forma serial, e tenha restrição de tempo e de orçamento, a paralelização automática deve ser o melhor caminho. Entretanto existem diversos problemas relacionados com a paralelização automática.
31 Problemas da paralelização automática Possibilidade de criar resultados incorretos Degradação do desempenho. Menos flexível que a paralelização manual. Limitação à um subconjunto do código(loops). Pode não paralelizar caso a análise identifique inibidores ou o código seja muito complexo. A maioria das ferramentas de automação automática são para Fortran.
32 Desenvolvimento de Código paralelo. O primeiro passo é identificar o problema que você deseja solucionar em paralelo. Caso você esteja começando com um código serial, você também necessita compreender o código.
33 Desenvolvimento de Código paralelo. Antes de gastar tempo tentando arranjar uma solução paralela para o seu código, é necessário primeiro determinar se o problema pode ser paralelizável.
34 Exemplo de código paralelizável Calcule o potencial de energia para centenas de conformações de moléculas independentes. Ao final busque a menor energia de conformação. Cada conformação pode ser determinada deforma independente O cálculo da conformação mínima de energia também é um problema paralelizável.
35 Exemplo de código não paralelizável Calcule a série de Fibonacci de (1,1,2,3,5,8,13,21,...) através da fórmula: F(k + 2) = F(k + 1) + F(k) Observe que o cálculo de K depende dos valores de K-1 e de K, e não podem ser calculados em paralelo
36 Identificação de hotspots no programa Identifique onde a maior parte do trabalho é realizada. Em geral os programas científicos e técnicos executam a maior parte do seu trabalho em poucos pedaços. Profilers e ferramenta de análise de desempenho podem ajudar. Você deve se concentrar em otimizar os hotspots e ignorar os outros pontos.
37 Identificação dos gargalos do problema Existem áreas que são desproporcionalmente lentas, ou geram paradas na parte paralelizável? Por exemplo, E/S é um gargalo que normalmente faz o programa rodar mais devagar. É possível reestruturar o programa ou utilizar um algoritmo diferente de forma a eliminar partes do programa que não são necessárias?
38 Identificar os Inibidores de Paralelismo A dependência entre os dados é uma classe comum de inibidores de paralelismo ( exp. Fibonacci) Investigue a possibilidade de utilizar outros algoritmos.
Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1
Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisSISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS Introdução Slide 1 Nielsen C. Damasceno Introdução Tanenbaum (2007) definiu que um sistema distribuído é aquele que se apresenta aos seus usuários como um sistema centralizado, mas
Leia maisBanco de Dados I. Prof. Edson Thizon ethizon@bol.com.br
Banco de Dados I Prof. Edson Thizon ethizon@bol.com.br Conceitos Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito Banco de dados (BD) Conjunto de dados interrelacionados
Leia maisAula 03. Processadores. Prof. Ricardo Palma
Aula 03 Processadores Prof. Ricardo Palma Definição O processador é a parte mais fundamental para o funcionamento de um computador. Processadores são circuitos digitais que realizam operações como: cópia
Leia maisExperiência 04: Comandos para testes e identificação do computador na rede.
( ) Prova ( ) Prova Semestral ( ) Exercícios ( ) Prova Modular ( ) Segunda Chamada ( ) Exame Final ( ) Prática de Laboratório ( ) Aproveitamento Extraordinário de Estudos Nota: Disciplina: Turma: Aluno
Leia maisEngenharia de Software II
Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software
Leia maisFundamentos de Programação. Diagrama de blocos
Fundamentos de Programação Diagrama de blocos Prof. M.Sc.: João Paulo Q. dos Santos E-mail: joao.queiroz@ifrn.edu.br Página: http://docente.ifrn.edu.br/joaoqueiroz/ O processo de desenvolvimento (programação),
Leia maisIntrodução à Informática
Introdução à Informática Alexandre Meslin (meslin@nce.ufrj.br) Objetivo do Curso Apresentar os conceitos básicos de informática, de software e de hardware. Introduzir os conceitos relativos à representação
Leia maisInteligência Artificial
Inteligência Artificial Aula 7 Programação Genética M.e Guylerme Velasco Programação Genética De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?
Leia maisSistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br
Sistemas Operacionais Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br Questões do Provão de Fevereiro/2005 Disciplina: Sistemas Operacionais 1. Um sistema operacional é um programa que
Leia maisRoteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens
Roteiro... Conceitos de SD, vantagens e desvantagens Infra-estrutura de um SD Considerações de projeto Sistemas Distribuídos Aula 4 Karine de Pinho Peralta Modelos de Comunicação - comunicação entre processos
Leia maisConceitos básicos sobre computadores
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Conceitos básicos sobre computadores Prof. Vanderlei Bonato: vbonato@icmc.usp.br Sumário O que é um computador e onde podemos encontrá-los? Divisão:
Leia maisFundamentos de Teste de Software
Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 1- Visão Geral de Testes de Software Aula 2 Estrutura para o Teste de Software SUMÁRIO 1. Introdução... 3 2. Vertentes
Leia maisArquitetura e Organização de Computadores I
AULA 09 Estruturas de Interconexão (Barramentos) II Existem algumas questões relacionadas ao desempenho do sistema e os barramentos que merecem ser destacadas. 1. a quantidade de dispositivos conectados
Leia maisProf a Andréa Schwertner Charão DELC/CT/UFSM
Modelos de Computadores Paralelos Prof a Andréa Schwertner Charão DELC/CT/UFSM Sumário Modelos de computadores paralelos Classificações "acadêmicas" Tendências de mercado TOP500 Impacto na programação
Leia maisConceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1
Conceito Básicos de Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Autoria Autor C. Geyer Local Instituto de Informática UFRGS disciplina : Programação
Leia maisO que é um banco de dados? Banco de Dados. Banco de dados
COLÉGIO EST. JOÃO MANOEL MONDRONE - ENS. FUNDAMENTAL, MÉDIO, PROFISSIONAL E NORMAL Rua Mato Grosso n.2233 - Fone/Fax (045) 3264-1749-3264-1507 Banco de Dados O que é um banco de dados? Um conjunto de informações
Leia maisArquitetura de Computadores Sistemas Operacionais II
Definição de Processo Arquitetura de Computadores Sistemas Operacionais II Processo é o mesmo de Programa? Programa Estrutura estática Instruções + Dados Processo Entidade Ativa Instância de um Programa
Leia maisAuditoria de Meio Ambiente da SAE/DS sobre CCSA
1 / 8 1 OBJETIVO: Este procedimento visa sistematizar a realização de auditorias de Meio Ambiente por parte da SANTO ANTÔNIO ENERGIA SAE / Diretoria de Sustentabilidade DS, sobre as obras executadas no
Leia maisHardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização
Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Sistema de
Leia maisComandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios
Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios O Método Intuitivo de elaboração de circuitos: As técnicas de elaboração de circuitos eletropneumáticos fazem parte
Leia maisENGENHARIA DE SOFTWARE
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática : ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Um conjunto estruturado
Leia maisCVS Controle de Versões e Desenvolvimento Colaborativo de Software
CVS Controle de Versões e Desenvolvimento Colaborativo de Software Cristiano Caetano Novatec Editora Capítulo 1 Introdução ao CVS Quem controla o passado, controla o futuro. Quem controla o presente, controla
Leia maisProgramação em Memória Compartilhada com OpenMP
Programação em Memória Compartilhada com OpenMP 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 maisSistemas Distribuídos
Comunicação em Grupo Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 10.4 pág. 304-311 2 Comunicação em Grupo Suponha que se deseja um serviço de arquivos único
Leia maisProgramação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt
Programação para Internet I 4. XML Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Standard do W3C (www.w3c.org) Formato de ficheiros de texto derivado de SGML (Standard Generalized Markup Language)
Leia maisGerenciamento do Escopo do Projeto (PMBoK 5ª ed.)
Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.) De acordo com o PMBok 5ª ed., o escopo é a soma dos produtos, serviços e resultados a serem fornecidos na forma de projeto. Sendo ele referindo-se a: Escopo
Leia maisProgramação Orientada a Objetos SANTOS, Rafael
Programação Orientada a Objetos SANTOS, Rafael É parte do software, e deve atender os requisitos do usuário Controla o hardware, incluindo periféricos de entrada e saída Usa um conjunto de comandos e regras:
Leia maisDesenvolvimento de Software
PODER JUDICIÁRIO JUSTIÇA DO TRABALHO TRIBUNAL REGIONAL DO TRABALHO DA 15ª REGIÃO Secretaria de Tecnologia da Informação e Comunicações Total de Páginas:16 Versão: 1.0 Última Atualização: 26/07/2013 Índice
Leia maisTópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza
Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados Prof. Hugo Souza Após vermos uma breve contextualização sobre esquemas para bases dados e aprendermos
Leia maisFlávia Rodrigues. Silves, 26 de Abril de 2010
Flávia Rodrigues STC5 _ Redes de Informação e Comunicação Silves, 26 de Abril de 2010 Vantagens e Desvantagens da Tecnologia Acessibilidade, quer a nível pessoal quer a nível profissional; Pode-se processar
Leia maisDiagrama de Componentes e Implantação
Diagrama de Componentes e Implantação Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User
Leia maisArquitetura de referência de Streaming sob demanda para desktop (ODDS) DELL
Arquitetura de referência de Streaming sob demanda para desktop (ODDS) DELL Um informativo técnico da Dell Dell Mohammed Khan Kailas Jawadekar ESTE INFORMATIVO É APENAS PARA FINS INFORMATIVOS E PODE CONTER
Leia maisSistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores
Sistemas Operacionais Sincronização: Semáforos Problema dos Leitores/Escritores Autoria Autores Eduardo André Mallmann 0905/96-9 João Paulo Reginatto 1530/96-0 Local Instituto de Informática UFRGS disciplina:
Leia maisPlanejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP
Planejamento - 2 Definição de atividades Sequenciamento das atividades 1 6.1 Definir as atividades 1 Lista das atividades A lista das atividades é uma lista abrangente que inclui todas as atividades necessárias
Leia maisImpressora Latex série 300. Garantia limitada
Impressora Latex série 300 Garantia limitada 2013 Hewlett-Packard Development Company, L.P. 1 Avisos legais As informações contidas neste documento estão sujeitas a alteração sem aviso prévio. As únicas
Leia maisMANUTENÇÃO SISTEMAS INFORMATIZADOS PARA O PLANEJAMENTO E CONTROLE DA MANUTENÇÃO. CCMS- Computer Maintenance Management System
MANUTENÇÃO SISTEMAS INFORMATIZADOS PARA O PLANEJAMENTO E CONTROLE DA MANUTENÇÃO CCMS- Computer Maintenance Management System Prof. Dissenha professor@dissenha.net SISTEMAS INFORMATIZADOS PARA O PLANEJAMENTO
Leia maisDESCRITIVO TÉCNICO PLATAFORMA PCS
DESCRITIVO TÉCNICO PLATAFORMA PCS A Plataforma PCS é composta por um Servidor de Aplicações interligado a um PABX e à rede de dados da empresa. É neste servidor que irão residir aplicações para controlar
Leia maisAnálise de Sistemas 3º Bimestre (material 2)
Análise de Sistemas 3º Bimestre (material 2) Professor: José Ronaldo Leles Júnior Turma: 2º ano do curso de Sistemas de Informação UEG Universidade Estadual de Goiás Campus Posse POO Paradigma Orientado
Leia maisOrganização e Arquitetura de Computadores. Ivan Saraiva Silva
Organização e Arquitetura de Computadores Hierarquia de Memória Ivan Saraiva Silva Hierarquia de Memória A Organização de Memória em um computador é feita de forma hierárquica Registradores, Cache Memória
Leia maisVII SENABOM TEMA: O REGISTRO ELETRÔNICO DE EVENTOS (RE) Apresentado por: Ten Cel BM Flávio Rocha - CBMERJ
VII SENABOM TEMA: O REGISTRO ELETRÔNICO DE EVENTOS (RE) Apresentado por: Ten Cel BM Flávio Rocha - CBMERJ 1 SUMÁRIO! O que é a Assessoria de Informática e sua missão.! O Registro Eletrônico de Eventos
Leia maisIntrodução à Programação de Computadores Parte I
Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado
Leia maisProcessamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores
1 Processamento de Dados aplicado à Geociências AULA 1: Introdução à Arquitetura de Computadores UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CURSO SUPERIOR DE TECNOLOGIA EM GEOPROCESSAMENTO
Leia maisProjeto de Desenvolvimento de Software
Projeto de Desenvolvimento de Software Introdução a Engenharia de Software (continuação) Msc. Eliezio Soares eliezio.soares@ifrn.edu.br http://docente.ifrn.edu.br/elieziosoares Engenharia de Software Definição
Leia maisGerenciamento dos Riscos do Projeto (PMBoK 5ª ed.)
Gerenciamento dos Riscos do Projeto (PMBoK 5ª ed.) Esta é uma área essencial para aumentar as taxas de sucesso dos projetos, pois todos eles possuem riscos e precisam ser gerenciados, ou seja, saber o
Leia maisO Funcionamento do Processador
O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O
Leia maisOs salários de 15 áreas de TI nas cinco regiões do Brasil
Os salários de 15 áreas de TI nas cinco regiões do Brasil Entre 2011 e 2012, os salários na área de tecnologia da informação (TI) cresceram em média 10,78% um número animador, que pode motivar jovens estudantes
Leia maisOrganização de Computadores 1
Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento
Leia maisPORTARIA N Nº 178 Rio de Janeiro, 25 de outubro de 2012.
PORTARIA N Nº 178 Rio de Janeiro, 25 de outubro de. ACRESCENTA A ARQUITETURA DE PADRÕES TECNOLÓGICOS DE INTEROPERABILIDADE -, NO SEGMENTO RECURSOS TÉCNOLÓGICOS O PADRÃO TECNOLÓGICO SISTEMAS OPERACIONAIS
Leia maisSistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads Com o conceito de múltiplos threads (multithread) é possível
Leia maisSISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios
SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes (soufes@gmail.com) 3ª. Lista de Exercícios Data
Leia maisTECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I
TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 02: Organização e Arquitetura de Computadores / Lógica Digital (Parte I) O conteúdo deste documento tem por objetivo
Leia maisConteúdo programático
Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha
Leia maisAula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão
MC3305 Algoritmos e Estruturas de Dados II Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Custo de um algoritmo
Leia maisFONSECA, LUCIANO DUARTE FERRAMENTAS DE DIAGNÓSTICO ERD COMMANDER
Serviço Nacional de Aprendizagem Comercial E.E.P. Senac Pelotas Centro Histórico Programa Nacional de Acesso ao Ensino Técnico e Emprego Curso Técnico em Informática DIEGO FONSECA, LUCIANO DUARTE FERRAMENTAS
Leia maisPROGRAMAÇÃO DE COMPUTADORES
PROGRAMAÇÃO DE COMPUTADORES COMANDOS E FORMATOS DE ENTRADA E SAÍDA 1 COMANDOS E FORMATOS DE ENTRADA E SAÍDA Os comandos de entrada e saída, na sua forma mais simplificada, possuem a seguinte estrutura:
Leia maisSistema Operacional. Implementação de Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais
Sistema Operacional Implementação de Processo e Threads O mecanismo básico para a criação de processos no UNIX é a chamada de sistema Fork(). A Figura a seguir ilustra como que o processo e implementado.
Leia maisArquitecturas de Software Enunciado de Projecto 2007 2008
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Enunciado de Projecto 2007 2008 1 Introdução Na primeira metade da década de 90 começaram a ser desenvolvidas as primeiras
Leia mais,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas
,QVWDODomR 5HTXLVLWRV0tQLPRV Para a instalação do software 0RQLWXV, é necessário: - Processador 333 MHz ou superior (700 MHz Recomendado); - 128 MB ou mais de Memória RAM; - 150 MB de espaço disponível
Leia maise Autorizador Odontológico
1 CONTROLE DE DOCUMENTO Revisor Versão Data Publicação Diego Ortiz Costa 1.0 08/08/2010 Diego Ortiz Costa 1.1 09/06/2011 Diego Ortiz Costa 1.2 07/07/2011 2 Sumário CONTROLE DE DOCUMENTO... 2 1. Informações
Leia maisCOMUNIDADE VIRTUAL DE APRENDIZAGEM
COMUNIDADE VIRTUAL DE APRENDIZAGEM ATIVIDADES Atividade Extra - Fórum SIEPE (Compensação da carga horária do dia 08/09/2012) A atividade foi postada no módulo X Atividade Módulo X - Fórum Agenda O cursista
Leia maisScheduling and Task Allocation ADVANCED COMPUTER ARCHITECTURE AND PARALLEL PROCESSING Hesham El-Rewini 2005 Capítulo 10 Autor...: Antonio Edson Ceccon Professor..: Prof. Heitor Silvério Lopes Apresentação
Leia maisSupervisório Remoto aplicado em Dispositivo Móvel na Plataforma NI LabVIEW
Supervisório Remoto aplicado em Dispositivo Móvel na Plataforma NI LabVIEW "Este artigo demonstra os recursos e passos necessários para implementar um sistema supervisório de consumo energético e controle
Leia maisDOCUMENTO DE REQUISITO DE SOFTWARE
DOCUMENTO DE REQUISITO DE SOFTWARE PARTICIPANTES Belo Horizonte - 1
Leia maisPrincípios de Engenharia de Software. Aula 6 Projeto de Software
Princípios de Engenharia de Software Aula 6 Projeto de Software Projeto de Software Um projeto de software é uma descrição de estrutura de software a ser implementada, dos dados que são parte do sistema,
Leia maisLIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA
LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA (Orientamos aos clientes que utilizam banco de dados SQL, para efetuarem a atualização preferencialmente após o encerramento das atividades do dia, acessando o sistema
Leia maisMANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS
MANUAL DO INSTALADOR XD EM AMBIENTES MICROSOFT WINDOWS Está disponível a partir da versão 2014.73 do XD Rest/Pos/Disco um novo formato no instalador em ambientes Microsoft Windows. O instalador passa a
Leia maisMétricas de Software
Métricas de Software Plácido Antônio de Souza Neto 1 1 Gerência Educacional de Tecnologia da Informação Centro Federal de Educação Tecnologia do Rio Grande do Norte 2006.1 - Planejamento e Gerência de
Leia maiswww.sysdevsolutions.com Driver Next Versão 1.0 de 07-03-2011 Português
Driver Next Versão 1.0 de 07-03-2011 Português Índice Configuração dos documentos no Backofficce... 3 O Driver ERP Next... 6 Configurações principais... 6 Configurações do vendedor... 7 Configurações do
Leia maisTópicos Especiais em Redes de Computadores. Network File System - NFS. Professor: Alexssandro Cardoso Antunes
Tópicos Especiais em Redes de Computadores Network File System - NFS Professor: Alexssandro Cardoso Antunes Roteiro Objetivos Instalação Definições e Características Vantagens Funcionamento Daemons Usuais
Leia maisConfigurando Link Failover. por: Victor Igor
Configurando Link Failover por: Victor Igor João Pessoa/PB Jan/2016 Histórico de Atualizações Data Versão Responsável Descrição 21/01/2016 1.0 Victor Igor Configuração funcional de LinkFailover Victor
Leia maisDesenvolvimento de um Cluster de Alto Desempenho com PVM
Desenvolvimento de um Cluster de Alto Desempenho com PVM Daniel Cândido de Oliveira 1, Yzaac Gonçalves da Silva 1, Madianita Bogo 1 1 Centro Universitário Luterano de Palmas Universidade Luterana do Brasil
Leia maisSobre o Visual C++ 2010
O Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software, suportando diversas linguagens como C#, C++, C, Java, Visual Basic, etc. Nesta série de tutoriais vou focar apenas
Leia maisDepois do estudo deste capítulo, o estudante deve ser capaz de:
1 Introdução 1.1 Objetivos: Depois do estudo deste capítulo, o estudante deve ser capaz de: Definir o modelo de Turing de um computador; Definir o modelo de von Neumann do computador; Descreve os três
Leia maisManual Recálculo de Custo Médio
Manual Recálculo de Custo DESENVOLVENDO SOLUÇÕES Autora: Laila M G Gechele Doc. Vrs. 01 Revisores: Aprovado em: Setembro de 2013. Nota de copyright Copyright 2013 Teorema Informática, Guarapuava. Todos
Leia maisPlano de Projeto. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias
Plano de Projeto Tema 3. Gerência de Projetos Profa. Susana M. Iglesias Modelos Empíricos Modelos de Estimativas de Custo e Esforço. Modelos Empíricos: Usam formulas empíricas para predizer esforço em
Leia maisAPLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com
- Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:
Leia maisImplementação de um serviço de correio eletrônico na Intranet do Pólo de Touros utilizando o ambiente SQUIRELMAIL e POSTFIX em um Servidor Linux
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ - EAJ CURSO TÉCNICO DE INFORMÁTICA Projeto das Disciplinas de Sistemas Operacionais de Redes e Projeto de Redes Implementação de um
Leia maisDicas de Segurança sobre Virus
Dicas de Segurança sobre Virus Utilize uma boa aplicação antivírus e actualizea regularmente Comprove que o seu programa antivírus possui os seguintes serviços: suporte técnico, resposta de emergência
Leia maisProgramação Orientada a Objetos. Professor Leonardo Cabral - Larback
Programação Orientada a Objetos Professor Leonardo Cabral - Larback Programação Orientada a Objetos O termo Programação Orientada a Objetos (POO) foi criado por Alan Kay (http://pt.wikipedia.org/wiki/alan_kay),
Leia maisDeadlocks. Sistemas Operacionais - Professor Machado
Deadlocks Sistemas Operacionais - Professor Machado 1 Deadlock - Definição Um conjunto de processos está em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento
Leia maisCATÁLOGO DE APLICAÇÕES Rateio CC Contas a Pagar
CATÁLOGO DE APLICAÇÕES Rateio CC Contas a Pagar Objetivo do projeto Possibilitar fazer lançamentos no Contas a Pagar, rateando por várias contas e/ou vários centros de custos. Escopo Este projeto englobará
Leia maisInteligência de negócios do laboratório DESCUBRA INFORMAÇÕES ÚTEIS DE DADOS OPERACIONAIS DO LABORATÓRIO
Inteligência de negócios do laboratório DESCUBRA INFORMAÇÕES ÚTEIS DE DADOS OPERACIONAIS DO LABORATÓRIO INTELIGÊNCIA DE NEGÓCIOS DO LABORATÓRIO AS DECISÕES SOBRE O LABORATÓRIO COMEÇAM COM A INTELIGÊNCIA
Leia maisAULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL
BANCO DE DADOS GERENCIAL 1 AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS Um banco de dados é uma coleção de dados (ou informações) organizadas de forma lógica, e que
Leia maisIntrodução. Nível da Linguagem de Montagem. Linguagem de Montagem (2) Linguagem de Montagem (1) Linguagem de Montagem
Nível da Linguagem de Montagem (Aula 15) Linguagem de Montagem Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Introdução Tradutores Programas que convertem um programa
Leia maisMVM Mattos Virtual Machine. Andrey de Oliveira Prof. Mauro Marcelo Mattos, Doutor FURB 2012/2
MVM Mattos Virtual Machine Andrey de Oliveira Prof. Mauro Marcelo Mattos, Doutor FURB 2012/2 Roteiro Introdução Objetivos Fundamentação Teórica Desenvolvimento Resultado e Discussão Conclusão Extensões
Leia maisCASOS DE TESTE PALESTRANTE: MARCIA SILVA MARCIA.SILVA@DATASUS.GOV.BR WWW.EMERSONRIOS.ETI.BR
CASOS DE TESTE PALESTRANTE: MARCIA SILVA MARCIA.SILVA@DATASUS.GOV.BR WWW.EMERSONRIOS.ETI.BR CONCEITOS BÁSICOS - TESTES O que é Teste de Software? Teste é o processo de executar um programa com o objetivo
Leia maisComo o VIOS Jurídico pode otimizar os processos em um escritório de advocacia? Indicado para: médios e grandes escritórios de advocacia.
Como o VIOS Jurídico pode otimizar os processos em um escritório de advocacia? Indicado para: médios e grandes escritórios de advocacia. O que é o VIOS Jurídico: consiste em uma empresa de soluções em
Leia maisLCAD. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES.
ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Tópico 20 janeiro 27 janeiro 3 fev 10 fev 17 fev 24 fev 3 março Paradigma de Paralelismo
Leia maisOFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO
OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Linguagens de Programação Material
Leia maisATuLCo. Manual de Instruções. Gestor de Agência de Viagens. ATuLCo Gestor de Agencia de Viagens. Horário Abreu Nr. 53792. António Felgueiras Nr.
Manual de Instruções ATuLCo Gestor de Agência de Viagens António Felgueiras Nr. 43481 Horário Abreu Nr. 53792 Ricardo Pinto Nr. 51835 1 Índice O que é o ATuLCo? ------------------------------------- 3
Leia maisDeswik.Sched. Sequenciamento por Gráfico de Gantt
Deswik.Sched Sequenciamento por Gráfico de Gantt SOLUÇÕES EM SEQUENCIAMENTO DE LAVRA QUE NOS DIFERENCIAM Uma abordagem dinâmica e moderna para o sequenciamento de lavra Desde gráficos de Gantt interativos
Leia maisMódulo: M_CONFIRMA_AGENDAMENTO - Confirmação dos Agendamentos
Page 1 of 16 145806 Módulo: M_CONFIRMA_AGENDAMENTO - Confirmação dos Agendamentos PDA 145806: Aumento do Campo "Telefone". SOLICITAÇÃO DO CLIENTE Aumentar o campo "Telefone" nas telas de agendamento, para
Leia maisADAPTAÇÃO DE UM JOGO OPEN SOURCE PARA O DESENVOLVIMENTO DE UM SIMULADOR DE TRÂNSITO 1
ADAPTAÇÃO DE UM JOGO OPEN SOURCE PARA O DESENVOLVIMENTO DE UM SIMULADOR DE TRÂNSITO 1 Henrique Augusto Richter 2, Rafael H. Bandeira 3, Eldair F. Dornelles 4, Rogério S. De M. Martins 5, Nelson A. Toniazzo
Leia mais