Escalonamento Online em Grades

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

Download "Escalonamento Online em Grades"

Transcrição

1 Escalonamento Online em Grades Milson Monteiro Universidade de São Paulo Introdução ao Escalonamento e Aplicações

2 Agenda 1 Introdução 2 Modelo 3 Aproximabilidade 4 Escalonamento de Lista 5 Algoritmo de Escalonamento em Grade 6 Problema Geral com Submissão Através do Tempo 7 Conclusão 8 REFERÊNCIAS Milson Monteiro (IME/USP) Escalonamento Online em Grades 2 / 65

3 Introdução I Foi introduzido por [Foster, Kesselman: 2008], apresentando a computação em Grade como o uso de recursos distribuídos geograficamente para resolver problemas coordenados em organizações virtuais; As Grades não se limitam aos recursos computacionais, podendo incluir serviços arbitrários e dispositivos; O tamanho e a natureza da dinâmica das Grades em processar e selecionar a atribuição de recursos computacionais para trabalhos de grades deve ser feito de forma automática e eficiente; Neste sentido é essencial a utilização de um sistema de escalonamento em Grade; Diversos sistemas de escalonamento tem sido propostos e implementados em diferentes Grades. Usam métodos de escalonamento para processadores paralelos e utilizam uma camada adicional de escalonamento em Grade [Schwiegelshohn, Yahyapour: 2003]. Milson Monteiro (IME/USP) Escalonamento Online em Grades 3 / 65

4 Introdução II O problema de escalonamento de tarefas em multiprocessadores é bem compreendido e tem sido objeto de pesquisa há décadas; Os resultados das pesquisas existem para diversas variantes deste problema: Algumas fornecem percepções teóricas enquanto outras dão sugestões para a implementação de sistemas reais; O escalonamento em Grade é na maioria das vezes dirigida exclusivamente por profissionais que procuram implementações adequadas; Existem poucos resultados teóricos sobre o escalonamento em Grade; A maioria dirige-se ao escalonamento da divisão da carga em Grades [Robertazzi, Yu: 2006]. [Fujimoto, Hagihara: 2003] discutem o escalonamento de tarefas independentes sequencialmente em sistemas com velocidades de processamento que variam ao longo do tempo e entre diferentes máquinas. Milson Monteiro (IME/USP) Escalonamento Online em Grades 4 / 65

5 Introdução III Eles alegam que o objetivo do makespan não é aplicável e propõem um critério diferente com base no consumo total de ciclo do processador; [Tchernykh et al: 2005] apresentou o desempenho de vários algoritmos de dois estágios, em relação ao objetivo do makespan; Nos problemas de escalonamento reais, o grande número e tipo de restrições quase sempre evita que os estudos teóricos obtenham resultados significativos; Isto é particularmente verdadeiro para as Grades (heterogeneidade, comportamento dinâmico, muitos tipos diferentes de tarefas e outras restrições); O modelo de qualquer estudo teórico sobre escalonamento em grade pode ser uma abstração da realidade (as propriedades essenciais devem ser observadas para fornecer benefícios para instalações reais); Como as Grades computacionais são frequentemente consideradas como sucessoras de um computador paralelo começaremos com um modelo simples de computação paralela e estenderemos para a computação em Grade; Milson Monteiro (IME/USP) Escalonamento Online em Grades 5 / 65

6 Introdução IV Modelo Básico [Garey,Graham: 1975] assumiram um multiprocessador com processadores idênticos, bem como independentes, rígidos, tarefas paralelas com tempos de processamento desconhecidos; Qualquer conjunto arbitrário e suficientemente grande de processadores concorrentes em uma única máquina pode ser usado para executar exclusivamente tais tarefas; Este modelo não corresponde a uma instalação real nem a várias aplicações reais. Mas os pressupostos são razoáveis; Milson Monteiro (IME/USP) Escalonamento Online em Grades 6 / 65

7 Introdução V Exemplo do Modelo Básico I Os computadores paralelos com suas redes caras somente justificam o investimento se processarem tarefas paralelas; Quase todas as redes modernas suportam partições arbitrárias dos processadores. Embora possam existir diferenças entre os processadores de um computador paralelo em relação à memória principal ou algumas outras propriedades, estes processadores são geralmente muito semelhantes; Enquanto algumas aplicações são capazes de lidar com diferentes graus de paralelismo outras são especificamente desenvolvidas para executar de forma eficiente em um determinado número de processadores. Além disso, quase sempre existe um limite para a exploração de paralelismo de uma aplicação; Milson Monteiro (IME/USP) Escalonamento Online em Grades 7 / 65

8 Introdução VI Exemplo do Modelo Básico II Como a eficiência da implementação da aplicação paralela com a comunicação entre os processadores pode ser gravemente afetado por outras tarefas que usam o mesmo processador, estes processadores são frequentemente fornecidos exclusivamente para uma única aplicação. Esta abordagem envolve questões de segurança. Existem vários usuários em um multiprocessador. Por isso, as tarefas são independentes, ou pelo menos, o sistema de escalonamento não tem conhecimento das dependências entre essas tarefas. Embora alguns usuários possam ter conhecimento sobre o tempo de processamento das suas tarefas, alguns estudos mostram que as estimativas dos usuários não são confiáveis conforme [Lee et al.]; Milson Monteiro (IME/USP) Escalonamento Online em Grades 8 / 65

9 Introdução VII Obs O modelo de Garey e Graham ainda é uma abstração básica válida de um computador paralelo e suas aplicações; O modelo de Grade simplesmente estende este modelo, assumindo que os processadores estão organizados em várias máquinas e que as tarefas paralelas não podem executar através de várias máquinas; Frequentemente, os multiprocessadores em uma Grade são instalados em resultantes de tempo diferentes em tipos diferentes de hardware. Portanto, uma grade computacional frequentemente é composta de máquinas paralelas heterogêneas; Pode-se argumentar que um modelo de processadores idênticos ainda é razoável, como os processadores modernos diferem principalmente no número de núcleos, em vez da velocidade do processador; Milson Monteiro (IME/USP) Escalonamento Online em Grades 9 / 65

10 Introdução VIII Computação de Alto Desempenho As máquinas paralelas são tipicamente e relativamente novas e a tecnologia é atual e recente; Mas, mesmo quando ignoramos esses argumentos ainda existem duas propriedades principais de uma Grade: separar máquinas paralelas e heterogeneidade do processador; Deveríamos abordar ambas as propriedades em um único modelo uma vez que entendemos os modelos como uma única propriedade; A heterogeneidade do processador já foi objeto dos modelos de máquinas clássicas Q m e R m conforme pesquisa de [Pinedo, 2002], enquanto somente [Tchernykh et al: 2005] fornece alguns resultados para a separação do modelo de máquinas paralelas idênticas. Portanto, o foco deste artigo está nesta propriedade das Grades; Milson Monteiro (IME/USP) Escalonamento Online em Grades 10 / 65

11 Introdução IX Modelo de Tarefa I Submissão através do tempo de Garey e Graham, consulte [Naroska, Schwiegelshohn: 2002]; As taefas são independentes e apresentadas ao longo do tempo; Uma tarefa é caracterizada por seu tempo de submissão, a fixação do grau de paralelismo (tarefas rígidas), e seu tempo de processamento, que é desconhecido até que a tarefa tenha completado a sua execução (tarefas não previsíveis); Uma tarefa somente possa ser executada em processadores pertencentes à mesma máquina de forma exclusiva e não preemptiva, que está no modo de espaço de compartilhamento; Milson Monteiro (IME/USP) Escalonamento Online em Grades 11 / 65

