Tamanho: px
Começar a partir da página:

Download ""

Transcrição

1 Scheduling 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 da Disciplina de Computação Paralela Introdução Após o desenho de um programa de computador como um conjunto de tarefas, uma atribuição das tarefas para os elementos processadores precisa ser determinada. Isso é chamado de problema do agendamento ( scheduling ), sendo um dos problemas mais desafiadores na computação paralela e/ou distribuída.

2 Computação Paralela ou Distribuída Em sistemas distribuídos, o problema do agendamento acontece porque as partes concorrentes de um programa ou um conjunto de programas precisam ser arranjados no tempo e espaço de forma a otimizar o desempenho de todo o conjunto. Um Problema Clássico As tarefas precisam acessar o processador para sua execução. A meta do agendamento é assinalar tarefas para os elementos processadores de forma a otimizar certos índices de desempenho.

3 Nível de Dificuldade O problema do agendamento de tarefas em sistemas multi-processados é conhecido por ser NP completo. A dificuldade do tratamento tem levado ao desenvolvimento de várias heurísticas, cada uma das quais tem aplicações em circunstâncias diferentes. Classificação das TécnicasT As técnicas de agendamento são classificadas conforme a disponibilidade das informações sobre as tarefas e podem ser determinísticas e não determinísticas.

4 Técnicas Determinísticas No agendamento determinístico, todas as informações sobre as tarefas e suas relações de dependência são conhecidas antes da execução, sendo possível usar-se o método estático. O agendamento estático assinala uma tarefa para um processador em particular e cada vez que a tarefa é submetida para execução ela é enviada para aquele processador. Técnicas Não-Determin Determinísticas No agendamento não determinístico, algumas das informações sobre as tarefas e suas relações de dependência não são conhecidas antes da execução. Desvios condicionais e iterações são blocos construtivos que podem causar o não determinismo.

5 Técnicas Não-Determin Determinísticas O agendamento não determinístico de programas pode ser conseguido pelo uso de métodos estáticos ou dinâmicos. A distinção indica o momento no qual as decisões de agendamento são feitas. Com o agendamento estático as informações das tarefas que representam o programa devem ser estimadas antes da execução, enquanto que no agendamento dinâmico o sistema de agendamento agenda as tarefas durante a execução. Técnicas de Agendamento As técnicas que serão apresentadas aqui são classificadas como técnicas estáticas de agendamento.

6 Sistema de Agendamento Um sistema de agendamento consiste de : Tarefas de um programa. Máquina alvo. Agendamento no qual um critério de desempenho é otimizado. Tarefas de um Programa As características de um programa paralelo podem ser definidas pelo sistema ( T, <, D, A ) definido abaixo : T = { t 1,..., t n } é um conjunto de tarefas a serem executadas onde < é uma ordem parcial definida sobre T, a qual especifica a restrição de precedência operacional. Onde t i < t j significa que t i deve ser completada antes que t j possa iniciar sua execução.

7 Tarefas de um Programa D é uma matriz n x n de dados de comunicação, onde D ij 0 is a quantidade de dados a serem transmitidos da tarefa t i para a tarefa t j, 1 i, j n. A é um vetor cujo tamanho é quantidade de instruções necessárias, onde A i > 0 é a medida do processamento necessário para a tarefa t i, 1 i n, pode-se ter n vetores. Máquina Alvo Consiste de um conjunto de m elementos processadores heterogêneos conectados através de uma rede arbitrária. Associado a cada elemento processador P i tem sua velocidade S i. A velocidade de transferência entre dois elementos processadores é indicada por R ij, que é a medida de quantas unidades de dados podem ser transmitidas por unidade de tempo através do link de comunicação.

8 Tempo de Execução e Comunicação Conhecidos os parâmetros das tarefas e da máquina alvo, o tempo de execução e comunicação são obtidos como mostra-se abaixo. Tempo de execução da tarefa ti quando executada no processador P j é : A i / S j ( unidades de tempo ) O tempo de comunicação, em um link livre, entre as tarefas t i e t j quando são executadas em elementos processadores adjacentes P k e P l é : D ij / R kl ( unidades de tempo ) Directed Acyclic Graph ( DAG ) Um grafo de tarefas G=(T,E) tem um conjunto de nós T e um conjunto de extremidades E. Uma extremidade (i,j) entre duas tarefas ti e tj especifica que a tarefa ti deve ser finalizada antes da tarefa tj iniciar. Associado a cada nó está sua necessidade computacional Ai e a cada extremidade (i,j) que conecta as tarefas tie tj está o tamanho dos dados D ij, que indica o tamanho da mensagem de t i para t j. Um grafo DAG é usado quando tem-se restrições de prioridade.

9 DAGs sem Comunicação A seguir apresenta-se algoritmos polinomiais que fornecem tempos ótimos para algumas versões restritas do problema de agendamento, como mostra-se a seguir. Quando o grafo é in-forest. Quando tem-se apenas dois processadores disponíveis. DAGs sem Comunicação - Restrições O grafo de tarefas consiste de n tarefas. A máquina alvo é composta de m processadores. A comunicação entre as tarefas é zero. A meta é encontrar o agendamento ótimo que minimiza o tempo total de execução.

