A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Avaliação de Desempenho dos Escalonadores de Processos Disponibilizados no Linux Alessandro Nakamuta Bruno Guazzelli Batista Paulo Sérgio Franco Eustáquio.

Apresentações semelhantes


Apresentação em tema: "Avaliação de Desempenho dos Escalonadores de Processos Disponibilizados no Linux Alessandro Nakamuta Bruno Guazzelli Batista Paulo Sérgio Franco Eustáquio."— Transcrição da apresentação:

1 Avaliação de Desempenho dos Escalonadores de Processos Disponibilizados no Linux Alessandro Nakamuta Bruno Guazzelli Batista Paulo Sérgio Franco Eustáquio

2 Sistemas OperacionaisICMC USP2 Roteiro Introdução Revisão Bibliográfica Objetivos

3 Sistemas OperacionaisICMC USP3 Introdução Computadores modernos podem fazer diversas coisas ao mesmo tempo Apesar do processador executar uma tarefa por vez, esta atividade ocorre tão rápida que dá a ilusão de estar executando várias tarefas ao mesmo tempo Esta troca de tarefas no processador é chamada de escalonamento de processos

4 Sistemas OperacionaisICMC USP4 Escalonamento de Processos As regras que o SO considera para que os processos sejam executados constituem a política de escalonamento Através dela que a execução dos processos é conduzida

5 Sistemas OperacionaisICMC USP5 Escalonamento de Processos Características que um escalonador de processos deve apresentar: Justiça; Eficiência; Minimizar o Tempo de Resposta; Maximizar Throughput.

6 Sistemas OperacionaisICMC USP6 Políticas de Escalonamento FIFO Round-Robin

7 Sistemas OperacionaisICMC USP7 Políticas de Escalonamento SJF (Shortest Job First) Menor processo é executado primeiro Aumento de throughput Injusto, pois grandes processos devem aguardar para serem executados Escalonamento com prioridades Considera fatores externos Escalonador pode alterar prioridade dos processos

8 Sistemas OperacionaisICMC USP8 Avaliação de Desempenho Toda atividade envolvida no processo computacional pode e deve ser medida e avaliada, a fim de que se possa certificar se ela é adequada à aplicação para a qual foi projetada Tarefa não-trivial Critérios de avaliação são fundamentais para uma boa análise

9 Sistemas OperacionaisICMC USP9 Técnicas de Avaliação de Desempenho Técnicas de Modelagem Desenvolvimento de um modelo que represente o sistema real Modelar sistema real completo é complexo, o ideal é modela-lo pensando apenas no que é relevante Simulação: através de programa computacional Analítico: utilização de equações matemáticas

10 Sistemas OperacionaisICMC USP10 Técnicas de Avaliação de Desempenho Técnicas de Aferição Coleta de dados de um sistema computacional pronto Desvantagem: Disputa recursos com o sistema que está sendo avaliado 3 técnicas de aferição: Protótipos; Benchmarks; Monitoração.

11 Sistemas OperacionaisICMC USP11 Parte 2

12 Sistemas OperacionaisICMC USP12 Escalonamento no Linux Processos são divididos em 3 grandes classes: – Interativos (iniciados através de uma sessão no terminal); – Batch (não são conectados a uma sessão de terminal e são agrupados em uma fila para serem executados sequencialmente); – Tempo Real (processos críticos, iniciados durante iniciação do sistema).

13 Sistemas OperacionaisICMC USP13 Escalonamento no Linux Divide o tempo de CPU em fatias Processos executam de acordo com a sua fatia de tempo Linux escolhe qual processo deve rodar de acordo com a prioridade do processo Dois tipos de prioridade: Estática: esquema utilizado em processos de Tempo Real. Valor definido pelo usuário e não pode ser alterado pelo escalonador. Valor varia de 1 a 99 Dinâmica: o escalonador monitora o processo e ajusta a sua prioridade para equalizar a utilização da CPU. Escalonador pode alterar prioridade de um processo. Privilegia processos I/O Bound. Processos convencionais tem sempre prioridade inferior aos processos com prioridade estática