12 Introdução X Modelo de Tarefa II No entanto, observe que não requerem que a tarefa seja alocada aos processadores imediatamente ao seu tempo de submissão como em alguns problemas online, [Albers, 1999]; Esta exigência não tem sentido para o escalonamento não previsível, pois levaria a um equilíbrio de carga muito ruim no pior caso; Além disso, as tarefas podem migrar entre as filas em muitos sistemas reais se outras máquinas estão ociosas; Milson Monteiro (IME/USP) Escalonamento Online em Grades 12 / 65

13 Introdução XI Ponto de Vista do Sistema I Objetivo do escalonador da Grade tentar alcançar o balanceamento da carga na grade; Na teoria do escalonamento, isto é geralmente representado pelo objetivo da minimização do makespan; Embora o objetivo do makespan tenha algumas deficiências particulares, em cenários online com tarefas independentes, é fácil de manipular e, muitas vezes usado mesmo nesses cenários, ver, por exemplo, [Albers, 1999]; No contexto online, avaliaremos os algoritmos de escalonamento, determinando limites superiores de fatores de competitividade, ou seja, consideramos a relação entre o makespan do nosso escalonamento e o makespan ótimo. Milson Monteiro (IME/USP) Escalonamento Online em Grades 13 / 65

14 Introdução XII Ponto de Vista do Sistema II Mostrar que os limites de Garey e Graham 2 m 1 não está garantido na grade por qualquer algoritmo de tempo polinomial a menos que P = NP; Apresentar exemplos que demonstram que o algoritmo de escalonamento de lista não pode garantir uma vantagem limite de competitividade constante mesmo que a lista seja ordenada pelo paralelismo da tarefa em ordem decrescente; Propor um algoritmo de escalonamento em grade com fator competitivo de 3 para o caso de submissão-concorrente; Estender o algoritmo para o caso da submissão ao longo do tempo, resultando num fator competitivo de 5; Milson Monteiro (IME/USP) Escalonamento Online em Grades 14 / 65

15 Modelo I Grade I 1 Contém m máquinas; 2 Dizemos que a máquina M i tem tamanho m i, se é composta de processadores m i ; 3 Todos os processadores da Grade são idênticos; 4 Para efeitos de fácil descrição, assumimos uma indexação de máquina tal que mantenha m i 1 m i e introduz m 0 = 0. 5 Usamos GP m para descrever o modelo da máquina da Grade; 6 As tarefas são independentes e submetidas ao longo do tempo; Milson Monteiro (IME/USP) Escalonamento Online em Grades 15 / 65

16 Modelo II Grade II 7 A tarefa J j é caracterizada pelo seu tempo de processamento p j > 0, seu tempo de submissão r j 0, e o seu grau fixo de paralelismo size j s m, que é o número de processadores que devem ser alocados exclusivamente às tarefas durante o seu processamento; 8 Consideramos o escalonamento não previsível, como o tempo de processamento de uma tarefa só se tornar conhecida após esta tarefa concluír a sua execução; 9 Além disso, não permitiremos escalonamento multisite nem de preempção, ou seja, a tarefa J j deve ser executada em processadores size j em uma máquina sem interrupção; 10 Introduzimos a notação i = a(j) para indicar que a tarefa J j será executada na máquina M i ; Milson Monteiro (IME/USP) Escalonamento Online em Grades 16 / 65

17 Modelo III Grade III 11 O tempo de realização da tarefa J j no escalonamento S é denotada por C j (S) se o escalonamento é não-ambíguo; 12 O escalonamento é viável se r j + p j C j vale para todas as tarefas J j se em todos os tempos t e para cada máquina M i, a maioria dos processadores M i sejam utilizados na máquina M i, isto é, temos: mi J j C j p j t<c j i=a(j) 13 Para cada máquina M i ; size j Milson Monteiro (IME/USP) Escalonamento Online em Grades 17 / 65

18 Modelo IV Objetivo I Objetivo encontrar um escalonamento que minimize o makespan C max (S) = max j {C j (S)}; Na notação de [Graham et al.] (modelo de máquina, restrições, objetivos), este problema é caracterizado como GP m size j C max O makespan ótimo da instância do problema de um escalonamento de grade é denotado por: Cmax = max C max(s); escalonamentorgidos que Estabelecemos a alocação das tarefas para as máquinas somente quando os processadores estão realmente disponíveis; Avaliamos o desempenho de um algoritmo on-line por determinação do seu fator competitivo ou um limite superior para ele; Milson Monteiro (IME/USP) Escalonamento Online em Grades 18 / 65

19 Modelo V Objetivo II Aqui, o fator competitivo do algoritmo A é o máximo de C max(s) C para todas as max instâncias do problema se o escalonamento S é produzido por A; Neste artigo, primeiro resolveremos o caso da submissão-concorrente (r j = 0) e, em seguida, estenderemos os resultados para o cenário da submissão ao longo do tempo; Milson Monteiro (IME/USP) Escalonamento Online em Grades 19 / 65

20 Aproximabilidade I Objetivos Primeiramente queremos determinar um limite inferior para o fator competitivo; Para este fim, consideramos o problema correspondente da previsibilidade com r j = 0; Este problema é NP difícil como P m C max é um caso especial do GP m size j C max ; Além disso, também não é fácil encontrar bons algoritmos de aproximação, conforme é apresentado no próximo teorema; Milson Monteiro (IME/USP) Escalonamento Online em Grades 20 / 65

21 Aproximabilidade II Teorema 3.1 Não existe nenhum algoritmo de tempo polinomial que sempre produza escalonamento S com C max(s) C < 2 para GP max m size j C max e todos os dados de entrada, a não ser que P = NP; Milson Monteiro (IME/USP) Escalonamento Online em Grades 21 / 65

22 Escalonamento de Lista I Devido ao Teorema 3.1, o limite do escalonamento de multiprocessamento de lista é 2 m 1, ver [Garey,Graham: 1975] (submissão-concorrente), bem como [Naroska, Schwiegelshohn: 2002] (submissão ao longo do tempo), não se aplicarem às Grades. A seguir, o próximo exemplo mostra que já no caso da submissão-concorrente, o escalonamento em lista não garante um limite constante para todas as instâncias do problema. O próximo exemplo mostra que no caso da submissão-concorrente, o escalonamento em lista não garante um limite constante C max C para todas as max instâncias do problema; Observe que um exemplo semelhante já foi apresentado por [Tchernykh et al: 2005]; Milson Monteiro (IME/USP) Escalonamento Online em Grades 22 / 65

23 Escalonamento de Lista II Exemplo 4.1 Seja k 1 um inteiro; Na nossa grade, assumimos uma máquina com m m processadores com m m = 2 k, e existem 2 4k 1 máquinas idênticas com 2 k κ processadores para cada κ com 1 κ k; Isso produz um total de 2 2k processadores e m = k 1 3 máquinas na Grade; Além disso, temos 2 2(k κ) tarefas com size j = 2 k para todo 0 κ k, resultando em um total de 4k tarefas; Todos aquelas tarefas têm p j = 1; Suponha que as tarefas sejam ordenadas por paralelismo em ordem crescente; Então, este escalonamento irá iniciar todas as tarefas com size j = 1 concorrentemente no tempo 0 em todas as máquinas. Milson Monteiro (IME/USP) Escalonamento Online em Grades 23 / 65

24 Escalonamento de Lista III Exemplo 4.1 (cont) No tempo um, todos as tarefas com size j = 2 começarão o seu processamento em todas as máquinas com m i 2, enquanto todas as máquinas com m i = 1 devendo permanecer ociosas; O processo se repete até que, finalmente, a última tarefa com size j = 2k começe no tempo k na máquina M m produzindo C max = k + 1; Milson Monteiro (IME/USP) Escalonamento Online em Grades 24 / 65

