Sistemas Computacionais. Desempenho Confiabilidade Avaliação de sistemas

Documentos relacionados
Infra Estrutura Hardware e Software

Arquiteturas. capítulo

Qualidade de software. Prof. Emiliano Monteiro

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Designing Data Intensive Applications

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução à Ciência da Computação

Organização de Computadores I

Sistemas Operacionais. Tipos de SO

Introdução aos Sistemas Distribuídos

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

Informática. Cloud Computing e Storage. Professor Márcio Hunecke.

O uso consciente da tecnologia para o gerenciamento. Editora Saraiva Emerson de Oliveira Batista

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Barramento. Prof. Leonardo Barreto Campos 1

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 02: INTRODUÇÃO

Desenvolvimento de Aplicações Distribuídas

Rede de computadores Servidor. Professor Carlos Muniz

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES SISTEMAS DE COMPUTAÇÃO. Cristina Boeres

Sistemas Operacionais I

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Engenharia de Confiança. Helena Macedo Reis Luis Fernando de Souza Moro

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Uso da Internet. Disciplina: Gestão da Tecnologia de Sistemas. Professor: Thiago Silva Prates

INFORMÁTICA: Informação automática

Sistemas de Informação (SI) Infraestrutra de Tecnologia da Informação (TI): Software

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD

GERENCIAMENTO DE DADOS Exercícios

SSC546 -Avaliação de Desempenho Parte 1 Sarita Mazzini Bruschi

Organização de Computadores II. Arquiteturas MIMD

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

Algoritmos e Técnicas de Programação. Professora Luciana Faria

SISTEMAS OPERACIONAIS

Introdução à Informática

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

Arquitetura de Computadores

1- Confiabilidade ( 2 ) Proteção contra perdas e estragos. 2- Integridade ( 3 ) Proteção contra interferência de cortes de funcionamento

Backup e Restauração Banco de Dados. Evandro Deliberal

Desenvolvimento de Aplicações Distribuídas

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

Uso de Software de Monitoramento em Projetos Educacionais Metasys Monitor. Home

Universidade Federal do Maranhão

Tecnologia e Administração

falhas em sistemas distribuídos

Arquitetura e organização de computadores

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre. Conceitos Básicos. Rafael Barbosa Neiva

Informática I. Aula 2. Ementa

FUNDAÇÃO LUSÍADA CENTRO UNIVERSITÁRIO LUSÍADA. Aluno: Matricula: 1º Bim. Disciplina: Sistema de Informações Gerenciais Nota: Visto:

MEU SISTEMA ESTÁ LENTO! ENTENDA AS POSSÍVEIS CAUSAS DESTE PROBLEMA

Bancos de Dados Distribuídos. Bancos de Dados Distribuídos. Conteúdo. Motivação. Motivação. Introdução aos BDs Distribuídos.

Características de Sistemas Distribuídos

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

Tipos de Clusters. Introdução. Introdução 21/03/12

Documento de Visão. Projeto T2Ti ERP Lite PAF-ECF

Aula 05. Infraestrutura de TI: hardware e software Pearson. Todos os direitos reservados.

AULA 03: PROCESSAMENTO PARALELO: MULTIPROCESSADORES

Organização e Arquitetura de Computadores I

Introdução à Avaliação de Desempenho

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

1. Conceitos Básicos de Sistemas de Informação

INTRODUÇÃO À INFORMÁTICA

Rev Série AL-2000

CFTV Digital. CFTV Digital. Componentes Básicos de um Sistema de CFTV. Endereço IP.

Carlos Eduardo de Carvalho Dantas

Informática Instrumental

Características de Sistemas Distribuídos

Rede de computadores Cliente- servidor. Professor Carlos Muniz

5 Infraestrutura de TI

Introdução a Computação em Nuvem

DISCO MAGNÉTICO Cabeçote Trilha

SI06 DIMENSÃO TECNOLÓGICA I

Entrada e Saída e Dispositivos

SERVIDOR ALL-IN-ONE BLAZER PRO