10 Classe dos Algoritmos Os dois algoritmos pertencem à classe de algoritmos de agendamento chamados de agendamento por lista. Neles cada tarefa tem uma prioridade e a lista de tarefas é construída com uma ordem de prioridade decrescente. Uma tarefa fica disponível para ser executada quando suas predecessoras no grafo já foram executadas ou se não há predecessoras. Quando um processador está livre, ele inicia a execução da primeira tarefa disponível na lista. Se mais de um processador tenta executar a mesma tarefa, o processador com o menor índice executa a tarefa e o outro busca pela próxima tarefa disponível. Algoritmo In-forest Para um grafo ser in-forest cada nó pode ter apenas um nó como sucessor imediato. O Algoritmo 1 introduzido por Hu, encontra um agendamento ótimo no tempo O(n) (Hu, 1961). A estratégia usada no algoritmo é o nível de maior prioridade primeiro, sendo que nível de cada nó x em um grafo de tarefas é o número máximo de nós, incluindo o nó x, em qualquer caminho entre x e um nó terminal Hu, T. C. Parallel sequencing and assembly line problems. Operations Research, 9 (6), (1961).

11 Algoritmo In-forest Algoritmo 1 1.O nível de cada nó no gráfico de tarefas é calculado e usado como a prioridade do nó. 2.Quando um processador ficar disponível, assinala uma tarefa com a maior prioridade que esteja pronta e que ainda não foi executada. Algoritmo In-forest Exemplo : Considere o grafo mostrado na figura abaixo. O nível de um dado nó no grafo pode ser calculado como o número de nós no caminho a partir do nó para o único nó terminal m. Por exemplo, o nível do nó d é o número de nós entre d e m ( d, i, k, m ) que é 4. O nível de cada nó é calculado e usado como sua prioridade. Quando mais de uma tarefa tem a mesma prioridade usa-se a ordem alfabética como prioridade, as tarefas a,b e c tem a prioridade 5, assim as tarefas são executadas na ordem a,b,c.

12 Grafo In-forest Grafo de tarefas e seu agendamento em quatro processadores Algoritmo Ordenado por Intervalo O termo tarefas ordenadas por intervalo é usado para indicar que o grafo que descreve as relações de precedência entre as tarefas é uma ordem de intervalo. Um grafo de tarefas é uma ordem de intervalo quando seus elementos podem ser mapeados dentro de intervalos na linha dos números reais e dois elementos são relacionados se e somente se os intervalos correspondentes não se sobrepõe. Para qualquer par ordenado de intervalos das tarefas u e v os sucessores de u também são os sucessores de v e vice-versa. O algoritmo foi introduzido por Papadimitriou e Yannakakis (1979) para resolver o problema em O( n + e ) complexidades no tempo, onde e é o numero de arcos no intervalo e n é o número de tarefas. Papadimitriou, H. and Yannakakis, M. Scheduling interval-ordered tasks. SIAM Journal of Computing, 8, (1979).

13 Algoritmo Ordenado por Intervalo Algoritmo 2 1.O número de todos os sucessores para cada nó é usado como a prioridade de cada nó. 2.Quando um processador ficar disponível, assinala uma tarefa com a maior prioridade que esteja pronta e que ainda não foi executada. Algoritmo Ordenado por Intervalo Exemplo : Considere o grafo de tarefas de intervalo de ordem mostrado a seguir. Usando o algoritmo 2, o número de sucessores de um nó será utilizado como sua prioridade. Por exemplo, a prioridade da tarefa a é 8, enquanto a prioridade da tarefa b é 6, o que implica que a tarefa será considerada para ser agendada primeiro.

14 Algoritmo Ordenado por Intervalo Grafo de tarefas e seu agendamento em três processadores DAGs com Comunicação Nos tópico 10.4 do livro há a apresentação de dois algoritmos, onde considera-se o custo de comunicação.

15 Tempo de Processamento O tempo de processamento deve ser considerado como o tempo da tarefa no processador mais o tempo necessário para a comunicação. Tempo de Término do Programa = Tempo de Execução + Tempo de comunicação Tempo de Comunicação = Total de mensagens * Tempo de espera de cada mensagem Algoritmos Heurísticos Uma heurística produz uma resposta em um tempo menor que um tempo exponencial, mas não garante um solução ótima. Uma heurística é dita melhor do que outra heurística se as soluções chegam próximas da solução ótima mais freqüentemente ou se o tempo necessário para se obter uma solução próxima do ótimo é menor. Uma heurística pode agendar otimamente uma tarefa em particular em um sistema alvo e não em outros. Como resultado várias heurísticas tem sido propostas e cada uma delas funciona em circunstâncias diferentes.

16 Paralelismo x Tempo de Comunicação Uma heurística produz uma resposta em um tempo menor que um tempo exponencial, mas não garante um solução ótima. Uma heurística é dita melhor do que outra heurística se as soluções chegam próximas da solução ótima mais freqüentemente ou se o tempo necessário para se obter uma solução próxima do ótimo é menor. Paralelismo x Tempo de Comunicação Nos casos onde o tempo de envio das tarefas é pequeno, todas as tarefas podem ser alocadas nos processadores disponíveis ao mesmo tempo. Por outro lado, quando o tempo de comunicação não pode ser desprezado, o algoritmo deve considerar o tempo de comunicação antes de alocar as tarefas para os processadores. Pode acontecer de tarefas prontas para execução, mas com tempo de comunicação muito longos, serem assinaladas para o mesmo processador do seu predecessor imediato.