25 Escalonamento de Lista IV (a) Escalonamento em Lista (b) Escalonamento Ótimo Figura 1: Exemplo de Escalonamento 4.1: (a) Escalonamento de Lista no Pior Caso (b) Escalonamento Ótimo. Milson Monteiro (IME/USP) Escalonamento Online em Grades 25 / 65

26 Escalonamento de Lista V Exemplo 4.1 (cont) No entanto, se a lista está ordenada por paralelismo em ordem decrescente, então cada tarefa J j é alocada a uma máquina M i tal que combine o tamanho e paralelismo (size j = ma(j)); Isso produz o makespan ótimo, onde este resultado é devido a um desequilíbrio de carga com máquinas com muitos processadores executarem tarefas com pouco paralelismo causando que as tarefas paralelas esperem para execução; Esta observação sugere em ordenar a lista por paralelismo de tarefa em ordem decrescente de forma que tarefas paralelas sejam escalonadas primeiro sempre que exista uma escolha; Infelizmente, esta abordagem não garante um fator competitivo constante de concorrência; Milson Monteiro (IME/USP) Escalonamento Online em Grades 26 / 65

27 Escalonamento de Lista VI Exemplo 4.1 (cont) Como um exemplo abrangente é muito complexo explicaremos as duas partes principais do exemplo separadamente; O Exemplo 4.2 demonstra que o escalonamento em lista pode ainda evitar que várias tarefas paralelas sejam executadas concorrentemente em uma única máquina, mesmo que a lista seja ordenada pelo paralelismo das tarefas em ordem decrescente; Milson Monteiro (IME/USP) Escalonamento Online em Grades 27 / 65

28 Escalonamento de Lista VII Exemplo 4.2 Considere a máquina M i na grade tal que µ seja o número de processadores da maior máquina com menos processadores que m i ; Para cada k com µ + 1 k m i 1, temos uma taefa J j com um pequeno tempo de processamento (p j 0) e size j = k; O menor tempo de processamento garante que a execução destas tarefas paralelas não requer mais tempo, embora elas devam ser executadas um após a outra; Além disso, existe um grande número de tarefas sequenciais (size j = 1), com diversos tempos de processamento; Como abordamos o escalonamento não previsível e as tarefas sequenciais não podem ser distinguidas no tempo do escalonamento; Milson Monteiro (IME/USP) Escalonamento Online em Grades 28 / 65

29 Escalonamento de Lista VIII Exemplo 4.2 (cont) Considere a máquina M i na grade tal que µ seja o número de processadores da maior máquina com menos processadores que m i ; O escalonamento de lista com ordenação por paralelismo em ordem decrescente irá iniciar a tarefa com size j = m i 1 no tempo 0; No mesmo tempo, uma tarefa sequencial é iniciada porque nenhuma tarefa paralela se ajusta mais nesta máquina; Após a conclusão da tarefa em paralelo, o algoritmo concorrentemente inicia a tarefa com sizej = m i 2 e outra tarefa sequencial; Este processo é continuado e produz um escalonamento onde a tarefa com size j = µ + 1 está executando concorrentemente com m i µ 1 tarefas sequenciais; Milson Monteiro (IME/USP) Escalonamento Online em Grades 29 / 65

30 Escalonamento de Lista IX Figura 2: Exemplo de Escalonamento 4.2 Milson Monteiro (IME/USP) Escalonamento Online em Grades 30 / 65

31 Escalonamento de Lista X Exemplo 4.2 (cont) Esta situação não mudará, a menos que, pelo menos, duas tarefas sequenciais finalizem, no mesmo tempo; Devido ao pequeno tempo de processamento das tarefas paralelas, a execução deste escalonamento leva muito pouco tempo; Se existem várias máquinas com o mesmo número de processadores, nós simplesmente multiplicamos as tarefas adequadamente; Podemos agora considerar um exemplo onde o escalonamento de lista é baseado na ordenação por paralelismo em ordem decrescente, onde cada máquina M i com m i > 1, uma tarefa paralela é iniciada concorrentemente com diversas tarefas sequenciais quase ao mesmo tempo 0; Milson Monteiro (IME/USP) Escalonamento Online em Grades 31 / 65

32 Escalonamento de Lista XI Exemplo 4.3 Seja k > 2 um inteiro qualquer; A grade contém k tipos diferentes de máquinas de tal forma que existem máquinas b κ de tamanho m κ size κ = 2 (κ+2)(κ 1) 2 para cada 1 κ k; Dizemos que estas máquinas são do tipo κ; Além disso, existem a κ tarefas do tipo κ para cada 1 κ k, isto é, aquelas tarefas que tem paralelismo size κ = 2 κ(κ 1) 2 ; Observe que: m κ size κ = 2 (κ+2)(κ 1) 2 2 κ(κ 1) 2 = 2 κ 1 Milson Monteiro (IME/USP) Escalonamento Online em Grades 32 / 65

33 Escalonamento de Lista XII Exemplo 4.3 (cont) As tarefa tipo κ podem ser executadas concorrentemente em uma máquina tipo κ. Todos as tarefas tem um tempo de processamento de aproximadamente 1; No entanto, os tempos de processamento são selecionados de forma que não existem duas tarefas completas ao mesmo tempo e na mesma máquina no escalonamento de lista S; No escalonamento ótimo, somente as tarefas do tipo κ são executados nas máquinas do tipo κ; Isto produz Cmax m 2 se a κ 2b κ κ mínimo um κ com κ > b κ 2 κ 1 ; size κ = b κ 2 κ vale para todo 1 k k e se existe no No escalonamento de lista S, somente uma tarefa do tipo κ é iniciado em cada máquina do tipo κ no tempo aproximado t com t < κ - 1 sendo um inteiro não negativo; Milson Monteiro (IME/USP) Escalonamento Online em Grades 33 / 65

34 Escalonamento de Lista XIII Exemplo 4.3 (cont) No tempo aproximado κ, todos as tarefas restantes do tipo κ são iniciadas em todas as máquinas do tipo k ou superiores de forma que a maioria dos processadores size κ tornam-se ociosos em qualquer máquina ao mesmo tempo para κ = k; Observar na Figura 3; Este escalonamento tem um makespan C max (S) k; Milson Monteiro (IME/USP) Escalonamento Online em Grades 34 / 65

35 Escalonamento de Lista XIV (a) Escalonamento em Lista (b) Escalonamento Ótimo Figura 3: Exemplo de Escalonamento 4.3 para k = 3: (a) Escalonamento em Lista no Pior Caso (b) Escalonamento Ótimo Milson Monteiro (IME/USP) Escalonamento Online em Grades 35 / 65

36 Escalonamento de Lista XV Exemplo 4.3 (cont) Finalmente, precisamos determinar os valores apropriados para a κ e b κ ; Para este fim, usaremos uma recursão para trás: b k = 1 e a k = 2 k 1 + k 1. Para 1 κ < k, selecionamos; k b h (m h size h ) h=κ+1 b κ = m κ size κ (k 1) k b h (m h size h ) h=κ+1 a κ = size κ + b κ (κ 1 + m κ size κ ) Observe que esta seleção é sempre possível quando temos 2 i i 1 para todos os inteiros i não negativos; Além disso, b κ m κ size κ < a κ 2b κ m κ size κ é mantido para todo 1 κ k; Milson Monteiro (IME/USP) Escalonamento Online em Grades 36 / 65

