Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru

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

Download "Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru"

Transcrição

1 1 Introdução Atualmente a demanda pela construção de novos sistemas de software tem aumentado. Junto com esse aumento também cresce a complexidade das soluções que estão sendo desenvolvidas, o que torna ainda mais desaador o processo de concepção e manutenção desses sistemas. Nesse cenário, soluções baseadas em componentes de software vêm sendo amplamente usadas [6]. Sistemas baseados em componentes apresentam a característica de dividir um problema grande em partes. Essa divisão auxilia a construção e manutenção do sistema, pois as partes podem ser desenvolvidas individualmente, abstraindo o restante do sistema. Isso torna mais fácil a distribuição dos componentes por diversas máquinas. Para auxiliar o desenvolvedor dos componentes, algumas ferramentas oferecem uma camada de abstração capaz de tornar transparentes questões como localização, concorrência, replicação, falhas e mobilidade. Nesse contexto alguns middlewares foram implementados como CORBA [7] e Java RMI[8]. Esses middlewares fornecem uma camada de software entre as aplicações e o sistema operacional, provendo mecanismos para tratar de problemas recorrentes em aplicações distribuídas, como heterogeneidade e portabilidade. Embora esses middlewares facilitem o desenvolvimento de aplicações distribuídas ao esconder do desenvolvedor questões como a comunicação entre as partes do sistema, também escondem gargalos existentes nesta comunicação e componentes sobrecarregados. Dessa forma, caso a aplicação passe a apresentar um comportamento inesperado, como queda de desempenho, torna-se difícil a atividade de identicar em qual ou entre quais componentes está o problema. Sendo assim, passa a ser necessário o uso de técnicas que possibilitem a monitoração do comportamento de cada componente e de suas interações. Isso pode facilitar a identicação de gargalos de comunicação, sobrecarga de processamento e demais informações

2 Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instrumentação do sistema. Basicamente o que é feito é uma inserção de código em determinados pontos do sistema, permitindo que sejam coletadas métricas relevantes para detecção de problemas na aplicação. As formas de realizar essa inserção de código variam de acordo com o tipo de sistema e o tipo de informação que se deseja obter. Por exemplo, em um ambiente computacional distribuído pode ser interessante saber a frequência de uso de cada serviço do componente, quais componentes trocam informações, ou ainda, qual o tempo médio de resposta de um determinado serviço implementado pelo componente. Realizar a coleta de informações relevantes é um dos passos necessários para monitorar o sistema, no entanto, de nada adianta ter essas informações se não existir uma forma de disponibilizá-las. Para isso, neste trabalho, foram desenvolvidas formas de publicação dos dados coletados, que permitem ao administrador da aplicação criar estratégias para denir a periodicidade das publicações. As informações obtidas podem ser usadas, por exemplo, em ferramentas de gerência e diagnóstico de problemas em sistemas distribuídos. Por exemplo, alguns trabalhos [9] [10] usam técnicas de estatística para relacionar os valores coletados com violações no comportamento esperado dos serviços oferecidos. Trabalhos que propõem serviços de conguração dinâmica de sistemas distribuídos [1] [11], como balanceamento de carga e sistemas auto-adaptativos, também podem se beneciar de uma infra-estrutura de instrumentação. Nesses trabalhos o objetivo principal é a realização de recongurações na aplicação, sem a necessidade de interromper o funcionamento do sistema. No entanto, a única forma de concluir quais modicações devem ser realizadas, para melhorar o desempenho do sistema, é analisando as informações coletadas sobre o ambiente de execução desse sistema. O projeto e implementação de uma infraestrutura de monitoração de sistemas distribuídos apresentam uma série de desaos. Como exemplos desses desaos, que serão tratados neste trabalho, incluem-se: A identicação de quais métricas devem ser coletadas, levando-se em consideração que estamos lidando com sistemas de componentes distribuídos; a forma que deve ser utilizada para publicar as informações, de maneira que diversos usuários possam receber as informações coletadas, e tentando causar pouco impacto na execução do