17 Paralelismo x Tempo de Comunicação Agendamento com diferentes tempos de comunicação Granularidade x Localização dos Dados Essa questão deve ser trabalhada durante o particionamento do programa em partes não dependentes. O desafio é determinar o melhor tamanho de cada parte no grafo de tarefas que representa o programa. Cada parte é definida como uma ou mais instruções seqüenciais que podem ser empacotadas juntas e perfazem um módulo que é executado seqüencialmente em um único processador.

18 Granularidade x Localização dos Dados Se as partes forem muito grandes o paralelismo é reduzido. Por outro lado se as partes forem muito pequenas pode haver sobrecarga na forma de mudança de contexto, tempo de agendamento e tempo de comunicação. Clustering A idéia por trás desse tipo de heurística de agendamento é particionar o processo de agendamento em duas fases : atribuição do processador, que é o processo de alocar as tarefas para os processadores e o ordenamento das tarefas, o que é o processo de agendar as tarefas alocadas para cada processador. O agrupamento de grafos de tarefas pode ser usado como uma fase intermediária para resolver o problema de alocação do processo de agendamento. O clustering pode ser definido como o processo de mapeamento dos nós de um grafo de tarefas em clusters rotulados. Se duas tarefas independentes forem mapeadas para o mesmo cluster, então o clustering resultante é chamado de clustering não linear e linear caso contrário.

19 Algoritmo de Clustering Agrupar as tarefas assumindo um número ilimitado de processadores conectados. Duas tarefas no mesmo cluster são agendadas no mesmo processador. Mapear os clusters e suas tarefas em um dado número de processadores (m). Neste passo, as seguintes otimizações são executadas : a) Se o número de clusters for maior que o número de processadores disponíveis os clusters são mesclados em m clusters. b) A arquitetura não está totalmente conectada, dessa forma um mapeamento deve ser realizado de forma a minimizar a comunicação. c) Após o assinalamento das tarefas aos processadores, a ordem de execução é determinada para assegurar a dependência correta entre as tarefas. Algoritmo de Clustering Exemplo Supondo que as tarefas a,b,c,d,e,f e g podem ser executadas em qualquer processador em um sistema distribuído em 1,5,1,2,2,1 e 1 unidades de tempo respectivamente. O tempo de comunicação pode ser visualizado na tabela abaixo.

20 Algoritmo de Clustering Arco Tempo de Comunicação ( unidades de tempo ) (a,b) 5 (a,c) 1 (b,g) 2 (c,d) 4 (c,e) 3 (d,f) 1.5 (e,f) 1.5 (f,g) 1 Algoritmo de Clustering Agendamento em dois processadores 9 unidades de tempo (a) e 10 unidades de tempo (b)

21 Algoritmo de Clustering Agendamento em dois processadores 9 unidades de tempo em três 10 unidades de tempo (b) Algoritmo de Clustering Agendamento em três processadores 10,5 unidades de tempo

22 Alocação de Tarefas O problema da alocação de tarefas chega quando não é necessário especificar a ordem de execução, ou seja, as tarefas podem interagir ou comunicar-se sem relações de precedência. Em um ambiente de computação distribuída construída com vários processadores, as tarefas que compreendem o programa distribuído devem ser assinaladas aos processadores de forma a utilizar os recursos disponíveis de forma eficiente. Nesse ambiente há dois tipos de custo, custo de execução da tarefa e o custo da comunicação interprocessos, nesse caso duas metas devem ser atingidas. A comunicação inter-processos de ser minimizada e o custo de execução deve ser balanceado entre os diferentes processadores. Alocação Otimizada de Tarefas O algoritmo ótimo apresentado nesta seção foi introduzido para resolver o problema do caso onde o sistema é composto de um conjunto linear de processadores (Lee et al., 1992). Lee, D. and Kim, M. Optimal task assignment in linear array networks. IEEE Transactions on Computers, 41 (7), (1992).

23 Alocação de Tarefas Otimizada Algoritmo Construa uma rede two-terminal como mostra-se abaixo : a) Para cada nó ti no grafo de interação de tarefas original, crie ( m - 1 ) nós nomeados como vi1, vi2,..., vi( m - 1 ) e adicione um nó origem S e um nó terminal T. b) Adicione uma ligação entre S e vi1 com peso (xi1 + um valor grande ) c) Adicione uma ligação entre quaisquer dois nós vik e vi(k + 1) com peso ( xi(k + 1) + um valor grande ), 1 <= k < m. d) Adicione uma ligação entre vi( m + 1 ) até T com peso ( xim + um valor grande ). e) Adicione uma ligação de comunicação entre quaisquer dois nós vik and vjk com o peso igual ao custo de comunicação entre as tarefas ti e tj. O algoritmo max-flow min-cut é aplicado na rede obtida e um corte mínimo C é determinado. Uma solução opcional para o problema da atribuição de tarefas é obtido do corte de forma que a tarefa ti é assinalada ao processador pk+1 se e somente se o corte C contém a ligação ( vik, vi(k+1)). Para se ter certeza de que cada tarefa está assinalada para um processador exatamente, o corte deve conter exatamente uma ligação para cada tarefa. Dúvidas ou Sugestões?