37 Escalonamento de Lista XVI κ size κ m κ a κ b κ κ size κ m κ a κ b κ Tabela 1: Parâmetros do Exemplo 4.3 com k = 3 e k = 4 Milson Monteiro (IME/USP) Escalonamento Online em Grades 37 / 65

38 Escalonamento de Lista XVII Exemplo 4.3 (cont) Este exemplo já exige um grande número de máquinas tarefas, mesmo para um κ pequeno, isto é principalmente de interesse teórico. Observe também que o escalonamento de lista não é distribuído. Indica qual pode ser a dificuldade para determinar uma ordem fixa da lista de tarefas para garantir um fator competitivo constante para o problema do escalonamento em Grade; Por isso, o escalonamento em grade é mais difícil do que o escalonamento multiprocessado; Milson Monteiro (IME/USP) Escalonamento Online em Grades 38 / 65

39 Algoritmo de Escalonamento em Grade I Como o escalonamento de lista convencional não é adequado para Grades, apresentamos uma abordagem que utiliza várias listas; Cada uma dessas listas não exige qualquer ordem específica; Começamos por adotar comumente conhecido de menor limite para o makespan ótimo no caso de submissão-concorrente para o problema de escalonamento em Grade; C max max{max j p j, max 1 i m j size j>mi 1p j size j m v=i m } v Comparado ao limite do problema do P m C max, este limite também considera a indisponibilidade de máquinas de pequeno porte para o processamento das tarefas alto, devido à falta de execução de tarefas multisite; O algoritmo de escalonamento em grade é baseado em diferentes alocações das tarefas em várias máquinas; Milson Monteiro (IME/USP) Escalonamento Online em Grades 39 / 65

40 Algoritmo de Escalonamento em Grade II Essas alocações são representadas com a ajuda de categorias de tarefas para cada máquina; Definição 5.1 Para cada máquina M i existem três diferentes categorias de tarefas 1 A i = {J j max{ m i 2, m i 1} < size j m i } 2 B i = {J j m i 1 < size j m i 2 } 3 H i = {J j m i 2 < size j m i 1 } Milson Monteiro (IME/USP) Escalonamento Online em Grades 40 / 65

41 Algoritmo de Escalonamento em Grade III O conjunto A i contém todos as tarefa que não puderam executar na máquina anterior (próxima menor) e necessita de mais de 50 O conjunto B i contém todos as tarefa que não puderam executar na máquina anterior, mas necessitam de mais de 50 O conjunto H i contém todos as tarefas que necessitam de mais de 50 Para cada tarefa J j, existe exatamente um índice i com m i 1 < size j m i como os m i estão ordenados; Se então temos o contrário a tarefa J j está em A i ou em B i ; Milson Monteiro (IME/USP) Escalonamento Online em Grades 41 / 65

42 Algoritmo de Escalonamento em Grade IV Portanto, cada tarefa J j pertence exatamente a uma categoria A ou B; Obviamente, seja B i = ou H i = mantido a cada máquina M i ; Uma tarefa na categoria B i pode não pertencer a qualquer outra categoria enquanto uma tarefa na categoria H i possa também pertencer a uma ou outra categoria A i 1 ou categoria H i 1 ; Portanto, H i H i requer A i 1 H i ; Apresentamos o algoritmo de escalonamento para a grade para o caso da submissão-concorrente; Milson Monteiro (IME/USP) Escalonamento Online em Grades 42 / 65

43 Algoritmo de Escalonamento em Grade V SUBMISSÃO-CONCORRENTE DE GRADE 1: para (i 1 até m) faça 2: L i A i ; {L i lista principal, tarefas que estão prontas para escalonamento} 3: S i H i ; {S i lista de suporte, traço das tarefas em H i } 4: fim para 5: Update 6: repita 7: para (i 1 até m) faça 8: enquanto (processadores suficientes estão ociosos na máquina i) faça 9: Escalone uma tarefa de L i na máquina i; 10: remova a tarefa escalonada de todas as listas L k 11: se (qualquer lista L k = ) então Milson Monteiro (IME/USP) Escalonamento Online em Grades 43 / 65

44 Algoritmo de Escalonamento em Grade VI 12: Update; 13: fim se 14: fim enquanto 15: fim para 16: até (Todos as Tarefas Estarem Escalonadas) FIM DE SUBMISSÃO-CONCORRENTE DE GRADE. Milson Monteiro (IME/USP) Escalonamento Online em Grades 44 / 65

45 Algoritmo de Escalonamento em Grade VII PROCEDURE Update 1: para (i 1 até m) faça 2: se (L i = ) então 3: se (i 1 e S i ) então 4: L i L i 1 S i ; 5: S i S i L i ; 6: senão 7: se (B i 1 ) então 8: L i B i ; 9: fim se 10: fim se Milson Monteiro (IME/USP) Escalonamento Online em Grades 45 / 65

46 Algoritmo de Escalonamento em Grade VIII 11: se (i 1 e L i 1 e S i = ) então 12: L i L i 1 13: fim se 14: fim se 15: fim para FIM DE PROCEDURE Update. Milson Monteiro (IME/USP) Escalonamento Online em Grades 46 / 65

47 Algoritmo de Escalonamento em Grade IX Lema 5.2 O Algoritmo de Submissão-Concorrente de Grade garante que em todas as máquinas da Grade mais de 50% dos seus processadores estão sempre ocupadas executando tarefas antes do tempo de início da última tarefa nesta máquina; Milson Monteiro (IME/USP) Escalonamento Online em Grades 47 / 65

48 Algoritmo de Escalonamento em Grade X Lema 5.3 Seja J j qualquer tarefa com C j (S) = C max em um escalonamento S produzido pelo Algoritmo de Submissão-Concorrente de Grade; Se existe uma máquina M i com i < a(j ), e pelo menos mi/2 processadores ociosos no tempo t < C j - p j, então o Algoritmo de Submissão-Concorrente de Grade produzirá um escalonamento S com o mesmo makespan (C max (S ) = C max (S)), se todas as tarefas nos conjuntos A i e B i com i i sejam removidos; Milson Monteiro (IME/USP) Escalonamento Online em Grades 48 / 65

49 Algoritmo de Escalonamento em Grade XI Teorema 5.4 O Algoritmo de Submissão-Concorrente de Grade garante C C max max dados de entrada e todas as configurações da Grade no caso da Submissão-Concorrente; < 3 para todos os Milson Monteiro (IME/USP) Escalonamento Online em Grades 49 / 65

50 Algoritmo de Escalonamento em Grade XII Exemplo 5.5 Considere uma Grade simples mit m = 2, m 1 = 1, m 2 = 21; Existem 7 tarefas em A 1 : 6 tarefas idênticas com size j = 1 e p j = 1, e o última tarefa na lista com size j = 1 e p j = 4; Existem 2 tarefas em A 2 : a primeira tarefa com size j = 11 e p j = 3, e a última tarefa com size j = 11 e p j = 3, e a última tarefa na lista com size j = 11 e p j = ε 0;; Finalmente, B2 contém a primeira tarefa com size j = 8 e p j = 3, então três tarefas idênticas com size j = 7 e p j = 1, e no final, uma tarefa com size j = 8 e p j = ε 0; Ambos as tarefas com p j = ε somente são necessárias para evitar que A 2 e B 2 tornem-se vazios prematuramente; Milson Monteiro (IME/USP) Escalonamento Online em Grades 50 / 65

