PPD: Balanceamento de Carga e Scheduling 2



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

Programação e Scheduling

Entendendo como funciona o NAT

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

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

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

Introdução aos Sistemas Operativos

Introdução ao Processamento Paralelo

Redes de Computadores

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos

ENHANCED SERVER FAULT- TOLERANCE FOR IMPROVED USER EXPERIENCE. André Esteves nº3412 David Monteiro

Gerenciamento de memória

5COP096 TeoriadaComputação

Sistemas distribuídos:comunicação

Sistemas Operacionais

Sistemas Operativos. 4ª Geração (a partir de 70 )

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

VORONOI STATE MANAGEMENT FOR PEER-TO-PEER MASSIVELY MULTIPLAYER ONLINE GAMES

HASHING. Katia Guimarães. 1

Subcamada MAC. O Controle de Acesso ao Meio

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Programação de Sistemas

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Sistemas Distribuídos. Aleardo Manacero Jr.

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Processos. Paulo Sérgio Almeida 2005/2006. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

Profs. Deja e Andrei

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

O Manual do Desktop Sharing. Brad Hards Tradução: Pedro Morais

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

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

Acronis Backup & Recovery 10

Sistemas de armazenamento

Arquitetura de Computadores. Sistemas Operacionais IV

Construção de um WebSite. Luís Ceia

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Será a Internet/Intranet uma plataforma viável em sala de aula? Luís Manuel Borges Gouveia. lmbg@ufp.pt

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação?

Módulo de Circulação e Empréstimo

SEJA RESPONSÁVEL EVITE ATRASOS E MULTAS FACILITE A SUA VIDA! 1ª Fase - 1 a 31 de Março de 2014, para rendimentos das categorias A e H;

Prognos SMART OPTIMIZATION

Manual de candidatura por via electrónica

Explorar os comandos no friso Cada friso tem grupos e cada grupo tem um conjunto de comandos relacionados.

Licenciatura em Engenharia Informática Sistemas Distribuídos I 2ª chamada, 6 de Julho de º Semestre, 2004/2005

ARTIGO TÉCNICO. Os objectivos do Projecto passam por:

REDES DE COMPUTADORES

Gestor de Processos. Gestor de Processos

INDICE 1. INTRODUÇÃO CONFIGURAÇÃO MÍNIMA INSTALAÇÃO INTERLIGAÇÃO DO SISTEMA ALGUNS RECURSOS SERVIDOR BAM...

MODELO CLIENTE SERVIDOR

Internet Update de PaintManager TM. Manual de instalação e utilização do programa de actualização

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

SISTEMAS DISTRIBUÍDOS

Um cliente de cada vez:

Computadores de Programação (MAB353)

Respostas dos Exercícios Cap. 2 Russell & Norvig

PESQUISA OPERACIONAL Plano de Ensino. Prof. Me. Carlos Guimarães

Download. Instalaça o. Geral

Gerenciamento de Memória

Conceitos de Entrada e Saída

SISTEMAS DISTRIBUÍDOS

Meta-heurísticas. Métodos Heurísticos José António Oliveira meta-heurísticas

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

Manual do Utilizador MAC OS

(Consulta Real em Ambiente Virtual)

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Manual de Colaboração

Introdução ao Modelos de Duas Camadas Cliente Servidor

Escalonamento no Linux e no Windows NT/2000/XP

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Tabelas Hash. Jeane Melo

Gestão do Risco e da Qualidade no Desenvolvimento de Software

Organização e Arquitetura de Computadores

Construindo Relacionamentos

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

Grupo I [6v] Considere o seguinte extracto de um programa de definição de uma calculadora apenas com a função soma de dois valores reais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Especificação Operacional.

Engenharia de Software I

Princípios de Jogo Formação - Infantis

1 Ajuda da Internet M vel Clix

SAFT para siscom. Manual do Utilizador. Data última versão: Versão: Data criação:

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Manual do Comunicador 1.0 (Externo)

Sistemas Operativos I

Serviços de Comunicações RELATÓRIO LABORATORIAL IMPLEMENTAÇÃO DE SOLUÇÃO IP PBX