Toward an Architecture-Independent Analysis of Parallel Algorithms

Toward 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 mais

Estudo Comparativo de Algoritmos de Escalonamento para Grades Computacionais

Estudo 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 mais

Desempenho de computação paralela

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 mais

Estruturas de Dados Grafos

Estruturas de Dados Grafos Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:

Leia mais

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc. PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR Prof. Angelo Augusto Frozza, M.Sc. ROTEIRO Esta aula tem por base o Capítulo 2 do livro de Taha (2008): Introdução O modelo de PL de duas variáveis Propriedades

Leia mais

Computação Paralela: Algoritmos e Aplicações

Computação Paralela: Algoritmos e Aplicações Computação Paralela: Algoritmos e Aplicações Prof. Amit Bhaya, Programa de Engenharia Elétrica, COPPE/UFRJ 06/05/2003 -- 09/05/2003 http://www.nacad.ufrj.br/~amit/ NACAD = Núcleo de Computação de Alto

Leia mais

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos

Universidade Estadual de Mato Grosso do Sul UEMS Curso de Ciência da Computação Disciplina de Algoritmos Paralelos e Distribuídos 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 mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

Modelos para Concorrência

Modelos 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 mais

Sistemas Operacionais. Deadlock

Sistemas Operacionais. Deadlock Sistemas Operacionais Deadlock Deadlocks! Recursos: hardware ou informação! Preemptivo X não preemptivo! Uso do Recurso:! Pedido (Request ou Open)! Uso! Liberação! Um conjunto de processos está em deadlock

Leia mais

Sumário. Referências utilizadas. Introdução. MAFIA: Merging of Adaptive Finite Intervals. Introdução Visão Geral e Objetivos do MAFIA

Sumário. Referências utilizadas. Introdução. MAFIA: Merging of Adaptive Finite Intervals. Introdução Visão Geral e Objetivos do MAFIA Sumário : Merging of Adaptive Finite Intervals Elaine Ribeiro de Faria Análise de Agrupamento de Dados ICMC-USP Dezembro 2010 Introdução Visão Geral e Objetivos do Algoritmo Grid Adaptativo Algoritmo Algoritmo

Leia mais

Programação Paralela. Objetivo: Apresentar conceitos básico de programação paralela com MPI.

Programação Paralela. Objetivo: Apresentar conceitos básico de programação paralela com MPI. Programação Paralela Objetivo: Apresentar conceitos básico de programação paralela com MPI. Apresentação Introdução; Arquiteturas paralelas; Análises de algoritmos; Comunicação em programas paralelos;

Leia mais

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Sistema de

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Programação Concorrente Impasses Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Princípios de Deadlock Técnicas de solução do problema Prevenir a ocorrência

Leia mais

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

Gerê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 mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina Alessandro L. Koerich Redes Bayesianas Mestrado/Doutorado em Informática Pontifícia Universidade Católica do Paraná (PUCPR) Mestrado/Doutorado em Informática Aprendizagem de Máquina

Leia mais

Decisões arquiteturais importantes. Projeto arquitetural x projeto de algoritmos. Decomposição de dados. Decomposição de dados

Decisões arquiteturais importantes. Projeto arquitetural x projeto de algoritmos. Decomposição de dados. Decomposição de dados Processamento Paralelo Técnicas de Decomposição de Problemas Prof. João Paulo A. Almeida (jpalmeida@inf.ufes.br) Decisões arquiteturais importantes 1. Divisão de responsabilidades entre partes (componentes)

Leia mais

Aula 10: Escalonamento da CPU

Aula 10: Escalonamento da CPU Aula 10: Escalonamento da CPU O escalonamento da CPU é a base dos sistemas operacionais multiprogramados. A partir da redistribuição da CPU entre processos, o sistema operacional pode tornar o computador

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Comunicação em Grupo Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 10.4 pág. 304-311 2 Comunicação em Grupo Suponha que se deseja um serviço de arquivos único

Leia mais

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva ARQUITETURA DE COMPUTADORES Professor: Clayton Rodrigues da Siva OBJETIVO DA AULA Objetivo: Conhecer a estrutura da arquitetura da Máquina de Von Neumann. Saber quais as funcionalidades de cada componente

Leia mais

Estudo Comparativo de Técnicas de Escalonamento de Tarefas Dependentes para Grades Computacionais

Estudo Comparativo de Técnicas de Escalonamento de Tarefas Dependentes para Grades Computacionais Estudo Comparativo de Técnicas de Escalonamento de Tarefas Dependentes para Grades Computacionais Candidato Alvaro Henry Mamani Aliaga 1 Orientador Alfredo Goldman Instituto de Matemática e Estatística

Leia mais

Compiladores. Otimização de código

Compiladores. Otimização de código Compiladores Otimização de código Otimização de código Recebe uma representação intermediária e produz como saída código de máquina eficiente Parser Checagem Estática Geração de código intermediário Otimização

Leia mais

Arquiteturas Paralelas

Arquiteturas Paralelas ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES Arquiteturas Paralelas Medidas de desempenho Alexandre Amory Edson Moreno Índice 2 1. Introdução 2. Medidas de Desempenho Introdução 3 Aumento de desempenho dos

Leia mais

Programação Linear (PL)

