Multiprocessamento. Sérgio Campos

Documentos relacionados
3) Considerando a tabela abaixo, usando a política de atribuição de prioridades Deadline Monotonic:

Servidores de Aperiódicas

Tempo Real 7/4/2010. Aula 10. Engenharia de Sistemas Embarcados

Aula 5 Escalonamento usando prioridades fixas

Arquitetura de Computadores. Sistemas Operacionais IV

Sistemas de Tempo-Real

Escalonamento no Linux e no Windows NT/2000/XP

Profs. Deja e Andrei

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Sincronização e Comunicação entre Processos. Adão de Melo Neto

Multiprocessamento. Multiprocessadores com memória distribuída (multicomputador)

Sistemas Distribuídos

Armazenamento de Arquivos Grandes em Dvds

FTL066 Programação em Tempo Real Segunda Lista de Exercícios

Arquiteturas de Software

Integrating Multimedia Applications in Hard Real-Time Systems. Introdução - CM são sensíveis a delay e variação no delay (Jitter)

Até o final de década de 70, os sistemas operacionais suportavam apenas processos com um único thread;

Problema de Otimização Combinatória

Sistemas de Tempo Real: Conceitos Básicos

Redes de Computadores. Camada de Rede Endereçamento

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Subcamada MAC. O Controle de Acesso ao Meio

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Sistemas Distribuídos. Aleardo Manacero Jr.

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Programação e Scheduling

UNIVERSIDADE. Sistemas Distribuídos

Redes de Computadores Aula 3

Sistemas Distribuídos

Sistema Operacional Correção - Exercício de Revisão

PPD: Balanceamento de Carga e Scheduling 2

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Processos e Threads (partes I e II)

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Quinta-feira, 14 de março. Introdução aos Fluxos de Rede Handouts: Notas de Aula

Slide. ! Multiprocessamento! Modelo de processo. Dep. Ciência da Computação. Slide. ! Alternância de processos. ! Relação Programa x Processo

Capítulo 8 Arquitetura de Computadores Paralelos

Gerenciamento de memória

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução ao Processamento Paralelo

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

Escalonamento (Tarefas Esporádicas)

Gerência do Processador

SISTEMAS DISTRIBUÍDOS

Engenharia de Software I: Análise e Projeto de Software Usando UML

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Bancos de Dados Paralelos. Alunos: ALLAN ROGER BELLO WILLIAN DIAS TAMAGI

Abordagens de Escalonamento na Perspectiva da Engenharia

Gestor de Processos. Gestor de Processos

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Maestro. Arthur Kazuo Tojo Costa Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação

Sistemas Distribuídos

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Gerência do Processador

Organização de Computadores 1

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

REDES DE COMPUTADORES

Comparação SDs X Scs

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Capítulo 2 Processos e Threads Prof. Fernando Freitas

ISO/IEC 12207: Gerência de Configuração

UML Diagramas. UML Diagramas. UML Diagrama Diagrama de Classes. UML Diagrama Diagrama de Classes

Sistemas de Tempo-Real

Multiplexador. Permitem que vários equipamentos compartilhem um único canal de comunicação

Aula 2 Modelos computacionais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Paralelização de Simuladores de Hardware Descritos em SystemC

Sincronização de Relógios

Módulo 12 Gerenciamento Financeiro para Serviços de TI

Sistemas Operacionais. Escalonamento de Processo. Prof. Dr. Márcio Andrey Teixeira

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Sincronização do Catálogo de Endereços no MDaemon 6.x com o uso do ComAgent, LDAP, MAPI e WAB

Programação distribuída e paralela (C. Geyer) RPC 1

5COP096 TeoriadaComputação

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Prof. Engº esp Luiz Antonio Vargas Pinto

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Processamento de Dados

Considerações no Projeto de Sistemas Cliente/Servidor

Fundamentos de Sistemas Operacionais

Comunicação em Sistemas Distribuídos. Conceitos: Paradigma C/S. Conceitos: Paradigma C/S. Paradigma Cliente/Servidor

Uma Linguagem de Domínio Específico Baseada em Mônada com Suporte à Memória Transacional Distribuída em Java

Engenharia de Software III

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

International Olympiad in Informatics July 2011, Pattaya City, Thailand PARROTS Competition Tasks Day 2 Portuguese 1.3.

Arquitetura de Sistemas Operativos

Sistemas de Tempo-Real

LISTA SOBRE MODELAGEM DE PROBLEMAS DE PROGRAMAÇÃO INTEIRA

Sistemas Distribuídos RPC x RMI. Edeyson Andrade Gomes

Transcrição:

Multiprocessamento Sérgio Campos 1 / 19