O AMBIENTE DE TRABALHO DO WINDOWS

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS Os Programas de Avaliação

Transcrição:

PPD: Balanceamento de Carga e Scheduling 2 Fernando Silva DCC-FCUP 2 (Alguns dos slides são baseados nos de Kathy Yelick, www.cs.berkeley.edu/ yelick) Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 3 1 / 21

Objectivo do Scheduling Os conceitos de balanceamento de carga e de scheduling são muito próximos e, normalmente, usam-se com o mesmo significado. O objectivo de uma estratégia de scheduling é maximizar o desempenho de sistema paralelo, transferindo tarefas de processadores mais sobrecarregados para outros que estejam mais leves. Uma estratégia de scheduling envolve duas decisões importantes: determinar quais as tarefas que podem ser executadas em paralelo, e determinar onde executar as tarefas paralelas A tomada de decisão é normalmente feita com base ou em conhecimento prévio ou em informação em tempo de execução. Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 4 2 / 21

Dificuldades para o Scheduling O desenho de uma estratégia de scheduling depende das propriedades das tarefas: Custos das tarefas têm todas as tarefas o mesmo custo? se não têm, quando são esses custos conhecidos? antes da execução, quando a tarefa é criada, ou apenas quando termina? Dependências entre tarefas as tarefas podem ser executadas em qualquer ordem? se não podem, quando são conhecidas as dependências? antes da execução, quando a tarefa é criada, ou apenas quando termina? Localidade é importante que algumas tarefas executem no mesmo processador (ou próximo deste) para reduzir custos de comunicação? quando é que se conhece a informação sobre comunicação? Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 5 3 / 21

Custo de Tarefas Scheduling de um conjunto de tarefas nos casos seguintes: Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 6 4 / 21

Dependências entre tarefas Scheduling de um grafo tarefas nos casos seguintes: Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 7 5 / 21

Localidade de tarefas Scheduling de um conjunto de tarefas nos casos seguintes: Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 8 6 / 21

Soluções de Scheduling Scheduling Estático - as decisões são tomadas em tempo de compilação. análise estática de programas para estimar tamanho das tarefas; esta informação é difícil de obter e geralmente incompleta. mapeamento estático da árvore de pesquisa na arquitectura paralela (mapeamento óptimo é NP-completo). construção de um grafo dirigido com os nós a representarem tarefas e as ligações representarem dependências nos dados ou comunicação; determinar ordem de execução que minimize o tempo de execução. Scheduling Dinâmico (ou partilha adaptativa de trabalho) - faz uso de informação do estado da computação em tempo de execução, para tomar decisões. Exemplo: verifica a carga dos processadores para assegurar um balanceamento de carga dinâmico nos processadores. Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 9 7 / 21

Porquê Scheduling Dinâmico? Para uma grande classe de problemas, o seu espaço de soluções corresponde a uma árvore de procura. Estes problemas são frequentemente: computacionalmente exigentes admitem muitas estratégias diferentes de paralelização requerem balanceamento dinâmico de carga Exemplos: enumeração de sub-grafos de tamanho k de um dado grafo procura de padrões em redes sociais ou biológicas problema da colocação das rainhas num tabuleiro problemas divide-and-conquer e branch-and-bound árvore de execução do Prolog Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 10 8 / 21

Árvore de procura a árvore é construída dinamicamente durante ou com a execução podem ter sub-problemas comuns em caminhos diferentes Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 11 9 / 21

Procura em paralelo Considere-se: uma pesquisa DFS da árvore scheduling estático: enquanto houver processadores não ocupados, atribuir a próxima nova tarefa. Podemos e devemos fazer melhor! Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 12 10 / 21

Estratégias de Scheduling Dinâmico As estratégias de scheduling dinâmico podem ser: centralizadas assumem um scheduler central que reúne informação sobre todo o sistema, nomeadamente carga, e toma as decisões de transferência de tarefas. funciona bem num sistema de memória partilhada, mas com um número de processadores reduzido. é ineficiente num sistema de memória distribuída, pois requer muita comunicação para manter o scheduler com informação actualizada. distribuídas existe um scheduler por processador que tomam decisões autónomas sobre partilha de trabalho. o objectivo é manterem o seu processador ocupado e balancear a carga no sistema. Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 13 11 / 21