Sistema de monitoramento PROFINET e PROFIBUS

Algoritmos Computacionais

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores

Sistemas Distribuídos

O que é um sistema distribuído?

Aula 05. Fundamentos de Hardware e Software. Prof. Dr. Dilermando Piva Jr.

SISTEMAS DISTRIBUÍDOS

Unidade III. Unidade III. Existe uma tendência dos sistemas de informação a funcionarem cada vez mais em Intranets e na Internet.

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR

Quando Distribuir é bom

Introdução a Sistemas Operacionais. Adão de Melo Neto

Brilliant Solutions for a Safe World

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Capítulo 2 Livro do Mário Monteiro Componentes Representação das informações. Medidas de desempenho


Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade.

PMR3507 Fábrica digital

Introdução a Computação em Nuvem

Arquitetura de sistemas distribuídos

SISTEMAS DISTRIBUÍDOS

Arquitetura de Rede. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina: Redes de Computadores I

Hospedagem Cloud Especificação e Requisitos. Termo de Referência nº 7/2018

Introdução aos Sistemas Operacionais

Transcrição:

Sistemas Computacionais Desempenho Confiabilidade Avaliação de sistemas

Sistemas Computacionais O que são Sistemas Computacionais? Essencialmente, são sistemas - composição de computadores, softwares e funcionalidades programadas - que são interligadas através de conexões de comunicações para realizarem uma determinada tarefa ou funções. As formas de interligação, a flexibilidade e o grau de acoplamento / dependência dos seus componentes, dependem das necessidades e características da Aplicação. As formas de interligação determinam também a Arquitetura do Sistema: sistemas internos (baseados em rede local) e sistemas externos (baseados em Internet)

Arquiteturas de Sistemas Distribuídos Internos Existem diversas formas de interconexão para compor os sistemas computacionais em rede local. A rede local (Ethernet) é o elemento de comunicação mais comum, mas a composição e função dos elementos conectados e a hierarquia destas composições, criam diversas arquiteturas. Arquiteturas para a conexão em sistemas Locais: Terminal-para-hospedeiro Servidor de Dados Cliente / servidor Intranet Obs.: Essas arquiteturas também são conhecidas como arquiteturas de rede local.

Terminal-para-hospedeiro Tanto aplicação quanto BD (Banco de dados) residem em um computador hospedeiro Usuário interage com o hospedeiro por um terminal sem capacidade de processamento da aplicação. O terminal é conhecido também como thin-client. processamento é realizado pelo hospedeiro terminal Computador hospedeiro

Servidor de Dados Tanto aplicação quanto BD residem em um computador hospedeiro Mas parte da aplicação encontra-se no computador do usuário hospedeiro somente envia e recebe os dados requisitados PC Arquivo de dados Computador hospedeiro

Cliente-servidor Composto de diversas plataformas (servidores) com funcionalidades específicas, incluindo aplicações Podem ser acessados por vários clientes na rede Frequentemente PCs de usuários Requisitam serviços aos servidores Arquitetura mais utilizada Servidor de Domínio Servidor de Arquivos Servidor de Impressão Servidor de Comunicação Usuários Rede Local Servidor de Banco de Dados Servidor Aplicação

Intranet Semelhante à arquitetura Cliente-servidor, com a diferença que as aplicações são executadas na plataforma Internet. A aplicação é executada no servidor, que centraliza também os dados, e responde ao terminal (Cliente) enviando páginas em HTML. Os usuários acessam a aplicação através de Navegadores ( Browsers ) executados localmente, através de qualquer computador conectados à mesma rede local (mesmo domínio). Usuários Rede Local Servidor Aplicação Servidor de Domínio Servidor de Arquivos Servidor de Impressão Servidor de Comunicação Servidor de Banco de Dados