51 Algoritmo de Escalonamento em Grade XIII Exemplo 5.5 (cont) No escalonamento S, todos as tarefas em A 1 são atribuídos à máquina M 1 ; A tarefa de maior execução começam no mínimo no tempo 6 e determina o makespan ; Isso somente é possível se L 2 não fica vazia antes do tempo 6; A tarefa de maior tempo de execução em A 2 inicia no tempo 0 e os outros seguem imediatamente; Portanto, B 2 torna-se L 2 no tempo 3 e a primeira tarefa de B 2 começa no tempo 3 e termina no tempo 6; As próximas três tarefas de B 2 executam concorrentemente a primeira tarefa e começa nos tempos 3, 4 e 5 respectivamente, enquanto a última começa no tempo 6; Assim, L 2 torna-se vazia no tempo 6; Milson Monteiro (IME/USP) Escalonamento Online em Grades 51 / 65

52 Algoritmo de Escalonamento em Grade XIV (a) Escalonamento em Grade (b) Escalonamento Ótimo Figura 4: Exemplo de Escalonamento 5.5: (a) Escalonamento do Algoritmo de Submissão-Concorrente de Grade (b) Escalonamento Ótimo Milson Monteiro (IME/USP) Escalonamento Online em Grades 52 / 65

53 Algoritmo de Escalonamento em Grade XV Exemplo 5.5 (cont) É fácil montar um escalonamento ótimo comc max = 4 + ε; Isto produz uma relação de: C max (S) C max 10 lim = lim ε 0 ε 0 4+ε = 2.5 Um exemplo mais complexo produz um limite inferior para o fator competitivo do Algoritmo de Submissão-Concorrente de Grade que vem arbitrariamente próximo de 21 8 = 2,625; Milson Monteiro (IME/USP) Escalonamento Online em Grades 53 / 65

54 Problema Geral com Submissão através do Tempo I Finalmente, abordamos o problema da submissão através do tempo; O Algoritmo de Submissão-Concorrente de Grade pode ser modificado para resolver este problema utilizando os resultados de [Shmoys, Wein, Williamson:1995]; Isto irá aumentar o fator competitivo por um fator de 2 e resulta em C max(s) C < 6; max Na prática, este tipo de algoritmo é dificilmente aceitável uma vez que requer que novoas tarefas sejam submetidas para esperar por um período de tempo significativo, mesmo que a tarefa não seja altamente paralela e processadores suficientes estejam disponíveis; Portanto, queremos examinar uma simples modificação do Algoritmo de Submissão-Concorrente de Grade que gere um melhor fator competitivo e possa ser mais relevante na prática; Milson Monteiro (IME/USP) Escalonamento Online em Grades 54 / 65

55 Problema Geral com Submissão através do Tempo II Modificações I Primeiro, mudamos os conjuntos A, B e H de estático para dinâmico: uma vez que uma tarefa é escalonada ela é removido de todos os conjuntos e listas; Em outras palavras, qualquer nova tarefa submetida é introduzida nos conjuntos apropriados; Observe que a diferença entre H i e S i torna-se menor, mas ainda existe como uma tarefa e é removida de H i depois do escalonamento e de S i depois de ter sido introduzido em L i, respectivamente; Modificamos o Algoritmo de Submissão-Concorrente de Grade para apagar todas as listas L i e S i sempre que uma nova tarefa é submetida e reiniciar o procedimento de atualização para propósitos de inicialização; Chamamos o método resultante de Algoritmo de Submissão de Grade - Através do Tempo; Milson Monteiro (IME/USP) Escalonamento Online em Grades 55 / 65

56 Problema Geral com Submissão através do Tempo III Modificações I Certamente, uma implementação adequada pode evitar algumas daquelas modificações da lista e executar outras modificações de uma maneira eficiente; Mas não é a intenção do presente trabalho abordar a eficiência da implementação; Milson Monteiro (IME/USP) Escalonamento Online em Grades 56 / 65

57 Problema Geral com Submissão através do Tempo IV Teorema 6.1 O algoritmo de Grade de submissão através do tempo garante C max C < 5 para todos max os dados de entrada no caso da submissão ao longo do tempo; Como o limite do Algoritmo de Submissão-Concorrente de Grade com o limite do Teorema 6.1 não está apertado; É possível mostrar que o limite inferior para o fator de competitividade do Algoritmo de Grade de Submissão-Concorrente aproxima-se de 4,5. Milson Monteiro (IME/USP) Escalonamento Online em Grades 57 / 65

58 Conclusão I Apresentamos um modelo de grade que cobre as principais propriedades dos sistemas de computação de grade; Com base nesse modelo, analisamos um problema de escalonamento de Grade fundamental que foi derivado de um dos mais antigos e mais básicos problemas de escalonamento de multiprocessadores; Esta é a primeira análise teórica e abrangente de escalonamento em Grade; O escalonamento em Grade é mais complexo que o problema de escalonamento de multiprocessador correspondente e que o conhecido algoritmo de escalonamento de lista não pode garantir uma relação competitiva constante para o makespan, embora ele execute muito bem no caso de multiprocessador; Este resultado permanece válido se a lista é ordenada pelo paralelismo de tarefa em ordem decrescente; Milson Monteiro (IME/USP) Escalonamento Online em Grades 58 / 65

59 Conclusão II Os exemplos dados parecem indicar que não existe uma lista estática de encomendas baseada no paralelismo de tarefas que garanta um bom escalonamento em Grade independente da configuração da Grade; Além disso, apresentamos um novo algoritmo que se baseia em várias listas e garante uma razão de competitividade de 3 em um cenário com todas as tarefas que estão sendo submetidas concorrentemente; Como considerarmos a não previsibilidade das tarefas esse problema também tem algumas propriedades on-line; Então estendemos este algoritmo para um cenário geral de submissão através do tempo produzindo um fator de competitividade de 5; Para conhecimento, esta é primeira vez que um fator de competitividade tem sido provado para este tipo de problema; Milson Monteiro (IME/USP) Escalonamento Online em Grades 59 / 65

60 Conclusão III Apesar de não abordar detalhes de implementação de nossos algoritmos neste trabalho gostaria de salientar que partes significativas do nosso algoritmo pode ser implementado de forma distribuída: cada máquina tem suas próprias listas de tarefas e somente escalona tarefas destas listas. Originalmente, cada tarefa é atribuída exatamente a uma lista A i ou B i. Supondo que um sistema de informação de Grade global possa ser conseguido utilizando uma abordagem simples mestre-escravo. Se não existirem tarefas disponíveis nas listas de uma máquina, a máquina começa a usar a lista de uma máquina vizinha, resultando em comunicação local somente, ou seja, uma máquina pode "roubar"uma tarefa de um vizinho. Mas, a informação dinâmica sobre a disponibilidade das tarefas podem ainda ser compartilhadas entre as várias máquinas. Milson Monteiro (IME/USP) Escalonamento Online em Grades 60 / 65

61 Conclusão IV Embora a implementação do algoritmo usando o roubo de tarefa de uma máquina vizinha possa influenciar a qualidade do escalonamento, na prática, o algoritmo parece adequado para implementação em sistemas reais. Mas, nestes sistemas reais, as outras propriedades de Grades computacionais devem ser consideradas. O algoritmo proposto pode servir como um ponto inicial para os algoritmos de escalonamento heurísticos que são implementados em grades computacionais reais. Milson Monteiro (IME/USP) Escalonamento Online em Grades 61 / 65