3 Introdução 13 sistema; e até quanto é compensatório aumentar a acurácia das informações coletadas, levando em consideração que o excesso de precisão poderá acarretar em um aumento da sobrecarga imposta à aplicação. 1.1 Objetivos Este trabalho pesquisou e implementou técnicas para monitoração do ambiente de execução de sistemas baseados em componentes distribuídos. O objetivo principal é disponibilizar, para o desenvolvedor ou administrador de aplicações baseadas em componentes distribuídos, um conjunto de ferramentas que o ajude a observar o ambiente de execução desses componentes. Baseado nas métricas coletadas, ele poderá atuar no sistema para otimizar o seu ambiente de execução. O administrador do sistema pode tanto ser uma pessoa ou um outro sistema capaz de avaliar as informações e propor melhorias [12]. Mais especicamente, a arquitetura de monitoração proposta neste trabalho deverá alcançar os seguintes objetivos: coletar métricas do sistema de forma transparente para o desenvolvedor dos componentes; garantir que a coleta das informações do ambiente de execução da aplicação seja realizada sem onerar excessivamente o desempenho da aplicação; poder disponibilizar as informações coletadas para múltiplos consumidores; prover uma forma das informações coletadas serem avaliadas antes de enviadas para o usuário, evitando um número excessivo de envio de mensagens; Para avaliar os resultados obtidos, este trabalho implementou experimentos para vericar os resultados alcançados e demonstrar a viabilidade da arquitetura proposta. Para tanto, foi implementada uma pequena aplicação de componentes distribuídos que possibilitou a realização de testes de desempenho com a arquitetura desenvolvida. Para realizar um teste com uma aplicação mais complexa e que utiliza mais intensivamente as vantagens de uma arquitetura distribuída, foi implementado um exemplo baseado no paradigma de programação MapReduce[5].

4 Introdução Solução Proposta Este trabalho propõe uma arquitetura extensível para coleta e publicação de informações de sistemas de componentes distribuídos, procurando minimizar o impacto sobre o desempenho da aplicação. O administrador da solução distribuída poderá monitorar as máquinas participantes da aplicação e ao mesmo tempo as interações entre os diversos objetos remotos que compõem a aplicação. Para implementação desta arquitetura foi escolhido o middleware SCS [13], que é capaz de fornecer facilidades para construção de componentes de software distribuídos. Esta ferramenta possui uma implementação simplicada do CORBA Component Model (CCM) [14], o que facilitou o processo de instrumentação da mesma. É comum que cada sistema, dependendo de sua nalidade, tenha um conjunto de métricas especícas que sejam relevantes para sua monitoração. Por exemplo, uma ferramenta que realize tarefas de transferência de arquivos entre máquinas distintas terá uma grande demanda por escrita e leitura em disco; logo, informações sobre o número de escritas e leituras realizadas pelos componentes da aplicação serão importantes para o gerenciamento da mesma. Nada garante que essa métrica também será relevante para um outro sistema com características totalmente diferentes como, por exemplo, uma ferramenta para execução de algoritmos distribuídos, que poderá ter maior interesse no uso de memória e CPU de cada componente do que em leituras e escritas em disco. A solução proposta neste trabalho fornece um conjunto básico de métricas que, na nossa visão, são importantes para monitoração de sistemas distribuídos de um modo geral, bem como irá fornecer uma arquitetura exível na qual novas métricas podem ser adicionadas de acordo com a nalidade do sistema monitorado. Além da coleta de dados, é de extrema importância a forma como essas informações serão enviadas para os administradores da aplicação. Neste trabalho, utilizaremos um serviço de eventos para que o mecanismo de monitoração possa enviar as informações para o usuário imediatamente após a coleta. Esse mecanismo permitirá que existam mais de um consumidor das informações, além de evitar que a manutenção dos dados coletados que no mesmo local onde a aplicação executa, o que poderia prejudicar o seu desem-

