Leis Operacionais de Desempenho

Documentos relacionados
Leis Fundamentais. Profa. Jussara M. Almeida 1 o Semestre de 2014

Leis Operacionais de Desempenho

Avaliação de Desempenho de Sistemas DCC 074

Mário Meireles Teixeira. Departamento de Informática, UFMA.

Equivalência de Fluxos e Modelagem Hierárquica. Profa. Jussara M. Almeida 1 o Semestre de 2014

Modelos de Redes de Filas com Uma Classe (Análise de Valores Médios) Profa. Jussara M. Almeida 2 o Semestre de 2011

Avaliação de Desempenho de Sistemas DCC 074

Avaliação de Desempenho de Sistemas Discretos

Modelagem Analítica. Profa. Jussara M. Almeida 1 o Semestre de 2011

Análise de Valores Limites de Desempenho. Profa. Jussara M. Almeida 1 o Semestre de 2014

Modelos de Redes de Filas com Uma Classe (Análise de Valores Médios) Profa. Jussara M. Almeida 1 o Semestre de 2014

Teoria das Filas aplicadas a Sistemas Computacionais. Aula 20

Processos Estocásticos aplicados à Sistemas Computacionais

PCS 2039 Modelagem e Simulação de Sistemas Computacionais

Avaliação de Desempenho em Sistemas de Computação e Comunicação

Modelos de Redes de Filas com Múltiplas Classes (Análise de Valores Médios) Profa. Jussara M. Almeida 1 o Semestre de 2011

Modelos Probabilísticos Filas M/M/1, M/G/1. Profa. Jussara M. Almeida 1 o Semestre de 2014

Avaliação de Desempenho de Sistemas Discretos

Avaliação de Desempenho de Sistemas Discretos

Ex: Sistema Tráfego Rodoviário

Análise e Modelagem de Desempenho de Sistemas de Computação. Profa. Jussara M. Almeida 1 o Semestre de 2014

1 Classificação da Redes de Filas

Modelagem e Análise Aula 9

Avaliação e Desempenho Aula 18

Sistemas Operacionais

SOP - TADS Escalonamento de Processos

1. INTRODUÇÃO SIMULAÇÃO DISCRETA OBJETIVO DO CURSO RESPOSTA BANCO E FILIAIS O PROBLEMA DE PLANEJAMENTO DE CAPACIDADE

ATeoria de filas é uma das abordagens mais utilizadas no estudo de desempenho