Scheduling Centralizado O scheduler tem uma fila única de tarefas 1. responde a pedidos dos processadores (ou workers), ou 2. os workers acedem autonomamente à fila, sincronizando através de locks Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 14 12 / 21

Master-Worker Estratégia centralizada em sistemas de memória distribuída Decisão de distribuíção de tarefas concentrada no master-worker Workers executam ciclo: pedir trabalho receber trabalho executar trabalho enviar resultado Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 15 13 / 21

Questões com a estratégia centralizada Evitar contenção no acesso à fila de tarefas partilhada Suponha que as tarefas correspondem a um intervalo de índices de um ciclo (iterações independentes). Seja K o tamanho da tarefa: Se K for grande, reduz-se contenção no acesso à fila. Se K for pequeno, simplifica-se o balanceamento de carga. Ideias: Usar tarefas maiores no início (maior número de índices) para evitar overhead excessivo e menores mais próximo do fim. No acesso de ordem i à fila, seleccionar uma tarefa com tamanho R i /p, onde R i é número total de tarefas em sobra e p é o número de processadores. O tamanho K i é função do trabalho sobrante, mas também da variância do custo da tarefa. a variância é estimada usando informação histórica variância elevada tamanhos menores variança baixa tamanhos maiores Enquadrar diferenças de processamento. Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 16 14 / 21

Filas distribuídas de tarefas (ou Work-Pools) Extensão natural para sistemas distribuídos, mas também para memória partilhada. Permite que workers sem trabalho tomem a iniciativa de procurar trabalho, ou que workers ocupados possam partilhar tarefas. São úteis quando se está com um sistema de memória distribuída existe muita sincronização ou muitas tarefas pequenas Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 17 15 / 21

Scheduling Distribuído As decisões de partilha podem ser: sender initiated (ou work distribution)- os workers mais ocupados, procuram outros menos ocupados para lhe atribuir tarefas. melhor para pequenas cargas. receiver-initiated (ou work-stealing) - os workers que ficam sem trabalho, procuram um worker com muito trabalho e pede para partilhar. melhor para grandes cargas do sistema. Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 18 16 / 21

Como seleccionar um worker a quem pedir trabalho Round-robin: targetk = (target k + 1) mod procs. polling/stealing aleatório Quando um processador precisa de trabalho, selecciona aleatoriamente um processador e envia-lhe um pedido. repete último: por questões de localidade pode haver vantagem voltar a pedir ao último worker, se este não tiver trabalho, passa a um dos esquemas anteriores. Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 19 17 / 21

Como dividir trabalho? Número de tarefas a distribuir? Dividir a meio? Quais as tarefas: topmost: tarefas do início da fila (mais antigas) bottomost: tarefas do fim da fila (mais recentes) Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 20 18 / 21

Estratégias de partilha 1/2 Sender-initiated Quando um worker gera uma nova tarefa, o seu scheduler procura o processador mais livre e atribui-lhe a tarefa para execução. Se não for bem sucedido, guarda na fila local. Receiver-initiated As tarefas geradas por workers são colocadas sempre na sua fila local. Quando um worker procura uma tarefa para execução, o scheduler procura primeiro na sua fila local. Se estiver vazia, então procura uma tarefa fora (também referido por work-stealing). Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 21 19 / 21

Estratégias de partilha 2/2 Adaptative I Combina as estratégias sender-initiated e receiver initiated. Os workers são classificados como Senderds ou Receivers mediante o valor de um parâmetro Threshold. Um worker é sender se o númerod e tarefas na sua fila estiver acima do threshold, será receiver no caso contrário. Adaptative II Melhora a heurística Adaptative I, introduzindo dois parâmetros Low e High para classificar os workers como Senders, Receivers ou Neutrals. Um worker muda dinamicamente o seu comportamento, função da quantidade de trabalho na sua fila: #tasks < high comportamento sender #tasks < low comportamento receiver neutral se low #tasks high Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 22 20 / 21

Exemplo da evolução das filas de tarefas Fernando Silva (DCC-FCUP) PPD: Balanceamento de Carga e Scheduling 23 21 / 21