5 Introdução 15 penho. O envio de um número excessivo de eventos com informações de monitoração pode trazer problemas, sobrecarregando o sistema. Por outro lado, intervalos muito grandes entre publicações de eventos podem ocultar do usuário o real comportamento da métrica que está sendo observada. Para contornar esse problema, propomos o uso de políticas responsáveis por determinar a relevância da publicação de uma determinada métrica, tentando equilibrar a taxa de publicação de métricas com a taxa de variação de seus valores ou do tempo que se passou desde a última publicação. Para avaliar a arquitetura elaborada foi desenvolvido um sistema baseado em um modelo para programação distribuída denominado MapReduce [5]. Com tal modelo foi montada uma aplicação distribuída responsável por contar as ocorrências de palavras em grandes arquivos, e medido o quanto a arquitetura de monitoração onerou a execução do sistema. Além desse caso de uso outros testes foram realizados para mensurar a perda de desempenho obtida ao utilizar as ferramentas desenvolvidas, e o comportamento das políticas de publicação que foram implementadas. 1.3 Estrutura do Texto Os próximos capítulos apresentam em detalhes o trabalho desenvolvido, bem como trabalhos relacionados e os experimentos realizados com a infraestrutura construída. No Capítulo 2, são apresentados trabalhos relacionados com esta dissertação, que serviram como norteador para o trabalho desenvolvido. A infraestrutura de desenvolvimento de componentes de software utilizada neste trabalho, o SCS, é apresentada no Capítulo 3. Já o Capítulo 4 mostra uma visão geral da arquitetura proposta neste trabalho. Em seguida o Capítulo 5 detalha os mecanismos utilizados para realizar a coleta e publicação dos valores. Um estudo dos resultados obtidos, através da implementação de exemplos e testes de desempenho é feito no Capítulo 6. Finalmente no Capítulo 7 são apresentadas as conclusões tiradas após o desenvolvimento desta dissertação.

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 23 de fevereiro de 2011 Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Caracterização de Faculdades SENAC Análise e Desenvolvimento de Sistemas 24 de fevereiro de 2010 Caracterização de Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento

Leia mais

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

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída 11 1 Introdução Recentes avanços em redes de computadores impulsionaram a busca e o desenvolvimento de meios para facilitar e acelerar o desenvolvimento de aplicações em sistemas distribuídos, tornando

Leia mais

Adaptação Dinâmica desistemas Distribuídos p.1/54

Adaptação Dinâmica desistemas Distribuídos p.1/54 Adaptação Dinâmica de Sistemas Distribuídos Francisco José da Silva e Silva Orientadores: Prof. Dr. Markus Endler Prof. Dr. Fabio Kon Instituto de Matemática e Estatística da Universidade de São Paulo

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Introdução aos Sistemas Distribuídos 1 Sumário Evolução Problema/Contexto O que é um Sistema Distribuído? Vantagens e Desvantagens

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Introdução Instructor's Guide for Colouris et al. SDs de diferentes tipos compartilham importantes propriedades fundamentais e

Leia mais

Programação Distribuída. Metas de um Sistema Distribuído

Programação Distribuída. Metas de um Sistema Distribuído Programação Distribuída Metas de um Sistema Distribuído Programação Distribuída Metas de um Sistema Distribuído Um S.D. deve oferecer: 1. fácil acesso a seus recursos; 2. ocultar onde estão esses recursos,

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Características de Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br 2002-2003 Carlos A. G. Ferraz 2 Tópicos O conceito de Sistemas Distribuídos Infra-estrutura básica Exemplos Vantagens e desvantagens

Leia mais

Arquiteturas. Capítulo 2

Arquiteturas. Capítulo 2 Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas Híbridas Arquiteturas e Middleware Sistemas Distribuídos

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Desafios e Características Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características

Leia mais

Características de Sistemas Distribuídos

Características de Sistemas Distribuídos Tópicos O conceito de Características de Carlos Ferraz cagf@cin.ufpe.br Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito

Leia mais

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Arquitetura Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura

Leia mais

por parte dos usuários dos sistemas de computação se tornou menos necessária e a popularidade desse tipo de linguagem diminuiu. Mais recentemente, a

por parte dos usuários dos sistemas de computação se tornou menos necessária e a popularidade desse tipo de linguagem diminuiu. Mais recentemente, a 1 Introdução Middleware é um termo cunhado no final da década de 60 (Naur e Randell, 1968), que é freqüentemente empregado para designar uma camada de software que oferece uma infra-estrutura para construção

Leia mais

Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana

Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC643 Avaliaçãode Desempenhode Sistemas Computacionais Aula 5 Sarita Mazzini Bruschi

Leia mais

Escalonamento em Sistemas Distribuídos