Arquiteturas de Sistemas Distribuídos Externos Permitem a conexão de sistemas distribuídos geograficamente. Normalmente baseados na conexão física da Internet pública. Em casos específicos, podem ser utilizadas conexões de comunicação privada para assegurar a segurança (Frame-relay, X25, Linha Privada, etc). Arquiteturas para a conexão em sistemas externos: Entre redes: Internet Intranet / Extranet Cloud computing (computação em núvem) Tecnologias Web 2.0: palavras-chave AJAX: Assyncronous Javascript and XML: execução local (no navegador browser ) de programas em Java, melhorando a interatividade com o usuário e reduzindo o tráfego de dados XML (extended Markup Language: sucessor do HTML) SOA: Service Oriented Arquitecture Webservices: aplicações com interfaces padronizadas de acesso a serviços pela Internet

AJAX Usuário Navegador XML ou HTML XML WebServices Servidor Internet Intranet / Extranet (segurança: VPN) Sistemas baseados em Internet: baseados em tecnologia Web 2.0 e SOA utilização de WebServices e protocolo XML Plataforma Linux PostGre SQL Sistema Servidor Aplicação Web comunicação entre sistemas, e entre sistema e usuários: mesma interface XML utilização de AJAX e Hibernate no navegador (browser) do usuário: permite execução de aplicativos locais, com interface mais dinâmica e sofisticada. Exemplo: editor de texto e planilha do Google suporte à aplicações móveis, com utilização da tecnologia 3G

AJAX Usuário Navegador XML ou HTML XML WebServices Servidor Internet Intranet / Extranet (segurança: VPN) XML Integração de Sistemas: todos sistemas utilizam tecnologias Web 2.0 (WebServices e XML), integrados via XML introdução gradual de novos sistemas, sem afetar os existentes independe de plataforma: basta ter WebServices e XML transparente para o usuário, não necessita de atualização Plataforma Linux / PostGre Novo Sistema 1 WebServices Servidor Internet Plataforma Windows / MS-SQL Novo Sistema 2

AJAX Usuário Navegador WebServices Sistema 2 Servidor Internet WebServices Sistema 1 Servidor Internet Terminal Móvel Intranet / Extranet (segurança: VPN) WebServices Servidor Internet Sistema Espelho WebServices Servidor Internet Aquisição Dados Independência de Localização: integração de sistemas em escala global sistemas de aquisição de dados distribuídos sistemas e terminais móveis sistemas espelhados, 100% redundantes: mais segurança

AJAX Usuário Navegador Integração de Sistemas Legados: sistemas em produção com tecnologia obsoleta (Cliente-Servidor) desenvolvimento de WebServices para integração com novos sistemas Intranet / Extranet (segurança: VPN) XML WebServices Sistema 1 XML Servidor Internet Arquitetura Cliente - Servidor Rede Local WebServices Servidor Internet Usuários Sistema Legado Servidor Aplicação

Desempenho de Sistemas

Desempenho: Processamento x Tempo Desempenho de um Sistema Computacional avalia a capacidade de execução de tarefas de processamento. Existem três parâmetros principais: - capacidade: determina o volume de dados ou quantidade de tarefas que um dado sistema computacional é capaz de processar em um determinado tempo. - desempenho: determina o volume de processamento sustentado do sistema computacional, conhecido também como desempenho médio. - tempo de resposta: tempo entre um estímulo (entrada ou disparo em um tempo pré-determinado) e a saída do resultado esperado.

Capacidade Computacional A Capacidade é normalmente uma medida absoluta do desempenho do Sistema Computacional, desvinculado da aplicação. Alguns exemplos: Velocidade de Processamento: MIPS: Milhões de Instruções Por Segundo MFLOPS: Milhões de Operações de Ponto Flutuante Por Segundo - muito utilizado em especificação de capacidade de Supercomputadores - GFLOPS (Giga); TFLOPS (Tera) Velocidade de transferência de dados: medida de desempenho de sistemas de comunicação: Gbps (Giga Bits Por Segundo); GBps (Giga Bytes Por Segundo). Outros conceitos importantes: Overheard (parte da banda de comunicação utilizado pelo protocolo). Normalmente reduz a capacidade nominal em até 50%. Latência: tempo até o início da transmissão dos dados Capacidade da Memória ou do Sistema de Armazenamento (Discos): estabelecidos em GB (Giga Bytes) e TB (Tera Bytes)