62 REFERÊNCIAS I S. Albers. Better bounds for online scheduling. SIAM Journal on Computing, 29(2): , I. Foster and C. Kesselman, editors. The GRID: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, N. Fujimoto and K. Hagihara. Near-optimal dynamic task scheduling of independent coarse-grained tasks onto a computational grid. In Procedings of the 32nd Annual International Conference on Parallel Processing (ICPP-03), pages IEEE Press, October M. Garey and R. Graham. Bounds for multiprocessor scheduling with resource constraints. SIAM Journal on Computing, 4(2): , June Milson Monteiro (IME/USP) Escalonamento Online em Grades 62 / 65

63 REFERÊNCIAS II R. Graham, E. Lawler, J. Lenstra, and A. R. Kan. Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics, 15: , C. B. Lee, Y. Schwartzman, J. Hardy, and A. Snavely. Are user runtime estimates inherently inaccurate? In Proceedings of the 10th Workshop on Job Scheduling Strategies for Parallel Processing, pages , June E. Naroska and U. Schwiegelshohn. On an online scheduling problem for parallel jobs. Information Processing Letters, 81(6): , March M. Pinedo. Scheduling: Theory, Algorithms, and Systems. Prentice-Hall, New Jersey, second edition, Milson Monteiro (IME/USP) Escalonamento Online em Grades 63 / 65

64 REFERÊNCIAS III T. Robertazzi and D. Yu. Multi-Source Grid Scheduling for Divisible Loads. In Proceedings of the 40th Annual Conference on Information Sciences and Systems, pages , March U. Schwiegelshohn and R. Yahyapour. Attributes for communication between grid scheduling instances. In J. Nabrzyski, J. Schopf, and J. Weglarz, editors, Grid Resource Management - State of the Art and Future Trends, pages Kluwer Academic, D. Shmoys, J. Wein, and D. Williamson. Scheduling parallel machines on-line. SIAM Journal on Computing, 24(6): , December Milson Monteiro (IME/USP) Escalonamento Online em Grades 64 / 65

65 REFERÊNCIAS IV A. Tchernykh, J. Ramrez, A. Avetisyan, N. Kuzjurin, D. Grushin, and S. Zhuk. Two level job-scheduling strategies for a computational grid. In R. Wyrzykowski, J. Dongarra, N. Meyer, and J. Wasniewski, editors, Proceedings of the 2nd Grid Resource Management Workshop (GRMW 2005) in conjunction with the 6th International Conference on Parallel Processing and Applied Mathematics - PPAM 2005, pages Springer-Verlag, Lecture Notes in Computer Science 3911, September Milson Monteiro (IME/USP) Escalonamento Online em Grades 65 / 65

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

Leia mais

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo 4 PROCESSOS Os primeiros sistemas operacionais permitiam que apenas um processo fosse executado por vez. Dessa maneira, este processo tinha todo o sistema computacional a sua disposição. Os atuais sistemas

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

Sistemas Operacionais

Sistemas Operacionais 7 Sistemas Operacionais 7.1 Fundamentos da ciência da computação Cengage Learning Objetivos 7.2 Compreender o papel do sistema operacional. Compreender o processo de inicialização para carregar o sistema

Leia mais

PLANO DE ENSINO. ATIVIDADE SEG TER QUA QUI SEX Aulas 10-12 10-12 Atendimento 13-16 13-16 Preparação de aula 14-16 14-16

PLANO DE ENSINO. ATIVIDADE SEG TER QUA QUI SEX Aulas 10-12 10-12 Atendimento 13-16 13-16 Preparação de aula 14-16 14-16 PLANO DE ENSINO 1. IDENTIFICAÇÃO Disciplina: Introdução a Otimização Combinatória Código: ICC500 Turma: CB01 URL: http://ioc-ufam.weebly.com Nº de Créditos: 4.4.0 Ano: 2015 Semestre: 1 Carga horária: 60h

Leia mais

O Problema do k-servidor

O Problema do k-servidor Autor: Mário César San Felice Orientador: Orlando Lee 22 de março de 2010, IC-Unicamp Estrutura A seguir temos a estrutura geral da dissertação. Otimização combinatória Computação online Análise competitiva

Leia mais

Análise estrutural do problema de programação da produção F3 r j, s ijk C max

Análise estrutural do problema de programação da produção F3 r j, s ijk C max Análise estrutural do problema de programação da produção F3 r j, s ijk C max Sânia da Costa Fernandes (UFG) saninha_fernandes@hotmail.com Tatiane Albuquerque Pires (UFG) tati_albuquerque_3@hotmail.com

Leia mais

UMA HEURÍSTICA GRASP PARA O PROBLEMA ESTENDIDO DE SEQUENCIAMENTO DE CARROS

UMA HEURÍSTICA GRASP PARA O PROBLEMA ESTENDIDO DE SEQUENCIAMENTO DE CARROS UMA HEURÍSTICA GRASP PARA O PROBLEMA ESTENDIDO DE SEQUENCIAMENTO DE CARROS Lucas Middeldorf Rizzo Universidade Federal de Minas Gerais Av. Antônio Carlos, 6627 - Pampulha - Belo Horizonte - MG CEP 31270-901

Leia mais

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados. O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados. A multiprogramação tem como objetivo permitir que, a todo instante, haja algum processo

Leia mais

Servidores de Aperiódicas

Servidores de Aperiódicas Referências J.-M. Farines, J. da S. Fraga, R. S. de Oliveira. Sistemas de Tempo Real. Escola de Computação 2000, IME-USP, São Paulo-SP, julho/2000. Capítulo 2 Sistemas de Tempo Real: Servidores de Aperiódicas

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

Aula 03 Custos de um algoritmo e funções de complexidade

Aula 03 Custos de um algoritmo e funções de complexidade BC1424 Algoritmos e Estruturas de Dados I Aula 03 Custos de um algoritmo e funções de complexidade Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2015 1 Custo de um algoritmo e funções de complexidade

Leia mais

Gerência de Processador

Gerência de Processador Gerência de Processador Prof. Edwar Saliba Júnior Junho de 2009 Unidade 03-003 Gerência de Processador 1 Introdução Com o surgimento dos sistemas multiprogramáveis, onde múltiplos processos poderiam permanecer

Leia mais

Arquiteturas de Software

Arquiteturas de Software Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Arquiteturas de Software Lucas Cordeiro lucascordeiro@ufam.edu.br Notas de Aula Estes slides são baseados

Leia mais

Muitas aplicações modernas podem ser modeladas como tarefas divisíveis.