Escalonamento em Sistemas Distribuídos Escalonamento em Sistemas Distribuídos Cláudia Fernanda O. K. Tavares Roteiro Introdução Informações do nodos Overhead Classificação de Algoritmos Algoritmos de Escalonamento Referências Introdução Heterogeneidade

Leia mais

Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais. Gerência de Processador Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

SSC643 -Avaliação de Desempenho de Sistemas Computacionais Sarita Mazzini Bruschi

SSC643 -Avaliação de Desempenho de Sistemas Computacionais Sarita Mazzini Bruschi Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC643 -Avaliação de Desempenho de Sistemas Computacionais Sarita Mazzini Bruschi Material

Leia mais

Vamos fazer um pequeno experimento

Vamos fazer um pequeno experimento 1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com

Leia mais

Objetos e Componentes Distribuídos: EJB

Objetos e Componentes Distribuídos: EJB : EJB 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 Maranhão Objetivos Nesta

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.

Leia mais

Avanços e Perspectivas do Projeto Integrade na UFMA

Avanços e Perspectivas do Projeto Integrade na UFMA Avanços e Perspectivas do Projeto Integrade na UFMA Francisco José da Silva e Silva Universidade Federal do Maranhão - UFMA Departamento de Informática Laboratório de Sistemas Distribuídos - LSD Agosto

Leia mais

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

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA: Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização

Leia mais

Sistemas Distribuídos. Ricardo Ribeiro dos Santos

Sistemas Distribuídos. Ricardo Ribeiro dos Santos Sistemas Distribuídos Ricardo Ribeiro dos Santos ricrs@ec.ucdb.br Curso de Engenharia de Computação UCDB Julho/2003 Tópicos Características de um SD Modelos arquiteturais para implementação de SD Características

Leia mais

Data Warehouse ETL. Rodrigo Leite Durães.

Data Warehouse ETL. Rodrigo Leite Durães. Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,

Leia mais

Engenharia de Software

Engenharia de Software Arquitetura de Sistemas Distribuídos Cap. 12 Sommerville 8 ed. Introdução: É um software que usa várias máquinas para executar suas tarefas. Praticamente todos os sistemas baseado em grandes computadores

Leia mais

Gerenciamento de Redes. Alan Santos

Gerenciamento de Redes. Alan Santos Gerenciamento de Redes Alan Santos Ciclo de gerenciamento Quando falamos de gerenciamento de redes devemos primeiro estabelecer o que será gerenciado e o que se espera como resultado desse gerenciamento.

Leia mais

SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE

SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE 12/2013 Acadêmico: Rogério Mello Vanti Orientador: Paulo Fernando da Silva Roteiro Introdução Fundamentação teórica Resultados

Leia mais

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Rede de computadores Cliente- servidor. Professor Carlos Muniz Rede de computadores Professor Carlos Muniz Definição Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores.

Leia mais

Gerência de Redes Áreas Carlos Gustavo Araújo da Rocha. Gerência de Redes

Gerência de Redes Áreas Carlos Gustavo Araújo da Rocha. Gerência de Redes Áreas Carlos Gustavo Araújo da Rocha - Áreas Relembrando... Redes de computadores evoluem cada vez mais para um ambiente complexo, com diversas entidades de hardware e software envolvidas no seu funcionamento

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Sistema Operacional. Prof. Leonardo Barreto Campos.   1/30 Sistema Operacional Prof. Leonardo Barreto Campos 1/30 Sumário Introdução Middleware e SO de Rede SO de Rede Processos e Threads Leitura Complementar Bibliografia 2/30 Introdução A tarefa de qualquer sistema

Leia mais

Gerenciamento de Redes

Gerenciamento de Redes Gerenciamento de Redes Áreas Funcionais de Gerenciamento FCAPS Modelo OSI de Gerenciamento Criado pela ISO para situar os cenários de gerenciamento em um quadro estruturado Fault Configuration Account

Leia mais

Introdução aos Sistemas Distribuídos

Introdução aos Sistemas Distribuídos Introdução aos Sistemas Distribuídos Prof. Leonardo Barreto Campos http://sites.google.com/sitew/leonardobcampos 1/29 Sumário Ementa; Bibliografia Calendário Site Introdução Características http://sites.google.com/sitew/leonardobcampos