14 Sistemas OperacionaisICMC USP14 Políticas de Escalonamento do Linux Linux provê 5 políticas diferentes para selecionar um processo: – SCHED_FIFO; – SCHED_RR; – SCHED_OTHER; – SCHED_BATCH; – SCHED_IDLE.

15 Sistemas OperacionaisICMC USP15 Políticas de Escalonamento do Linux SCHED_FIFO: apenas para processos de Tempo Real. Processo libera CPU em 3 situações: Quando termina ou bloqueia; Quando chega outro processo RT com > prioridade Libera processador espontaneamente para um processo de prioridade igual.

16 Sistemas OperacionaisICMC USP16 Políticas de Escalonamento do Linux SCHED_RR: ao ser criado o processo é inserido no final da fila correspondente a sua prioridade. Também para processos RT. Libera CPU nas seguintes situações: – Quantum esgota; – Processo de prioridade superior se torna apto; – Libera processador espontaneamente para um processo de prioridade igual. – Termina ou bloqueia.

17 Sistemas OperacionaisICMC USP17 SCHED_FIFO X SCHED_RR Ambos possuem prioridade estática de 1(baixa) a 99(alta); Processos de Tempo Real; Cada política possui sua fila de processos; Escalonamento entre as filas de processos é feito de acordo com a prioridade de um processo. Posso alterar a política de escalonamento de um processo. Sendo assim, um processo que está numa fila que utiliza a política RR pode mudar para uma fila que utiliza a política FIFO.

18 Sistemas OperacionaisICMC USP18 Políticas de Escalonamento do Linux SCHED_OTHER – É a política de escalonamento padrão do Linux. – Possui prioridade estática 0, portanto sempre tem menos prioridade do que as políticas de tempo real. – A prioridade entre eles é calculada através de prioridades dinâmicas.

19 Sistemas OperacionaisICMC USP19 Políticas de Escalonamento do Linux – Essas prioridades são calculadas pelo escalonador através do valor do nice e do tempo de processamento. O valor de nice vai de -20 (maior prioridade) a 19 (menor prioridade) Quanto mais tempo de processamento, menor a prioridade. – Com isso o kernel do Linux dá mais preferência a processos I/O-Bound. – Sistema multifilas, onde temos uma fila para cada prioridade

20 Sistemas OperacionaisICMC USP20 Políticas de Escalonamento do Linux Libera CPU nas situações: – Quantum esgota; – Processo de prioridade superior se torna apto; – Libera processador espontaneamente para um processo de prioridade igual. – Termina ou bloqueia;

21 Sistemas OperacionaisICMC USP21 Políticas de Escalonamento do Linux SCHED_BATCH – Tudo que se falou do SCHED_OTHER se aplica ao SCHED_BATCH. – As diferenças fundamentais: Quantum maior Tempo de processamento perde menos prioridade – Ideal para sistemas não interativos

22 Sistemas OperacionaisICMC USP22 Políticas de Escalonamento do Linux SCHED_IDLE – É indicado para processos com pouca prioridade – Só vai rodar em ciclos de CPU ociosas – Não sobe a prioridade no caso de ficar bastante tempo na fila – Os processos podem sofrer starvation

23 Sistemas OperacionaisICMC USP23 Políticas de Escalonamento do Linux

24 Sistemas OperacionaisICMC USP24 Escalonamento no Linux O escalonador do Linux pode ser ativado de 2 formas: – Direta: chamada explícita à rotina que implementa o escalonador. Ou seja, uma chamada de sistema para a solicitação de E/S ou sincronização; – Lazy: ocorre em 3 situações: Rotina de tratamento de interrupção de tempo aciona o escalonador quando se esgota o quantum; Quando processo de maior prioridade é desbloqueado; O processo em execução libera expontaneamente a CPU, através de uma chamada de sistema do tipo yeld.

25 Sistemas OperacionaisICMC USP25 Esquema Geral para a Solução do Projeto