BENCHMARK: comparação de Desempenho e Capacidade Como no caso de processadores e computadores isolados, o Benchmark é utilizado para comparação entre Sistemas Computacionais, baseado na execução de grupos de aplicativos padronizados. Neste caso, os aplicativos do Benchmark são selecionados do universo das funcionalidades Cliente-Servidor e aplicações Internet. Sistemas Corporativos (ERP: Enterprise Resource Planning) Sistemas de Controle de Manufatura (MRP: Manufacturing Resource Planning) Ferramentas de BI (Business Inteligence) Sistemas de Automação Comercial Sistemas de Comércio Eletrônico pela Internet (e-commerce) Outros, com uso intensivo de transações em Banco de Dados Realizados por empresas independentes e auditorias.

Tempo de Resposta Em sistemas computacionais, o tempo de resposta pode ser caracterizado como o tempo que leva para um sistema reagir a determinada entrada. Mas em sistemas de processamento de dados o tempo de resposta percebido pelo usuário é o tempo entre o o instante em que um operador entra com um pedido de resposta de um computador e o instante em que o primeiro caractere de resposta é recebido no terminal. Em sistemas de tempo real o tempo de resposta de uma tarefa ou segmento é definido como o tempo decorrido entre o envio (tempo quando a tarefa está pronta para executar) para o tempo quando terminar o seu trabalho (uma expedição).

Confiabilidade de Sistemas

CONCEITOS DA TEORIA DE CONFIABILIDADE Confiabilidade de um sistema de computador é a qualidade do serviço oferecido, tal que se possa confiar justificadamente neste serviço. O serviço oferecido por um sistema é o comportamento do sistema tal como é percebido pelo seu usuário. R(t): É a probabilidade de que o sistema desempenhe as suas funções com sucesso, de acordo com as especificações, por um dado período de tempo, [0,t]. R(t) é denominada função confiabilidade. l(t): É a função taxa de falhas, que exprime a densidade de probabilidade de falhas no intervalo [t,t+dt], condicionada ao sucesso no intervalo [0,t]. A(t): É a probabilidade de que o sistema desempenhe as suas funções com sucesso, de acordo com as especificações, durante todo o período de operação. A(t) é denominada função disponibilidade. m(t): É a função taxa de reparos, que exprime a densidade de probabilidade de reparo do sistema no intervalo [t,t+dt].

COMPORTAMENTO DA FALHA NO TEMPO Taxa de Falhas de componentes no tempo: - falha inicial: mortalidade infantil, devidos a falhas no processo de fabricação, garantia da qualidade - taxa de falhas constante (estatisticamente) durante a vida útil - fim de vida útil: desgaste l: falhas/hora curva da banheira mortalidade infantil: burn-in fase útil: l constante fim da vida útil t Relação entre a Taxa de Falhas e a Confiabilidade Confiabilidade: R(t) = e -l(t)

Índices de Confiabilidade, Disponibilidade e Manutenibilidade Os índices mais utilizados na especificação e medição da confiabilidade são: MTTF: Mean Time to Fail: tempo até a primeira falha MTBF: Mean Time Between Failures: intervalo de tempo médio entre as falhas O índice da Manutenibilidade (capacidade de reparar) MTTR: Mean Time to Repair: tempo médio para reparar uma falha MTTF falha MTTR MTBF falha t MTTF = 1/ l MTTR = 1/ m Disponibilidade: A = MTTF MTTF + MTTR Razão entre o serviço oferecido e o tempo fora do ar devido ao reparo

TRATAMENTO DE FALHAS Etapas do Tratamento de Falhas: - Detecção da Falha (temporária ou permanente) - Diagnóstico da Falha (é diferente da Detecção) - Isolamento da Falha (contenção da Falha) - Sinalização: para acionamento da manutenção - Operação degradada, reconfiguração, até o reparo - Reparo (on-line, off-line) - Recuperação: retorno à operação normal