Multiprocessamento Quem se importa? No mundo real multiprocessadores são comuns: PCs; LANs; Sistemas embutidos (porque?); Recursos podem ser modelados como processadores. É difícil: Programação paralela é difícil; Algoritmos tendem a achar soluções não ótimas. Por causa disto paralelismo é restrito. 2 / 19

Modelo Cada processador tem seu escalonador; Processadores podem ser iguais ou não; Um escalonador para todos os processadores NP-Hard! 3 / 19

Exemplo Similar a Job shop: Uma tarefa tem que passar por diversos processadores; Existem diversas tarefas; O objetivo é minimizar o tempo gasto. Usado em indústrias, transporte, tempo-real. 4 / 19

Exemplo 5 / 19

Modelo end-to-end constraints Recursos locais e remotos Atribuição de tarefas a processadores: Off-line: estático; uma vez atribuído, basta analisar cada processador em separado. Ineficiente. On-line: necessário quando processos podem ser criados durante execução; 6 / 19

Método Comum Atribuição off-line com deadlines artificiais 7 / 19

Atribuição de Tarefas Custo de comunicação zero. Realista em alguns casos: memória compartilhada, poucos dados; Dados n tarefas, Particione-as em m processadores de tal forma que todas são escalonáveis; Critério de otimização: menor m. É possível usar prioridades fixas e first-fit se: ui U FF = m(2.5 1) = 0.414m 8 / 19

Atribuição de Tarefas Problema equivalente: bin packing (mochila) Dados n itens (tamanho u i ) e bins (tamanho U i ) Minimizar o número de bins necessário. variante: é possível escalonar com m processadores? Como a minimizar a utilização? NP-completo! 9 / 19

Atribuição de Tarefas: a Complicação Uma modelagem mais realista leva em conta custos de comunicação. Um problema de programação linear inteira. Seja: σ i,i = 1; σ i,j = 0, j i u i a utilização de cada tarefa T i ; O custo de comunicação entre i e j, C i,j O custo de interferência entre i e j, I i,j A utilização máxima no processador k, U k. Determinar A i,k (i = 1..n; k = 1..m) satisfazendo: A i,k = 0, 1 i executa ou não em k m k=1 A i,k = 1 i executa em alguém n j=1 u ia i,k U k U k não é excedido E minimizando: n n m m (1 σ i,j )A i,k A j,l (C i,j (1 σ k,l ) + (l i,j σ k,l )) i=1 j=1 k=1 l=1 10 / 19

Multi-Processor Ceiling Protocol Recursos são locais ou remotos Cada recurso é assinalado a um processador Acesso a recurso remoto é executado por seu processador de sincronização PS. Recursos aninhados não podem ser remotos. Priority ceiling funciona como uniprocessador, exceto: Seções críticas globais têm maior prioridade. Tempo total de bloqueio é: Bloqueio local: devido a mutex local; Preempção local: devido a mutex global executado local. Bloqueio remoto: espera por mutex global devido a processos locais no PS. Preempção remota: espera por mutex globais no PS. Bloqueio local p/ processos de maior prioridade 11 / 19

Sistemas de Tempo Real Distribuídos Tarefas são divididas em subtarefas que executam em processadores diferentes: Subtarefas são liberadas de acordo com suas precedências 12 / 19

End-to-End Scheduling O problema agora é garantir tempos de resposta fim-a-fim em um sistema com restrições de precedência Assumimos que cada subtarefa somente acessa recursos locais O problema se reduz a escalonamento de um único processador Com restrições de precedência... Qualquer escalonador pode ser usado. Até diferentes para processadores diferentes. 13 / 19

Protocolo de Sincronização Direta Quando uma subtarefa termina, envia um sinal para a próxima subtarefa A subtarefa inicia quando recebe o sinal/mensagem 14 / 19

Sincronização Direta com RMS 15 / 19

Phase Modification Protocol Desvantagens da Sincronização Direta Comportamento em rajadas Como o servidor deferível, pode causar rajadas de execução longas. O protocolo de modificação de fases mantém uma distância temporal entre os release times de subtarefas O release time da subtarefa J i,k+1 é W i,k unidades de tempo após o release de J i,k W i,k é o maior tempo de execução de J i,k. 16 / 19

Phase Modification Protocol 17 / 19

Phase Modification Protocol Vantagens: Simples Tempo de resposta é a soma W i,j Desvantagens: Necessita de relógios sincronizados Pode violar precedências em caso de overrun / jitter 18 / 19

Modified Phase Modification Protocol Acrescenta uma regra: Subtarefa J i,k+1 é iniciada W i,k unidades depois de J i,k ou O término de J i,k, o que ocorrer depois. Implementação: Escalonador de P i,k envia sinal para escalonador de P i,k+1 quando for hora de iniciar J i,k+1. Não necessita de relógios sincronizados. 19 / 19