Leia mais

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas Processamento de Consultas em Bancos de Dados Distribuídos Visão geral do processamento de consultas IN1128/IF694 Bancos de Dados Distribuídos e Móveis Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias

Leia mais

Compressão Adaptativa de Arquivos HTML em Ambientes de Comunicação Sem Fio

Compressão Adaptativa de Arquivos HTML em Ambientes de Comunicação Sem Fio Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM Compressão Adaptativa de Arquivos HTML em Ambientes de Comunicação Sem Fio

Leia mais

Sistemas Distribuidos. Prof. Walter Gima

Sistemas Distribuidos. Prof. Walter Gima Sistemas Distribuidos Prof. Walter Gima 1 Apresentação da Disciplina Disciplina: Sistemas Distribuídos Carga Horária: 20 horas/aula Horário: 9:10 Até 22:00 2 Objetivos Reconhecer os diversos tipos de sistemas

Leia mais

Alcides Pamplona

Alcides Pamplona Alcides Pamplona alcides.pamplona@gmail.com Objetivos Gerais Capacitar o aluno a compreender os paradigmas dos Bancos de Dados Distribuídos, visando sua aplicação na análise e projeto de bancos de dados

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir

Leia mais

PEA5918 Redes Elétricas Inteligentes e Microrredes (Smart Grids e Microgrids)

PEA5918 Redes Elétricas Inteligentes e Microrredes (Smart Grids e Microgrids) PEA5918 Redes Elétricas Inteligentes e Microrredes (Smart Grids e Microgrids) Ferramentas de Interface e Decisão Giovanni Manassero Junior Depto. de Engenharia de Energia e Automação Elétricas Escola Politécnica

Leia mais

Quando Distribuir é bom

Quando Distribuir é bom Quando Distribuir? Se não precisar, não distribua. Problema de natureza descentralizada Rede de manufatura com atividades concorrentes de engenharia em locações remotas; Teleconferência; Automação industrial.

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Universidade Católica de Pelotas Tecnólogo em Análise e Desenvolvimento de Sistemas Disciplina de Qualidade de Software Introdução a Teste de Software Prof. Luthiano Venecian 1 Conceitos Teste de software

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com

Leia mais

3 Sistema Operacional Scriptável

3 Sistema Operacional Scriptável 3 Sistema Operacional Scriptável Sistema operacional scriptável é a nossa proposta de modelo de projeto de sistema operacional com o objetivo de aumentar a sua flexibilidade e facilidade de desenvolvimento,

Leia mais

Conceitos de Sistemas Distribuídos

Conceitos de Sistemas Distribuídos Conceitos de Sistemas Distribuídos Roteiro Definição de Sistemas Distribuídos (SD) Evolução Histórica Exemplos (SD) Modelos (Vantagens x Desvantagens) 2 O que é um Sistema Distribuído? Definição Coleção

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Unitri Prof: Carlos Eduardo de Carvalho Dantas Conceitos Sistema Distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente.

Leia mais

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA 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 Maranhão Objetivos

Leia mais

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1 Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1 Autor Autor Local Cláudio Geyer Instituto de Informática disciplinas: POD e PDP Versão v4 2010-1 Programação com Objetos Distribuídos

Leia mais

6 Conclusão e Trabalhos Futuros

6 Conclusão e Trabalhos Futuros 6 Conclusão e Trabalhos Futuros Sistemas multi-agentes abertos são normalmente compostos por agentes heterogêneos, desenvolvidos por equipes diferentes e que usualmente possuem interesses individuais e

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Tecnologia em Sistemas para Internet Aula 02 Introdução à Introdução A computação entre as décadas de 40 e 80 tinha um custo elevado; Computadores imensos e independentes; Anos 80 dois avanços mudam esse

Leia mais

1 Introdução. 1.1 Motivação

1 Introdução. 1.1 Motivação 12 1 Introdução 1.1 Motivação O investimento em infraestrutura computacional para suportar picos de processamento de curta duração ou sazonais pode gerar desperdícios financeiros, em razão de na maior

Leia mais

7.1 Trabalhos Relacionados

