Paralelismo em Computadores com Tecnologia Multicore
|
|
|
- Felipe de Paiva Belmonte
- 8 Há anos
- Visualizações:
Transcrição
1 IFRN - Pau dos Ferros Pau dos Ferros/RN, 25 de fevereiro de 2016
2 O minicurso Descrição: Para se utilizar os vários núcleos de processamento disponíveis nos computadores atuais de forma eficiente, faz necessário utilizar técnicas de programação paralela. Neste curso, pretende-se apresentar conceitos fundamentais e uma visão prática de programação paralela, utilizando-se para computadores com múltiplos núcleos. Conteúdo: Análise de desempenho de sistemas paralelos Pré-requisitos: C++ e básico de Sistema Operacionais. Recursos: Laboratório de Informática com 30 computadores com processadores com 4 núcleos ou acima. Sistema operacional Linux. Compiladores c/c++. Projetor e quadro branco. Carga-horária: 8 horas.
3 Sumário
4 O que é computação paralela? Onde está o paralelismo? It s not a piece of cake! Tradicionalmente, software são escritos para serem seriais: Rodar em um único computador tendo apenas uma CPU; Instruções são escritas uma depois da outra; Apenas uma instrução pode ser executada em um determinado instante.
5 O que é computação paralela? Onde está o paralelismo? It s not a piece of cake! Figura: Problema Serial.
6 O que é computação paralela? Onde está o paralelismo? It s not a piece of cake! Computação paralela é a forma em quem múltiplos cálculos são realizados de forma paralela; De forma simples, usa-se múltiplos recursos computacionais de forma simultânea para resolver um problema: Rodando em múltiplas CPUs; O problema é quebrado de forma que possam ser resolvidos de forma paralela; Cada parte é então quebrada em séries de instruções; Essas instruções de cada parte são executadas simultaneamente em diferentes CPUs.
7 O que é computação paralela? Onde está o paralelismo? It s not a piece of cake! Figura: Problema Paralelo.
8 Motivação A lei de Moore dizia que a cada 1 ano e meio a quantidade de transistores dobraria. Figura: Lei de Moore criada em 1965.
9 Motivação Figura: Diminuição do tamanho dos chips. Assumia-se que quanto mais transistores em um chip maior desempenho era adquirido.
10 Motivação
11 Motivação Média de velocidade de operação dos processadores de 2000 até 2012.
12 Multiprocessamento Onde está o paralelismo? It s not a piece of cake! Explorar diferentes tipos de paralelismo; Reduzir a potência.
13 Multiprocessamento Onde está o paralelismo? It s not a piece of cake! Explorar diferentes tipos de paralelismo; Reduzir a potência.(consequentemente, reduzir calor); Cores mais simples são mais fáceis de projetar e menor custo.
14 Onde está o paralelismo? Onde está o paralelismo? It s not a piece of cake! Aplicações envolvendo grande capacidade de processamento Meteorologia. Simulação de fenômenos físicos. Modelagem de sistemas. Algebra Linear. Otimização de Sistemas. Processamento de Imagens. Computação gráfica.
15 It s not a piece of cake! Onde está o paralelismo? It s not a piece of cake! Programas de computador paralelos são mais difíceis de programar que sequenciais! Pois, introduz diversas novas classes de defeitos potenciais que podem ocorrer. Sincronização x Computação
16 Arquitetura Arquitetura Unidades de Paralelismo Dependḙncia Arquitetura de um processador com uma unidade de processamento
17 Arquitetura Arquitetura Unidades de Paralelismo Dependḙncia Arquitetura de um processador multicore
18 Unidades de Paralelismo Arquitetura Unidades de Paralelismo Dependḙncia Um processo é basicamente um programa em execução. Threads é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas concorrentemente.
19 Dependḙncia Arquitetura Unidades de Paralelismo Dependḙncia Entender a dependência de dados é fundamental na implementação de algoritmos paralelos. 1:Função dep( a, b ) 2:c a b 3:d 2 c 4:FimFunção
20 Dependḙncia Arquitetura Unidades de Paralelismo Dependḙncia Entender a dependência de dados é fundamental na implementação de algoritmos paralelos. 1:Função dep( a, b ) 2:c a b 3:d 2 c 4:FimFunção Operação 3 depende da operação 2!
21 Dependḙncia Arquitetura Unidades de Paralelismo Dependḙncia Entender a dependência de dados é fundamental na implementação de algoritmos paralelos. 1:Função dep( a, b ) 2:c a b 3:d 2 c 4:FimFunção Operação 3 depende da operação 2! 1:Função dep( a, b ) 2:c a b 3:d 2 b 4:e a + b 4:FimFunção
22 Dependḙncia Arquitetura Unidades de Paralelismo Dependḙncia Entender a dependência de dados é fundamental na implementação de algoritmos paralelos. 1:Função dep( a, b ) 2:c a b 3:d 2 c 4:FimFunção Operação 3 depende da operação 2! 1:Função dep( a, b ) 2:c a b 3:d 2 b 4:e a + b 4:FimFunção Não existe dependência!
23 POSIX Threads POSIX Threads Região Crítica Count 3 POSIX threads é um padrão para threads, o qual define uma API para criar e manipular threads. As bibliotecas que implementam a POSIX threads são chamadas Pthreads, sendo muito difundidas no universo Unix, Linux.
24 Criando Threads POSIX Threads Região Crítica Count 3
25 Finalizando Threads POSIX Threads Região Crítica Count 3
26 Exemplo 1 POSIX Threads Região Crítica Count 3 Exemplo 1 Baixar Código Para compilar use o comando g++ nome.c -pthread -o executavel
27 Exemplo 2 POSIX Threads Região Crítica Count 3 Exemplo 2 Baixar Código
28 Sincronizando Threads POSIX Threads Região Crítica Count 3 Join é um mecanismo para sincronizar as threads; Bloqueia quem chamou o join até que a thread alvo seja finalizada; O programador pode obter o estado de finalização thread através do atributo status na chamada da função phtread_exit(status).
29 Sincronizando Threads POSIX Threads Região Crítica Count 3
30 Sincronizando Threads POSIX Threads Região Crítica Count 3
31 Exemplo 3 POSIX Threads Região Crítica Count 3 Exemplo 3 Baixar Código
32 Região Crítica POSIX Threads Região Crítica Count 3 Um conjunto de instruções que pode ter apenas uma thread a executar em um momento específico.
33 Região Crítica POSIX Threads Região Crítica Count 3 Um conjunto de instruções que pode ter apenas uma thread a executar em um momento específico. Condição de Corrida Ocorre quando mais de uma thread tenta acessar o mesmo espaço de memória simultaneamente.
34 Exemplo 2 POSIX Threads Região Crítica Count 3 Adapte a função thread_function do Exemplo 1 para que faça o incremento de uma variável compartilhada (count). Cada thread deve incrementar vezes.
35 Exclusão mútua POSIX Threads Região Crítica Count 3 Exclusão mútua (Mutex) é uma técnica usada em programação concorrente para evitar que duas threads tenham acesso simultaneamente a uma região crítica.
36 Pthread Mutex POSIX Threads Região Crítica Count 3 int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr); int pthread_mutex_unlock(pthread_mutex_t *mutex); int pthread_mutex_lock(pthread_mutex_t *mutex); int pthread_mutex_destroy(pthread_mutex_t *mutex);
37 Exemplo - Mutex POSIX Threads Região Crítica Count 3 Exemplo Mutex Baixar Código
38 Count 3 POSIX Threads Região Crítica Count 3 Como seria o algoritmo para contar quantos números 3 existem em uma sequência numérica?
39 Count 3 POSIX Threads Região Crítica Count 3 Como seria o algoritmo para contar quantos números 3 existem em uma sequência numérica?
40 Count 3 POSIX Threads Região Crítica Count 3 Como seria o algoritmo para contar quantos números 3 existem em uma sequência numérica? Agora faça a versão paralela!
41 Count 3 POSIX Threads Região Crítica Count 3 Como seria o algoritmo para contar quantos números 3 existem em uma sequência numérica? Agora faça a versão paralela! Ajuda dos universitários! Baixar Código
42 Count 3 POSIX Threads Região Crítica Count 3 Como seria o algoritmo para contar quantos números 3 existem em uma sequência numérica? Agora faça a versão paralela! Ajuda dos universitários! Código completo Baixar Código Baixar Código
43 (Open Multi-Processing) é uma API multiplataforma para multiprocessamento, usando memória compartilhada. Composta por um conjunto de diretivas para o compilador, funções de biblioteca e variáveis de ambiente as quais especificam a implementação de um programa paralelo em C/C++.
44 Região Paralela O programa começa com uma única thread: master thread. fork: o master thread inicia um conjunto de threads. join: somente o master thread continua a executar.
45 Região Paralela A estrutura é sempre #pragma omp diretiva clausulas. A diretiva Parallel cria novas threads. A quantidade de threads é igual ao número de núcleos, quando não especificado a quantidade de threads.
46 Região Paralela Cláusulas: num_threads(integer-expression) default(shared none) private(list) firstprivate(list) shared(list) reduction(operator: list)
47 Hello World!
48 Divisão de Tarefas
49 Divisão de Tarefas For Deve estar dentro de um bloco paralelo. Restrições sobre a variável de laço e expressões de controle: Variável do laço deve ser int, iterator ou ponteiro. O teste deve ser um dos <, <=,>,> = O incremento pode ser ++, -, + =, - =, +, - O teste e o incremento deve ser invariante dentro do laço. pode haver vários laços aninhados. O programador é responsável por dependências dentro das iteração.
50 Divisão de Tarefas For Cláusulas: private(list) firstprivate(list): variavel privada a uma task. Iniciada com o valor corrente. lastprivate(list): variavel privada a uma task. Atualizada no final da região paralela. reduction(operator: v): Atualiza a instância sequêncial da lista de variáveis listada com a combinação de valor de todas as threads de acordo com a operação. schedule(kind[, chunk_size]): static, dynamic, guided, auto Nowait: Retira barreira implícita.
51 Divisão de Tarefas Section Várias seções são executadas em paralelo. Cada seção é executado uma vez por uma thread.
52 Divisão de Tarefas Section
53 Divisão de Tarefas Single Declaração ou bloco executado por uma única thread. A diferença é que a master é uma thread específica, single é qualquer thread. existe uma barreira implícita depois de bloco single, porém não há depois do master.
54 Divisão de Tarefas Single
55 barrier Nenhuma thread cruza barreira até as outras threads atingirem a barreira. Algumas diretivas omp possui uma barreira implícita. A cláusula nowait pode remover a barreira implícita.
56 critical Declara uma região crítica. Todas as regiões críticas com o mesmo name são mutuamente exclusivos. Regiões críticas sem nome indicam a mesma região crítica.
57 Práticas Refaça em OpemMP: O Count 3. O incremento de uma variável - Exemplo 2. - Mutex em OpenMp.
58 Desempenho de Algoritmos Paralelos É importante entender até que ponto é vantajoso utilizar programas paralelos. O objetivo é determinar os benefícios do paralelismo aplicados a um problema considerado. E também o quanto o algoritmo é capaz de continuar eficiente.
59 Speedup e Eficiḙncia S = T S T P O speedup S diz quantas vezes o algoritmo paralelo é mais rápido que o algoritmo serial.
60 Speedup e Eficiḙncia E = S P = T S T P P = T S PT P A eficiência é uma medida normalizada de speedup que indica o quão efetivamente cada processador é utilizado. P é número de threads. Um speedup com valor igual a P, tem uma eficiência igual 1, ou seja, todos processadores são utilizados e a eficiência é linear.
61 Lei de Amdahl Segundo a Lei de Amdahl (do inglês, Amdahl s law), a velocidade de processamento paralelo é limitada a porção sequencial do programa. Essa porção do programa que não pode ser paralelizada limitará o aumento de velocidade disponível com o paralelismo.
62 Lei de Amdahl
63 Escalabilidade Paralela A palavra escalável tem uma grande variedade de significados em diversas áreas. Informalmente, a tecnologia é escalável quando ela pode lidar com problemas cada vez maiores sem perdas de desempenho.
64 Escalabilidade Paralela
65 Fim Obrigado!
Introdução OpenMP. Nielsen Castelo Damasceno
Introdução OpenMP Nielsen Castelo Damasceno Computação de auto desempenho Processamento Paralelo Memória Distribuída e Compartilhada Modelo de programação OpenMP Métricas de Desempenho Computação de auto
OpenMP: Variáveis de Ambiente
Treinamento OpenMP C/C++ 1 TREINAMENTO OpenMP C/C++ Módulo 1 Computação de Alto Desempenho Módulo 2 OpenMP: Construtores Paralelos Módulo 3 OpenMP: Diretivas de sincronização Módulo 4 OpenMP: Funções de
Sistemas Distribuídos e Paralelos
Sistemas Distribuídos e Paralelos Aula #6: Programação paralela em sistemas de memória compartilhada. ISUTIC - 2016 Eng. Alexander Rodríguez Bonet Aula de hoje Regiões paralelas. Cláusulas de âmbito. Partilha
Programação em Paralelo OpenMP
Programação em Paralelo OpenMP N. Cardoso & P. Bicudo Física Computacional - MEFT 2012/2013 N. Cardoso & P. Bicudo Programação em Paralelo: OpenMP 1 / 15 Introdução Potencial do GPU vs CPU Cálculo: 367
Introdução à OpenMP (Dia 1) Prof. Guido Araujo
Introdução à OpenMP (Dia ) Prof. Guido Araujo www.ic.unicamp.br/~guido Roteiro Escrevendo programas usando OpenMP Usando OpenMP para paralelizar laços seriais com pequenas mudanças no código fonte Explorar
AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA
Introdução ao OpenMP
Introdução ao OpenMP Fernando Silva DCC FCUP Recursos OpenMP.org (http://www.openmp.org) Tutorial (http://www.llnl.gov/computing/tutorials/openmp/) Implementação gratuita Omni OpenMP compiler project (http://phase.hpcc.jp/omni/)
Introdução aos Conceitos de Computação Paralela através da estimativa de Pi
Introdução aos Conceitos de Computação Paralela através da estimativa de Pi Diego da Silva Pereira 1 1 Professor de Redes de Computadores IFRN Câmpus Currais Novos. e-mail: [email protected] Resumo:
COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1
COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 Márcia Da Silva 2, Igor Gamste Haugg 3, Eliézer Silveira Prigol 4, Édson L. Padoin 5, Rogério S. M. Martins
PROGRAMAÇÃO. Programação paralela com o OpenMP Em paralelo
PROGRAMAÇÃO Programação paralela com o OpenMP Em paralelo O OpenMP traz o poder do multiprocessamento aos programas em C, C++ e Fortran. por Wolfgang Dautermann A nova safra de processadores com múltiplos
Programação de Alto Desempenho - 2. Prof: Carla Osthoff
Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: [email protected] 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda
Threads. Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa. Fernando Ramos, Nuno Neves, Sistemas Operativos,
Threads Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Objetivos da aula Introduzir a noção de thread uma unidade básica de utilização do CPU Discutir os benefícios e os problemas
Multiprogramação leve em arquiteturas multi-core
Multiprogramação leve em arquiteturas multi-core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Arquiteturas multi-core Programação multithread Ferramentas de programação
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 4: Programação Concorrente Diego Passos Últimas Aulas Processos Compostos por: Código (programa). Estado (memória, registradores). Em um sistema com multiprogramação:
Arquiteturas Paralelas
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Arquiteturas Paralelas Medidas de desempenho Alexandre Amory Edson Moreno Índice 2 1. Introdução 2. Medidas de Desempenho Introdução 3 Aumento de desempenho dos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos Pensando em Paralelo Pensar em paralelo é uma tarefa que exige disciplina
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre o
Computadores e Programação (DCC/UFRJ)
Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo
Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos
Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação
Paralela e Distribuída. com o MPI e o OpenMP
Programação Paralela e Distribuída Programação Híbrida com o e o OpenMP e OpenMP Uma forma de executar um programa em paralelo num cluster multiprocessor é criar um processo por cada processador. Nesse
SSC510 Arquitetura de Computadores. 6ª aula
SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas
SSC PROGRAMAÇÃO CONCORRENTE. Aula 06 Modelos de Programação Prof. Jó Ueyama e Julio Cezar Estrella
SSC- 0143 PROGRAMAÇÃO CONCORRENTE Aula 06 Modelos de Programação Prof. Jó Ueyama e Julio Cezar Estrella Créditos Os slides integrantes deste material foram construídos a par4r dos conteúdos relacionados
Arquitetura de Computadores. Processamento Paralelo
Arquitetura de Computadores Processamento Paralelo 1 Multiprogramação e Multiprocessamento Múltiplas organizações de computadores Single instruction, single data stream - SISD Single instruction, multiple
Computação Paralela (CUDA)
Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Computação Paralela (CUDA) Hussama Ibrahim [email protected] Notas de Aula Baseado nas Notas de
Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais
DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso [email protected] Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno
Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER
COMPARAÇÃO DE DESEMPENHO NA PROGRAMAÇÃO PARALELA HÍBRIDA (MPI + OPENMP) NA BUSCA DE TEXTO EM ARQUIVOS 1 COMPARISON OF PERFORMANCE IN HYBRID PARALLEL PROGRAMMING (MPI + OPENMP) IN SEARCH OF TEXT IN FILES
SSC PROGRAMAÇÃO CONCORRENTE. Aula 03 Terminologia Geral de Computação Paralela Prof. Jó Ueyama
SSC- 0742 PROGRAMAÇÃO CONCORRENTE Aula 03 Terminologia Geral de Computação Paralela Prof. Jó Ueyama Créditos Os slides integrantes deste material foram construídos a par4r dos conteúdos relacionados às
Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot
Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Tomás Evalero Orellana Universidade Estadual de Santa Cruz Roteiro Breve introdução
OpenMP. Slides baseados em tutorial de Tim Mattson da Intel
OpenMP Slides baseados em tutorial de Tim Mattson da Intel Modelo OpenMP Como as threads interagem? OpenMP é um modelo baseado em multithreading Threads se comunicam pelo compartilhamento de variáveis
Programação Concorrente. Prof. Hugo Vieira Neto
Programação Concorrente Prof. Hugo Vieira Neto Concorrência Um programa concorrente descreve diversas atividades que ocorrem simultaneamente, de modo diferente de programas comuns, que descrevem apenas
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO
INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre o
Avaliação de Desempenho
Avaliação de Desempenho Clock do Sistema Cristal de Quartzo envia onda de sinais constantes que são convertidas em sinais digitais 1GHz = 1 bilhão de pulsos Taxa de pulsos = taxa de clock Incremento de
Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend
Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos
Parte I Multiprocessamento
Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez [email protected] 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento
Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD
Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Arquiteturas MIMD Arquiteturas MIMD As arquiteturas MIMD dividem-se em dois grandes modelos: Arquiteturas MIMD de
Chapter 4: Threads. Operating System Concepts 8th Edition
Chapter 4: Threads Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação foi modificada por Cristiano
Introdução à Computação: Sistemas de Computação
Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Linguagem de Programação I Prof. Tiago Eugenio de Melo.
Linguagem de Programação I Prof. Tiago Eugenio de Melo [email protected] www.tiagodemelo.info 1 Sumário Introdução Conceitos preliminares Introdução Variáveis Comandos Condicionais 2 Por que aprender a
Ferramentas para Programação em Processadores Multi-Core
Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Ferramentas de programação Prática
Processos Concorrentes
Processos Concorrentes Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright
Processos e Threads. Ciclo 2 AT3. Prof. Hermes Senger
Processos e Threads Ciclo 2 AT3 Prof. Hermes Senger Nota O presente material foi elaborado com base no material didático do livro Sistemas Operacionais, 3ª edição, de H.M.Deitel, P.J. Deitel, D.R. Choffnes,
Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core
RSS-Verão-01/08 p.1/36 Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7 Escola de Verão 2008 Arquiteturas Multi-Core Renato S. Silva LNCC - MCT Janeiro de 2008 RSS-Verão-01/08 p.2/36 Objetivo:
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Ementa do Curso Conceitos básicos de programação Orientação a objetos Linguagem Python Simulação com o NS-3 Programação
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02
Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02 Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS
PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência
Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua
30/5/2011. Sistemas computacionais para processamento paralelo e distribuído
Arquitetura de Computadores Sistemas computacionais para processamento paralelo e distribuído Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO Processamento
Paralelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data)
Paralelismo de dados (execução de simultaneidade) Em métodos tradicionais de programação (processamento sequencial), uma grande quantidade de dados é processada em um único núcleo de uma CPU, enquanto
DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES
DESENVOLVIMENTO DE UM ALGORITMO PARALELO PARA APLICAÇÃO EM CLUSTER DE COMPUTADORES João Ricardo Kohler Abramoski (PAIC/FUNDAÇÃO ARAUCÁRIA), Sandra Mara Guse Scós Venske (Orientadora), e-mail: [email protected]
Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela
Aula 6: Comunicação entre processos Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela (-- motivação --) Processos em execução no sistema operacional podem ser: Independentes:
Organização de Computadores II. Arquiteturas MIMD
Organização de Computadores II Arquiteturas MIMD Arquiteturas UMA Arquiteturas com memória única global. Tempo de acesso uniforme para todos os nós de processamento. Nós de processamento e memória interconectados
Sistemas Operacionais
Sistemas Operacionais 04 Processos Introdução Um sistema de computação quase sempre tem mais atividades a executar que o número de processadores disponíveis. Diferentes tarefas têm necessidades distintas
Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo
Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo Múltipla escolha 1. Em que consiste um sistema operacional: a. Um conjunto de
Atividades Práticas no Ensino Introdutório de Sistemas Operac
Atividades Práticas no Ensino Introdutório de Sistemas Operacionais Cassio P. de Campos Nicolas Kassalias Faculdade de Computação e Informática Universidade Mackenzie 17 de julho de 2006 Agenda 1 Introdução
Processamento de áudio em tempo real utilizando dispositivos não convencionais:
Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento paralelo com Pure Data e GPU. André Jucovsky Bianchi [email protected] Departamento de Ciência da Computação Instituto
Linguagens de Programação
Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.
Uma proposta de implementação de árvores rubro-negras em Haskell de forma concorrente
Uma proposta de implementação de árvores rubro-negras em Haskell de forma concorrente AUTOR: THAÍS S. HÜBNER BOLSISTA PBIP/UFPEL EMAIL: [email protected] ORIENTADOR ANDRÉ RAUBER DU BOIS Sumário
