Definindo melhor alguns conceitos
|
|
- Giuliana Cunha Capistrano
- 7 Há anos
- Visualizações:
Transcrição
1 Definindo melhor alguns conceitos Concorrência termo mais geral, um programa pode ser constituído por mais de um thread/processo concorrendo por recursos Paralelismo uma aplicação é eecutada por um conjunto de processadores em um ( dedicado ) ambiente único Computação distribuída aplicações sendo eecutadas em plataformas distribuídas
2 Definindo melhor alguns conceitos Qualquer que seja o conceito, o que queremos? estabelecer a solução do problema lidar com recursos independentes aumentar desempenho e capacidade de memória fazer com que usuários e computadores trabalhem em espírito de colaboração
3 O que paralelizar? Pode estar em diferentes níveis de sistemas computacionais atuais Hardware Sistema Operacional Aplicação As principais questões que são focadas são Desempenho Corretude Possibilidade de eplorar o paralelismo
4 Por que paralelizar? Aplicação Paralela várias tarefas vários processadores redução no tempo total de eecução
5 Modelos de Programação Paralela Criação e gerenciamento de processos estático ou dinâmico Comunicação memória compartilhada: visão de um único espaço de endereçamento global memória distribuída: troca eplícita de mensagens
6 Modelos de Programação Paralela Epressão de Paralelismo: Paradigmas SPMD ( Single Program Multiple Data ) MPMD (Multiple Program Multiple Data ) Metas aumento no desempenho maior eficiência
7 Modelo de Programação Paralela As arquiteturas paralelas e distribuídas possuem muitos detalhes Como especificar uma solução paralela pensando em todos esses detalhes? O que queremos? Eecutar a solução paralela o mais rápido possível? Todos os detalhes influem no desempenho eficiente da solução? Então Um modelo de programação paralela deve especificar a metodologia de eecução e detalhes que influenciam na eecução da aplicação naquela arquitetura Um modelo não deve especificar detalhes de um sistema/máquina específico
8 Abstraindo para Programar Maior facilidade de programação: o esforço intelectual é reduzido quando nos concentrarmos em "uma coisa de cada vez duas dimensões: dimensão espacial dimensão temporal
9 Dimensão Espacial A cada momento, conjuntos de tarefas independentes são implementadas cada tarefa ou processador não sabe o que acontecerá "a seguir" detalhamento de informações globais levam a uma programação difícil
10 Dimensão Temporal programas são composições de ações seqüenciais que preenchem o sistema computacional como um todo: pode-se definir com maior conhecimento o que vai acontecer a seguir
11 Níveis de Paralelismo Dependendo do nível considerado, a eploração do paralelismo é diferente nível de aplicações ou fases de aplicações a nível de tarefas a nível de instruções - a eecução da instrução necessita da busca, análise e eecução propriamente dita dentro dos circuitos aritméticos
12 Algoritmos Quando queremos resolver um problema computacionalmente, temos que analisar a compleidade deste. No domínio seqüencial, se procura definir um algoritmo que resolva o problema em tempo mínimo. Mas quando se tratando de algoritmos paralelos, mais um parâmetro número de processadores operações independentes devem ser eecutadas em paralelo. qual o tamanho dos processos? noção de granulosidade (granularity) a razão entre o tempo de computação necessário para eecutar uma tarefa e a sobrecarga de comunicação durante essa computação.
13 Modelos de Computação Modelo de Computação Seqüencial: von Neumann plataforma base para que usuários e projetistas compleidade de tempo do pior caso: tempo máimo que o algoritmo pode levar para eecutar qualquer entrada com n elementos compleidade de tempo esperado: compleidade média critério de custo uniforme: qualquer instrução RAM leva uma unidade de tempo para ser eecutada e também o acesso a registradores
14 Modelos de Computação Modelo de Computação Paralela O desempenho do programa paralelo depende de certos fatores dependentes da máquina: grau de concorrência; escalonamento e alocação de processadores; comunicação e sincronização.
15 Modelos de Computação Paralela Memória Compartilhada Com ou sem uso de threads Memória Distribuída Troca de mensagens
16 Modelos de Computação Paralela Memória Compartilhada sem uso de threads Processos podem compartilhar espaço de memória Através de semáforos para não ocorrer deadlock
17 Modelos de Computação Paralela Memória Compartilhada sem uso de threads Uma vantagem deste modelo: todos os processos podem acessar igualmente os dados compartilhados. Não há necessidade de eplicitar a troca de dados entre processos como em memória distribuída
18 Modelos de Computação Paralela Memória Compartilhada sem uso de threads Uma desvantagem desse modelo: o gerenciamento da localidade de dados: ou seja, trazer dados para a cache para economizar acesso a memória principal
19 Modelos de Computação Paralela Threads Utilização de múltiplos "light weight Por eemplo, podemos pensar que dependendo do problema, uma subrotina possa ser definida como uma thread Comunicação entre threads realizada por memória compartilhada Sincronização entre as threads necessárias se duas ou mais threads estão atualizando o mesmo endereço de memória
20 Modelos de Computação Paralela Memória Distribuída (troca de mensagens) Cada tarefa tem sua memória local Pode haver uma ou mais tarefas por processador e em vários processadores A troca de informações é realizada através de mensagens Para tal, geralmente é utilizada uma biblioteca de troca de mensagens Eemplo: Message Passing Interface (MPI) library Se tornou padrão entre aplicações industriais e acadêmicas de fato MPI-1 em 1994 MPI-2 em 1996 MPI-3 in 2012
21 Modelos de Computação Paralela Modelo de Paralelismo de Dados Paralelismo é realizado em uma estrutura global comum Um conjunto de tarefas trabalha em conjunto nesta estrutura A mesma operação sobre elementos diferentes Pode ser implementado em memória compartilhada ou memória distribuída Compartilhada estrutura na memória global Distribuída estrutura dividida entre as diferentes memórias.
22 Modelo PRAM Mas como pensar em paralelo? Abstrair de formas de como implementar... O que tínhamos com computação sequencial? Memória CPU
23 Modelo PRAM Mas como pensar em paralelo? Abstrair de formas de como implementar... Como podemos pensar em paralelo? Memória Memória CPU CPU CPU CPU
24 Modelo PRAM modelo ideal conjunto de p processadores operando sincronamente sob o controle de um único relógio, compartilhando um espaço global de memória algoritmos desenvolvidos para este modelo geralmente são do tipo SIMD todos os processadores eecutam o mesmo conjunto de instruções, e ainda a cada unidade de tempo, todos os processadores estão eecutando a mesma instrução mas usando dados diferentes.
25 Modelo PRAM modelo ideal propriedades chaves: eecução síncrona sem nenhum custo adicional para a sincronização comunicação realizada em uma unidade de tempo, qualquer que seja a célula de memória acessada comunicação é feita usando a memória global
26 Passo do algoritmo PRAM fase de leitura: os processadores acessam simultaneamente locais de memória para leitura. Cada processador acessa no máimo uma posição de memória e armazena o dado lido em sua memória local fase de computação: os processadores eecutam operações aritméticas básicas com seus dados locais fase de gravação: os processadores acessam simultaneamente locais de memória global para escrita. Cada processador acessa no máimo uma posição de memória e grava um certo dado que está armazenado localmente
27 Modelo PRAM análise e estudo de algoritmos paralelos definição de paradigma de programação paralela avaliação do desempenho desses algoritmos independentemente das máquinas paralelas se o desempenho de um algoritmo paralelo para o modelo PRAM não é satisfatório, então não tem sentido implementálo em qualquer que seja a máquina paralela se eficiente, no entanto, podemos simulá-lo em uma máquina real : simulação deve ser eficiente
28 Padrões de Acesso no Modelo PRAM Eclusive Read (ER): vários processadores não podem ler ao mesmo tempo no mesmo local Eclusive Write (EW): vários processadores não pode escrever no mesmo local de memória Concurrent Read (CR): vários processadores podem ler ao mesmo tempo o mesmo local de memória Concurrent Write (CW): vários processadores podem escrever no mesmo local de memória ao mesmo tempo Combinações são usadas para formar as variantes do PRAM: EREW, CREW, ERCW e CRCW
29 Prioridades do CRCW Para resolver conflitos no caso de vários processadores tentarem escrever ao mesmo tempo no mesmo local de memória global: Comum - vários processadores concorrem a escrita no mesmo local de memória global durante o mesmo instante de relógio - todos devem escrever o mesmo valor; Arbitrário - dentre os vários processadores, um é selecionado arbitrariamente e seu valor armazenado no local de memória disputado; Prioridade - dentre os vários processadores, aquele com o menor índice é escolhido para escrever o seu valor no local concorrido.
30 Memória Global P 1 P 2 P 3 P 4 P n
31 Comunicação em uma máquina PRAM Comunicação através da memória global: Pi quer passar para Pj Pi escreve em um local de memória global em um determinado passo Pj pode acessar o dado naquele local no próimo passo
32 Memória compartilhada P 1 P 2 P 3 P n d1 d 1 Passo 1: cada processador realiza sua computação
33 Memória compartilhada d 1 P 1 P 2 P 3 P n d1 d 1 Passo 1: P 1 escreve na memória
34 Memória compartilhada d 1 P 1 P 2 P 3 P n d1 d 1 d 1 Passo 2: P 2 lê da memória
35 Observações os processadores operam sincronamente: a cada passo, todas os processadores eecutam a mesma instrução sobre dados distintos uma instrução pode ser simplesmente uma operação aritmética ou uma comparação de dois números processadores ativos: somente um subconjunto de processadores eecutem uma instrução e processadores restantes ficam ociosos/inativos
36 Eemplo V vetor com n elementos. um dado valor Problema: V? Ambiente: P processadores tipo EREW PRAM Analisando o problema: todos os processadores tem que saber o valor de não podem acessar a célula de simultaneamente depois, cada processador tem que olhar os elementos de V sinalização da localização do valor no vetor V
37 Solução todos os processadores devem saber sobre : broadcasting ou difusão Pior caso deste procedimento log 2 P passos P1 acessa a memória global: P2 comunica com P1 ou seja, de alguma forma, P1 informa para P2 P1 e P2 informam para P3 e P4 assim por diante processadores não têm permissão de acesso simultâneo gravam em lugares distintos: M i é um dos P locais de memória global Um vetor M auiliar é utilizado
38 Memória compartilhada M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8
39 Memória compartilhada M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 PASSO 1 (inicialização)
40 Memória compartilhada M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 PASSO 1 (inicialização)
41 Memória compartilhada M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 PASSO 2
42 Memória compartilhada M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 PASSO 2
43 Memória compartilhada M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 PASSO 3
44 Memória compartilhada M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 PASSO 3
45 Memória compartilhada M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 PASSO 4
46 Memória compartilhada M 1 M 2 M 3 M 4 M 5 M 6 M 7 M 8 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 PASSO 4
47 Solução do broadcasting (leitura) P 1 lê P 1 escreve em M 1 P 2 lê M 1 P 2 escreve em M 2 P 3 e P 4 lêem M 1 e M 2 P 3 e P 4 escrevem em M 3 e M 4 P 5, P 6, P 7 e P 8 lêem M 1, M 2, M 3 e M 4 P 5, P 6, P 7 e P 8 escrevem M 5, M 6, M 7 e M 8 e assim por diante a cada passo: duas vezes o número de processadores ativos do passo anterior podem ler e escrever log P passos
48 broadcasting P 1 lê de ; P 1 escreve em M[1]; Para h:= 1 até log P faça { se 2 h-1 < i 2 h então { P i lê de M[i - 2 h-1 ]; P i escreve em M[i]; } }
49 A Procura o vetor V é divido em P pedaços: S1, S2,, SP Pi procura por em Si pior caso: n/p passos Total: log P + n/p passos, no pior caso Como o algoritmo poderia ser melhorado?? Definição de uma variável Achou Com computador mais poderoso algoritmo mais rápido.
50 PRAM mais poderoso: CREW PRAM para achar, o algoritmo eecuta n/p passos leituras concorrentes são permitidas todos os processadores podem acessar em um passo todos os processadores podem consultar Achou em um passo mas ao encontrar, o processador tem que atualizar Achou Quantos passos nas seguintes situações? somente um dos elementos tem valor pode ser um valor repetido em V mais de um processador pode atualizar Achou simultaneamente.
Modelo de Programação Paralela
Modelo de Programação Paralela As arquiteturas paralelas e distribuídas possuem muitos detalhes Como especificar uma solução paralela pensando em todos esses detalhes? O que queremos? Eecutar a solução
Leia maisUniversidade 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
Leia maisExercícios (Ian Foster s Book)
Exercícios (Ian Foster s Book) 1) If today's workstations execute at operations per second, and performance increases at a rate of 25 percent per year, how long will it be before we have workstations capable
Leia maisOrganização e comunicação em plataformas paralelas
Organização e comunicação em plataformas paralelas Processamento Paralelo Prof. Oberlan Romão Departamento de Computação e Eletrônica DCEL Centro Universitário Norte do Espírito Santo CEUNES Universidade
Leia maisModelos para Concorrência
Modelos para Concorrência Modelos para descrição de concorrência Programa Interdisciplinar de Pós Graduação em Computação Aplicada Universidade do Vale do Rio dos Sinos Gerson Cavalheiro Processamento
Leia maisIntrodução à Computação: Sistemas de Computação
Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisAULA 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 max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA
Leia maisspeedup aprimorado aprimorado Fração aprimorada speedup aprimorado Fração aprimorada speedup aprimorado Tempo original Fração aprimorada aprimorado
Multiprocessadores - A evolução tecnológica dos processadores iria diminuir drasticamente. 2- O caminho para o aumento de desempenho é de unir mais de um processador para realizar a mesma tarefa em menos
Leia maisProgramação de Alto Desempenho - 2. Prof: Carla Osthoff
Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: osthoff@lncc.br 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda
Leia maisTecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)
Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora
Leia maisOrganização e Arquitetura de Computadores I
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de
Leia maisCaracterização de Sistemas Distribuídos
Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes
Leia maisBacharelado em Sistemas de Informação Sistemas Operacionais. Prof. Filipo Mór
Bacharelado em Sistemas de Informação Sistemas Operacionais Prof. Filipo Mór WWW.FILIPOMOR.COM - REVISÃO ARQUITETURAS PARALELAS Evolução das Arquiteturas Evolução das Arquiteturas Entrada CPU Saída von
Leia maisSistemas Operacionais. Adão de Melo Neto
Sistemas Operacionais Adão de Melo Neto 1 Computador Digital (Hardware) 2 Computador Digital Constituído por um conjunto de componentes interligados (hardware): processadores, memórias, registradores,
Leia maisAULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação MULTIPROCESSADORES
Leia maisProcessos 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
Leia maisSSC510 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
Leia maisComputadores e Programação (DCC/UFRJ)
Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo
Leia maisProcessos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião
Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos Sistemas operacionais modernos criam vários processadores virtuais, cada um para executar um programa. Para monitorar
Leia maisORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 02: PROCESSAMENTO PARALELO: PROCESSADORES VETORIAIS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação
Leia maisFerramentas 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
Leia maisModelo de Von Neumann
1 Modelo de Von Neumann Memória UC ALU Entrada Saída ACC 2 Arquitetura de Von Neumann 3 O Computador 4 Processador Microprocessadores São processadores contidos em um único encapsulamento (CI). Microcontroladores
Leia maisSistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos
Sistema Distribuído Conjunto de máquinas (CPU + memória) interligadas em rede. Sistema Distribuído Sistema operacional distribuído trata este conjunto como um único sistema computacional. Estação 1 Estação
Leia maisSSC 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
Leia maisArquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela
Arquitetura de Computadores Paralelos Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela Por que estudar Computação Paralela e Distribuída? Os computadores sequenciais
Leia maisMultiprogramaçã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
Leia maisOrganizaçã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
Leia maisThread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41
Thread Sistemas Operacionais Leonard B. Moreira UNIVERSIDADE ESTÁCIO DE SÁ e-mail: leonardbarreto@gmail.com.br fevereiro, 2013 1 / 41 Sumário 1 Introdução 2 Ambientes Monothread 3 Ambientes Multithread
Leia maisFigura 3.1: Fluxograma do algoritmo da Programação Genética.
3 Programação Genética O termo Programação Genética passou a ser utilizado em 1990 nos trabalhos publicados por Koza [30] e De Garis [31]. A definição de Koza para este termo passou a predominar após a
Leia maisCarlos Eduardo Batista Centro de Informática - UFPB
Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação Arquitetura de computadores modernos Desafios da programação concorrente Definição de concorrência Correr junto Disputa por
Leia maisFUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5. Cristina Boeres
FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CAPÍTULO 5 Cristina Boeres Introdução! Diferença de velocidade entre Processador e MP O processador executa uma operação rapidamente e fica em
Leia maisSistemas Operacionais. Processos e Threads
Sistemas Operacionais Processos e Threads Sumário 1. Introdução 2. Estrutura do Processo 1. Contexto de Hardware 2. Contexto de Software 3. Espaço de Endereçamento 3. Estados 1. Mudanças de Estado 2. Criação
Leia maisSistemas Distribuídos
Sistemas Distribuídos Thaís Vasconcelos Batista UFRN DIMAp http://www.dimap.ufrn.br/~thais thais@ufrnet.br Programa do Curso INTRODUÇÃO Conceitos Básicos Sistemas em Rede X Sistemas Distribuídos Necessidade
Leia maisUniversidade 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
Leia maisCONCURSO PÚBLICO PARA PROVIMENTO DE CARGO EFETIVO PROFESSOR DE ENSINO BÁSICO, TÉCNICO E TECNOLÓGICO Edital 20/2015 Campus Rio Pomba FOLHA DE PROVA
Tema 01: CONCORRÊNCIA ENTRE PROCESSOS Descreva os problemas que podem existir entre os processos concorrentes e os mecanismos para solução desses problemas utilizados por Sistemas Operacionais atuais.
Leia maisSistemas Distribuídos
Sistemas Distribuídos Classificação de Flynn Fonte: Professoras. Sarita UFRJ e Thais V. Batista - UFRN Arquiteturas Paralelas Computação Paralela Conceitos Permite a execução das tarefas em menor tempo,
Leia maisProgramação Concorrente
INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica
Leia maisArquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DEPARTAMENTO DE CIÊNCIAS CIÊNCIAS EXATAS E E NATURAIS NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização
Leia maisMicroprocessadores. São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão;
Microprocessadores São máquinas elétricas onde podemos armazenar instruções lógicas, aritméticas e de tomada de decisão; CPU (Central Processing Unit Unidade Central de Processamento) CPU (Central Processing
Leia maisArquitetura e Organização de Processadores. Aula 4. Pipelines
Universidade Federal do Rio Grande do Sul Instituto de Informática Programa de Pós-Graduação em Computação Arquitetura e Organização de Processadores Aula 4 Pipelines 1. Introdução Objetivo: aumento de
Leia maisExercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF
Exercícios Cap I 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) 1.5 1.7, 1.8 e 1.12 Sistemas Operacionais Visão geral e evolução dos SOs Sistema Operacional? Um programa que controla a execução dos programas
Leia maisCURSO de CIÊNCIA DA COMPUTAÇÃO RIO DAS OSTRAS - Gabarito
UNIVERSIDADE FEDERAL FLUMINENSE TRANSFERÊNCIA o semestre letivo de 008 e 1 o semestre letivo de 009 CURSO de CIÊNCIA DA COMPUTAÇÃO RIO DAS OSTRAS - Gabarito INSTRUÇÕES AO CANDIDATO Verifique se este caderno
Leia maisLinguagem de Programação II
Linguagem de Programação II Carlos Eduardo Ba6sta Centro de Informá6ca - UFPB bidu@ci.ufpb.br Mo6vação Adaptar a estrutura lógica de um problema (Ex.: Servidores Web). Lidar com disposi6vos independentes
Leia maisOrganização e Arquitetura de Computadores INTRODUÇÃO
Organização e Arquitetura de Computadores INTRODUÇÃO A Arquitetura de Computadores trata do comportamento funcional de um sistema computacional, do ponto de vista do programador (ex. tamanho de um tipo
Leia maisProcessos Concorrentes
Processos Concorrentes Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica ENG04008 Sistemas de Tempo Real Copyright
Leia maisAlgoritmos Paralelos usando CGM/MPI: Uma Introdução. Edson Norberto Cáceres e Siang Wun Song DCT/UFMS e DCC/IME/USP DCC-IME-USP - Aula 02
Algoritmos Paralelos usando CGM/MPI: Uma Introdução Edson Norberto Cáceres e Siang Wun Song DCT/UFMS e DCC/IME/USP DCC-IME-USP - Aula 02 Aula 2 - Objetivos Introduzir o conceito de um sistema de computação
Leia maisDefinindo melhor alguns conceitos
Definindo melhor alguns conceitos Processamento Paralelo: processamento de informação concorrente que pertencem a um ou mais processos que resolvem um único problema. Processamento Distribuído: processamento
Leia maisBarramento. Prof. Leonardo Barreto Campos 1
Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;
Leia maisFUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres
FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5 Cristina Boeres Mapeamento Associativo por Conjunto! Tenta resolver o problema de conflito de blocos na mesma linha (mapeamento
Leia maisCapí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 affonso@dca.ufrn.br Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno
Leia maisAlgoritmos Computacionais
UNIDADE 1 Processador e instruções Memórias Dispositivos de Entrada e Saída Software ARQUITETURA BÁSICA UCP Unidade central de processamento MEM Memória E/S Dispositivos de entrada e saída UCP UNIDADE
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 7: Implementação de Processos e Threads Diego Passos Revisão Programação Concorrente e Multiprogramação SOs modernos permitem diversos processos em memória. Cada
Leia maisArquitetura 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
Leia maisConcorrência em Processos
Concorrência em Processos Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Baseado nas aulas do professor Alberto Costa Neto da UFS 1 O que fazer com essa apresentação
Leia maisSistemas Operacionais
Sistemas Operacionais Cristina Boeres página do curso: http://www.ic.uff.br/~boeres/so.html boeres@ic.uff.br Sistemas Operacionais O que é um SO?! um gerenciador de recursos?! uma interface?! máquina virtual?
Leia maisO Modelo Síncrono BSP para Computação Paralela
O Modelo Síncrono BSP para Computação Paralela Raphael Y. de Camargo Ricardo Andrade Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo, Brasil São Paulo,
Leia maisTó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 max.santana@univasf.edu.br Colegiado de Engenharia de Computação POR QUE APRENDER CONCEITOS
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 20ª Aula Arquiteturas Paralelas Arquitetura MIMD com Memória Compartilhada Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Arquiteturas MIMD As arquiteturas MIMD dividem-se
Leia maisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
Leia maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE II SUMÁRIO 3. THREAD: 3.1 Introdução; 3.2 Ambiente Monothread; 3.3 Ambiente Multithread; 3.4 Arquitetura e Implementação; 3.5 Modelos
Leia maisSistemas Operacionais
Sistemas Operacionais CAP 2: Conceitos de Hardware e Software Prof. MSc. Diego R. Moraes diegorm@anhanguera.com Download de todo conteúdo da disciplina https://sites.google.com/site/diegorafaelmoraes/downloads
Leia maisArquitetura de Computadores
Arquitetura de Computadores 2018.1 Relembrando... Paralelismo Relembrando... Paralelismo Paralelismo em Instrução Relembrando... Paralelismo Paralelismo em Instrução Paralelismo em Aritmética Relembrando...
Leia maisBibliografia em processamento paralelo
Bibliografia em processamento paralelo Andrews, Concurrent Programming: Principles and Practice Foster, Designing and Building Parallel Programs Wolfe, High Performance Compilers for Parallel Computing
Leia maisInfra-Estrutura de Software. Entrada / Saída
Infra-Estrutura de Software Entrada / Saída Diversidade de dispositivos Hardware de E/S E/S: Como a CPU acessa a informação? ü Espaço de endereçamento: conjunto de endereços de memória que o processador
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6 Gerenciamento de Memória Prof. Galvez Considerações Gerais Multiprogramação implica em manter-se vários processos em memória Memória necessita ser alocada de
Leia maisEntrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -
Capítulo 5 Afirmações Entrada/Saída Introdução Processos se comunicam com o mundo externo através de dispositivos de E/S. Processos não querem ou não precisam entender como funciona o hardware. Função
Leia maisSistemas de Memória. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro
Sistemas de Memória Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Memória: O Gargalo de Von Neuman Memória principal: considerada como sendo
Leia maisArquitetura de Computadores
Arquitetura de Computadores 2018.1 Relembrando... Memória Virtual Relembrando... Memória Virtual Proteção de Memória Relembrando... Memória Virtual Proteção de Memória TLB Relembrando... Memória Virtual
Leia maisCurso de Programação Distribuída e Paralela 29/09/2008. Informática UFRGS. Sistemas Operacionais II (C. Geyer) Sincronização 1. Pg.
Sistemas Operacionais Professor Cláudio Geyer Instituto de - Sistemas Operacionais II (C. Geyer) Sincronização 1 Sistemas Operacionais Professor Cláudio Geyer Instituto de - Pg. 1 1 Tópicos ensinados no
Leia maisSistemas 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
Leia maisSistemas Operacionais (SO)
Sistemas Operacionais (SO) Fundamentos Prof. Eduardo Abordagens SO Moderno (importância) Funções básicas Definição Componentes de um SC Objetivos de um SO Serviços de um SO Abstrações Tipos de SO Estudo
Leia maisProgramaçã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
Leia maisCapítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache
Capítulo 5 Livro do Mário Monteiro Conceituação Princípio da localidade Funcionamento da memória cache Elementos de projeto de memória cache Mapeamento de dados MP/cache Algoritmos de substituição de dados
Leia maisFerramentas 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 Etapas do curso Apresentação de modelos Aplicação de modelos Arquiteturas multi-core
Leia maisSSC0611 Arquitetura de Computadores
SSC0611 Arquitetura de Computadores 5ª e 6ª Aulas Revisão de Hierarquia de Memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Memória Todo componente capaz de armazenar bits de informação
Leia maisSistemas Operacionais. Conceitos de Hardware
Sistemas Operacionais Conceitos de Hardware Sumário 1. Introdução 7. RISC e CISC 2. Processador 1. Operações de Processamento 2. Unidade de Controle 3. Ciclos de uma Instrução 3. Memória 1. Memória Principal
Leia maisIntrodução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS SÃO OS COMPONENTES BÁSICOS DO HW DE UM SISTEMA COMPUTACIONAL?
Leia maisSSC0112 Organização de Computadores Digitais I
SSC0112 Organização de Computadores Digitais I 18ª Aula Hierarquia de memória Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Memória Cache Método de Acesso: Associativo Localização de dados na memória
Leia maisDisciplina de Arquitetura de Computadores
USP - ICMC - SSC SSC 0510 - Informática - 2o. Semestre 2009 Disciplina de Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisInfra-Estrutura de Software
Infra-Estrutura de Software Entrada / Saída 2º. EE: 21/06 Próximas Datas http://www.cin.ufpe.br/~cagf/if677/2016-1/ slides/ Revisão de notas: 28/06 FINAL: 30/06 Diversidade de dispositivos Hardware de
Leia maisThe Excitement in Parallel Computing
The Excitement in Parallel Computing MAC0412 - Organização de Computadores Alberto Ueda, Bruno Ozahata, Camila Matsubara, Gabriel Pugliese, João Paulo Mota, Leonardo Marchetti, Mina Cintho e Pĺınio Esmerio
Leia maisArquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)
Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado) Capítulo 3 Concorrência Agenda Introdução Interrupções e exceções Operações de Entrada/Saída Buffering
Leia maisSistemas Operacionais. Entrada/Saída
Sistemas Operacionais Entrada/Saída Atualizado em 28/02/2014 Como ocorre a comunicação de E/S Aplicação Operações de E/S Chamadas de Sistema S.O. Subsistema de E/S Núcleo (Kernel) Drivers HARDWARE Controladoras
Leia maisOrganização de Sistemas Computacionais Processadores: Organização da CPU
Universidade Paulista UNIP Curso: Ciências da Computação Turma: CCP30 Turno: Noturno Disciplina: Arquitetura de Computadores Professor: Ricardo Loiola Alunos: Thiago Gomes dos Santos Matrícula: C63873-0
Leia maisUma Proposta para Migração de Páginas Linux
Uma Proposta para Migração de Páginas Linux 1 - Introdução 2 - Gerencia de Memória em Sistemas Operacionais com Suporte a NUMA 2.1 O Gerente de Memória do Linux 2.2 Estratégias para Migração de Páginas
Leia maisArquitetura de Computadores Unidade Central de Processamento CPU
Arquitetura de Computadores Unidade Central de Processamento CPU CPU Funções realizadas pelo processador: Função controle Responsável pela busca, interpretação e controle da execução das instruções, bem
Leia maisRedes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 6. THREAD: 6.1 Introdução; 6.2 Ambiente Monothread; 6.3 Ambiente Multithread; 6.4 Arquitetura
Leia maisINSTITUTO FEDERAL CATARINENSE Campus Ibirama
INSTITUTO FEDERAL CATARINENSE Campus Ibirama Arquitetura de Hardware Professor Eduardo Stahnke Arquiteturas Grande diversidade das arquiteturas de computadores Componentes básicos do computador Os Principais
Leia maisAula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela
Aula 1: Introdução aos Sistemas Operacionais Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela Pensando melhor... Porque cursar a disciplina de S.O.? A disciplina é obrigatória!
Leia maisIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Ementa; Bibliografia Calendário Site Introdução Características http://sites.google.com/sitew/leonardobcampos
Leia maisSistemas Operacionais
Sistemas Operacionais Prof. Fabio Augusto Oliveira Processos O processador é projetado apenas para executar instruções, não sendo capaz de distinguir qual programa se encontra em execução. A gerência de
Leia maisMEMÓRIA CACHE FELIPE G. TORRES
MEMÓRIA CACHE FELIPE G. TORRES MEMÓRIA CACHE O uso da memória cache visa obter velocidade de memória próxima das memórias mais rápidas que existem e, ao mesmo tempo, disponibilizar uma memória de grande
Leia maisAula 16: UCP: Conceitos Básicos e Componentes
Aula 16: UCP: Conceitos Básicos e Componentes Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) UCP: Conceitos Básicos e Componentes FAC 1 / 34
Leia maisFundamentos de Sistemas Operacionais. Threads. Prof. Edwar Saliba Júnior Março de Unidade Threads
Threads Prof. Edwar Saliba Júnior Março de 2007 1 Definição Partes de um processo que compartilham mesmo espaço de endereçamento Sub-rotina de um programa executada paralelamente ao programa chamador (execução
Leia maisSistemas Operacionais. Sistema de entrada e Saída
Sistemas Operacionais Sistema de entrada e Saída Sistema de Entrada e Saída I/O É uma das principais tarefas de um sistema computacional Como máquina abstrata o S.O. deve oferecer uma visão padronizada
Leia maisParalelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core
RSS-Verão-01/08 p.1/36 Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7 Escola de Verão 2008 Arquiteturas Multi-Core Renato S. Silva LNCC - MCT Janeiro de 2008 RSS-Verão-01/08 p.2/36 Objetivo:
Leia maisA IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES
A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES Euzébio da Costa Silva 1, Victor Pereira Ribeiro 2, Susana Brunoro Costa de Oliveira 3 1 29520-000, euzebioprogramacao@gmail.com 2 29520-000, victor3ifes@gmail.com
Leia maisUNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES
Tecnologia da informação e comunicação UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES CICLO DE INSTRUÇÕES OU DE EXECUÇÃO Arquitetura de computadores 2 CICLO DE EXECUÇÃO No inicio de cada ciclo de instrução,
Leia maisDESENVOLVIMENTO 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: ssvenske@unicentro.br
Leia mais