7.1 Trabalhos Relacionados 7 Conclusões O desenvolvimento de aplicações adaptáveis traz novos desafios em relação ao desenvolvimento de software convencional. Em parte, isso está relacionado às diferentes características das diversas

Leia mais

Processo de gerenciamento da disponibilidade

Processo de gerenciamento da disponibilidade Processo de gerenciamento da disponibilidade Devido ao ritmo de crescimento da tecnologia, as organizações têm dificuldade em manter um ambiente padronizado no que diz respeito a hardware e software necessários

Leia mais

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software AJA Software www.ajasoftware.wordpress.com De Olho na Pista Documento de Arquitetura Confidencial De Olho na Pista, 2013 1 Sumário 1. Introdução 3 2. Metas e Restrições da Arquitetura 3 3. Padrão da Arquitetura

Leia mais

Sistemas de Informação e Decisão. Douglas Farias Cordeiro

Sistemas de Informação e Decisão. Douglas Farias Cordeiro Sistemas de Informação e Decisão Douglas Farias Cordeiro Decisão Tomamos decisões a todo momento! O que é uma decisão? Uma decisão consiste na escolha de um modo de agir, entre diversas alternativas possíveis,

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS Tecnologia em Análise e Desenvolvimento de Sistemas 5ª. Série Programação Distribuída A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido

Leia mais

Avaliação de Desempenho de Sistemas Discretos

Avaliação de Desempenho de Sistemas Discretos Avaliação de Desempenho de Sistemas Discretos Medição Professor: Reinaldo Gomes reinaldo@computacao.ufcg.edu.br Medição 2 A técnica de medição se baseia em coletar diretamente do sistema as métricas de

Leia mais

Apresentação Carlos Ferraz

Apresentação Carlos Ferraz INFRA-ESTRUTURA DE SOFTWARE Apresentação Carlos Ferraz Para que serve? Para que serve? Abstrair do hardware Duro, difícil! Para que serve? Abstrair do hardware Duro, difícil! Abstração

Leia mais

Considerações Iniciais

Considerações Iniciais SDN Software Defined Network: OpenFlow Adriano César Ribeiro (estagiário docente) adrianoribeiro@acmesecurity.org Adriano Mauro Cansian adriano@acmesecurity.org Tópicos em Sistemas de Computação Considerações

Leia mais

3.1 Reflexão Computacional

3.1 Reflexão Computacional 3 Adaptação Dinâmica Adaptação dinâmica é a capacidade de um sistema ser modificado durante sua execução para se adequar a novas necessidades. Recentemente, esse tem se tornado um tópico de pesquisa proeminente

Leia mais

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

Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores Fundamentos de Sistemas Operacionais de Arquitetura Aberta CST em Redes de Computadores Introdução Computadores Computadores são compostos, basicamente, de CPU, memória e dispositivos de entrada e saída

Leia mais

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião Processos Sistemas operacionais modernos criam vários processadores virtuais, cada um para executar um programa. Para monitorar

Leia mais

Designing Data Intensive Applications

Designing Data Intensive Applications Designing Data Intensive Applications Capítulo 1 Carmem Hara Aplicações Atuais Dados Processamento Problemas Volume Complexidade Velocidade de atualização Tecnologias SGBD: armazenamento Cache: resultados

Leia mais

1 Introdução Introdução

1 Introdução Introdução 1 Introdução 14 1 Introdução À medida que surgem dispositivos portáteis mais leves, com mais recursos e melhor capacidade de comunicação e processamento, e dada a crescente ubiqüidade de redes sem fio,

Leia mais

Caracterização de Sistemas Distribuídos

Caracterização de Sistemas Distribuídos Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes

Leia mais

Introdução. capítulo

Introdução. capítulo Introdução capítulo 1 Definição de de um sistema distribuído Um sistema distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente Definição

Leia mais

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global

Gerência de recursos - escalonamento global. GERÊNCIA DE RECURSOS Escalonamento Global. Gerência de recursos - escalonamento global GERÊNCIA DE RECURSOS Escalonamento Global Além de prover comunicação, recursos de acesso a rede, memória compartilhada, sistemas de arquivos distribuídos, um sistema operacional distribuído tem que poder

Leia mais

Nuvem e Virtualização Redes Programáveis