Programação Linear (PL) Programação Linear (PL) ETAPA 05 Volume 04: O problema de transporte (PT) Definição e apresentação sobre forma de rede Formulação do caso equilibrado e não equilibrado Exemplos Propriedades fundamentais

Leia mais

Conceitos Básicos dos Sistemas de Tempo Real

Conceitos 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 mais

6 ESCALONAMENTO DE CPU

6 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 mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 02: Organização e Arquitetura de Computadores / Lógica Digital (Parte I) O conteúdo deste documento tem por objetivo

Leia mais

Um Algoritmo de Escalonamento para Redução do Consumo de Energia em Computação em Nuvem

Um Algoritmo de Escalonamento para Redução do Consumo de Energia em Computação em Nuvem Um Algoritmo de Escalonamento para Redução do Consumo de Energia em Computação em Nuvem Pedro Paulo Vezzá Campos Orientador: Prof. Dr. Daniel Macêdo Batista MAC0499 Trabalho de Formatura Supervisionado

Leia mais

Caracterização. Sistemas de Tempo Real: Caracterização. Caracterização. Caracterização. Concepções Erradas. Mercados

Caracterização. Sistemas de Tempo Real: Caracterização. Caracterização. Caracterização. Concepções Erradas. Mercados Sistemas de Tempo Real: Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC romulo@das.ufsc.br http://www.das.ufsc.br/~romulo Maio/2009 1 Sistemas computacionais com requisitos de real:

Leia mais

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos de pesquisa. Tabelas de dispersão/hash Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor. Se o vetor não está ordenado, a pesquisa requer O(n) de complexidade.

Leia mais

Arquitetura e organização de computadores

Arquitetura e organização de computadores Arquitetura e organização de computadores 3º. Semestre - Sistemas de informação Prof. Emiliano S. Monteiro Classificação de computadores Grande porte: Supercomputadores e Mainframes Médio porte: Minicomputadores

Leia mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (2.0) (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre

Leia mais

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão Projeto e Análise de Algoritmos NP Completude Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas versão da aula: 0.4 Introdução Problemas intratáveis ou difíceis são comuns

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Introdução Slide 1 Nielsen C. Damasceno Introdução Tanenbaum (2007) definiu que um sistema distribuído é aquele que se apresenta aos seus usuários como um sistema centralizado, mas

Leia mais

Deadlocks. Sistemas Operacionais - Professor Machado

Deadlocks. Sistemas Operacionais - Professor Machado Deadlocks Sistemas Operacionais - Professor Machado 1 Deadlock - Definição Um conjunto de processos está em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.

Leia mais

1) Considere a situação atual da memória do sistema computacional abaixo discriminada.

1) Considere a situação atual da memória do sistema computacional abaixo discriminada. 1) Considere a situação atual da memória do sistema computacional abaixo discriminada. a) Encontre o resultado da instrução com 01 ENDEREÇO abaixo discriminada que será armazenada em registrador ACUMULADOR.

Leia mais

Escalonamento de Processos em Sistemas Distribuídos: Uma Visão Geral

Escalonamento de Processos em Sistemas Distribuídos: Uma Visão Geral Escalonamento de Processos em Sistemas Distribuídos: Uma Visão Geral Tiago Roberto C. da Silva Instituto de Informática Universidade Federal do Rio Grande do Sul (UFRGS) Caixa Postal 15.064 91.501-970

Leia mais

Visualização Distribuída utilizando Agrupamentos de PCs 10

Visualização Distribuída utilizando Agrupamentos de PCs 10 1 Introdução Sistemas de visualização vêm sendo utilizados em diversas áreas da indústria e do campo científico. Dentre essas áreas, CAD (Computer Aided Design), visualização científica e realidade virtual

Leia mais

Técnicas de Programação III Análise de Algoritmos (Continuação)

Técnicas de Programação III Análise de Algoritmos (Continuação) Técnicas de Programação III Análise de Algoritmos (Continuação) Aula ministrada em: 23/08/2007 Prof. Mauro L. C. Silva 1/10 Objetivos da Aula Entender a Análise e a Complexidade de Algoritmos 2/10 Avaliação

Leia mais

Conceitos Básicos da Teoria de Grafos

Conceitos Básicos da Teoria de Grafos Conceitos Básicos da Teoria de Grafos Universidade Federal do Pampa - UNIPAMPA Engenharia da Computação Estrutura de Dados Profª Sandra Piovesan Grafos Uma noção simples, abstrata e intuitiva. Representa

Leia mais

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 Jessica De Almeida Berlezi 2, Janiel Ceretta Foletto 3, Edson Luiz Padoin 4, Rogério S. M. Martins 5. 1 Trabalho realizado

Leia mais

Lista de Exercícios de Arranjo Físico Industrial Prof. Artur

Lista de Exercícios de Arranjo Físico Industrial Prof. Artur Lista de xercícios de rranjo Físico Industrial Prof. rtur Questão 1: Calcule uma solução para a instância abaixo do PQ utilizando a heurística gulosa dada em sala e forneça o seu custo. - 4 3 Distâncias

Leia mais

4/11/2010. Computadores de grande porte: mainframes e supercomputadores. Sistemas Computacionais Classificação. Sistemas Computacionais Classificação