Modelos Probabilísticos de Desempenho. Profa. Jussara M. Almeida 1º Semestre de 2014

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (

Sistemas Operacionais. Escalonamento de processos

Infra-Estrutura de Software. Escalonamento

FILAS Conceitos Fundamentais. Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2016

Sistemas Operacionais

Processos. Escalonamento de Processos

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

Sistemas Operacionais

Sistemas Operacionais

Processos. Escalonamento de Processos

Sistemas Operacionais. Gerência de Processador

ATeoria de filas é uma das abordagens mais utilizadas no estudo de desempenho

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Sistemas de Computação. Processos e escalonamento

Infra-estrutura de Software. Escalonamento. Decidindo qual processo vai executar

Avaliação de Desempenho de Sistemas DCC 074

Avaliação Quantitativa de Sistemas

SSC546 -Avaliação de Desempenho de Sistemas

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

INTRODUÇÃO À TEORIA DAS FILAS

Avaliação de Desempenho

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

Arquitetura e Organização de Computadores

Sistemas Operacionais

Escalonamento. Decidindo qual processo vai executar. Infra-estrutura de Software

Sistemas Operacionais. Prof. André Y. Kusumoto

Estatística e Modelos Probabilísticos - COE241

Escalonamento de Processos Uniprocessador

6 ESCALONAMENTO DE CPU

Estatística e Modelos Probabilísticos - COE241

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente...

Revisão de Estatística (Aplicada a Análise de Desempenho) Profa. Jussara M. Almeida 1 o Semestre de 2014

Índice. Escolha de um Computador

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

SSC643 -Avaliação de Desempenho de Sistemas Computacionais -

Gerência de Recursos. Gerência do Processador

Introdução à Informática

SISTEMAS OPERACIONAIS

Modelagem e Análise de Sistemas - COS767

Organização de Computadores e Proj.Integrado. Desempenho Herbert Rausch Fernandes

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Temporização (Scheduling) de Processos

Escalonamento de Processos

Teoria das Filas aplicadas a Sistemas Computacionais. Aula 09

Arquivos, Pastas e Extensões. Sistemas Operacionais. Conceitos básicos. Evolução

Processos. Escalonamento de Processos

Conceitos Básicos de Planejamento

Temporização(Scheduling) de Processos. TemporobjectivomaximizarousodoCPU,i.e.tersempre um processo a executar.

Gerência do Processador. Adão de Melo Neto

Conceitos de Análise de Desempenho

Escalonamento no Unix. Sistemas Operacionais

Sistemas Operacionais Gerenciamento de Processos

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

SSC0640 Sistemas Operacionais I

Algoritmos de escalonamento

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

Estatística e Modelos Probabilísticos - COE241

Questões de Provas de Períodos Anteriores

Sistemas Operacionais: Escalonamento de processos

Modelos Probabilísticos

Davidson Rodrigo Boccardo

Simulação de Sistemas

Arquitetura e Organização de Computadores

Distribuições de Probabilidade Contínuas 1/19

Escalonamento de Processos

Escalonamento do CPU

Sistemas Operacionais. Introdução a Sistemas Operacionais

Transcrição:

Leis Operacionais de Desempenho Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia - LPRM

Conceitos: Um Recurso e Sua Fila Si : tempo de serviço Wi : tempo de espera recurso: CPU, disco, rede, etc.

Demanda de Serviço Demanda de Serviço (Service Demand) = Tempo de Serviço Total Sobre Todas as Visitas ao Recurso Si: Service time at visit I D: Service demand = S1 + S2 + + Sk

Exemplo de Um Servidor de Banco de Dados: Carga de Trabalho do Tipo "Aberta" 2 Transações no BD fazem Uso da CPU e 3 Elementos que entram na rede são chamados clientes depois acessam o disco (ex. Processamento SQL e acesso ao disco contendo o bloco desejado)

Tempo de Espera na Fila Esperana Fila da CPU = w1 + w2 + w3 Esperana Fila do Disco = w4 + w5

Tempo de Service Demand Service demand na CPU = s1 + s2 + s3 Service demand no disk = s4 + s5

Tempo de Permanência Tempo de Permanência (Residence) na CPU = w1 + s1 + w2 + s2 + w3 + s3 Tempo de Permanência (Residence) na disco = w4 + s4 + w5 + s5

Tempo de Resposta Tempo de Resposta = Tempo de Permanênciana CPU + Tempo de Permanência no Disco

Exemplo de Service Demand Imagine requisições a um website utilizam dois discos. Os tempos de serviço em cada disco para cada I/O realizado por uma única requisição é dado na tabela abaixo: Service Demand Disco 1 Service Demand Disco 2

Questões Práticas Qual a unidade usada para medir demanda de serviço? Demanda de serviço aumenta em função da carga no sistema? Qual a relação entre tempo de serviço e demanda de serviço? Qual a relação entre tempo de resposta, tempo de serviço e tempo de espera emfila? Qual a relação entre tempo de permanência e o tempo de resposta?

Análise Operacional Taxa de Chegadas Vazão TPUT Tempo de Serviço No. de Visitas

Problema de Motivação Suponha que em um período de observação de 1 minuto (60 seg), um único recurso (ex. a CPU) é monitorada como estando ocupada por 36 seg. Um total de 1800 transações são observadas chegando ao sistema. O total de transações concluídas é 1800 transações (ex, mesmo número de transações que chegaram, foram concluídas no período de observação). Qual é o desempenho desse sistema? (ex. Tempo médio de serviço por transação, a utilização do recurso, a vazão (tput) do sistema?

Variáveis Operacionais T: tempo total do período de observação K: número de recursos no sistema B i : Tempo total ocupado do recurso i no período de observação T A i : Número total de requisições (ex. Chegadas) para recursoi no período de observação T A 0 : Número total de requisições ao sistema no período de observação T C i : Número total de serviços completados no recurso i no período de observação T C 0 : Número total de requisições completadas no sistema no período de observação

Problema de Motivação Suponhaqueem um período de observação de 1 minuto (60 seg), um único recurso (ex. a CPU) é monitorada como ocupado por 36 seg. Um total de 1800 transações são observadas chegando ao sistema. O total de transações concluídas é 1800 transações (ex, mesmo número de transações que chegaram, foram concluídas no período de observação). T = 60 sec K = 1 recurso B 1 = 36 seg A 1 = A 0 = 1800 trans. C 1 = C 0 = 1800 trans.

Derivações de Quantidades a partir das VariáveisOperacionais S i : Tempo médio de serviço para cada tarefa completa no recursoi U i : Utilização do recursoi no período de observação T X i : Vazão (Throughput, tarefas completadas por unidade de tempo) no recursoi X 0 : Vazão total do sistema λ i : taxa de chegada (ex. Chegadas por unidade de tempo) no recurso i V i : fração média de visitas por requisição no recursoi S i = B i / C i U i = B i / T X i = C i / T X 0 = C 0 / T λ i = A i / T V i = C i / C 0

Problema de Motivação Suponhaqueem um período de observação de 1 minuto (60 seg), um únicorecurso (ex. a CPU) émonitoradacomoestandoocupa dapor 36 seg. Um total de 1800 transaçõessãoobservadaschega ndoaosistema. O total de transaçõesconcluídasé 1800 transações (ex, mesmonúmero de transaçõesquechegaram, foramconcluídas no período de observação). T = 60 sec K = 1 recurso B 1 = 36 seg A 1 = A 0 = 1800 trans. C 1 = C 0 = 1800 trans. S 1 = B 1 /C 1 = 36/1800 = 1/50 segportransação U 1 = B 1 /T = 36/60 = 60% λ 1 = A 1 /T = 1800/60 = 30 tps X 0 = C 0 /T = 1800/60 = 30 tps

Lei do Fluxo Forçado (Forced Flow Law) Relaciona o throughput do sistema com o throughput individual V k = fração de visitas ao recurso k V k C k / C Ex: Durante período de medição, 10 requisições foram servidas e houve 150 acessos ao disco 1: V disco_1 = 150/10 = 15 acessos/requisição

Lei do Fluxo Forçado (Forced Flow Law) Os throughputs (fluxos de clientes) em todas as partes do sistema devem ser proporcionais umas as outras X k = V k X

Exemplo 1 Cada job em um sistema de processamento batch requer uma média de 6 acessos a um disco específico A. Através de medições, você conclui que o disco A em questão está servindo uma média de 12 acessos dos jobs batch a cada segundo. Qual o throughput do sistema de processamento? X A = 12 V A = 6 X A = V A X X = X A / V A X = 12/6 = 2 jobs/s

Exemplo 2 Você fica sabendo que um outro disco B está servindo 18 requisições de jobs batch por segundo. Quantos acessos ao disco B cada job realiza, em média? X B = 18 X = 2 X k = V k X V k = X k / X V k = 18/2 = 9 acessos

Exemplo 3 Determine o tempo médio de resposta de um sistema interativo com as seguintes características conhecidas: 25 terminais Think time médio de 18 segundos Cada interação faz 20 acessos ao disco, em média Disco está ocupado em média 30% do tempo, durante medição Tempo de serviço médio por acesso ao disco igual a 25mseg Sistema interativo carga interativa modelo fechado População de clientes: N = 25 e Z = 18 Número médio de visitas ao disco V disco = 20 Utilização do disco U disco = 0.30 S disco = 0.025 Qual o valor de R?

Solução R = N / X Z (Lei do Tempo de Resposta) Precisamos do valor de X (thpt do sistema)? X disco = V disco X (Lei do Fluxo Forçado) Como calcular X disco? U disco = X disco S disco (Lei da Utilização) X disco = U disco / S disco = 0.30 / 0.025 = 12 acessos/seg X = X disco / V disco = 12 / 20 = 0.6 interações/seg R = N / X Z = 25 / 0.6 18 = 23.7 segs

Demanda por Serviço em um Dispositivo Os requisitos de serviço em cada dispositivo podem ser especificados de duas maneiras Pelo número de visitas que um cliente faz ao dispositivo uma vez no sistema V k + tempo de serviço por visita S k ou Demanda total por serviço do dispositivo D k D k V k S k

Demanda por Serviço em um Dispositivo Se um job faz em média 20 visitas a um disco e requer, em cada visita, um tempo médio de serviço de 25 ms. V k = 20 S k = 25 D = 20 25 = 500 ms A demanda média por serviço no disco é 0.5 seg Demanda total de um job por todos os recursos do sistema D = K k = 1 D k

Lei da Utilização Revisitada U = XS U k = X k S k = XV k S k = XD k É mais fácil medir D k do que V k e S k D k = B k / C = U k T / C

Exemplo 4 Suponha que um sistema de timesharing com 3 discos tenha memória limitada: pode ocorrer swapping e portanto, antes de competir pelos recursos do sistema central, uma interação deve competir por uma partição da memória. O sistema foi observado e medido: número médio de usuários : 23 tempo de resposta médio percebido por um usuário: 30 s throughput do sistema de timesharing: 0.45 interacoes / s número médio de requisições ocupando memória: 1.9 demanda média por CPU para cada interação: 0.63 s N = 23 R = 30 X = 0.45 N in_mem = 1.9 D CPU = 0.63

Exemplo 4: Modelo de Filas

Exemplo 4 Qual o think time médio de um usuário? R = N/X - Z Z = N/X - R = 23/0.45 30 = 21 segundos Em média, quantos usuários estão tentando obter serviço (não estão em think time)? Aplicar Lei de Little na Caixa 3: N want_mem = XR = 0.45 30 = 13.5 usuários Em média, quantos estão esperando na fila de memória? N mem_queue = N want_mem N in_mem = 13.5 1.9 = 11.6 usuários

Exemplo 4 Em média, quanto tempo passa desde a aquisição de memória até o término de uma interação? Aplicar Lei de Little na Caixa 2: N in_mem = XR in_mem R in_mem = N in_mem / X = 1.9 / 0.45 = 4.2 s Qual o tempo médio gasto na fila de memória? R mem_queue = R R in_mem = 30 4.2 = 25.8 segundos Qual a utilização de CPU pela carga de timesharing? Aplicar Lei da Utilização na Caixa 1: U CPU = XD CPU = 0.45 0.63 = 28%

Premissa do Equilíbrio de Fluxos Durante um período de observação, o número de chegadas no sistema é igual ao número de saídas A = C logo λ = X

Exemplo 5 Qual a utilização total de CPU? Assumir Equilíbrio de fluxo: X = λ Aplicar Lei da Utilização para cada classe, separadamente U comp,cpu = X comp D comp,cpu = 480 / 3600 2 = 27% U exec,cpu = X exec D exec,cpu = 120 / 3600 11.9 = 40% U edit,cpu = X edit D edit,cpu = 600 / 3600 0.5 = 8% U CPU = 75% Se U CPU < 100%, a premissa do equilíbrio de fluxo é razoável. Deve-se analisar as classes independentemente sem contabilizar as interferências (so faz sentido se U CPU < 100%).

Leis Fundamentais Utilizando as leis fundamentais em conjunto, é possível estimar métricas de desempenho do sistema como um todo (e.g. tempo de resposta do sistema), conhecendo métricas de carga de um único dispositivo do sistema (vide Exemplo 3)

Leis Fundamentais: Sumário Lei de Little N = XR Lei da Utilização U = X S = XD k k k k Lei do Tempo de Resposta R = N/X - Z Lei do Fluxo Forçado X k = V k X

Relações Adicionais λ k A k / T X k C k / T U k B k / T S k B k / C k U k T / C k V k C k / C D k V k S k B k / C U k T/ C

Exercício 1 Seja um sistema de timesharing com dois discos. Sabe-se que as probabilidades de um job completando serviço na CPU fazer um acesso ao disco A, ao disco B ou de retornar aos terminais são 0.80, 0.16 e 0.04, respectivamente. Além disto, foram medidos think time médio do usuário de 5 segundos, tempos médios de serviços dos disco A e B de 30 e 25 milisegundos, respectivamente, e tempo médio de serviço por visita à CPU de 40 milisegundos. Responda: Se a utilização do disco A é de 60%, qual as utilizações da CPU e do disco B? Se a utilização do disco B é de 10%, qual o tempo de resposta médio quando há 20 usuários no sistema?

Exercício 1 S CPU = 0.040 p 3 = 0.04 S discoa = 0.030 p 1 = 0.80 S discob = 0.025 p 2 = 0.16 Z = 5

Exercício 1 1) Se a utilização do disco A é de 60%, qual as utilizações da CPU e do disco B? S CPU = 0.040 S discoa = 0.030 S discob = 0.025 Z = 5 U discoa = X discoa S discoa X discoa = U discoa /S discoa = 0.60/0.03 = 20 X discoa = XV discoa V discoa =?

Exercício 1 S CPU = 0.040 p 3 = 0.04 S discoa = 0.030 p 1 = 0.80 S discob = 0.025 p 2 = 0.16 X Z = 5

Exercício 1 1) Se a utilização do disco A é de 60%, qual as utilizações da CPU e do disco B? U discoa = X discoa S discoa X discoa = U discoa /S discoa = 0.60/0.03 = 20 X discoa = XV discoa V discoa =? A cada 100 visitas à CPU, 96 permanecem no sistema (discos) e 4 retornam para os terminais 100 visitas à CPU implicam 80 visitas a disco A e 4 interações V discoa = 80/4 = 20 acessos por interação

Exercício 1 1) Se a utilização do disco A é de 60%, qual as utilizações da CPU e do disco B? X discoa = XV discoa X = X discoa / V discoa = 20/20 = 1 inter./seg U discob = X discob S discob = XV discob S discob V discob = 16/4 = 4 acessos por interação U discob = XV discob S discob = 1 x 4 x 0.025 = 0.10 = 10% U CPU = X CPU S CPU = XV CPU S CPU V CPU = 100/4 = 25 acessos por interação U CPU = XV CPU S CPU = 1 x 25 x 0.040 = 1.0 = 100%

Exercício 1 1) Se a utilização do disco B é de 10%, qual o tempo de resposta médio quando há 20 usuários no sistema? U discob = X discob S discob = XV discob S discob = 0.10 V discob = 16/4 = 4 acessos por interação X = U discob / V discob S discob = 0.1 / (4 x 0.025) = 1 inter. /seg R = N/X Z = 20/1-5 = 15 segundos