Nuvem e Virtualização Redes Programáveis Nuvem e Virtualização Redes Programáveis Visão Geral da Nuvem A computação em nuvem envolve muitos computadores conectados em uma rede, possibilitando que eles sejam fisicamente localizados em qualquer

Leia mais

Gerência de Redes de Computadores RMON. Prof. Alex Furtunato

Gerência de Redes de Computadores RMON. Prof. Alex Furtunato Gerência de Redes de Computadores RMON Prof. Alex Furtunato alex.furtunato@ifrn.edu.br Limitações da MIB-II O gerenciamento é realizado em cada dispositivos individualmente Os dispositivos gerenciados

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 - Arquitetura Em sistemas distribuídos a meta é separar aplicações das plataformas subjacentes,

Leia mais

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO

CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO CONCEITOS DE LINGUAGENS DE PROGRAMAÇÃO ROTEIRO 1. INTRODUÇÃO 2. LINGUAGENS IMPERATIVAS 1. CONCEITO 2. PARADIGMA IMPERATIVO 3. ORIGENS 4. MODELO COMPUTACIONAL 1. ARQUITETURA DE VON NEUMANN 2. CARACTERISTICAS

Leia mais

Quando Distribuir é bom

Quando Distribuir é bom Quando Distribuir? Se não precisar, não distribua. Problema de natureza descentralizada Rede de manufatura com atividades concorrentes de engenharia em locações remotas; Teleconferência; Automação industrial.

Leia mais

Sistemas Operacionais Distribuídos

Sistemas Operacionais Distribuídos Sistemas Operacionais Distribuídos Introdução O uso de redes locais e da Internet está amplamente difundido mesmo para uso doméstico. Mas para que tais recursos físicos sejam aproveitados da melhor forma

Leia mais

InGriDE: Um Ambiente Integrado de Desenvolvimento para Computação em Grade

InGriDE: Um Ambiente Integrado de Desenvolvimento para Computação em Grade InGriDE: Um Ambiente Integrado de Desenvolvimento para Computação em Grade Eduardo Guerra eguerra@ime.usp.br Orientador: Prof. Dr. Alfredo Goldman Proposta de dissertação apresentada ao IME-USP para qualificação

Leia mais

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles. Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens

Leia mais

Visualização Distribuída utilizando Agrupamentos de PCs 10

Visualização Distribuída utilizando Agrupamentos de PCs 10 1 Introdução Sistemas de visualização vêm sendo utilizados em diversas áreas da indústria e do campo científico. Dentre essas áreas, CAD (Computer Aided Design), visualização científica e realidade virtual

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Tecnologia em Sistemas para Internet Aula 06 - Arquiteturas de Parte 03 Objetivos Relacionar as diversas arquiteturas apresentadas com o comportamento do Middleware; Entender os mecanismos de autogerenciamento

Leia mais

Características de Sistemas de Arquivos Distribuídos Serviços de nomes e diretórios

Características de Sistemas de Arquivos Distribuídos Serviços de nomes e diretórios Características de Sistemas de Arquivos Distribuídos Serviços de nomes e diretórios Prof. Dr. Norian Marranghello Grupo 13 Guilherme Eberhart Jorge Marcelo Lima Macedo 1 - Sistema de arquivos distribuídos

Leia mais

Introdução aos Sistemas Distribuídos

Introdução aos Sistemas Distribuídos Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2005/2006 O que é um sistema distribuído? O que é um sistema distribuído? Sistema Distribuído Conjunto

Leia mais

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

Introdução a Sistemas Operacionais. Adão de Melo Neto Introdução a Sistemas Operacionais Adão de Melo Neto 41 Definição de SO Sistema Operacional É um conjunto de rotinas (programa) executado pelo processador que controla o funcionamento do computador como

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Thaís Vasconcelos Batista UFRN DIMAp http://www.dimap.ufrn.br/~thais thais@ufrnet.br Programa do Curso INTRODUÇÃO Conceitos Básicos Sistemas em Rede X Sistemas Distribuídos Necessidade

Leia mais

Sistemas Distribuídos. Edy Hayashida