4/11/2010. Computadores de grande porte: mainframes e supercomputadores. Sistemas Computacionais Classificação. Sistemas Computacionais Classificação Arquitetura de Computadores Quanto ao princípio de construção Computador Analógico: Computadores de grande porte: mainframes e supercomputadores Prof. Marcos Quinet Universidade Federal Fluminense UFF

Leia mais

Desvios Condicionais. Curso: Técnico em Informática Disciplina: Algoritmos Prof. Abrahão Lopes

Desvios Condicionais. Curso: Técnico em Informática Disciplina: Algoritmos Prof. Abrahão Lopes 1 Desvios Condicionais Curso: Técnico em Informática Disciplina: Algoritmos Prof. Abrahão Lopes abrahao.lopes@ifrn.edu.br Conteúdo Desvio simples (SE) Desvio composto (SE/ SENÃO) Desvios encadeados Operadores

Leia mais

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante Gabriel Freytag Guilherme Arruda Rogério S. M. Martins Edson L. Padoin Universidade Regional do Noroeste do Estado do Rio Grande

Leia mais

Teoria dos Grafos Aula 1 - Introdução

Teoria dos Grafos Aula 1 - Introdução Teoria dos Grafos Aula 1 - Introdução Profa. Sheila Morais de Almeida Mayara Omai Universidade Tecnológica Federal do Paraná - Ponta Grossa 2018 Sheila Almeida e Mayara Omai (UTFPR-PG) Teoria dos Grafos

Leia mais

Técnico em Radiologia. Prof.: Edson Wanderley

Técnico em Radiologia. Prof.: Edson Wanderley Técnico em Radiologia Prof.: Edson Wanderley Rede de Computadores Modelo Mainframe Terminal Computador de grande porte centralizado; Os recursos do computador central, denominada mainframe são compartilhadas

Leia mais

4 Sistema Computacional:

4 Sistema Computacional: 4 Sistema Computacional: Hardware: são os componentes e dispositivos eletrônicos que operando em conjunto com outros componentes ou mesmo individualmente realizam uma das funções de um sistema de computação.

Leia mais

Rede RBF (Radial Basis Function)

Rede RBF (Radial Basis Function) Rede RBF (Radial Basis Function) André Tavares da Silva andre.silva@udesc.br Roteiro Introdução à rede neural artificial RBF Teorema de Cover da separabilidade de padrões RBF x MLP RBF Função de ativação

Leia mais

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

Notas de Aula Guilherme Sipahi Arquitetura de Computadores Notas de Aula Guilherme Sipahi Arquitetura de Computadores Endereçamento O Campo de endereço em uma instrução é pequeno. Para referenciar uma faixa de endereços maior na memória principal, ou em alguns

Leia mais

Organização. 1. Introdução 2. Medidas de Similaridade. hierárquicos, de partição) 4. Critérios numéricos para definir o número de clusters

Organização. 1. Introdução 2. Medidas de Similaridade. hierárquicos, de partição) 4. Critérios numéricos para definir o número de clusters Organização. Introdução 2. Medidas de Similaridade 3. Métodos de Agrupamento (métodos hierárquicos, de partição) 4. Critérios numéricos para definir o número de clusters Métodos de Partição Cada exemplo

Leia mais

DISCIPLINA: Investigação Operacional ANO LECTIVO 2009/2010

DISCIPLINA: Investigação Operacional ANO LECTIVO 2009/2010 DISCIPLINA: Investigação Operacional ANO LECTIVO 2009/2010 Exame de Recurso Dep. Econ. Gestão e Engª Industrial 14 de Julho de 2010 duração: 2h30 (80) 1. Considere o modelo seguinte, de Programação Linear

Leia mais

Andrés Eduardo Coca Salazar Tutor: Prof. Dr. Zhao Liang

Andrés Eduardo Coca Salazar Tutor: Prof. Dr. Zhao Liang : Finding Structures in Bach s, Chopin s and Mozart s NOLTA 08, Hungary, 2008 Complex network structure of musical composition: Algoritmic generation of appealing music Physica A 389 (2010) 126-132 Chi

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo Departamento de Matemática Aplicada Capítulo 09: Representação de Grafos Preparado a partir do texto: Rangel, Socorro. Teoria

Leia mais

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA

Leia mais

2) Em relação aos algoritmos de sincronização de relógios:

2) Em relação aos algoritmos de sincronização de relógios: Curso: REDES Disciplina: SISTEMAS DISTRIBUÍDOS Professor (a): MARCELA SANTOS Data da Aplicação: 23 de maio de 2010 Teste referente à AV2 Nota: Visto do Professor (a): Nome: 1) Sistemas monoprocessados

Leia mais

Prof a Andréa Schwertner Charão DELC/CT/UFSM

Prof a Andréa Schwertner Charão DELC/CT/UFSM Modelos de Computadores Paralelos Prof a Andréa Schwertner Charão DELC/CT/UFSM Sumário Modelos de computadores paralelos Classificações "acadêmicas" Tendências de mercado TOP500 Impacto na programação

Leia mais

Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI

Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI Um Calculador de Capacidade de Computação para Nós de Máquinas Virtuais LAM/MPI Diego Luis Kreutz 1 Lucas Mello Schnorr 2 Cleverton Marlon Possani 3 Resumo Este texto apresenta um calculador de capacidade

