Desempenho de computação paralela
|
|
- Geovane Melgaço Valverde
- 7 Há anos
- Visualizações:
Transcrição
1 Desempenho de computação paralela o paralelismo existente na aplicação decomposição do problema em subproblemas menores a alocação destes subproblemas aos processadores o modo de acesso aos dados: a existência de uma memória global ou distribuída! comunicação por trocas de mensagens a estrutura de interconexão entre os processadores a velocidade dos processadores, memórias e rede de interconexão. Em ambientes distribuídos, a meta é de explorar e tirar proveito ao máximo do potencial computacional, sendo assim questões relacionadas ao gerenciamento de recursos do sistema muito importante
2 Escalonamento de Aplicações Um algoritmo que estabelece como executar um algoritmo paralelo em um determinado sistema de computadores Para implementar um escalonador, o problema tem que ser especificado: As características da aplicação devem ser especificadas As características cruciais do sistema de processadores em questão devem ser estabelecidas
3 Modelagem Representação do problema Algoritmo paralelo composto por processos/threads que sincronizam parcialmente (comunicação/dependência) Conjunto de threads/processos independentes Representação do ambiente de solução Simplificação, sem omitir as características que afetam o desempenho em geral
4 Qual o objetivo? Escalonar aplicações em um sistema paralelo e distribuído tal que o tempo de execução seja minimizado Escalonar aplicações em um número limitado de processadores tal que o tempo de execução seja minimizado, considerando custo de comunicação Escalonar aplicações em um número limitado de processadores tal que o tempo de execução seja minimizado considerando tempos limites (deadline), considerando custo de comunicação o objetivo deve estar especificado
5 Questões de projeto Alocação de processos a processadores Processos podem ser alocados a certos processadores e não mudar até o seu término Exemplo: processo P x é associado ao núcleo N y até o seu término Escalonador de curto prazo é aplicado (pode ser preemptivo ou não) Vantagem: menos overhead/sobrecarga Escalonamento meio que estático
6 Questões de projeto Alocação de processos a processadores (alocação estática de processos a processadores) Desvantagem: Associar em um determinado momento vários processos a um processador (núcleo) e outro processador se tornar ocioso não explora a ociosidade de processador Solução para minimiza a ociosidade de processadores um processo pode ser alocado a diferentes processadores durante sua vida Pode ser vantajoso em um ambiente de memória compartilhada devido a uma menor sobrecarga na troca de contexto No entanto pode aumentar chache miss Por que?
7 Questões de projeto Paradigmas de alocação De qualquer forma, quem associa? Como pode ser o modelo? Duas abordagens: mestre/trabalhador e peer
8 Paradigmas de alocação Mestre/trabalhador As funções de escalonamento executam em um processador: o mestre Os outros processadores executam os processos de usuário (os trabalhadores) Abordagem é simples e as políticas de uniprocessador podem ser mais facilmente adaptadas Conflitos ficam mais fáceis de serem resolvidos pois o mestre tem visão de toda a memória e todos os dispositivos de I/O Desvantagem: Falha do mestre Mestre pode ser tornar um gargalo
9 Paradigmas de alocação Mestre/trabalhador As funções de escalonamento executam em um processador: o mestre Os outros processadores executam os processos de usuário (os trabalhadores) Abordagem é simples e as políticas de uniprocessador podem ser mais facilmente adaptadas Conflitos ficam mais fáceis de serem resolvidos pois o mestre tem visão de toda a memória e todos os dispositivos de I/O Desvantagem: Falha do mestre Mestre pode ser tornar um gargalo
10 Paradigmas de alocação Peer ou escalonador distribuído O núcleo pode ser executado em qualquer processador Cada processador faz self-scheduling de um pool de processos disponíveis Vantagem: melhor otimização do problema e visão global Desvantagem: complicação de implementação Necessidade de sincronização de diferentes processadores
11 Escalonamento de processos Tradicionalmente em sistemas de multiprocessadores, processos não estão alocados exclusivamente a um processador Em geral: P1 Fila única P2 P3 P4
12 Escalonamento de Processos Exemplo de estudo comparativo Supondo S1 - sistema com um processador S2 - sistema duo-processador taxa de processamento de cada processador em S2 = ½ taxa processamento do processador de S1 Então, a pergunta é: é melhor ter dois processadores mais lentos do que um mais rápido? IC - UFF 12
13 Escalonamento de Processos comparação entre FCFS e round-robin RR: quantum bem maior que tempo de troca de contexto RR: quantum com valor pequeno quando comparado ao tempo médio de serviço dos processos resultado da análise: depende do coeficiente de variação em relação ao tempo de serviço C s = ou seja, o quanto varia o tempo de serviço entre os diferentes processos IC - UFF 13
14 Escalonamento de Processos σ s - desvio padrão do tempo de serviço - tempo médio de serviço C s se Zero: os tempos de serviços são similares pode ser alto: muita variação entre os tempos de serviço IC - UFF 14
15 Escalonamento de Processos FCFS pode ser problemático quando comparado com RR em um processador. Mas... FCFS em S2 (duo processado) é amenizado: enquanto um processo longo que chegou primeiro está sendo executado por um processador, outros processos são executados no outro pode ser tão bom quanto round-robin, principalmente se o número de processadores aumentar IC - UFF 15
16 Escalonamento de Threads processo = conjunto de threads em um processador threads são vantajosas devido a E/S em vários processadores dividir a funcionalidade do processamento entre processadores leva a um maior ganho threads + multiprocessamento = exploração do grau de paralelismo da aplicação granularidade fina! paralelismo não tão vantajoso alto grau de interação entre threads IC - UFF 16
17 Escalonamento de Threads Escalonamento é mais complexo quando várias CPUs se tornam disponíveis Processadores Homogêneos dentro de um mesmo multiprocessador no entanto, já se inicia uma tendência de heterogeneidade: big and small CPUs
18 Escalonamento de Threads Algumas classes: Compartilhamento/balanceamento de carga Gang scheduling Alocação a processadores específicos Escalonamento dinâmico
19 Escalonamento de Threads Balanceamento de carga O escalonador supervisiona a carga dos processadores, e divide a carga Não deixa processador ocioso toda vez que um processador está ocioso, a rotina do SO o seleciona para executar a próxima thread Uma fila global pode ser definida e as threads a serem executadas são incluídas Conforme a chegada do processo, as suas threads são inseridas na ordem FCFS Ordenadas de acordo com prioridade, ou pelo número de threads que cada processo tem
20 Escalonamento de Threads Balanceamento de carga Alguns problemas com uma fila única Gargalo Se as threads sofrerem preempção podem ser depois associadas a processadores diferentes com caches diferentes Threads que compartilham informações podem ser associadas a processadores distintos com espaço de memória distinto (cache ou memória principal)
21 Escalonamento de Threads Gang Scheduling Tem sido aplicado ao conceito de escalonar simultaneamente um conjunto de threads que compõem um processo O conceito é bastante vantajoso quando threads dependem uma das outras e não podem esperar sem perder desempenho de execução
22 Escalonamento de Threads Gang Scheduling Melhora a performance de uma aplicação se as threads correlatas estiverem em execução T1 e T2 são duas threads de um mesmo processo T1 está sendo executada: precisa sincronizar com T2 T1 fica em espera até que T2 seja executado em algum processador seria melhor T2 já estar executando em outro processador
23 Escalonamento de Threads Gang Scheduling N processadores, M aplicações com N ou menos threads cada aplicação cada aplicação poderia receber 1/M do tempo disponível, utilizando os N processadores nem sempre isso é eficiente A1 A2 4 threads 1 thread alocação de tempo uniforme: N = 4 ocioso IC - UFF 23 P1 P2 P3 P4 ½ ½ 100%/8 = 12,5% 12,5% X 3 = 37,5% ocioso
24 Escalonamento de Threads Gang Scheduling uma solução: dar pesos aos processos de acordo com o número de threads considerando todos os processos A1 tem 4/5 das threads 80% A2 tem 1/5 das threads - 20% Cada thread tem 20% do tempo ocioso P1 P2 P3 P4 100%/20 = 5% 5% X 3 = 15% ocioso 4/5 1/5 IC - UFF 24
25 Uma Classe de Problemas Escalonamento de Aplicações em um Sistema de Computadores Distribuídos classe de aplicações especificada pelo modelo da aplicação a arquitetura enfocada constitui em um sistema de processadores de memória distribuída que se comunicam por trocas de mensagens modelo arquitetural apresenta as características importantes a serem consideradas
26 Escalonamento de Aplicações Alguns conceitos Tarefa uma unidade de computação job = conj. de tarefas com objetivo comum aplicação paralela! tarefas que seguem uma ordem parcial
27 Escalonamento de Aplicações Escalonamento local X global global! tarefas são associadas a processadores! mapeamento, task placement, matching local! várias tarefas em um processador No escalonamento global: - migração custoso e nem sempre usado (sala contexto, trasfere contexto para o novo processador, reinicializa tarefa) - geralmente se refere a balanceamento de carga
28 Balanceamento de Carga sender-initiated receiver-initiated P 1 P 2 P 1 P 2
29 Mais conceitos preempção! tarefas/jobs em execução podem ser transferidas (migradas) mais custos não preempção! geralmente em relação às tarefas tarefas não são interrompidas migração somente para tarefas ainda por executar
30 Escalonamento de Aplicações Estático conhecimento de características associadas às aplicações antes da execução desta (estimativas) relação de precedência entre os componentes da aplicação Dinâmico estimativas são conhecidas antes da execução e não as características reais. a especificação do escalonamento é feita ao longo da execução da aplicação balanceamento de carga, por exemplo
31 Escalonamento Estático de Aplicações O Problema de Escalonamento de Tarefas em um conjunto de processadores é, em sua forma geral, NP-completo. Uma variedade de heurísticas de escalonamento foram propostas, principalmente para um conjunto de processadores homogêneos, considerando ou não custo de comunicação associado à troca de mensagens Alguns heurísticas que consideram um conjunto de processadores homogêneos foram analiticamente avaliadas, e foi concluído que escalonamento produzidos estão dentro de um fator do ótimo. Algumas instâncias do problema possuem solução ótima
32 Modelo da Aplicação uma aplicação da classe de aplicações abordadas é constituída por um conjunto de tarefas, ordenadas parcialmente por uma relação de precedência a classe de aplicações aqui discutida pode ser representada por um grafo acíclico direcionado (GAD) G = (V,E, ε, ω), onde as tarefas da aplicação são representadas pelo conjunto de n vértices V = { v 1, v 2,..., v n } as relações de precedência que correspondem a dependência de dados são representadas pelo conjunto de dados E = { (v i, v j ) }
33 Modelo da Aplicação o peso de computação ε(v i ) pode estar associado a cada tarefa de G (estimativa) correspondendo ao número de unidades de tempo necessários para executar a tarefa v i o peso de comunicação ω(v i, v j ) pode estar associado a cada arco (v i,v j ) de G (estimativa) correspondendo à quantidade de dados a serem enviados da tarefa v i para a v j seja pred (v i ) o conjunto de predecessores imediatos da tarefa v i, ou seja, pred (v i ) = {v j / (v j,v i ) E } seja succ (v i ) o conjunto de sucessores imediatos da tarefa v i, ou seja, succ (v i ) = {v j / (v i, v j ) E }
34 Modelo da Arquitetura definição de características que afetam o desempenho processadores homogêneos e heterogêneos número limitado ou não de processadores memória distribuída ou compartilhada topologia da rede de interconexão modelo de comunicação latência de comunicação sobrecargas de envio e recebimento etc
35 Heurísticas de Escalonamento Heurísticas de Escalonamento Estático heurísticas de construção: um algoritmo polinomial no tamanho da entrada que a cada iteração, especifica para uma tarefa o seu escalonamento tupla (tarefa, processador, tempo de início) ao final, uma só solução foi formada escalonamento deve ser válido (respeitar as relações de precedência e as características do modelo arquitetural) difícil classificação técnica empregada modelo considerado
36 Heurísticas de Escalonamento Heurísticas de Escalonamento Estático List Scheduling Algomeração de Tarefas Minimização de Caminho Crítico Replicação de Tarefas
37 Restrições de Escalonamento Seja um DAG: G(V,E) e uma modelo arquitetural Tempo de início (start time): st(v i, p k ) Tempo de fim (finish time): ft(v i, p k ) Alocação do processador: proc (v i ) Restrições: De processador: p k = proc(v i )=proc(v j ) st (v i, p k ) >= ft (v j, p k ) OR st (v j, p k ) >= ft (v i, p k ) de precedências: v j pred( v j ), st (v j, p k ) >= ft (v i, proc(v i )) + comm (v i, v j )
38 List Scheduling Estratégia (extremamente) gulosa tradicional e bastante conhecida (utilizada) devido a sua simplicidade (baixa complexidade) escalonamento de instruções em unidades funcionais escalonamento em processadores heterogêneos (em número limitado) Alguns conceitos importantes tarefa livre - todos os seus predecessores imediatos já foram escalonados; processador ocioso - em um determinado instante t k, não existe nenhuma tarefa sendo executada neste instante;
39 List Scheduling Framework Definição da prioridade das tarefas v i V; Enquanto ( existir v i não escalonado ) faça { v i = a tarefa livre de maior prioridade; p j = o processador ocioso onde v i começa mais cedo; escalone v i no processador p j ; determine as novas tarefas livres; }
40 Prioridades associada às tarefas Caminho crítico Caminho no grafo com o maior comprimento bottom-level, top-level, etc... Medidas para definir a importância dum nó! a ordem em que as tarefas são escalonadas é muito importante
41 Um Exemplo de GAD pesos de execução em pesos dos arcos em
42 Replicação de Tarefas Papadimitriou e Yannakakis (PY) princípio da replicação grafo acíclico direcionado G = (V, E) (UET-UCT) pesos de execução das tarefas: unitários pesos dos arcos: unitários latência de comunicação L é o custo mais relevante número ilimitado de processadores
43 Replicação de Tarefas Papadimitriou e Yannakakis (PY) princípio da replicação para cada tarefa v i, o cluster de tarefas v i é construído o tempo mais cedo de início possível é calculado earliest start time e(v i ) não necessariamente a tarefa v i pode ser escalonada no tempo mais cedo e(v i ) explora a sobreposição de computação das tarefas com a comunicação de mensagens
44 Replicação de Tarefas melhor caso L 4 4
Desempenho de computação paralela
Desempenho de computação paralela o paralelismo existente na aplicação decomposição do problema em subproblemas menores a alocação destes subproblemas aos processadores o modo de acesso aos dados: a existência
Leia maisEscalonamento de Processos Uniprocessador
Sistemas Operacionais Escalonamento de Processos Uniprocessador Capítulo 9 IC - UFF 1 Objetivos do Escalonamento É a chave de multiprogramação eficiente deve ser transparente ao usuário Esolher processos
Leia maisSistemas Operacionais. Gerência de Processador
Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento
Leia maisSistemas Operacionais
Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache
Leia maisSistemas Operacionais
Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade III. Escalonamento de Processos. 24/04/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade III Escalonamento de Processos 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Processador Escalonamento de Processos Conceituação Critérios de
Leia maisSistemas Operacionais. Escalonamento de processos
Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas
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 maisSistemas Operacionais: Escalonamento de processos
Sistemas Operacionais: Escalonamento de processos Escalonamento Critérios de escalonamento Algoritmos de escalonamento Escalonamento em multiprocessadores Escalonamento tempo real Características de processos
Leia maisSistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal
Sistemas Operacionais Aula 07: Scheduling da CPU Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o Scheduling da CPU, que é a base dos sistemas operacionais multiprogramados
Leia maisRedes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores Fundamentos de Sistemas Operacionais - 2º Período PARTE III: GERÊNCIA DE RECURSOS SUMÁRIO 8. GERÊNCIA DO PROCESSADOR: 8.1 Introdução; 8.2 Funções Básicas; 8.3 Critérios de Escalonamento;
Leia maisSistemas de Computação. Processos e escalonamento
Processos e escalonamento Sistema operacional Programa que age como intermediário entre o usuário de um computador e o hardware Objetivos: Executar programas do usuário e facilitar a resolução de problemas
Leia maisSistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento
Aula 3 Escalonamento Escalonamento Porque? Quando? Como? Critérios? Políticas de escalonamento Como avaliar? Referências: Capítulo 5: 5.1 a 5.3, 5.6 Porque Escalonar? Escalonamento controla compartilhamento
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 maisDavidson Rodrigo Boccardo
Gerenciamento de processos Davidson Rodrigo Boccardo flitzdavidson@gmail.com Revisão Critérios de alocação: Utilização da CPU Produtividade (Throughput) Número de processos finalizados por unidade de tempo
Leia maisSistemas Operacionais
Introdução Sistemas Operacionais Gerência do processador (Escalonamento) Aula 05 Objetivos de um sistema operacional são: Eficiência: relação entre o uso efetivo de um recurso e a quantidade desse recurso
Leia maisLista de Exercícios Escalonamento de CPU. 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos:
Lista de Exercícios Escalonamento de CPU 1. Considere o seguinte conjunto de processos, com o tamanho do tempo de burst de CPU dado em milissegundos: Tempo de Serviço Prioridade 10 3 1 1 P3 2 3 P4 1 4
Leia maisInfra-Estrutura de Software. Escalonamento
Infra-Estrutura de Software Escalonamento Processos Concorrentes O Modelo de Multiprogramação Multiprogramação de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um
Leia maisAlgoritmos de escalonamento
Algoritmos de escalonamento Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas Filas; Utilizam escalonamento
Leia maisSO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io)
SO: Escalonamento Sistemas Operacionais 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Aonde Estamos Processos Chapt 3 Threads Chapt 4 Vamos pular o Chapt 5 brevemente Sincronização e comunicação
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 maisGerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global
GERÊNCIA DE RECURSOS Escalonamento Global Além de prover comunicação, recursos de acesso a rede, memória compartilhada, sistemas de arquivos distribuídos, um sistema operacional distribuído tem que poder
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 maisSistemas Operacionais. Prof. André Y. Kusumoto
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Escalonamento CPU Um vez escalonado, o processo utiliza o processador, de modo: Não preemptivo (FIFO, SJF, Cooperativo) Término
Leia maisGerência de Recursos. Gerência do Processador
Gerência de Recursos Gerência do Processador Escalonamento Não-Preemptivos e Preemptivos Preempção - possibilidade de o SO interromper um processo em execução e substituí-lo por um outro. O Escalonamento
Leia maisQuestões de Múltipla escolha
ATPS Sistemas Operacionais Professor Matheus de Lara Calache Valor total do trabalho: 10 Cada resposta vale 0,34. Questões de Múltipla escolha 1) Processos podem ser organizados em filas como Fila de Prontos
Leia maisProcessos. Escalonamento de Processos
Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:
Leia maisToward an Architecture-Independent Analysis of Parallel Algorithms
1/22 Introdução O algoritmo de aproximação Aplicações em Problemas Concretos Problemas Abertos Referências Toward an Architecture-Independent Analysis of Parallel Algorithms Mijail Gamarra Holguin 18 de
Leia maisEstudo Comparativo de Algoritmos de Escalonamento para Grades Computacionais
Estudo Comparativo de Algoritmos de Escalonamento para Grades Computacionais Alvaro Henry Mamani Aliaga e Alfredo Goldman Instituto de Matemática e Estatística Departamento de Ciência da Computação Universidade
Leia maisSistemas Distribuídos Aula 3
Sistemas Distribuídos Aula 3 Aula passada Processos IPC Características Ex. sinais, pipes, sockets Aula de hoje Threads Kernel level User level Escalonamento Motivação: Servidor Web Considere Servidor
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Conceitos Básicos Escalonamento de CPU O objetivo da multiprogramação é ter sempre algum processo em execução para maximizar a
Leia maisSISTEMAS OPERACIONAIS. TÁSSIO JOSÉ GONÇALVES GOMES
SISTEMAS OPERACIONAIS TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com CONTEÚDO PROCESSOS Fundamentos O Núcleo do Sistema Operacional Escalonamento de Processos Comunicação
Leia maisSOP - TADS Escalonamento de Processos
SOP - TADS Escalonamento de Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceito de Escalonamento
Leia maisScheduling and Task Allocation ADVANCED COMPUTER ARCHITECTURE AND PARALLEL PROCESSING Hesham El-Rewini 2005 Capítulo 10 Autor...: Antonio Edson Ceccon Professor..: Prof. Heitor Silvério Lopes Apresentação
Leia 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 maisParte I Multiprocessamento
Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento
Leia maisGerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global
GERÊNCIA DE RECURSOS Escalonamento Global Além de prover comunicação, recursos de acesso a rede, memória compartilhada, sistemas de arquivos distribuídos, um sistema operacional distribuído tem que poder
Leia maisSistemas Operacionais de Tempo Real. Prof. Andre Luis Meneses Silva
Sistemas Operacionais de Tempo Real Prof. Andre Luis Meneses Silva andreluis.ms@gmail.com O que é um Sistema Operacional? Provê um ambiente para execução de programas. Abstração de processos para multitarefa/
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 mais6 ESCALONAMENTO DE CPU
6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador
Leia maisNa Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente...
GSI018 Sistemas Operacionais 05/09/2016 Escalonamento de Processos Na Aula Anterior... Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Utilização de Processos
Leia maisNotas da Aula 11 - Fundamentos de Sistemas Operacionais
Notas da Aula 11 - Fundamentos de Sistemas Operacionais 1. Escalonamento de Tempo Real Em sistemas de tempo real, o objetivo principal do escalonador é garantir que todos os processos sejam executados
Leia maisProcessos. Escalonamento de Processos
Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:
Leia maisResumo: Sistemas Operacionais Abertos
Resumo: Sistemas Operacionais Abertos Prof. Michael A. Pontes Processos Um processo é um programa em execução. Enquanto um processo é executado, ele muda de estado. O estado de um processo é definido pela
Leia maisQuestões de Provas de Períodos Anteriores
Sistemas Operacionais 2010/1 Questões de Provas de Períodos Anteriores 1) Dois importantes conceitos encontrados no sistema operacional Unix são: (i) modo de execução ( execution mode ); e (ii) contexto
Leia maisProcessos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)
Aula Passada Processos (Aula 6) Escalonamento de Processos O SO gerencia os recursos do sistema de computação em benefício dos processos Para isso, mantem estruturas de controles Tabelas (memória, I/O,
Leia maisEscalonamento. Pedro Cruz. EEL770 Sistemas Operacionais
Escalonamento Pedro Cruz EEL770 Sistemas Operacionais Avisos Propostas de trabalho já foram revisadas Todos os grupos foram comunicados 2 Jantar dos filósofos - Dijkstra Filósofos estão jantando em uma
Leia maisConceitos Básicos dos Sistemas de Tempo Real
Conceitos Básicos dos Sistemas de Tempo Real Rômulo Silva de Oliveira Edição do Autor, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Sistemas computacionais com requisitos de tempo
Leia maisNotas da Aula 10 - Fundamentos de Sistemas Operacionais
Notas da Aula 10 - Fundamentos de Sistemas Operacionais 1. Escalonadores preemptivos Escalonadores preemptivos são aqueles que têm a capacidade de interromper a execução de um processo para realizar alterações
Leia maisEscalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software
Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado
Leia maisSistemas Operacionais
Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum
Leia maisArquiteturas 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
Leia maisProgramação de Sistemas em Tempo Real
BCC722 Programação de Sistemas em Tempo Real Processos Prof. Charles Garrocho O conceito de processo Um S.O. executa uma variedade de programas Sistemas de tempo compartilhado: programas Processo: um programa
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 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 maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE III SUMÁRIO 4. GERÊNCIA DO PROCESSADOR: 4.1 Introdução; 4.2 Funções Básicas; 4.3 Critérios de Escalonamento; 4.4 Escalonamentos Não-Preemptivos
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 maisEscalonamento em Sistemas Distribuídos
Escalonamento em Sistemas Distribuídos Cláudia Fernanda O. K. Tavares Roteiro Introdução Informações do nodos Overhead Classificação de Algoritmos Algoritmos de Escalonamento Referências Introdução Heterogeneidade
Leia maisEscalonamento de processos
de processos Carlos Gustavo A. da Rocha Nos computadores atuais frequentemente temos vários processos (threads) competindo por um pequeno número de CPUs Nestes casos uma escolha deve ser feita de qual
Leia maisProcessos. Escalonamento de Processos
Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:
Leia maisProcessos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.
Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Processos Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround: tempo total para executar
Leia maisInfra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar
Escalonamento Decidindo qual processo vai executar Escalonamento de processos Quando um ou mais processos estão prontos para serem executados, o sistema operacional deve decidir qual deles vai ser executado
Leia maisEscalonamento de Processos
Escalonamento de Processos Escalonamento de processos Multiprogramação visa maximizar uso da CPU Sempre que processos estão prontos disputam CPU Algoritmo de escalonamento: maneira de escolher o processo
Leia maisAvaliação de Desempenho de Sistemas Discretos
Avaliação de Desempenho de Sistemas Discretos Parte II: Modelagem de Sistemas Professor: Reinaldo Gomes reinaldo@computacao.ufcg.edu.br Modelos Modelo é uma abstração de um sistema real Apenas as características
Leia maisAvaliação de Desempenho de Sistemas Discretos
Modelos Avaliação de Desempenho de Sistemas Discretos Parte II: Modelagem de Sistemas Modelo é uma abstração de um sistema real Apenas as características importantes para a avaliação devem ser consideradas
Leia maisSistemas 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
Leia maisSistemas Operacionais de Tempo Real. Sérgio Campos
Sistemas Operacionais de Tempo Real Sérgio Campos 1 / 21 Sistemas Operacionais de Tempo Real Escalonador, Threads, Tasks Tarefas periódicas Tarefas aperiódicas Microkernel Interrupções Relógios e temporização
Leia maisGerência do Processador. Adão de Melo Neto
Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO Como
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 maisGerência do Processador. Adão de Melo Neto
Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO São um
Leia maisEstratégias de Escalonamento de Processos
Estratégias de Escalonamento de Processos Rossano Pablo Pinto, MSc. FATEC - Americana 15/02/2008 Prof. Ms. Rossano Pablo Pinto - FATEC Ame 1 O que é um sistema multiprogramável? compartilha a CPU entre
Leia maisSistemas Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento
Escalonador da CPU Sumário! Algoritmos de escalonamento Por Prioridades Round Robin Por Prioridades! A cada processo é associada uma prioridade Geralmente um número inteiro (vamos considerar que os números
Leia maisEscalonamento de Processos Estratégias de Escalonamento de Processos
Estratégias de Escalonamento de s Rossano Pablo Pinto, MSc. FATEC - Americana 15/0/008 O que é um sistema multiprogramável? compartilha a CPU entre diversos processos é desejável que os processos obtenham
Leia maisLICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador
LICENCIATURA EM COMPUTAÇÃO Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador SANTO AMARO 2012 JEANDERVAL SANTOS DO CARMO RESENHA Resenha do quarto capítulo: Gerencia
Leia maisEscalonamento de Processos
Escalonamento de Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda n Contextualização Classificação de tarefas n Métricas de Escalonamento n Escalonamento de Processos n Exemplos 2 Contextualização
Leia maisAlgoritmos e Estruturas de Dados II. Trabalho Prático 2
Algoritmos e Estruturas de Dados II Entrega: 01/10/09 Devolução: 22/10/08 Trabalho individual Prof. Jussara Marques de Almeida Trabalho Prático 2 Simulação é uma técnica muito utilizada para avaliação
Leia maisAULA Nº 08 SISTEMAS OPERACIONAIS. Threads
AULA Nº 08 SISTEMAS OPERACIONAIS Threads Contextualizando Na aula passada Sincronização de Processos Aula de hoje Threads O Modelo de Processo 1) Utilizado para agrupar recursos 2) Um espaço de endereço
Leia maisCapítulo 5: Escalonamento da CPU. Operating System Concepts 8th Edition
Capítulo 5: Escalonamento da CPU Capítulo 5: Escalonamento de CPU Conceitos Básicos Critérios de Escalonamento Algoritmos de Escalonamento Escalonamento de Threads Escalonamento de Multiprocessadores Exemplos
Leia maisSistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto
Sistemas Operacionais Abertos Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Gerência de Processos Componentes do Sistema Um programa não faz nada a não ser que suas instruções sejam executadas
Leia maisSistemas Operacionais Escalonamento. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Escalonamento Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Cin/UFPE Escalonamento Processos Concorrentes O modelo de multiprogramação
Leia maisEscalonamento da CPU
Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de Minas Gerais IFMG Campus Ouro Branco https://garrocho.github.io charles.garrocho@ifmg.edu.br Sistemas de Informação
Leia maisEscalonamento da CPU
Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/oso charles.garrocho@ifsp.edu.br Técnico em Informática
Leia maisInversão de prioridades
Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 46 Sumário 1 Dependência 2 Dependência Deadlocks 3 Classicação dos recursos 2 / 46 1 Dependência
Leia maisMontagem e Manutenção
Montagem e Manutenção Prof. Camila Pedro de Assis Sobreira Jr. 2 Introdução Programa? Conjunto de instruções especificando uma série ordenada de ações. Exemplo: receita de bolo, número de telefone, programa
Leia maisSistemas Operacionais. Escalonamento de Processos
Escalonamento de Processos arliones.hoeller@ifsc.edu.br de fevereiro de baseado no material do Prof. Fröhlich em http://www.lisha.ufsc.br/~guto Gerenciamento de processos Processo É uma instância de um
Leia maisExecutivo Cíclico. Executivo Cíclico Introdução. Sistemas de Tempo Real: Executivo Cíclico Exemplo. Executivo Cíclico Introdução
Sistemas de Tempo Real: Executivo Cíclico Rômulo Silva de Oliveira Departamento de Automação e Sistemas - DAS UFSC romulo.deoliveira@ufsc.br http://www.romulosilvadeoliveira.eng.br Setembro/201 1 Também
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 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 maisEscalonamento de Tarefas
Escalonamento de Tarefas Rômulo Silva de Oliveira ebook Kindle, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Escalonamento de Tarefas Sistemas de tempo real são organizados em torno
Leia maisINTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO PROCESSOS PROFESSOR CARLOS MUNIZ
INTRODUÇÃO À TECNOLOGIA DA PROFESSOR CARLOS MUNIZ O QUE SÃO? Definição: Entidade dinâmica que consiste num programa em execução, os seus valores correntes, informação de estado e recursos utilizados pelo
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 10 Escalonamento Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: Prof. SO José - Prof. Juan Edilberto Espantoso Silva Sumário Introdução
Leia mais( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009
1ª Questão : Sobre o conceito de sistema operacional, escreva ao lado a soma dos números dos itens que considera corretos: (01) O conceito da máquina de níveis define o hardware como o nível mais baixo,
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 10: Escalonadores Preemptivos Diego Passos Última Aula Escalonadores Não-Preemptivos Escalonadores não-preemptivos agem: Quando um processo requisita E/S. Quando
Leia maisTipos de Sistemas Operacionais
Tipos de Sistemas Operacionais Prof. Edwar Saliba Júnior Março de 2007 1 TIPOS DE S.O. Monoprogramáveis / monotarefas; Multiprogramáveis / multitarefas: Batch; Tempo compartilhado; Tempo real; Sistemas
Leia maisEscalonamento no Unix. Sistemas Operacionais
Escalonamento no Unix Projeto do Escalonador O projeto de um escalonador deve focar em dois aspectos: Política de escalonamento estabelece as regras usadas para decidir para qual processo ceder a CPU e
Leia maisSistemas Operacionais. Tipos de SO
Sistemas Operacionais Tipos de SO Tipos de Sistemas Operacionais Tipos de Sistemas Operacionais Sistemas Monoprogramáveis/ Monotarefas Sistemas Multiprogramáveis/ Multitarefas Sistemas com Múltiplos Processadores
Leia maisCurso: Redes de Computadores
Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg
Leia maisOrganização de Computadores 2005/2006 Processamento Paralelo
GoBack Organização de Computadores 2005/2006 Processamento Paralelo Paulo Ferreira paf a dei.isep.ipp.pt Maio de 2006 ORGC Processamento Paralelo slide 1 Porquê? Definição de computação paralela Alocação
Leia mais