Muitas aplicações modernas podem ser modeladas como tarefas divisíveis. 1 Introdução O grande aumento de performance das redes de computadores, combinado com a proliferação de computadores de baixo custo e alto desempenho, trouxe à tona ambientes de meta-computação, ou grids[15,

Leia mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

Leia mais

Paralelização de Simuladores de Hardware Descritos em SystemC

Paralelização de Simuladores de Hardware Descritos em SystemC Paralelização de Simuladores de Hardware Descritos em SystemC 18 de maio de 2011 Roteiro Motivação Introdução à SLDL SystemC O Escalonador SystemC Simulação Paralela baseada em Eventos Discretos Suporte

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerenciamento de Memória Norton Trevisan Roman Marcelo Morandini Jó Ueyama Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos Sementille, Paula Prata e nas transparências

Leia mais

4.1. Introdução. 4.2. Layout do DNS

4.1. Introdução. 4.2. Layout do DNS MIT 18.996 Tópico da Teoria da Ciência da Computação: Problemas de Pesquisa na Internet Segundo Trimestre 2002 Aula 4 27de fevereiro de 2002 Palestrantes: T. Leighton, D. Shaw, R. Sudaran Redatores: K.

Leia mais

7 Processamento Paralelo

7 Processamento Paralelo 7 Processamento Paralelo Yes, of course, who has time? Who has time? But then if we do not ever take time, how can we ever have time? (The Matrix) 7.1 Introdução Classificação de Sistemas Paralelos Diversas

Leia mais

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS

Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Busca Estocástica Baseada em Planejamento para Maximizar Metas em Jogos de RTS Autor:Thiago França Naves 1, Orientador: Carlos Roberto Lopes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade

Leia mais

Planejamento de execução de aplicação baseada no tipo de tarefa com o foco na análise de desempenho

Planejamento de execução de aplicação baseada no tipo de tarefa com o foco na análise de desempenho Planejamento de execução de aplicação baseada no tipo de tarefa com o foco na análise de desempenho Emerson da Silva Borges, Maurício Amaral de Almeida Pós-Graduação / Strictu Sensu - Programa de Mestrado

Leia mais

Sistema Operacional Unidade 4.2 - Instalando o Ubuntu Virtualizado

Sistema Operacional Unidade 4.2 - Instalando o Ubuntu Virtualizado Sistema Operacional Unidade 4.2 - Instalando o Ubuntu Virtualizado Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 CRIAÇÃO DA MÁQUINA VIRTUAL... 3 Mas o que é virtualização?... 3 Instalando o VirtualBox...

Leia mais

Sistemas Operacionais Processos e Threads

Sistemas Operacionais Processos e Threads Sistemas Operacionais Processos e Threads Prof. Marcos Monteiro, MBA http://www.marcosmonteiro.com.br contato@marcosmonteiro.com.br 1 Estrutura de um Sistema Operacional 2 GERÊNCIA DE PROCESSOS Um processo

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

FAT32 ou NTFS, qual o melhor?

FAT32 ou NTFS, qual o melhor? FAT32 ou NTFS, qual o melhor? Entenda quais as principais diferenças entre eles e qual a melhor escolha O que é um sistema de arquivos? O conceito mais importante sobre este assunto, sem sombra de dúvidas,

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

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

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS Ciência da Computação 5ª série Sistemas Operacionais A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido por meio de um conjunto

Leia mais

2 Modelos de Implementação

2 Modelos de Implementação 2 Modelos de Implementação Os modelos de concorrência definem como uma aplicação atende às requisições concorrentes. Os modelos de sandboxes definem como o ambiente das aplicações são criados. Os modelos

Leia mais

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com

Sistemas Operacionais. Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Introdução Um sistema operacional é um programa que atua como intermediário entre o usuário e o hardware de um computador. O propósito

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Introdução a Tolerância a Falhas

Sistemas Distribuídos: Conceitos e Projeto Introdução a Tolerância a Falhas Sistemas Distribuídos: Conceitos e Projeto Introdução a Tolerância a Falhas Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

Introdução a Threads Java

Introdução a Threads Java Introdução a Threads Java Prof. Gerson Geraldo Homrich Cavalheiro Universidade Federal de Pelotas Departamento de Informática Instituto de Física e Matemática Pelotas RS Brasil http://gersonc.anahy.org

Leia mais

4 Arquitetura básica de um analisador de elementos de redes

4 Arquitetura básica de um analisador de elementos de redes 4 Arquitetura básica de um analisador de elementos de redes Neste capítulo é apresentado o desenvolvimento de um dispositivo analisador de redes e de elementos de redes, utilizando tecnologia FPGA. Conforme

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 4 SUPORTE AO SISTEMA OPERACIONAL Prof. Luiz Gustavo A. Martins Sistema Operacional (S.O.) Programa responsável por: Gerenciar os recursos do computador. Controlar a execução

Leia mais

CIÊNCIA DA COMPUTAÇÃO E SISTEMAS DA INFORMAÇÃO

CIÊNCIA DA COMPUTAÇÃO E SISTEMAS DA INFORMAÇÃO CIÊNCIA DA COMPUTAÇÃO E SISTEMAS DA INFORMAÇÃO MATERIAL INSTRUCIONAL ESPECÍFICO Tomo V 1 Questão 1 Questão 1. 1 O problema P versus NP é um problema ainda não resolvido e um dos mais estudados em Computação.

Leia mais

SAD orientado a MODELO

SAD orientado a MODELO Universidade do Contestado Campus Concórdia Curso de Sistemas de Informação Prof.: Maico Petry SAD orientado a MODELO DISCIPLINA: Sistemas de Apoio a Decisão SAD Orientado a Modelo De acordo com ALTER

Leia mais

Uma Heurística Gulosa para o Problema de Bin Packing Bidimensional

Uma Heurística Gulosa para o Problema de Bin Packing Bidimensional Uma Heurística Gulosa para o Problema de Bin Packing Bidimensional Leandro Dias Costa, Luiz da Silva Rosa e Marcelo Lisboa Rocha Departamento de Ciência da Computação Fundação UNIRG Alameda Madrid Nº 545,

Leia mais

Definindo melhor alguns conceitos

Definindo melhor alguns conceitos Definindo melhor alguns conceitos Processamento Paralelo: processamento de informação concorrente que pertencem a um ou mais processos que resolvem um único problema. Processamento Distribuído: processamento

Leia mais

4 Computação Paralela 4.1. Introdução

4 Computação Paralela 4.1. Introdução 4 Computação Paralela 4.1. Introdução Nos últimos anos observa-se uma tendência cada vez maior do aumento da demanda computacional na resolução de grandes problemas. Exemplos de aplicações que exigem alto

Leia mais

CloudNet: dynamic pooling of cloud resources by live WAN migration of virtual machines

CloudNet: dynamic pooling of cloud resources by live WAN migration of virtual machines CloudNet: dynamic pooling of cloud resources by live WAN migration of virtual machines Timothy Wood, Prashant Shenoy, K.K. Ramakrishnan, Jacobus Van der Merwe VEE '11 Proceedings of the 7th ACM SIGPLAN/SIGOPS

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 13 Gerência de Memória Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso Sumário

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos)

4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos) 4. GERÊNCIA DE PROCESSADOR (Escalonamento de processos) Para implementar o compartilhamento da CPU entre diversos processos, um sistema operacional multiprogramável deve possuir um critério para determinar,

Leia mais

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção

Funções de um SO. Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção Sistemas de Arquivos Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais Necessidade de Armazenamento Grandes quantidades

Leia mais

Balanceamento de Carga

Balanceamento de Carga 40 4. Balanceamento de Carga Pode-se entender por balanceamento de carga uma política a ser adotada para minimizar tanto a ociosidade de utilização de alguns equipamentos quanto a super utilização de outros,

Leia mais

Introdução à Simulação

Introdução à Simulação Introdução à Simulação O que é simulação? Wikipedia: Simulação é a imitação de alguma coisa real ou processo. O ato de simular algo geralmente consiste em representar certas características e/ou comportamentos

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Consistência e Replicação Capítulo 7 Agenda Razões para Replicação Replicação como técnica de escalabilidade Modelos de Consistência centrados

Leia mais

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

Sistemas Operacionais. Escalonamento de Processo. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Escalonamento de Processo Prof. Dr. Márcio Andrey Teixeira Quando um computador é multiprogramado, ele muitas vezes tem variados processos que competem pela CPU ao mesmo tempo; Essa

Leia mais

XXV Encontro Nac. de Eng. de Produção Porto Alegre, RS, Brasil, 29 out a 01 de nov de 2005

XXV Encontro Nac. de Eng. de Produção Porto Alegre, RS, Brasil, 29 out a 01 de nov de 2005 Modelo de integração de sistemas de gestão erp com a produção lexandre ugusto Massote (FEI) massote@fei.edu.br Guilherme Braga guiar De Maria (FEI) guibraga@terra.com.br Vanessa Takagochi (FEI) vanessa_takagochi@yahoo.com.br

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

