Agenda. O que é OpenMP? Regiões Paralelas Construtores para Compartilhamento de
|
|
- Orlando Neto César
- 6 Há anos
- Visualizações:
Transcrição
1 Programando OpenMP
2 Agenda O que é OpenMP? Regiões Paralelas Construtores para Compartilhamento de Trabalho Montando um escopo de dados para proteger de condições de corrida Cláusulas de agendamento
3 O que é OpenMP*? Diretivas do compilador para programação multithread Forma simples de criar aplicações com multithread em Fortran e C/C++ Suporta o modelo de paralelismo de dados Paralelismo incremental Combina código serial e paralelo em um único código
4 O que é OpenMP*? C$OMP THREADPRIVATE(/ABC/) C$OMP FLUSH C$OMP parallel do shared(a, b, c) #pragma omp critical CALL OMP_SET_NUM_THREADS(10) call omp_test_lock(jlok) call OMP_INIT_LOCK (ilok) C$OMP SINGLE PRIVATE(X) C$OMP PARALLEL DO ORDERED PRIVATE (A, B, C) C$OMP PARALLEL REDUCTION (+: A, B) Especificação atual é a OpenMP Páginas (C/C++ e Fortran) C$OMP ATOMIC C$OMP MASTER setenv OMP_SCHEDULE dynamic C$OMP ORDERED C$OMP SECTIONS #pragma omp parallel for private(a, B) C$OMP PARALLEL COPYIN(/blk/) Nthrds = OMP_GET_NUM_PROCS() C$OMP DO lastprivate(xx) omp_set_lock(lck)!$omp BARRIER
5 Arquitetura OpenMP* Modelo Fork-join Construtores para compartilhamento de trabalho Construtores para ambientes de dados Construtores para sincronização API completa para um controle mais granulado
6 Modelo de Programação Paralelismo Fork-join: A Master thread gera um conjunto de threads conforme a necessidade O paralelismo é criado incrementalmente de forma gradual: o programa sequencial evolui para um programa paralelizado Master Thread Regiões Paralelas
7 Sintaxe da Programação OpenMP* A maioria dos construtores em OpenMP* são diretivas do compilador ou pragmas. Para C e C++, o pragma possui a seguinte forma: #pragma omp construct [clause [clause] ]
8 Regiões Paralelizáveis Define uma região paralelizável sobre um bloco estruturado de código As threads são criadas para a região definida pelo pragma parallel As threads bloqueiam no fim da região Os dados são compartilhados entre as threads ao menos que seja especificado de outra forma #pragma omp parallel Thread Thread Thread 1 C/C++ : #pragma omp parallel { Bloco 2 3
9 Quantas threads serão criadas? É possível ajustar uma variável de ambiente para quantificar o número de threads set OMP_NUM_THREADS=4 Não existe um valor padrão para esta variável Muitos sistemas: Exemplo: # de threads = # de processadores Compiladores Intel usam este padrão
10 Construtor para Compartilhamento de Trabalho #pragma omp parallel #pragma omp for for (i=0; i<n; i++){ Do_Work(i); Divide iterações do laço entre as threads Precisa estar na região paralelizável Precisa preceder o laço
11 Construtor para Compartilhamento de Trabalho #pragma omp parallel #pragma omp for for(i = 0; i < 12; i++) c[i] = a[i] + b[i] #pragma omp parallel #pragma omp for O conjunto de iterações é atribuído de forma independente para cada uma das threads criadas As threads devem aguardar ao final do construtor de compartilhamento de trabalho i = 0 i = 4 i = 8 i = 1 i = 5 i = 9 i = 2 i = 6 i = 10 i = 3 i = 7 i = 11 Implicit barrier
12 Combinando pragmas Estes conjuntos de segmentos de código são equivalentes #pragma omp parallel { #pragma omp for for (i=0; i< MAX; i++) { res[i] = huge(); #pragma omp parallel for for (i=0; i< MAX; i++) { res[i] = huge();
13 Ambiente de Dados OpenMP utiliza um modelo de programação baseado em compartilhamento de memória A maior parte das variáveis são compartilhadas por padrão Variáveis globais são compartilhadas entre as threads C/C++: variáveis de escopo de arquivo, estáticas
14 Ambiente de Dados Mas, nem tudo é compartilhado Variáveis da pilha nas funções que são chamadas de regiões paralelizáveis são PRIVATIVAS Variáveis automáticas dentro de um bloco de definição são PRIVATIVAS As variáveis dos índices de laços são privativas (com exceções) Para C/C+: É o caso da primeira variável do índice de um laço dentro de uma estrutura de laços aninhados seguidos de um #pragma omp for
15 Atributos do Escopo de Dados O status padrão pode ser modificado default (shared none) Cláusulas de atributo para escopo shared(varname, ) private(varname, )
16 A Cláusula Private Reproduz a variável para cada Thread As variáveis são des-inicializadas; Objeto C++ é construido por padrão Qualquer valor externo à região paralelizável é indefinida void* work(float* c, int N) { float x, y; int i; #pragma omp parallel for private(x,y) for(i=0; i<n; i++) { x = a[i]; y = b[i]; c[i] = x + y;
17 Exemplo: Produto Interno* float dot_prod(float* a, float* b, int N) { float sum = 0.0; #pragma omp parallel for shared(sum) for(int i=0; i<n; i++) { sum += a[i] * b[i]; return sum; Qual é o problema?
18 Proteção de Dado Compartilhado É preciso proteger dados compartilhados ou modificáveis float dot_prod(float* a, float* b, int N) { float sum = 0.0; #pragma omp parallel for shared(sum) for(int i=0; i<n; i++) { #pragma omp critical sum += a[i] * b[i]; return sum;
19 OpenMP* Critical #pragma omp critical [(lock_name)] Define uma região crítica em um bloco Threads esperam sua vez, apenas uma thread chama consum() protegendo R1 e R2 de condições de corrida Nomear construções Critical é opcional, mas pode melhorar o desempenho float R1, R2; #pragma omp parallel { float A, B; #pragma omp for for(int i=0; i<niters; i++){ B = big_job(i); #pragma omp critical (R1_lock) consum (B, &R1); A = bigger_job(i); #pragma omp critical (R2_lock) consum (A, &R2);
20 OpenMP* Reduction reduction (op : list) As variáveis em list devem ser compartilhadas na região paralela Dentro da construção paralela Uma cópia privada de cada lista é criada e iniciada dependendo de op As cópias são atualizadas localmente pelas threads No final da construção, cópias locais são combinadas através de op em um valor e combinadas com o valor na variável compartilhada original
21 Reduction - Exemplo #pragma omp parallel for reduction(+:sum) for(i=0; i<n; i++) { sum += a[i] * b[i]; Cópia local de sum para cada thread Todas as cópidas de sum são adicionadas e armazenadas na variável global
22 Operações de redução Vários operadores podem ser utilizados com redução Os valores iniciais são aqueles que fazem sentido Operador Valor Inicial Operador Valor Inicial + 0 * 1-0 ^ 0 & ~0 0 && 1 0
23 Exemplo de Integração Numérica f(x) = (1+x (1+x 2 ) 2 dx ) = π static long num_steps=100000; double step, pi; void main() { int i; double x, sum = 0.0; 0.0 X 1.0 step = 1.0/(double) num_steps; for (i=0; i< num_steps; i++){ x = (i+0.5)*step; sum = sum + 4.0/(1.0 + x*x); pi = step * sum; printf( Pi = %f\n,pi);
24 Atribuindo iterações A clausula schedule afeta como as iterações do laço são mapeadas entre as threads schedule(static [,chunk]) Blocos de iterações de tamanho chunk Distribuição Round robin schedule(dynamic[,chunk]) Iterações de tamanho chunk Ao terminar as iterações, a thread requisita o próximo passo schedule(guided[,chunk]) Agendamento dinâmico iniciado com um tamanho grande O tamanho dos blocos diminui, não menor do que chunk
25 Qual agendamento usar Clausula STATIC DYNAMIC GUIDED RUNTIME Quando usar Trabalho similar por iteração Imprevisível, grande variáção por iteração Caso especial de dinâmico para evitar overhead de agendamento Usa a variável de ambiente OMP_SCHEDULE
26 Exemplo de Schedule #pragma omp parallel for schedule (static, 8) for( int i = start; i <= end; i += 2 ) { if ( TestForPrime(i) ) gprimesfound++; Iterações divididas em blocos de 8 SE start = 3, então os blocos são i={3,5,7,9,11,13,15,17
27 Sumário OpenMP é uma abordagem simples para programação paralela Divisão de trabalho (omp for) Categorizar variáveis (omp private.) Sincronização (omp critical )
Programação Paralela e Distribuída (DCC/UFRJ)
Programação Paralela e Distribuída (DCC/UFRJ) Aula 7: Programação com memória compartilhada usando OpenMP 1, 8, 10 e 15 de abril de 2015 OpenMP (Open MultiProcessing) Projetado para sistemas de memória
Leia maisOpenMP. Mestrado em Ciência da Computação Introdução ao Processamento Paralelo e Distribuído Prof. Dr. Adenauer Corrêa Yamin Mestranda: Nelsi Warken
OpenMP Mestrado em Ciência da Computação Introdução ao Processamento Paralelo e Distribuído Prof. Dr. Adenauer Corrêa Yamin Mestranda: Nelsi Warken Sumário 1. Introdução 2. História 3. Motivação 4. Objetivos
Leia maisUNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais
UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais
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 maisMochila Binária com OpenMP
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TÉCNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO Mochila Binária com OpenMP Cícero Augusto de Lara Pahins, Cristiano Reis dos Santos. Professora: Profª Andrea Schwertner
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 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 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 maisJava na Prática. Célio Silva Aula 3
Java na Prática Célio Silva Aula 3 Java na Prática Collections List List são listas de coisa ordenadas/não ordenadas, com duplicações permitidas e com um índice Servem para encapsular código de tratamento
Leia maisEncapsulamento de Dados
Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam
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 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 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 maisJava RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
Leia maisIntrodução à orientação a objetos
Universidade Federal de Juiz de Fora PET Elétrica Introdução à orientação a objetos Tutor: Francisco José Gomes Aluno: João Tito Almeida Vianna 18/05/2013 1 Programação Estruturada x Orientação a objetos
Leia maisIntrodução a POO. Introdução a Linguagem C++ e POO
Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes
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 maisERAD SP 2013. IV Escola Regional de Alto Desempenho de São Paulo. Programando para múltiplos processadores: Pthreads, OpenMP e MPI.
ERAD SP 2013 IV Escola Regional de Alto Desempenho de São Paulo São Carlos / SP Minicurso Programando para múltiplos processadores: Pthreads, OpenMP e MPI Liria Matsumoto Sato (EP/USP) e Hélio Crestana
Leia maisIntrodução a Threads Java
Introdução a Threads Java Prof. Gerson Geraldo Homrich Cavalheiro Universidade Federal de Pelotas Departamento de Informática Instituto de Física e Matemática Pelotas RS Brasil http://gersonc.anahy.org
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 maisLÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO
LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Também chamado de estrutura de seleção múltipla (caso). Assim como o if-else, o switch também é uma estrutura de seleção. O if-else realiza o teste
Leia maisSintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
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 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 maisProgramação de Computadores I. Linguagem C Função
Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,
Leia maisINTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS
INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS Material da Prof. Ana Eliza Dados e comandos, para serem processados, devem estar na memória do computador. Memória Definição:
Leia maisMétodo de ordenação - objetivos:
Método de ordenação - objetivos: Corresponde ao processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. Facilitar a recuperação posterior de itens do conjunto ordenado. São
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 maisCurso C: Ponteiros e Arrays
Universidade de Brasília Departamento de Ciência da Computação Curso C: Ponteiros e Arrays Prof. Ricardo Pezzuol Jacobi rjacobi@cic.unb.br Ponteiros um ponteiro Ž uma vari vel que contžm o endere o um
Leia maisComércio e Manutenção de Produtos Eletrônicos. Mapeamento de memória e conexões do Controlador CP-WS13/8DI8DO2AI2AO/USB/OEM. Versão 1.
Comércio e Manutenção de Produtos Eletrônicos Manual CP-WS1 Mapeamento de memória e conexões do Controlador CP-WS13/8DI8DO2AI2AO/USB/OEM PROXSYS Versão 1.4 Setembro -2015 Controlador Industrial CP-WS1
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 maisProgramação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009
Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome
Leia maisPara entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:
Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem
Leia maisProgramação Concorrente em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM
Programação Concorrente em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM O que é programação concorrente? Um programa, múltiplos fluxos de execução Quando usar programação concorrente? Desempenho Ex.:
Leia maisComputação Paralela. Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho
Computação Paralela Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Dezembro 2005 Fases de desenvolvimento de aplicações paralelas
Leia maisModificador static e Pacotes. Alberto Costa Neto DComp - UFS
Modificador static e Pacotes Alberto Costa Neto DComp - UFS 1 Roteiro Modificador static Pacotes 2 Modificador static Instanciando a classe Funcionário matricula nome cpf salario salario-min getmatricula()
Leia maisMódulo de Contrato Agora OS
Módulo de Contrato Agora OS O módulo de contrato irá permitir fazer o acompanhamento e cobrança de contratos através da criação de índices personalizados pelo cliente. Exemplo: Contrato de prestação de
Leia maisUtilização de threads em Java
Universidade Federal do Rio de Janeiro IM/DCC Utilização de threads em Java Prof. Austeclynio Pereira e-mail: austeclyniop@posgrad.nce.ufrj.br Ciclo de vida de uma thread nascimento start notify notifyall
Leia maisFastCube 2.0 Programmer Manual
FastCube 2.0 Programmer Manual I FastCube 2.0 Programmer Manual Table of contents Chapter I Arquitetura do FastCube 2 2 Chapter II Utilizaçã o dos componentes do FastCube 5 1 Salvar... e carregar um cubo
Leia maisINF1007: Programação 2 9 Tipos Abstratos de Dados. (c) Dept. Informática - PUC-Rio 1
INF1007: Programação 2 9 Tipos Abstratos de Dados (c) Dept. Informática - PUC-Rio 1 Tópicos Módulos e compilação em separado Tipo abstrato de dados Exemplo 1: TAD Ponto Exemplo 2: TAD Círculo Exemplo 3:
Leia maisAlgoritmos APRENDENDO A PROGRAMAR COM C#
Algoritmos APRENDENDO A PROGRAMAR COM C# Alô Mundo AULA 01 Conhecendo o ambiente O objetivo principal desse programa não é mostrar a mensagem Alo Mundo. O objetivo é apresentar o ambiente de desenvolvimento
Leia maisProgramação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada
Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.
Leia maisControle de granularidade de tarefas em OpenMP
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO MÁRCIO DE OLIVEIRA DA SILVA Controle de granularidade de tarefas em OpenMP Trabalho de Conclusão
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti
Leia maisProgramação Estruturada I
Programação Estruturada I Introdução a Linguagem C Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2 1 thiago.tavares@ifsuldeminas.edu.br 2 mateus.santos@ifsuldeminas.edu.br Última Atualização:
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 maisJava Threads. Introdução
Java Threads mleal@inf.puc-rio.br 1 Introdução O único mecanismo de concorrência suportado explicitamente pela linguagem Java é multi-threading. threading. Os mecanismos de gerenciamento e sicronização
Leia maisNum programa em JAVA é possível definir diferentes sequências de execução independente: Threads.
Threads Folha 5-1 Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Uma Thread é similar a um processo no sentido em que corresponde a um conjunto de instruções
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 maisVeeam Endpoint Backup FREE
CONSULTORIA INFORMÁTICA DOWNLOAD GRATUITO Veeam Endpoint Backup FREE Visão Global do Produto Veeam Endpoint Backup FREE 1 Veeam Endpoint Backup está preparado para proteger a sua empresa. O Veeam Endpoint
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Programação Orientada a objetos Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do
Leia maisProgramação de Sistemas
Programação de Sistemas Multi-núcleos Programação de Sistemas Core : 1/19 Introdução (1) [Def] núcleo ( core ) é uma unidade de processamento. O multicore (Dual, Quad,...) possui 2 ou mais núcleos que
Leia maisProgramação de Sistemas
Programação de Sistemas Multi-núcleos Programação de Sistemas Core : 1/19 Introdução (1) [Def] núcleo ( core ) é uma unidade de processamento. O multicore (Dual, Quad,...) possui 2 ou mais núcleos que
Leia mais2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
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 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 maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
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 maisProgramação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 1 Motivação e Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet
Leia maisBackup e Recuperação Guia do Usuário
Backup e Recuperação Guia do Usuário Copyright 2008 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada da Microsoft Corporation nos Estados Unidos. As informações contidas neste documento
Leia maisAnálise de Programação
Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros
Leia maisA Linguagem Java. Alberto Costa Neto DComp - UFS
A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão
Leia maisAula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.
Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso
Leia maisTabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação
Java Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação 1 Tabelas para quê? As tabelas são utilizadas quando se pretende armazenar e manipular um grande número de
Leia maisProjeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario
Projeto de sistemas em Java Algoritmos e Programação I Aula 25 Profa. Márcia Cristina Moraes mmoraes@inf.pucrs.br Profa. Sílvia M. W. Moraes silvia@inf.pucrs.br Agora que já estamos manipulando com mais
Leia maisT.I. para o DealerSuite: Servidores Versão: 1.1
T.I. para o DealerSuite: Servidores Versão: 1.1 Lista de Figuras T.I. para o Dealer Suite: Servidores Figura 1 Tela Principal do ESXi...4 Figura 2 Tela VMware Player...5 Figura 3 Arquivo /etc/exports do
Leia maisProgramação Paralela: Sistemas Multicore
IX FITEM (2010) Fórum de Informática e Tecnologia da UEM Programação Paralela: Sistemas Multicore Prof. Hermes Senger hermes@dc.ufscar.br http://www.dc.ufscar.br/~hermes/fitem2010/ 1 OpenMP OpenMP (Open
Leia maisMódulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010
Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em
Leia maisUm Exemplo de Refatoração. Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br
Um Exemplo de Refatoração Prof. Alberto Costa Neto DComp/UFS alberto@ufs.br Exemplo Programa para calcular e imprimir o valor devido por um cliente de uma vídeo locadora Filme códigopreço:int 1 * * 1 Locação
Leia maisUnidade IV: Ponteiros, Referências e Arrays
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Leia maisEstrutura de Diretórios Linux. Rodrigo Gentini gentini@msn.com
Linux Rodrigo Gentini gentini@msn.com /bin - Ficam armazenados os comandos básicos que todos os usuários podem usar, como o : ls, cat, cd entre outros. /boot - Ficam todos os arquivos que a máquina precisa
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Leia maisADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 8
ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 8 Índice 1. Modelagem de Dados - Continuação...3 1.1. Modelo Entidade-Relacionamento (MER) - II... 3 1.1.1. Entidades fortes e entidades fracas... 3 1.2. Dicionário
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou
Leia maisAdministração Portal Controle Público
Administração Portal Controle Público Manual do usuário www.controlepublico.org.br 2015 Sumário 1. Workflow da publicação... 3 1.1. Perfis de publicação... 3 1.2. Perfis de controle no Administrador...
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 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 maisAula 11: Desvios e Laços
Aula 11: Desvios e Laços Nesta aula explicaremos alguns comandos que podem alterar o fluxo dos seus programas em JavaScript. Você aprenderá a estrutura dos comandos de desvios e laços. Entenderá como funcionam
Leia maisConceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações
Leia maisALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS
ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS Algoritmos e Complexidade 1 Plano Problemas e algoritmos. Estrutura de um algoritmo e dados manipulados. Métodos algorítmicos para resolução de problemas.
Leia maisMDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)
MDS II Aula 04 Concepção Requisitos Diagrama de Casos de Uso (Use Cases) 55 DIAGRAMA DE CASOS DE USO BENEFÍCIOS DOS CASOS DE USO ILUSTRAR POR QUE O SISTEMA É NECESSÁRIO OS REQUISITOS DO SISTEMA SÃO COLOCADOS
Leia maisMódulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados
Módulo e-rede Magento v1.0 Manual de Instalação do Módulo estamos todos ligados 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 Instruções iniciais 4 4.2 Instalação e
Leia maisComputação Heterogênea Programação paralela, clusters e GPUs
Computação Heterogênea Programação paralela, clusters e GPUs Profa. Dra. Denise Stringhini (ICT- Unifesp) Primeiro Encontro do Khronos Chapters Brasil Belo Horizonte, 20/09/2013 Conteúdo Computação heterogênea:
Leia maisGUIA SOBRE A APLICAÇÃO DOS ASPECTOS LINGUÍSTICOS DA CARTILHA DE ADESÃO À AGENCE UNIVERSITAIRE DE LA FRANCOPHONIE
GUIA SOBRE A APLICAÇÃO DOS ASPECTOS LINGUÍSTICOS DA CARTILHA DE ADESÃO À AGENCE UNIVERSITAIRE DE LA FRANCOPHONIE Adotado pelo conselho associativo da Agence universitaire de la Francophonie 13 de setembro
Leia maisProcesso de Gerenciamento do Catálogo de Serviços de TIC
de TIC Escritório de Gerenciamento de Processos de Tecnologia da Informação e Comunicação EGPr-TIC João Pessoa 2016 Versão 1.0 Tribunal Regional do Trabalho da 13ª Região Desembargador Presidente Ubiratan
Leia maisLinguagem de Programação I
Linguagem de ção I Curso de Sistemas de Informação Karla Donato Fook karladf@ifmaedubr DESU / DAI 2016 O que é um programa de computador? 2 1 de computador E_1 E_n Resultado Entrada(s) Processamento Saída(s)
Leia maisAuxiliar em Administração de Redes Redes de Computadores I
Prof. Diego Pereira Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos Auxiliar em Administração de Redes Redes de Computadores
Leia maisÁrvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão
Árvores 1 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos! árvore genealógica! diagrama hierárquico de uma organização! modelagem de algoritmos! O conceito de árvores está
Leia maisProgramação Orientada por Objetos
PPROG Paradigmas da Programação Programação Orientada por Objetos Relações entre Dependência Agregação Composição Associação (Livro Big Java, Late Objects Capítulo 12) Nelson Freire (ISEP DEI-PPROG 2014/15)
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 maisVERSÃO RESPOSTAS PROVA DE MARKETING
UNIVERSIDADE DE SÃO PAULO FACULDADE DE ECONOMIA, ADMINISTRAÇÃO E CONTABILIDADE DE RIBEIRÃO PRETO PROGRAMA DE PÓS-GRADUAÇÃO EM ADMINISTRAÇÃO DE ORGANIZAÇÕES PROCESSO SELETIVO DOUTORADO - TURMA 2011 VERSÃO
Leia maisInformá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 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 Tipos de Sistemas Operacionais De Sistemas Embarcados (PalmOS,WinCE,WinXPEmbbeded,Linux) Hardware simples, especifico
Leia maisElementos de programação em C
Elementos de programação em C Estruturas condicionais Francisco A. C. Pinheiro, Elementos de Programação em C, Bookman, 2012. Visite os sítios do livro para obter material adicional: www.bookman.com.br
Leia maisNoções sobre Objetos e Classes
Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão
Leia mais2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10
1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...
Leia mais