TRATAMENTO DE FALHAS Algumas Técnicas: - proteção contra distúrbios externos: alimentação, descargas, intrusão - sensores detectores de estados anormais (temperatura, sobretensão, etc) - watch-dog timer, implementado por hardware e controlado por software - auto-teste periódico de partes do sistema, dados e programas - auto-diagnóstico: verificação de ajustes e calibrações - temporização de eventos dinâmicos: comunicações, entradas - verificação dos limites de validade (dados e parâmetros) - código detectores e corretores de erro - tempo de vida de informações e de estados (temporização da validade) - marcadores de passagem (entrada e saída de rotinas) - estabelecimento de valores e saídas seguras - votação / comparação de dados de saída críticos

SISTEMAS SÉRIE E PARALELO PARA CÁLCULO DA CONFIABILIDADE 1 2 1 2 N N Sistema Série: Confiabilidade: R T = R 1 x R 2 x... x R N se todos sistemas iguais: R então: R T = R N Sistema Paralelo: Confiabilidade: R T = 1 (1 - R 1 ) x (1 - R 2 ) x... x (1 R N ) se todos sistemas iguais: R então: R T = 1 (1 R) N MTTF = 1 / Nl Exemplo: Sistema composto por 10 subsistemas em série, com 0,99 de confiabilidade cada: então: R T = 0,99 10 = 0,90 Exemplo: Sistema composto por 10 subsistemas redundantes, com confiabilidade individual de 0,75: então: R T = 1 (1 0,75) 10 = 0,9999

ARQUITETURA DE COMPUTADORES TOLERANTES A FALHA Redundância Estática Redundância Estática: - todos módulos ativos, e executando a mesma função - cobertura imediata da falha - não necessita detectar a falha para atuar - elevada disponibilidade e segurança (Votador) - necessita sincronismo Módulo Entrada Módulo Votador Saída Módulo Triple Modular Redundancy: TMR Confiabilidade: R TMR = Prob. 3 módulos funcionando + Prob. 2 módulos funcionando NMR: N-Modular Redundancy

Redundância Dinâmica Redundância Dinâmica: - apenas um módulo operando - necessita da detecção da falha e recuperação - esquemas de recuperação: chaveamento de reservas Hot Standby: reservas operando e sincronizados Cold Stanby: reservas desligados Hot Swap / Hot Plugin: conexão de reservas com o resto do equipamento ligado - tempo de missão Módulo 1 Detector de Falhas Comando Entrada Módulo 2 Saída Confiabilidade Total, sem considerar o detector e o chaveador: Chaveador R T = 1 - (1 - R) (N + 1) Módulo N Reservas

Redundância Híbrida Redundância Híbrida: Combinação das vantagens das redundâncias estática e dinâmica Controle Detector de Discordância Módulo 1 Módulos Ativos Módulo 2 Módulo 3 Chaveador Votador Saída Módulos Reserva Módulo N-1 Módulo N

Avaliação de Sistemas

Arquiteturas Paralelas: Balanceamento O projeto de Sistemas Computacionais modernos implica na utilização do paralelismo para se obter o desempenho e a confiabilidade necessária para o bom funcionamento da Aplicação. Um bom Sistema Computacional será sempre um balanço entre as características da Aplicação e a escolha adequada dos elementos da arquitetura de computadores. APLICAÇÃO Particionamento: divisão adequada das tarefas; Declaração explícita de paralelismo; Seleçao adequada de algoritmos paralelos; Considerações sobre as capacidades da memória e da interconexão. ARQUITETURA Detecção e execução automática de paralelismo; Suporte a compiladores e linguagens paralelas; Capacidades adequadas de memória e interconexão; Confiabilidade e tratamento de falhas transparente; Gerenciamento e escalação de tarefas em paralelo.

Arquiteturas Paralelas: Balanceamento APLICAÇÃO ARQUITETURA Adequação e Balanceamento Sistemas Paralelos: eficientes bom desempenho confiáveis bom custo/benefício