Leia mais

SSC PROGRAMAÇÃO CONCORRENTE. Aula 03 Terminologia Geral de Computação Paralela Prof. Jó Ueyama

SSC PROGRAMAÇÃO CONCORRENTE. Aula 03 Terminologia Geral de Computação Paralela Prof. Jó Ueyama SSC- 0742 PROGRAMAÇÃO CONCORRENTE Aula 03 Terminologia Geral de Computação Paralela Prof. Jó Ueyama Créditos Os slides integrantes deste material foram construídos a par4r dos conteúdos relacionados às

Leia mais

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS 1/18 ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS Algoritmos 2/18 Algoritmos Algoritmo - sequência de instruções necessárias para a resolução de um problema bem formulado (passíveis de implementação em computador)

Leia mais

GRAFOS Aula 03 Representações de Grafos Max Pereira

GRAFOS Aula 03 Representações de Grafos Max Pereira Ciência da Computação GRAFOS Aula 03 Representações de Grafos Max Pereira A maior vantagem de um grafo é a sua representação visual da informação. Mas para a manipulação e armazenamento em um computador,

Leia mais

TABELAS DE DISPERSÃO/HASH

TABELAS DE DISPERSÃO/HASH 1/47 TABELAS DE DISPERSÃO/HASH Introdução 2/47 Introdução Motivação - Considerar o problema de pesquisar um determinado valor num vetor: - Se o vetor não está ordenado, a pesquisa requer O(n) de complexidade

Leia mais

Falta Erro Falha. Motivação. Teste de Software. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro 6/6/11

Falta Erro Falha. Motivação. Teste de Software. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro. Falha, Falta e Erro 6/6/11 Motivação Teste de Software Ocorrência de falhas humanas no processo de desenvolvimento de software é considerável Processo de testes é indispensável na garantia de qualidade de software Custos associados

Leia mais

UNIVERSIDADE PAULISTA CURSOS

UNIVERSIDADE PAULISTA CURSOS UNIVERSIDADE PAULISTA CURSOS CST em Análise e Desenvolvimento de Sistemas CST em Automação Industrial CST em Gestão da Tecnologia da Informação CST em Redes de Computadores PIM Projeto Integrado Multidisciplinar

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + y s.a x + y x + y 5 b) Max z = x + y s.a x + y 0 x + y 5 c) Max z = x + y s.a x + 9y 6 8 x +

Leia mais

Agendamento para Sistemas Paralelos

Agendamento para Sistemas Paralelos Advanced Computer Architectures: Agendamento para Sistemas Paralelos Oliver Sinnen INESC-ID Instituto Superior Técnico Conteúdo I: Introdução II: Agendamento dinâmico III: Agendamento estático 2 I: Introdução

Leia mais

Lista de Exercícios - Modelagem de representação cromossômica e função fitness

Lista de Exercícios - Modelagem de representação cromossômica e função fitness Lista de Exercícios - Modelagem de representação cromossômica e função fitness Para cada um dos problemas descritos abaixo: crie uma ou mais representações cromossômicas capazes de representar uma solução

Leia mais

Ordenação. Relógios lógicos

Ordenação. Relógios lógicos Ordenação Relógios lógicos 1 Índice Ordenação FIFO Ordenação Causal Ordenação Total Algoritmos Tempo Lógico Relógios Lógicos Relógios Vectoriais 2 Introdução Ordenação Objectivo Determinar à posteriori

Leia mais

Preliminares. Profa. Sheila Morais de Almeida. agosto

Preliminares. Profa. Sheila Morais de Almeida. agosto Preliminares Profa. Sheila Morais de Almeida DAINF-UTFPR-PG agosto - 2016 Algoritmos Definição - Skiena Algoritmo é a ideia por trás dos programas de computador. É aquilo que permanece igual se o programa

Leia mais

Arquitetura de Computadores Sistemas Operacionais II

Arquitetura de Computadores Sistemas Operacionais II Definição de Processo Arquitetura de Computadores Sistemas Operacionais II Processo é o mesmo de Programa? Programa Estrutura estática Instruções + Dados Processo Entidade Ativa Instância de um Programa

Leia mais

Introdução aos Métodos Numéricos

Introdução aos Métodos Numéricos Introdução aos Métodos Numéricos Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho Conteúdo temático Sistemas de Equações Lineares. Métodos diretos Conteúdo

Leia mais

Guia del Laboratório 2 Desenho e Implementação de algoritmos paralelos Introdução

Guia del Laboratório 2 Desenho e Implementação de algoritmos paralelos Introdução Guia del Laboratório 2 Desenho e Implementação de algoritmos paralelos Introdução Este laboratório tem como objetivo: Desenhar e implementar algoritmos paralelos. Desenvolvimento Em conferência pudemos

Leia mais

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco.

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco. CONCEITOS DE REDE Uma rede é formada por um conjunto de nós, um conjunto de arcos e de parâmetros associados aos arcos. Nós Arcos Fluxo Interseções Rodovias Veículos Rodoviários Aeroportos Aerovia Aviões

Leia mais

Introdução à Computação: Sistemas de Computação

Introduçã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 mais

Árvore Binária de Busca Ótima

Árvore Binária de Busca Ótima MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvore binária de busca ótima do capítulo 4 do livro N. Wirth. Algorithms