26 Sistemas OperacionaisICMC USP26 Objetivo Estudar o funcionamento do escalonador de processos do Linux; Avaliar o desempenho do sistema de acordo com as diferentes políticas de escalonamento.

27 Sistemas OperacionaisICMC USP27 Ambiente Sistema Operacional Linux Ubuntu Server Kernel 2.6.28 Script interpretador de comandos bash para inicializar todos os processos. Benchmark, onde serão atribuídas diferentes cargas proporcionando diferentes resultados para comparação.

28 Sistemas OperacionaisICMC USP28 Avaliação O projeto utilizará os seguintes fatores: – Políticas SCHED_FIFO e SCHED_RR; – Tipos de processos: I/O Bound e CPU Bound; – Prioridades dos processos; Cargas de Trabalho: – 100% CPU Bound; – 100% I/O Bound; – 50% CPU Bound e 50% I/O Bound; – 70% CPU Bound e 30% I/O Bound; – 30% CPU Bound e 70% I/O Bound;

29 Sistemas OperacionaisICMC USP29 O que medir? Depende da aplicação e do tipo do sistema Turnaround – Tempo de processamento + Tempo de espera – Satisfação do usuário Throughput – Relação entre utilização e tempo de resposta. – Produtividade do sistema X Satisfação do usuário.

30 Sistemas OperacionaisICMC USP30 Parte 3

31 Sistemas OperacionaisICMC USP31 Cenários CenárioCPU ou I/O BOUND PolíticaPrioridade 1100%CPUFIFO10 2100%CPURR10 3100%I/OFIFO10 4100%I/ORR10 550%CPU / 50%I/O FIFO10 650%CPU / 50%I/O RR10 750%CPU / 50%I/O FIFO10 90 850%CPU / 50%I/O RR10 90 950%CPU / 50%I/O FIFO90 10 50%CPU / 50%I/O RR90 10

32 Sistemas OperacionaisICMC USP32 Resultados Parciais Foram executados 10 testes para cada cenário Os testes foram realizados com 20 processos. Foi utilizado o Ubuntu Server 2.6.28 Menos interferência nos resultados Os processos são inicializados através de um script que contém um comando que retorna os tempos de processamento EX.: (time./cpu) 2 >>resultado.txt &

33 Sistemas OperacionaisICMC USP33 Resultados Parciais Cenários Analisados: CenárioCPU BoundPolíticaPrioridade 1100%CPUFIFO10 2100%CPURR10

34 Sistemas OperacionaisICMC USP34 Gráficos

35 Sistemas OperacionaisICMC USP35 Resultados Obtidos FIFO Levando-se em conta que todos os processos possuem a mesma prioridade (10), os processos são executados na ordem de chegada. Pode-se verificar que conforme os processos são executados, maior é o turnaround dos processos.

36 Sistemas OperacionaisICMC USP36 Gráficos

37 Sistemas OperacionaisICMC USP37 Resultados Obtidos RR Todos os processos recebem um quantum e só serão preemptados quando esse quantum acabar, pois eles possuem a mesma prioridade. Pode-se observar que o turnaround dos processos estão muito próximos.

38 Sistemas OperacionaisICMC USP38 Gráficos

39 Sistemas OperacionaisICMC USP39 Resultados Obtidos FIFO X RR Nota-se que na política FIFO, a execução dos processos em relação ao tempo ocorre de forma crescente. Enquanto que na política RR, os tempos de execução dos processos são quase iguais, já que nessa política os processos são executados de acordo com o quantum. Analisando pelo lado do usuário a política RR é mais democrática. Já na política FIFO, os têm que aguardar a execução dos demais que estão a sua frente.

40 Sistemas OperacionaisICMC USP40 Dúvidas – Sugestões? Obrigado!


Carregar ppt "Avaliação de Desempenho dos Escalonadores de Processos Disponibilizados no Linux Alessandro Nakamuta Bruno Guazzelli Batista Paulo Sérgio Franco Eustáquio."

Apresentações semelhantes


Anúncios Google