Avaliação de Desempenho de Sistemas Paralelos Leonardo Brenner Paulo Fernandes Afonso Sales lbrenner@inf.pucrs.br paulof@inf.pucrs.br asales@inf.pucrs.br Avaliação de Desempenho de Sistemas Paralelos p.1/52
Tópicos Introdução Conceitos Básicos Taxonomia de Métodos Formalismos Redes de Autômatos Estocásticos Técnica Básica de Descrição Obtenção de Resultados PEPS2003 Exemplos de Modelagem Exemplos Genéricos Avaliação de Desempenho de Sistemas Paralelos p.2/52 Exemplos Específicos para Alto
Introdução Conceitos Básicos Objetivos Características Taxonomia dos Métodos Monitoração Simulação Métodos analíticos Avaliação de Desempenho de Sistemas Paralelos p.3/52
Avaliação de Desempenho Objetivo: Projeto Racional dimensionamento coerente melhor distribuição de recursos busca gargalos e falhas Características da Avaliação avaliação quantitativa de sistemas (solução numérica) estimativas probabilísticas (processos estocásticos) espaço de estados discreto (finito ou enumerável) escala de tempo contínua ou discreta Avaliação de Desempenho de Sistemas Paralelos p.4/52
Monitoração Consiste na observação de determinadas características de um sistema real (físico) Vantagens evita erros de abstração (não há modelagem) credibilidade (o sistema já está funcionando) Desvantagens necessidade de implementação física (custo econômico) dependência do conjunto de amostras (tempo de observação) Avaliação de Desempenho de Sistemas Paralelos p.5/52
Simulação Consite em reproduzir computacionalmente o comportamento de partes específicas de um sistema Vantagens não requer implementação física (baixo custo) credibilidade relativa (seqüências de funcionamento) Desvantagens dependência do conjunto de amostras (tempo de simulação) Avaliação de Desempenho de Sistemas Paralelos p.6/52
Métodos Analíticos Descrevem o funcionamento do sistema através de modelos teóricos (matemáticos) Vantagens não depende do conjunto de amostras (tempo de solução) facilita a reflexão profunda durante o projeto Desvantagens dificuldade na descrição (matemática) dos modelos (formalismos) tamanho (número de estados) dos modelos Avaliação de Desempenho de Sistemas Paralelos p.7/52
Métodos Analíticos Cadeias de Markov formalismo básico descrição monolítica (não modular) simplicidade e extensa literatura Redes de Petri Estocásticas (SPN) formalismo bastante difundido descrição compacta (estados implícitos) descrição quase -modular Redes de Autômatos Estocásticos (SAN) formalismo estruturado (modular) métodos numéricos de solução eficientes descrição intuitiva (autômatos) Avaliação de Desempenho de Sistemas Paralelos p.8/52
Cadeias de Markov Representação de todos os estados possíveis e transições entre eles mudança de estados (transições) segundo um processo estocástico escala de tempo discreta (probabilidade de transição) ou contínua (freqüência de transição) ergodicidade (ausência de estados absorventes ou inatingíveis) ausência de memória (exceto estado atual) proposta no fim do século XIX Avaliação de Desempenho de Sistemas Paralelos p.9/52 solução através de sistema de equações lineares
Cadeias de Markov Figura 1: Cadeia de Markov - exemplo elementar Avaliação de Desempenho de Sistemas Paralelos p.10/52
Cadeias de Markov solução estacionária - supondo um conjunto de estados iniciais e tempo infinito transiente - supondo um conjunto de estados iniciais e um tempo finito e conhecido resultado bruto - vetor com a probabilidade de cada estado integração de estados com determinadas características integração com ponderações (recompensas) Avaliação de Desempenho de Sistemas Paralelos p.11/52
Cadeias de Markov Matematicamente, as Cadeias de Markov são representadas através de uma matriz com as taxas de transição (Gerador Infinitesimal) na escala de tempo contínua e por uma matriz de probabilidades na escala de tempo discreta. A solução estacionária é obtida pela resolução do sistema de equações lineares: Avaliação de Desempenho de Sistemas Paralelos p.12/52
Redes de Autômatos Estocásticos idéia básica autômatos eventos taxas e probabilidaes funcionais representação formal Avaliação de Desempenho de Sistemas Paralelos p.13/52
Redes de Autômatos Estocásticos (SAN) representação modular - cada módulo representado por um autômato um módulo tem um comportamento "quase independente"(eventos e funções) primitivas de sincronismo e paralelismo (eventos sincronizantes ou locais) Avaliação de Desempenho de Sistemas Paralelos p.14/52
Redes de Autômatos Estocásticos (Autômatos) conjunto de estados e transições mudança de estados através de transições transições disparadas por eventos uma transição pode ter vários eventos associados Avaliação de Desempenho de Sistemas Paralelos p.15/52
" "! Redes de Autômatos Estocásticos Figura 2: Modelo SAN com 2 autômatos Avaliação de Desempenho de Sistemas Paralelos p.16/52
Redes de Autômatos Estocásticos (eventos) o acontecimento de um evento dispara uma transição existem dois tipos de eventos locais - alteram o estado local de apenas um autômato sincronizantes - alteram o estado local de vários autômatos ao mesmo tempo Cade evento tem uma taxa de disparo associada, esta taxa pode ser constante ou funcional. Avaliação de Desempenho de Sistemas Paralelos p.17/52
& $+ # # ' + ',1 + % Redes de Autômatos Estocásticos & $% () *,-,. () * (. * & $0/ ),. & $0/.,.,2 (. * (. *,) Figura 3: Modelo SAN com 2 autômatos e um evento sincronizante Avaliação de Desempenho de Sistemas Paralelos p.18/52
Redes de Autômatos Estocásticos (funções) a taxa de um evento tem uma função associada a função é avaliada conforme o estado dos demais autômatos do modelo Os eventos sincronizantes propiciam a interação entre autômatos por envolver vários autômatos em um único evento, enquanto as taxas e probabilidades funcionais avaliam os estados dos demais autômatos do modelo. Avaliação de Desempenho de Sistemas Paralelos p.19/52
3 3 B @A? B @D? B @D C 7: B @A C B @A E Redes de Autômatos Estocásticos 6 4F 6 45 7; 7> 78 6 4=< 8 7: 6 4 < 9 7: 79 Figura 4: Modelo SAN com 2 autômatos, 1 evento sincronizante e probabilidades funcionais Avaliação de Desempenho de Sistemas Paralelos p.20/52
Redes de Autômatos Estocásticos funções taxas e probabilidades funcionais função de atingibilidade funções de resultado Avaliação de Desempenho de Sistemas Paralelos p.21/52
T W Taxas e Probabilidades Funcionais associadas a eventos taxas e probabilidades de disparo variam de acordo com o estado global do modelo demais autômatos são parâmetros da função GIH O H OVU J KLK KLKNM se autômato se autômato se autômato Q PH Q PH Q PH está no estado está no estado está no estado QSR PH QSR PH Q X PH Avaliação de Desempenho de Sistemas Paralelos p.22/52
T P l k d b [ ] \[ ZY Função de Atingilidade determina o conjunto de estados atingíveis do modelo estados que representam a realidade do modelo determina o vetor de probabilidades inicial retorna para estados atingíveis e caso contrário Qji gh a f c H de `_a ^_ Avaliação de Desempenho de Sistemas Paralelos p.23/52
g a f m Funções de Integração extração de índices legíveis do modelo soma das probabilidades de um conjunto de estados para os quais a função é verdadeira Q i PH Avaliação de Desempenho de Sistemas Paralelos p.24/52
o o p W Redes de Autômatos Estocásticos Formalmente, cada autômato um conjunto de matrizes Q Pn é representado por matrizes representam os eventos locais matrizes representam os eventos sincronizantes Avaliação de Desempenho de Sistemas Paralelos p.25/52
PEPS2003 sobre a ferramenta; arquivo de entrada; comandos básicos. Avaliação de Desempenho de Sistemas Paralelos p.26/52
Sobre a ferramenta PEPS A ferramenta de software PEPS (Performance Evaluation of Parallel Systems) é uma ferramenta acadêmica para descrição e resolução de modelos SAN. A ferramenta implementa várias facilidades como: descrição de modelos em alto nível métodos de solução iterativa funções de integração Avaliação de Desempenho de Sistemas Paralelos p.27/52
Formato do arquivo de entrada O arquivo de entrada da ferramenta PEPS é um arquivo textual estruturado em blocos: identificadores eventos função de atingibilidade descrição da rede resultados Avaliação de Desempenho de Sistemas Paralelos p.28/52
s ut q Z s T r _ q s T x q Identificadores O bloco de identificadores, primeiro bloco do arquivo de entrada, é precedido da palavra identifiers e define um conjunto funções e domínios utilizados nos blocos seguintes identifiers...... rwv ; { z y_ X X ; Avaliação de Desempenho de Sistemas Paralelos p.29/52
Eventos O bloco de eventos define o conjunto de evento que serão associados as transições nos autômatos. Este bloco define, além do nome do evento, o tipo de cada evento e a taxa associada a este. O bloco de eventos é precedico da palavra events e utiliza-se as palavras loc e syn para definir o tipo do eventos como local ou sincronizante, respectivamente events loc evento [dominio] (<identificador>); syn evento1 [dominio1] (<identificador1>);... Avaliação de Desempenho de Sistemas Paralelos p.30/52
Função de Atingibilidade A função de atingibilidade define o conjunto de estados globais que corresponde a realidade do modelo. Este bloco é representado da seguinte forma: partial reachability = <exp>; A palavra reservada partial define que a expressão utilizada para definir o conjunto de estados atingíveis, não indica todos os estados, apenas uma parte deles Avaliação de Desempenho de Sistemas Paralelos p.31/52
i v q a g s s Zx y u ZY i g y [ f Z ux v \ ZY u ZY i s ^ vy q u ~ g v a Z q }Z s X X X Descrição da Rede Principal bloco do arquivo, define a escala de tempo, os autômatos e as transições. Obedece a seguinte estrutura network aut stt to( q v { { s T a q[ m s T a aqf ) s W a aqf _ u } } { { f [ `_ \ { f [ `_ \ } Avaliação de Desempenho de Sistemas Paralelos p.32/52
Resultados Neste bloco, precedido da palavra results, o usuário define os índices desempenho que deseja extrair do modelo. Estes índices são extraídos através funções de integração e segue a seguinte estrutura: results função = <exp>;... Avaliação de Desempenho de Sistemas Paralelos p.33/52
Comandos Básicos Menu principal da ferramenta PEPS +--------------------------------------------------------+ This is PEPS 2003 - the SAN tool released on: May 21 2003 -- compiled on: Sep 1 2003 +--------------------------------------------------------+ 1) Compile a SAN model 5) Load/Show/Remove data structures 2) Solve a compiled SAN model 6) Inspect data structures 3) Probability vector facilities 7) Sparse matrix facilities 4) Preferences 8) About this version 0) Exit PEPS (Option 0 always exits the current menu) Avaliação de Desempenho de Sistemas Paralelos p.34/52
T Compilando um modelo Opção (Compile a SAN model) no menu principal ******* Compiling a SAN Model ******* 1) Standard Compilation 2) Compilation with Algebraic Aggregation 3) Compilation with Aggregation of Replicas Avaliação de Desempenho de Sistemas Paralelos p.35/52
W Resolvendo um modelo Opção (Solve a compiled SAN model) no menu principal ******* Solving a SAN model ******* No Preconditioning: Diagonal Preconditioning: 1) Power Method 4) Power Method 2) Arnoldi Method 5) Arnoldi Method 3) GMRES Method 6) GMRES Method Avaliação de Desempenho de Sistemas Paralelos p.36/52
Exemplos compartilhamento de recursos; rede de filas de espera; fontes on/off; cluster com protocolo de comunicação UDP; cluster com conexão em anel; cluster com conexão torus. Avaliação de Desempenho de Sistemas Paralelos p.37/52
o o W Compartilhamento de Recursos clientes disputando recursos recursos indistintos duas alternativas de modelagem número de estados para modelo com funções - 1.048.576 estados modelo com eventos sincronizante - 4.194.304 estados e Avaliação de Desempenho de Sistemas Paralelos p.38/52
Š ˆ ˆ Š Š Compartilhamento de Recursos Œ Š Evento Taxa Evento Taxa Ž Ž Ž ˆ ƒ ƒ š... ˆ Ž.... ƒ ƒ ƒ Œ ²± «ª œž Ÿ Avaliação de Desempenho de Sistemas Paralelos p.39/52 Ž
ྠົ Í Ñ ÃÂÄ º Í Ò ÃÂÄ Compartilhamento de Recursos È Ç ÆÉÊÅ È ÆÉÅ È ÆÇÅ ÀÁ ³ µ... ³ ³ µ... ³» ¹½ ³ ¹½¼... ¹º» ³ µ»¹º ¼ ³ ³ µ ÀÁ ³ µ... ³ ³ µ... ³ ÀÁ ³ µ... ³... - ³ µ... ³ ³ µ... ³ ³ µ... ³ Evento Taxa Evento Taxa ÐÇ ËÏÇ ÍÎÇ ÌË Ç Ð Ñ ËÏÑ ËÌÑ Ð Ò ËÏÒ ËÌÒ.... ÀÁ ÐÉ ËÏÉ ÍÓÉ ÌË É Avaliação de Desempenho de Sistemas Paralelos p.40/52
ÔÖ ÔÕ Rede de Filas de Espera 2 1 loss 3 Número total de estados - 48 estados Avaliação de Desempenho de Sistemas Paralelos p.41/52
ñ ñ î î ì ÿ Rede de Filas de Espera íð ï ì íî ï ì íñ ï ì Evento Taxa õó ò õóöò õóôò ÚÙØ ÙØ êè ë ßë ßá Þàßá ÛÝÜ ã â ÛÝâ êè á õóö êè á õóö êè á çéè õóô çéè õóô çéè êè á êè ë õó ñ êè ë ßë ßá êè á êè ë åø ã Ø äýø Ü õó î êè ë åü ã Ø äæø â ßá êè á êè ë õóö ð õóô ð î íî ï î ÿ ý«þ ü û øúù ö Avaliação de Desempenho de Sistemas Paralelos p.42/52
T T Fontes On/Off fontes independentes taxa constante de envio de dados por fonte taxa variável de recebimento de dados na fila número de estados para fontes e fila de tamanho 103.424 estados Avaliação de Desempenho de Sistemas Paralelos p.43/52
(K-1) K Avaliação de Desempenho de Sistemas Paralelos p.44/52 Fontes On/Off
T Protocolo de Comunicação UDP meio de comunicação único somente uma transmissão por vez várias recepções simultâneas se alguém estiver recebendo, alguém precisa estar transmitindo número de estados para 1.048.576 estados nós Avaliação de Desempenho de Sistemas Paralelos p.45/52
!! Protocolo de Comunicação UDP $ ":... $ "# ( &; % &' ( % ; /.-, ; 8. /.... ' /.-, ' 8. /. ( &; ) &' ( ) 5 1243 ; 0-9 ; 78 5 1243 ' 0-9 ' 78 9 ; 78 9 ' 78 5 12 ' 6 ; 0 5 12 ' 6 ' 0 ( &; * ( &; + &' ( * &' ( + Avaliação de Desempenho de Sistemas Paralelos p.46/52
< Conexão em anel unidirecional duas alternativas de modelagem número de estados para nós um autômato por nó - 3.125 estados dois autômatos por nó - 59.049 estados Avaliação de Desempenho de Sistemas Paralelos p.47/52
= = @ > JK L R P Avaliação de Desempenho de Sistemas Paralelos p.48/52 Conexão em anel E CD B JK L GIH JK L N MG?> A F?@ F?>?@ A JK L OQP?> A F?@?@ A JK L R P O P F?>
^ ^ V TU S c bz dqg WYX c bzf ed ]Z _ c bz h a Avaliação de Desempenho de Sistemas Paralelos p.49/52 Conexão em anel V T\ S c b^ dqg W[j W[Z W ^ c b^f ed i ]Z ]^ _ i ]^ c b^ `Qa
< Conexão em torus unidirecional dois autômatos por nó número de estados para 1.048.576 estados nós Avaliação de Desempenho de Sistemas Paralelos p.50/52
~ z q q Conexão em torus n lmk n lxk }{q ~ }{ ~ o p or {q } }{q orq stuuv swuuv stuuv swuuv or }{ ~ stu v ƒ stu ƒ stuu st uv ƒ sw u ƒ swuu }{ y z ƒ stu ƒ stuu stu v st uv ƒ sw u ƒ swuu }{q z }{ y z Avaliação de Desempenho de Sistemas Paralelos p.51/52
Considerações Finais PEPS http://www-id.imag.fr/logiciels/peps/ PEG http://www.inf.pucrs.br/peg Avaliação de Desempenho de Sistemas Paralelos p.52/52