Leia mais

Consolidação inteligente de servidores com o System Center

Consolidação inteligente de servidores com o System Center Consolidação de servidores por meio da virtualização Determinação do local dos sistemas convidados: a necessidade de determinar o melhor host de virtualização que possa lidar com os requisitos do sistema

Leia mais

Sistemas Operacionais Introdução. Professora: Michelle Nery

Sistemas Operacionais Introdução. Professora: Michelle Nery Sistemas Operacionais Introdução Professora: Michelle Nery Área de Atuação do Sistema Operacional Composto de dois ou mais níveis: Tipo de Sistemas Operacionais Sistemas Operacionais Monotarefas Sistemas

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

ALGORITMO PARA AUTOMAÇÃO DOS PROCESSOS DE PLANEJAMENTO DA PRODUÇÃO NA ÁREA GRÁFICA JOB SHOP

ALGORITMO PARA AUTOMAÇÃO DOS PROCESSOS DE PLANEJAMENTO DA PRODUÇÃO NA ÁREA GRÁFICA JOB SHOP ALGORITMO PARA AUTOMAÇÃO DOS PROCESSOS DE PLANEJAMENTO DA PRODUÇÃO NA ÁREA GRÁFICA JOB SHOP Hirlandson Ricardo Pedrosa Alexandre Alves Silva Universidade Braz Cubas Engenharia de Computação Jesus Franlin

Leia mais

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

Tempo Real 7/4/2010. Aula 10. Engenharia de Sistemas Embarcados Agenda Aula 10 Engenharia de Sistemas Embarcados Prof. Abel Guilhermino Tópico: Sistemas de Tempo Real Conceitos Gerais Processos de Tempo Real Periódico, Aperiódicos e Esporádicos Escalonamento de Tempo

Leia mais

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

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

Unidade 5 Armazenamento e Indexação

Unidade 5 Armazenamento e Indexação Unidade 5 Armazenamento e Indexação Engenharia de Computação / Engenharia de Produção Banco de Dados Prof. Maria das Graças da Silva Teixeira Material base: Banco de Dados, 2009.2, prof. Otacílio José

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

Maíra Ribeiro Rodrigues

Maíra Ribeiro Rodrigues Seminário PPGINF - UCPel Maíra Ribeiro Rodrigues maira.r.rodrigues@gmail.com University of Southampton, UK Formação Bacharelado em Ciência da Computação UCPel, 2000. Tópico: Agentes Improvisacionais de

Leia mais

Relatório de Pesquisa

Relatório de Pesquisa Relatório de Pesquisa A Vantagem da Virtualização de Mainframe: Como Economizar Milhões de Dólares Utilizando um IBM System z como um Servidor em Nuvem Linux Sumário Executivo Os executivos de TI (Tecnologia

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES Eriko Carlo Maia Porto UNESA Universidade Estácio de Sá eriko_porto@uol.com.br Última revisão Julho/2003 REDES DE COMPUTADORES INTRODUÇÃO EVOLUÇÃO DOS SISTEMAS DE COMPUTAÇÃO Década de 50 introdução dos

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

AGENTES INTELIGENTES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

AGENTES INTELIGENTES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com AGENTES INTELIGENTES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Agentes Inteligentes Um agente é tudo o que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre

Leia mais

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

Maestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Maestro Arthur Kazuo Tojo Costa 317497 Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Introdução Sistema Operacional de Redes Detalhes do hardware Multiplexação

Leia mais

Sistemas de Tempo Real: Conceitos Básicos

Sistemas de Tempo Real: Conceitos Básicos Escola de Computação 2000 - IME-USP Sistemas de Tempo Real: Conceitos Básicos Jean-Marie Farines Joni da Silva Fraga Rômulo Silva de Oliveira LCMI - Laboratório de Controle e Microinformática DAS - Departamento

Leia mais

Estratégias de Pesquisa

Estratégias de Pesquisa Estratégias de Pesquisa Ricardo de Almeida Falbo Metodologia de Pesquisa Departamento de Informática Universidade Federal do Espírito Santo Agenda Survey Design e Criação Estudo de Caso Pesquisa Ação Experimento

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores Máquinas Virtuais e Emuladores Marcos Aurelio Pchek Laureano Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware sistema operacional aplicações Sistemas

Leia mais

DICIONÁRIOS. template class Par { public: K chave; T valor; Par():chave(),valor()

DICIONÁRIOS. template<class K,class T> class Par { public: K chave; T valor; Par():chave(),valor() DICIONÁRIOS Esta estrutura inclui-se nos chamados contentores associativos, que não são mais do que uma colecção de estruturas de tipo Par, com dois membros de dados (chave de pesquisa e valor associado),

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Apresentação Disciplina básica do curso de Engenharia de Computação Carga-horária: 60h teóricas Associadas

Leia mais

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

Sistemas Operacionais. Roteiro. Tipos de Tarefas (temporal) Marcos Laureano Sistemas Operacionais Marcos Laureano 1/28 Roteiro Tipos de Tarefas Preempção Escalonamento de processos Tipos de escalonamentos 2/28 Tipos de Tarefas (temporal) Tarefas de tempo real Previsibilidade em

Leia mais

CAPÍTULO 12 CONCLUSÃO

CAPÍTULO 12 CONCLUSÃO CAPÍTULO 12 CONCLUSÃO Existe somente um avanço. A hora mais escura da noite é o prenúncio do alvorecer. Nos dias sombrios de inverno, prosseguem incessantemente os preparativos para a primavera. Tudo que

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

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

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN SISTEMAS OPERACIONAIS Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN 2.0 - INTRODUÇÃO Os tipos de sistemas operacionais e sua evolução estão intimamente relacionados com a evolução do hardware

Leia mais

1.2 Tipos de Sistemas Operacionais

1.2 Tipos de Sistemas Operacionais 1.2 Tipos de Operacionais Tipos de Operacionais Monoprogramáveis/ Monotarefa Multiprogramáveis/ Multitarefa Com Múltiplos Processadores 1.2.1 Monoprogramáveis/Monotarefa Os primeiros sistemas operacionais

Leia mais

O USO DA FERRAMENTA SOLVER DO EXCEL NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR

O USO DA FERRAMENTA SOLVER DO EXCEL NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR O USO DA FERRAMENTA SOLVER DO EXCEL NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR João Batista de Jesus FATEC-JAHU Célio Favoni 2 FATEC-JAHU Resumo Este trabalho expõe de maneira sintetizada as funcionalidades

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Análise de custo projetado da plataforma SAP HANA

Análise de custo projetado da plataforma SAP HANA Um estudo Total Economic Impact da Forrester Encomendado pela SAP Diretora do projeto: Shaheen Parks Abril de 2014 Análise de custo projetado da plataforma SAP HANA Economia de custo proporcionada pela

Leia mais

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP)

Tópicos. Atualizações e segurança do sistema. Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP) teste 1 Manutenção Preventiva e Corretiva de Software (utilizando o MS Windows XP) Rafael Fernando Diorio www.diorio.com.br Tópicos - Atualizações e segurança do sistema - Gerenciamento do computador -

Leia mais

Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Dispositivos e recursos são compartilhados a todo momento: impressora, disco, arquivos,

Leia mais

Organização de arquivos

Organização de arquivos Organização de arquivos Por que ver sistema de arquivos? O sistema de arquivos é quem realmente se responsabiliza por guardar os dados que um aplicativo ou mesmo o banco de dados gerencia. Não é tarefa

Leia mais