Sistemas Distribuídos. Edy Hayashida Sistemas Distribuídos Edy Hayashida E-mail: edy.hayashida@uol.com.br Evolução 1960s 1980s Processamento de dados 1990s Sistemas de Informação Futuro Tecnologia da Informação Tecnologia dos Negócios 2 30

Leia mais

Programação Paralela e Distribuída

Programação Paralela e Distribuída INE 5645 Programação Paralela e Distribuída Professor: Lau Cheuk Lung (turma A) INE UFSC lau.lung@inf.ufsc.br Conteúdo Programático 1. Introdução 2. Programação Paralela 3. Controle de Concorrência 4.

Leia mais

Avaliação de Desempenho de Sistemas Discretos

Avaliação de Desempenho de Sistemas Discretos Avaliação de Desempenho de Sistemas Discretos Parte IX: Professor: Reinaldo Gomes reinaldo@computacao.ufcg.edu.br 2 A técnica de medição se baseia em coletar diretamente do sistema as métricas de desempenho

Leia mais

Barramento. Prof. Leonardo Barreto Campos 1

Barramento. Prof. Leonardo Barreto Campos 1 Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos UERN Sistemas Distribuídos Prof. André Gustavo andregustavo@uern.br Sistemas Distribuídos Ementa: Conceitos relacionados com Sistemas Distribuídos. Mecanismos dos Sistemas Operacionais para suporte a distribuição.

Leia mais

3 Decisões de Localização de Instalações

3 Decisões de Localização de Instalações 3 Decisões de Localização de Instalações Historicamente, o estudo contemporâneo dos problemas de localização foi iniciado por Alfred Weber, que estudou a localização de uma fábrica com o objetivo de minimizar

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de Memória Memória virtual Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas apresentações dos prof. Tiago Ferreto e Alexandra Aguiar

Leia mais

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas Programação de Sistemas Distribuídos e Concorrência Aula 2 Prof: Carlos Eduardo de Carvalho Dantas (carloseduardoxpto@gmail.com) http://carloseduardoxp.wordpress.com O medo é o pai da moralidade Friedrich

Leia mais

informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare).

informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare). 1 Introdução 1.1 Contextualização Recentemente, tem-se percebido um movimento de integração de comunidades físicas e comunidades virtuais. As pessoas utilizam cada vez mais a Internet para se comunicar

Leia mais

Uma Proposta para Migração de Páginas Linux

Uma Proposta para Migração de Páginas Linux Uma Proposta para Migração de Páginas Linux 1 - Introdução 2 - Gerencia de Memória em Sistemas Operacionais com Suporte a NUMA 2.1 O Gerente de Memória do Linux 2.2 Estratégias para Migração de Páginas

Leia mais

Redes P2P Gnutella e Simuladores

Redes P2P Gnutella e Simuladores Redes P2P Gnutella e Simuladores Definições de P2P P2P é o compartilhamento de recursos e serviços pela troca direta entre sistemas. WG P2P Intel, 2001 P2P é uma classe de aplicações que tira proveito

Leia mais

Qualidade e Certificação em Software. Prof. Cesar 1

Qualidade e Certificação em Software. Prof. Cesar 1 Qualidade e Certificação em Software Prof. Cesar 1 SUMÁRIO INTRODUÇÃO MÉTRICAS DE FUTURO DEFINIÇÕES TÓPICOS PRÁTICOS EM METODOLOGIAS E ESTUDO DE CASOS Prof. Cesar 2 Propósito Apresentar uma perspectiva

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 Arquiteturas Capítulo 2 Sistemas Distribuídos ORGANIZAÇÃO + INTERAÇÃO SOFTWARE ARQUITETURAS DE SISTEMAS ARQUITETURAS DE SOFTWARE + MÁQUINA REAL

Leia mais

Computação Distribuída

Computação Distribuída Aula 1 Introdução aos Sistemas Distribuídos Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador Processamento Seqüencial Leitoras de cartões

Leia mais

Manutenção Leitura: Sommerville; Pressman

Manutenção Leitura: Sommerville; Pressman Manutenção Leitura: Sommerville; Pressman Auxiliadora Freire Fonte: Engenharia de Software 6º - 8º Edição / Ian Sommerville 2000-2007 Slide 1 Manutenção de software É modificar um programa depois que ele

Leia mais