Leia mais

Aula 4: Gráficos lineares

Aula 4: Gráficos lineares Aula 4: Gráficos lineares 1 Introdução Um gráfico é uma curva que mostra a relação entre duas variáveis medidas. Quando, em um fenômeno físico, duas grandezas estão relacionadas entre si o gráfico dá uma

Leia mais

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.1. Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005. Agenda Análise e Técnicas de Algoritmos Jorge Figueiredo Conceitos básicos Classes de de Complexidade P NP Redução Problemas NPC NP-Completude Introdução Existem alguns problemas computacionais que são

Leia mais

Introdução ao CUDA. Material elaborado por Davi Conte.

Introdução ao CUDA. Material elaborado por Davi Conte. Introdução ao CUDA Material elaborado por Davi Conte. O objetivo deste material é que o aluno possa iniciar seus conhecimentos em programação paralela, entendendo a diferença da execução de forma sequencial

Leia mais

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

Gerê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 mais

Agrupamento de dados. Critério 1: grupos são concentrações de dados k-means Critério 2: grupos são conjuntos de elementos próximos entre si espectral

Agrupamento de dados. Critério 1: grupos são concentrações de dados k-means Critério 2: grupos são conjuntos de elementos próximos entre si espectral Agrupamento de dados Critério 1: grupos são concentrações de dados k-means Critério 2: grupos são conjuntos de elementos próximos entre si espectral Dados e grafos Se temos dados x i, i 0... n, criamos

Leia mais

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução Sistemas Operativos Objetivo O objetivo deste questionário é levá-lo a rever os conceitos básicos dos sistemas operativos, bem como os algoritmos de scheduling e mecanismos de sincronização estudados.

Leia mais

Introdução à Ciência da Computação II

Introdução à Ciência da Computação II Introdução à Ciência da Computação II 2semestre/200 Prof Alneu de Andrade Lopes Apresentação com material gentilmente cedido pelas profas Renata Pontin Mattos Fortes http://wwwicmcuspbr/~renata e Graça

Leia mais

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano Desenvolvimento de Aplicações Paralelas (gec.di.uminho.pt/lesi/ap10203/aula06aplicaçõespar.pdf) João Luís Ferreira Sobral Departamento

Leia mais

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas

Leia mais

Fluxo em Redes -01. Prof. Gustavo Peixoto Silva 2 modelos

Fluxo em Redes -01. Prof. Gustavo Peixoto Silva 2 modelos Fluxo em Redes - Prof. Gustavo Peixoto Silva modelos . Otimização em Redes É um caso particular da Programação Linear, onde pretende-se minimizar uma função de custoque dependedofluxoque passa pelos arcosde

Leia mais

Microarquiteturas Avançadas

Microarquiteturas Avançadas Universidade Federal do Rio de Janeiro Arquitetura de Computadores I Microarquiteturas Avançadas Gabriel P. Silva Introdução As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. 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 mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + 2 y s.a x + y 2 x + y 5 x, y 0, x e y inteiros b) Max z = 2 x + y s.a x + 2y 0 x + y 25 x, y

Leia mais

ANÁLISE DE ALGORITMOS (INF 1721)

ANÁLISE DE ALGORITMOS (INF 1721) PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Horário: 2as. e 4as. 9-11hs (3WA) 3 de dezembro de 2016 Período: 2016.2 ANÁLISE DE ALGORITMOS (INF 1721) 3 a Lista de

Leia mais

AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado

AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado AULA 11 PROJETO E ANÁLISE DE ALGORITMOS Conceitos básicos e representação de grafos Karina Valdivia Delgado Roteiro Motivação Conceitos básicos Representação Motivação Um grafo é uma abstração que permite

Leia mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017. ALUNO Prof. Bosco

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017. ALUNO Prof. Bosco INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 12/06/2017 ALUNO Prof. Bosco 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) Sockets são abstrações utilizadas nos protocolos de comunicação

Leia mais

4 Cálculo de Equivalentes Dinâmicos

4 Cálculo de Equivalentes Dinâmicos 4 Cálculo de Equivalentes Dinâmicos 4.1 Introdução Com o elevado índice de expansão dos sistemas elétricos de potência, os freqüentes aumentos nas interligações e o alto número de variáveis que envolvem

Leia mais

4 Cálculo de Equivalentes Dinâmicos

4 Cálculo de Equivalentes Dinâmicos 4 Cálculo de Equivalentes Dinâmicos 4.1 Introdução O crescimento do sistema de energia elétrica, o aumento do número de interligações e a sofisticação dos modelos para representação dos componentes de

Leia mais

2 Definição do Problema

2 Definição do Problema Definição do Problema. Formulação Matemática O problema do Fluxo Máximo entre todos os pares de nós surge no contexto de redes, estas representadas por grafos, e deriva-se do problema singular de fluxo

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

Modelagem de Sistemas de Tempo Real. Sérgio Campos

Modelagem de Sistemas de Tempo Real. Sérgio Campos Modelagem de Sistemas de Tempo Real Sérgio Campos 1 / 18 Antecedentes Sistemas reativos, Processos: comunicação, sincronização, Escalonamento, Sistemas distribuidos. Jobs, processors & timing constraints

Leia mais

Inversão de prioridades

Inversã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 mais