RCAAP Repository

Desempenho e disponibilidade em sistemas distribuídos em larga escala

A Ciência da Computação tem evoluído e alcançado diversas áreas do conhecimento tais como a biologia, a geografia, a astronomia, entre outras. Os Sistemas de Fluxo de Trabalho Científico foram criados com o objetivo de ajudar os pesquisadores dessas áreas nos seus processos de análise de dados. Esses sistemas permitem aos cientistas criar e organizar tarefas relativas aos seus experimentos; executar essas tarefas eficientemente e transparentemente em um ambiente distribuído; assim como monitorar toda a execução.Os desafios para o projeto e a implementação desses sistemas são muitos, principalmente devido às características das aplicações que geram os fluxos de trabalho científicos. Elas são consideradas aplicações intensivas em dados e processamento as quais criam uma enorme quantidade de dados durante a execução e executam por longos períodos. Desta forma, alguns dos desafios para projetar os sistemas de fluxo de trabalho científico são: armazenar, pesquisar e gerenciar grandes bases de dados distribuídas, gerenciar os dados de entrada e de saída, escalonar e monitorar a execução desses fluxos de trabalho em ambientes distribuídos, assim como tratar a ocorrência de falhas tanto de software quanto de hardware que podem acontecer durante a execução.Este trabalho investiga o uso de mecanismos que, de forma transparente, aumentem a disponibilidade de sistemas de fluxo de trabalho científico, de tal forma que o trabalho a ser refeito após uma falha no sistema seja mínimo. Esses mecanismos utilizam como base características próprias desses sistemas para a construção de um sistema de armazenamento dos dados necessários para a recuperação das aplicações após uma falha. Esse sistema provê um armazenamento assíncrono dos dados de tal forma que não há necessidade do travamento da execução das aplicações para que ele aconteça. Os resultados experimentais mostram que o sistema é capaz escalar a grandes bases de dados, e que a nossa abordagem introduz muito pouco overhead na execução das aplicações.

Year

2019

Creators

Bruno Rocha Coutinho

Estratégias para aumentar a confiabilidade em redes sobrepostas com nós egoístas

Recentemente, o surgimento de um novo paradigma de redes tornou possível o desenvolvimento de aplicações nos mais variados domínios. Trata-se das Redes de Roteamento Sobrepostas. As redes de roteamento sobrepostas utilizam a atual infra-estrutura da Internet para prover suporte à aplicações tão diversas quanto garantia de qualidade serviço (QoS), multicast, busca, etc. O sucesso de tais sistemas é baseado na premissa de que todos os participantes da rede estão dispostos a cooperar mutuamente, e disponibilizar seus próprios recursos para seus pares. Entretanto, na prática torna-se provável que os nós agirão racionalmente e de uma forma egoísta. Por racional, entende-se que os nós nunca tomarão ações que possam impactar negativamente seus próprios interesses, e por egoísta, implica-se que os nós buscarão satisfazer apenas seus objetivos ao utilizar a rede, sem se importar co o bem global. Dessa maneira, os nós tenderiam a ignorar qualquer protocolo o ou política pré-definidos que não levassem seus objetivos individuais em consideração. Esses nós egoístas são compelidos a explorar ao máximo os recursos da rede, ao mesmo tempo, prover a menor quantidade possível de seus próprios recursos em troca. Mais ainda, os nós podem ser tentados a negar completamente o acesso a seus recursos se não houver nenhum incentivo contra essa estratégia, já que isso representaria um custo zero de participação na rede. Claramente, tal comportamento representa um impacto na confiabilidade do serviço provido pela rede sobreposta, já que haverá menos participantes contribuindo em relação àqueles que utilzam os recursos. De fato, se muitos nós decidirem adotar esse comportamento oportunista (free-rider behavior), toda a rede pode eventualmente entrar em colapso. Nessa dissertação, buscamos abordar o problema do aumento da confiabilidade em redes sobrepostas através da detecção e exclusão de nós oportunistas. Introduzimos nessas redes o conceito de reputação, que é uma medida da confiabilidade e justiça de um nó em relação a seus pares. Nós com altas reputações tem uma grande chance de terem as suas requisições atendidas na rede, e podem inclusive ter essas requisições priorizadas sobre aquelas de nós com reputações mais baixas. Por outro lado, nós com baixas reputações possuem uma alta probabilidade de terem seus pedidos negados, já que poucos membros da rede sobreposta estariam dispostos a prover serviços a um nó que provavelmente não retribuiria no futuro o uso dos recursos dispensados. Dessa maneira, torna-se interessante para todos os nós, mesmo os egoístas, alcançar e manter a melhor reputação possível. O mecanismo aqui proposto explora a natureza intrinsicamente egoísta e racional dos nós para direcionar seu comportamento à confiabilidade, condição necessária para se obter uma alta reputação na rede. Conduzimos nosso estudo modelando a formação da rede como um jogo não-cooperativo, no qual os jogadores estabelecem conexões com seus vizinhos buscando seus próprios benefícios, isto é, escolhendo os vizinhos com a menor latência e a mais alta reputação possível. O resultado desse jogo é a topologia da rede dada pelo Equilíbrio de Nash. O equilíbrio de Nash é uma noção fundamental na teoria dos jogos, e é caracterizado pelo conjunto de estratégias adotadas por cada jogador tal que não há nenhum incentivo para alterar a estratégia adotada enquanto todos os outros jogadores mantém suas estratégias. Nosso objetivo ao modelar o mecanismo é definir as regras básicas para este jogo não-cooperativo, de forma que a confiabilidade é aumentada e os nós oportunistas são virtualmente excluídos no equilíbrio de Nash. Nosso mecanismo admite uma implementação distribuida, descentralizada e assíncrona. Demonstramos através de uma série de experimentos as propriedades das topologias obtidas e a eficiência na exclusão dos nós oportunistas, e mostramos como a utilização de tal mecanismo pode aumentar significamente a justiça nas redes sobrepostas.

Year

2019

Creators

Bruno Gusmao Rocha

Um sistema de monitoramento remoto de pacientes usando rede sem fio

Este trabalho implementa um sistema de monitoramento remoto de pacientes através da comunicação pela Internet utilizando o protocolo TCP/IP e uma rede sem fio. A aplicação principal do trabalho é voltada para a área biomédica onde o paciente pode ter alguns dados fisiológicos monitorados 24 horas por dia ou enviá-los para o seu médico em caso de emergência.Para a implementação do trabalho foi utilizado um circuito de supervisão de eletrocardiograma (ECG) que teve de ser adaptado para fazer a comunicação por rede sem fio através de um driver de dispositivo (Device Driver). Duas aplicações que executam em cima da pilha TCP/IP foram adaptadas e testadas para funcionamento com fins de monitoramento de pacientes de forma diferenciada. A implementação dos trabalhos considerou aspectos tais como custo, gerenciamento de energia e tolerância a falhas, fatoresindispensáveis em um equipamento de monitoramento remoto na área médica. Os grandes desafios do projeto foram a implementação do driver do dispositivo de comunicação sem fio e a adaptação do circuito ECG para comunicação com a interface que implementa a rede sem fio. A grandes restrições de projeto foram a elaboração do software considerando os escassos recursos de um microcontrolador de oito bits e também a adaptação do projeto a partir de um circuito já existente.Durante o desenvolvimento dos trabalhos para a implementação do sistema de comunicação sem fio, foi identificado a necessidade de alteração do hardware inicial. Devido a limitada disponibilidade de recursos de hardware, algumas funcionalidades originais da placa tiveram de ser substituídas em troca do funcionamento correto do sistema de comunicação. Como solução para este problema é proposto um novo projeto que adiciona pouca modificação no circuito original e mantém a proposta de baixo custo. Aplicações práticas do projeto foram testadas e comprovaram que ele pode ser utilizado não somente para aplicações médicas, mas também em outras que necessitem de comunicação utilizando rede sem fio.

Year

2019

Creators

Marco Antonio Santuci Carvalho

Detecção de intrusos por observação em redes de sensores sem fio

Este trabalho propõe um sistema detecção de intrusos para Redes de Sensores Sem Fio (RSSF) baseado nas informações disponíveis na estação base. RSSF são redes ad hoc compostas por diversos nós sensores com recursos limitados, podendo ser usadas para monitorar áreas de interesse. Sua aplicação varia desde reconhecimento de campos de batalha até proteção ambiental. Em algumas dessas aplicações a rede certamente será atacada, e um sistema de detecção de intrusos precisará ser implantado para detectar a presença de intrusos. Dadas suas características específicas, as RSSF precisam de um sistema de detecção de intrusos próprio. Entretanto, seu projeto e implementação são desafiadores devido às restrições de recursos. O sistema proposto não requer alterações na rede que será analisada. Propomos um modelo de informação para detecção de intrusão condizente com as RSSF e uma arquitetura extensível, que pode ser adaptada para diferentes modelos de comportamento e diferentes estratégias de detecção. Nos experimentos realizados, a taxa de detecção ficou acima de 80% e a quantidade de falsos positivos ficou em 405 para 4000 eventos analisados.

Year

2019

Creators

Fernando Augusto Teixeira

Algoritmos de Newton-Krylov precondicionados para métodos de pontos interiores

Métodos de pontos interiores têm sido amplamente usados na solução de problemas de programação linear de grande porte. A cada iteração destes métodos é necessário resolver um sistema de equações lineares para calcular a direção de Newton. Esta é a tarefa que demanda a maior parte do tempo de processamento e deve ser feita de forma eficiente. A abordagem mais utilizada em métodos de pontos interiores implementa a fatoração de Cholesky, no entanto, esta fatoração pode ser densa em algumas classes de problemas. Nestes casos, o uso de métodos iterativos torna-se mais interessante, desde que sejam aplicados com precondicionadores eficientes. Devido a dificuldade de encontrar estratégias de precondicionamento que apresentam bons resultados durante todas as iterações de pontos interiores estamos propondo uma abordagem iterativa híbrida para resolver estes sistemas. O método do gradiente conjugado é precondicionado nas iterações iniciais (fase I) usando um tipo de fatoração incompleta de Cholesky na qual o preenchimento pode ser controlado em termos da memória disponível e nas últimas iterações (fase II) usando um precondicionador baseado na fatoração LU que apresenta melhores resultados nas proximidades da solução ótima. A troca de fases ocorre quando a fatoração controlada de Cholesky começa a perder eficiência tornando lenta a convergência pelo método do gradiente conjugado. Experimentos numéricos revelam que a abordagem híbrida apresenta desempenho superior quando comparada a abordagem direta na solução de algumas classes de problemas de programação linear de grande porte.

Year

2019

Creators

Silvana Bocanegra

Planejamento de topologia virtual com combinação de tráfegos em redes óticas multiplexadas por divisão de comprimento de onda

Neste trabalho, apresenta-se um estudo profundo sobre o "Traffic Grooming" em redes óticas WDM independentemente da topologia da rede física subjacente. Uma "nova" formulação natural para o problema, obtida a partir de uma representação estendida para a topologia de rede, é proposta e avaliada. Utiliza-se também de uma representação em camadas para a topologia de rede para se obter uma formulação simplificada que serve de base para o desenvolvimento de vários métodos de resolução do problema. Além da formalização de diversos limites inferiores baseados no uso da relaxação lagrangeana e da realização de um estudo sobre a estrutura facial do poliedro associado ao conjunto de soluções do problema, diversos métodos de resolução baseados nas abordagens lagrangeana e poliédrica foram implementados e avaliados. Os resultados dos experimentos computacionais apontam para superioridade das abordagens lagrangeanas e, em especial, da heurística lagrangeana proposta para resolução do problema. Além disso, realizou-se uma investigação preliminar sobre a adequação dos métodos desenvolvidos na resolução de uma versão do problema em que se considere a reconfiguração da rede ao longo de um horizonte de tempo limitado e de outra, em que apenas alguns dos elementos da rede são capazes de realizar "grooming".

Year

2019

Creators

Zenilton Kleber Goncalves do Patrocinio Junior

Observação dinâmica cooperativa

Nos dias atuais, devido ao aumento dos conflitos internacionais e da violência urbana, é cada vez mais comum a utilização de sistemas de segurança projetados como uma rede de câmeras com o objetivo de monitorar ou controlar o fluxo de pessoas ou veículos. Nesta tese aborda-se o problema da observação do movimento de objetos de interesse em um espaço monitorado por sensores visuais. Este problema é aqui denominado de "Observação Dinâmica Cooperativa" O objetivo principal é a obtenção da informação visual para o posicionamento das câmeras visando a observação da trajetória de objetos de interesse que se movimentam no ambiente monitorado. Nesse contexto, a observação compreende a identificação e o rastreamento dos alvos e suas trajetórias; a dinâmica refere-se à capacidade de mobilidade das câmeras, provida a estas por meio de robôs móveis; e a cooperação caracteriza-se pelo posicionamento das câmeras promovido pelo planejamento e troca de informações entre estas por meio de um sistema de comunicação em rede.É proposta uma metodologia cuja idéia principal é a identificação dos objetos e de suas trajetórias, levando ao conseqüente posicionamento das câmeras por meio de um esquema de planejamento de posição e cooperação entre os membros do sistema. A metodologia está dividida em três módulos principais: o rastreamento de alvos, o planejamento de posição e o reconhecimento e associação entre informações visuais obtidas por diferentes câmeras. O rastreamento é realizado por meio de filtro de partículas distribuído que associa, em tempo real, a informação visual da cor dos alvos com os seus movimentos. O planejamento de posição das câmeras é executado por meio da avaliação de uma função de observação sujeita a imposição de restrições visuais e do ambiente. O reconhecimento e associação entre objetos e trajetórias observados por câmeras distintas é conduzido por meio de uma adaptação do Algoritmo Expectativa-Maximização. A metodologia é avaliada sob o aspecto tecnológico e de cenário. Um conjunto de experimentos reais é sistematicamente realizado, garantindo robustez suficiente para a adaptação e implementação da metodologia em sistemas de segurança com visão distribuída.

Year

2019

Creators

Jose Luiz de Souza Pio

Análise e modelagem do comportamento de SPAMMERS e dos usuários legítimos em redes de email

E-mail é um meio de comunicação cada vez mais importante e largamente utilizado para interação entre indivíduos e/ou organizações, facilitando o contato entre indivíduos e possibilitando melhoria da produtividade nas organizações. Entretanto, o uso de ferramentas automáticas para envio de e-mails não autorizados, conhecidos como spam, vem, dia-a-dia, enfraquecendo a atratividade deste meio de comunicação. Até hoje, a maioria da atenção dedicada à detecção de spam focalizou no corpo do e-mail ou nos endereços ou domínios associados aos remetentes de spam. Neste trabalho, nós propusemos uma forma nova de tratar o problema causado por spam. Nosso objetivo é desenvolver uma compreensão profunda das características fundamentais do tráfego spam, do comportamento dos spammers e dos relacionamentos entre spammers e usuários legítimos em redes de e-mail. Esperamos que tal conhecimento possa ser usado, no futuro, como base para projetos de técnicas mais eficazes para detectar e combater spam. Primeiro, nós apresentamos uma caracterização extensiva de uma carga e-mails contendo spam e e-mails legítimos, que visa identificar e quantificar as características fundamentais que distinguem o tráfego spam do de e-mails legítimos, avaliando o impacto do tráfego spam no agregado e fornecendo dados para criar geradores de tráfegos sintéticos. Em seguida, nós apresentamos uma análise teórica de um modelo de redes de e-mail baseado em teoria dos grafos, mostrando que existem diferenças fundamentais entre as relações desenvolvidas por spammers e seus pares e as relações desenvolvidas por remetentes e destinatários de e-mails legítimos. Em terceiro lugar, nós usamos as propriedades reveladas acima, do comportamento dos spammers e dos usuários legítimos, a fim de propor dois novos algoritmos para detecção de spam. Os algoritmos propostos utilizam as propriedades estruturais dos relacionamentos entre remetentes e destinatários de e-mails como base para a detecção de spam. Nossos algoritmos se propõem a corrigir classificações errôneas de um algoritmo auxiliar usado para detecção de spam. A precisão dessas classificações foi avaliada utilizando duas carga de dados, uma real e outra sintética. Finalmente, como a maioria do tráfego de e-mails, representada pelo tráfego do spam, exibe relações oportunísticas ao invés de relações sociais comuns, nós usamos este tráfego para quantificar as diferenças entre relações sociais e anti-sociais (representadas aqui pelo comportamento dos spammers) em redes de e-mail. Embora nenhuma métrica de tráfego ou comportamental estudada possa diferenciar inequivocamente e-mails legítimos de spam, a combinação de diversas delas mostra um retrato claro do processo por meio do qual os e-mails legítimos e spam são criados. Por esta razão, supomos, o conhecimento gerado poderá ser usado para aumentar a eficácia, como nos algoritmos propostos, dos mecanismos de detecção de e-mail ilegítimos, assim como para melhor compreender o comportamento malicioso em redes de comunicações.

Year

2019

Creators

Luiz Henique Gomes

Gerência de energia em agrupamentos de servidores na Internet

A maioria dos grandes servidores disponíveis atualmente na Internet são realmente sistemas distribuídos para melhoria de escalabilidade, entretanto tais servidores consomem uma quantidade de energia significativa (que deve incluir também a infra-estrutura de resfriamento). Esse custo pode ser reduzido pelo ajuste do número de servidores ligados baseado na capacidade de processamento necessária para servir a carga observada ao longo do tempo, por exemplo, reduzindo o número de servidores ligados quando a carga decresce. Neste trabalho apresentamos uma infra-estrutura transparente para permitir tal gerência de energia. Aplicamos essa infra-estrutura em três serviços de Internet diferentes: um servidor \emph{Web} de conteúdo estático, uma máquina de busca e um servidor de comércio eletrônico multi-camadas. Nossos resultados mostram que o consumo de energia pode ser reduzido em até 30%, em alguns casos, com um pequeno efeito sobre o desempenho percebido pelo usuário.

Year

2019

Creators

Rodrigo Pereira Braga

Proposta de um novo algoritmo de roteamento para redes de sensores sem fio e estudo de uma técnica para prover QOS nestas redes

Este trabalho apresenta duas contribuições principais. A primeira propõe um novo e eficiente algoritmo de roteamento para Redes de Sensores Sem Fio chamado Inter Cluster Routing Algorithm (ICA) baseado no algoritmo LEACH (Low-Energy Adaptive Clustering Hierarchy). O ICA foi desenvolvido para redes de sensores que coletam informações periodicamente durante o tempo de vida da rede. Para estes ambientes a longevidade da rede é normalmente um fator importante. Os resultados de simulação mostram que o ICA, quando comparado ao LEACH e ao LEACH-C, apresenta não somente um tempo maior de vida da rede como também um maior número de pacotes transmitidos e um consumo mais homogêneo de energia na rede. A segunda contribuição deste trabalho trata do estudo de uma técnica para melhorar os parâmetros de QoS da rede para os pacotes prioritários. Os resultados das simulações mostram que utilizando esta técnica reduzimos a perda de pacotes prioritários em até 68,5%. Este resultado é apenas 14,36% pior do que o resultado ótimo. Demonstra-se ainda, através de experimentos com um tráfego heterogêneo, que a técnica apresentada é capaz de tratar cada pacote de acordo com seus requisitos específicos de QoS.

Year

2019

Creators

Eduardo Habib Bechelane Maia

Um protocolo de roteamento para redes sem fio adaptável por regras de aplicação

A troca de informação entre camadas da pilha de comunicações para otimizar o desempenho da rede tem se mostrado uma necessidade em redes de sensores sem fio (RSSF). Tal característica se faz necessária para que a rede possua um serviço confiável e eficiente mesmo diante das restrições severas de recursos encontrados nos elementos de rede que compõem uma RSSF. A otimização impõe um grande fardo ao desenvolvedor, que deve conhecer a fundo o funcionamento de cadaprotocolo, uma vez que uma otimização mal feita pode piorar o desempenho da rede ou mesmo impedir a sua operação. Esta dissertação apresenta um protocolo de roteamento pró-ativo, denominado PROC (Proactive ROuting with Coordination). O PROC é otimizado para RSSF de disseminação contínua de dados, que são redes onde os nós sensores enviam dados para o ponto de acesso em intervalos regulares de tempo. Pelo nosso conhecimento, o PROC é o primeiro protocolo de roteamento para redes de disseminação contínua de dados que provê mecanismos simples de interação com a aplicação tendo em vista a otimização do roteamento. Esta interação é feita pelas regras de aplicação, que permitem que o PROC se adapte em tempo de execução a mudanças no ambiente. As rotas são criadas em um processo de duas fases. O PROC determina na primeira fase quais nós irão repassar dados a partir das informações fornecidas pela aplicação via regras de aplicação. A segunda fase garante que todos os nós da rede possuem rotas. Com isso, o PROC permite que programadores que não conhecem o funcionamento do protocolo possam otimizar oprocesso de criação de rotas. O protocolo ainda implementa mecanismos simples de tolerância a falhas que aumentam a sua resiliência frente a falhas silenciosas. Verificamos utilizando simulações que o PROC aumenta em até 12% o tempo de vida da rede em comparação aos protocolos de roteamento EAD e ao TOSB (uma versão simplicada do protocolo TinyOS Beaconing). O PROC também se recupera mais rapidamente de falhas de nós devido ao uso de algoritmos de tolerância a falhas. O PROC é escalável, pois a quantidade de mensagens enviadas por nó requerida para a construção de rotas independe de densidade ou tamanho da rede. Além disso, o protocolo proposto requer pouca memória, pois armazena umaquantidade de informação proporcional ao número de nós que são alcançados diretamente. Por fim, a implementação do protocolo na plataforma Mica2, que é a plataforma mais utilizada na pesquisa em RSSF, encontra-se disponível para download.

Year

2019

Creators

Daniel Fernandes Macedo

Projeto integrado de controle de densidade e roteamento em redes de sensores sem fio

Redes de sensores sem fio (RSSFs) possuem recursos bastante limitados. A maneira mais comum de se projetar funções da rede tem sido considerá-las isoladamente ? uma estratégia que pode não garantir a correta e eficiente operação das RSSFs. Por essa razão, nesta dissertação propomos o uso do projeto integrado em RSSFs. Consideramos duas funções muito importantes de RSSFs ? controle de densidade e roteamento ? e apresentamos duas abordagens diferentes para integração das mesmas. O projeto integrado dessas funções permite reduzir o impacto do controle de densidade sobre o roteamento, o qual ocorre devido às mudanças na topologia provocadas pela alternância do conjunto de nós sensores em atividade. Em particular, propomos duas soluções, chamadas RDC-Sync e RDC-Integrated, que integram um algoritmo de controle de densidade chamado OGDC e um de roteamento em árvore chamado EF-Tree. Para avaliá-las, conduzimos experimentos de simulação cujos resultados mostram os benefícios da aplicação do projeto integrado, em especial quando controle de densidade e roteamento são reunidos em uma única solução. Algumas das vantagens do projeto integrado são: redução do tráfego na rede, redução do atraso, economia de energia, menor perda de dados e melhor cobertura do ponto de vista do nó sorvedouro. Sendo assim, a adoção de um projeto integrado em RSSFs é um passo importante para se obter uma melhor qualidade de serviço para as aplicações nessas redes.

Year

2019

Creators

Isabela Guimaraes Siqueira

Um arcabouço para otimizações em máquinas de estado abstratas

Máquinas de Estado Abstratas oferecem um mecanismo poderoso e de fácil utilização para a especificação formal da semântica de algoritmos. O arcabouço klar incrementa esta metodologia com a capacidade de otimização, permitindo que especificações ASM sejam traduzidas em programas eficientes, característica importante de programas a serem utilizados comercialmente. Mais ainda, as otimizações neste arcabouço são módulos independentes que podemser adicionados com o arcabouço em pleno funcionamento, de modo que desenvolvedores independentes possam desenvolver suas otimizações sem se preocupar com detalhes internos doklar. Finalmente, o grande conjunto de construções da linguagem utilizada pelo klar permite o seu uso como alvo por compiladores de linguagens ASM.

Year

2019

Creators

Kristian Magnani dos Santos

Arcabouço de compilação para linguagens de especificação ASM

O arcabouço ACOA é um arcabouço para implementar compiladores. O ACOA gera automaticamente o analisador léxico, o sintático e as classes dos nodos da árvore de sintaxe abstrata (AST) e usa a programação orientada por aspectos para a implementação da análise semântica e geração de código. O objetivo do ACOA é ser de fácil utilização para a construção de compiladores e permitir fáceis alterações nos compiladores implementados pelo arcabouço.

Year

2019

Creators

Mario Celso Candian Lobato

Uma arquitetura para monitoramento e medição de desempenho para ambientes virtuais

Ambientes virtuais têm experimentado um renovado interesse por vários motivos, tais como isolamento de aplicações, consolidação de servidores e compartilhamento de recursos. A implantação de um servidor virtual permite a consolidação múltiplos sistemas operacionais e aplicações em uma única plataforma de hardware, reduzindo o número de servidores de uma empresa, aumentando a utilização de recursos, simplificando a organização de infraestrutura, reduzindo custos de gerenciamento e permitindo a criação de um ambiente capaz de se adaptar a mudanças na carga das aplicações.Entretanto, antes migrar aplicações de servidores reais para ambientes virtuais é necessário entender como será o comportamento dessas aplicações nesse novo ambiente. O desempenho das aplicações em ambientes virtuais pode diferir consideravelmente do seu desempenho em sistemas reais devido às interações com a camada de software que simula o hardware e com outras máquinas virtuais. Além disso, a configuração de um ambiente virtual tem um impacto significativo no desempenho do sistema. Por exemplo, no ambiente virtual Xen, dispositivos de E/S são executados em uma máquina virtual privilegiada chamada de domínio de drivers isolados (IDD). Uma escolha de configuração que afeta criticamente o desempenho do sistema é a alocação de CPUs para várias máquinas virtuais e IDDs em uma máquina multiprocessada. Nesse contexto, entender as fontes do custo da virtualização e quantificar esse custo é crucial para a implantação e configuração de aplicações em ambientes virtuais. Esta dissertação apresenta duas técnicas para medir e monitorar desempenho em ambientes virtuais. Utilizando essas técnicas, apresentamos uma avaliação de desempenho de aplicações executando no ambiente virtual Xen como uma função das características das aplicações e alternativas de configuração. Os resultados mostram que o processamento de E/S no Xen requer de três a cinco vezes mais processamento de CPU no sistema virtual do que no ambiente real. Além disso, mostramos que a taxa de processamento de rede do IDD é limitada pela capacidade de uma única CPU, mesmo com múltiplos processadores. Foi observada uma queda no desempenho das aplicações, que chega a quase 18%, quando máquinas virtuais compartilham as mesmas caches de processadores. Essas observações são importantes para a configuração de ambientes virtuais bem como a implantação de aplicações nesses sistemas.

Year

2019

Creators

Fabricio Benevenuto de Souza

Um arcabouço baseado em componentes, serviços web e arquivos abertos para construção de bibliotecas digitais

Bibliotecas digitais constituem uma das formas mais avançadas e complexas de sistemas de informação. Dada sua complexidade, a construção desse tipo de sistema normalmente demanda um projeto de software com um longo ciclo de desenvolvimento. A componentização de bibliotecas digitais é uma abordagem que permite a redução do tempo deste ciclo, através de conceitos como modularidade e reusabilidade. Neste trabalho apresentamos o arcabouço WS-ODL, baseado em um conjunto de componentes, serviços web e arquivos abertos, para construção de bibliotecas digitais. O arcabouço opera sobre arquitetura Fedora, que atua como um repositório de objetos digitais complexos e um provedor de serviços de infra-estrutura. Dentre as contribuições do nosso trabalho, destacam-se a criação de componentes com funções complexas, como busca combinando dados estruturados e dados textuais, e uma avaliação experimental como usuários reais. Realizamos uma ampla experimentação do arcabouço com várias coleções e mostramos que o mesmo é viável, apresentando desempenho superior ao arcabouço ODL - Open Digital Libraries, que serviu como ponto de partida para este trabalho.

Year

2019

Creators

Pablo Alexandre Roberto

Reatividade e qualidade de serviço em aplicações web

O grande sucesso da Internet trouxe novos desafios em termos das aplicações e da satisfação dos usuários. Os serviços Internet passaram a demandar novos requisitos como, por exemplo, desempenho e escalabilidade, a fim de garantir um bom nível de Qualidade de Serviço (QoS) aos seus usuários. Devido a estes requisitos, o tema da QoS se tornou um tópico relevante para a comunidade técnico-científica. Diversos mecanismos para provê-la foram propostos, mas eles geralmente falham em considerar aspectos relacionados à reatividade, ou seja, o modo como os usuários reagem a um tempo de resposta variável.Este trabalho avalia o uso da reatividade para propor novas estratégias de QoS. Primeiramente, demonstramos como a reatividade pode ser modelada e replicada utilizando uma metodologia para correlacionar o tempo de resposta e o IAT (tempo entre requisições consecutivas) das ações dos usuários. Baseado neste modelo, implementamos uma nova versão do gerador de cargas httperf, capaz de reproduzir a reação dos usuários. O impacto de uma carga de trabalho reativa baseada no benchmark TPC-W sobre um servidor Web real é avaliado, demonstrando que cargas reativas são diferentes em comparação às não-reativas, em relação à carga do servidor assim como a sua taxa de serviço e tempo de resposta. Com a finalidade de avaliar o impacto da reatividade e das novas estratégias de QoS, projetamos um simulador de aplicações Internet denominado USAR-QoS, que foi preparado para implementar políticas de controle de admissão e escalonamento. Utilizando o simulador avaliamos o comportamento de cada classe de usuário definida pelo modelo de reatividade.Baseado na reatividade, propomos novas estratégias de controle de admissão capazes de rejeitar requisições e sessões de acordo com um critério baseado nas reações dos usuários. Através de simulação foi possível verificar que são efetivas em manter um baixo tempo de resposta mas provocam aumentos nas taxas de perda de requisições. Apresentamos também as abordagens de escalonamento PFIN (de Patient-First Impatient-Next, ou seja, Paciente-Primeiro Impaciente-depois) e IFPN (de Impatient-First Patient-Next, ou seja, Impaciente-Primeiro Paciente-Depois) que demonstraram ser efetivas em reduzir as taxas de perda de requisições mas podem provocar aumentos no tempo de resposta. No intuito de otimizar os benefícios de cada política reativa de QoS propomos uma abordagem híbrida multi-nível que combina controle de admissão e escalonamento. As novas estratégias são avaliadas utilizando o simulador e comparadas a um cenário base executando a política de escalonamento de melhor-esforço FIFO e nenhum controle de admissão. Os resultados demonstram a efetividade das novas políticas e o mecanismo híbrido multi-nível apresentou-se como o mais eficiente mecanismo para garantir o QoS considerando a reatividade.

Year

2019

Creators

Leonardo de Araujo Silva

Um modelo de filtros compostos para detecção de mensagens maliciosas

O crescimento da Internet criou toda uma nova gama de aplicações, muitas das quais se caracterizam pela alta interatividade e comodidade, como é o caso das mensagens eletrônicas. Entretanto, esses novos modelos de interação também permitiram o surgimento de práticas ruins, onde os mecanismos são utilizados de forma abusiva. Um exemplo típico de tais práticas são as mensagens maliciosas, as quais se tornaram uma verdadeira praga virtual, dado o seu volume e variedade. Com o objetivo de minimizar essa situação diversas propostas de combate têm sido colocadas, entre as quais destacamos os filtros. Filtros são programas que analisam as mensagens sendo recebidas pelo servidor de correio eletrônico e assinalam as mensagens que parecem ser maliciosas. Esse processo de assinalamento pode empregar uma grande variedade de critérios, cada qual mensurando um aspecto que pode identificar a mensagem como maliciosa ou não. A completeza dos critérios ainda é um problema em aberto, ou seja, nenhuma solução corrente possui uma precisão de 100%. Mais ainda, é importante ressaltar que esses filtros são computacionalmente intensivos, e o custo de filtragem é proporcional à complexidade dos critérios, ao tamanho da mensagem e, obviamente, ao número de critérios empregados. Uma mensagem maliciosa pode satisfazer a vários critérios, o que caracteriza um desperdício de recursos computacionais, já escassos em grande parte dos serviços de correio eletrônico. Uma opção nesse caso é empregar apenas alguns dos critérios, reduzindo o custo de filtragem, mas com o desafio de manter a efetividade de detecção. Neste trabalho investigamos os compromissos entre o custo e o benefício desta abordagem através do modelo de filtros compostos. Também apresentamos uma estratégia gulosa de construção de tais filtros, além de avaliá-los utilizando cargas de trabalho realistas, onde pudemos verificar que essa é uma proposta promissora.

Year

2019

Creators

Robert Pereira Pinto

Polimorfismo de registros no sistema CT

Registros são usados em diversas linguagens (sob diversos nomes) para expressar a composição de objetos de dados e são usualmente associados a uma ou mais operações, como a projeção, atualização e remoção de campos. Tais operações são consideradas polimórficas se puderem ser usadas com qualquer registro que satisfaça um conjunto pequeno de exigências, e.g. uma operação de atualização de um determinado campo deve poder ser usada com qualquer campo que possua o campo em questão, independente do tipo do campo e da presença ou não de outros campos no registro. Diversas propostas foram feitas para o acréscimo de operações polimórficas de registro em Haskell. Este trabalho propõe uma abordagem baseada no sistema de restrições do Sistema CT e usa restrições para codificar os requerimentos de cada operação sobre registros. A proposta inclui alterações à sintaxe e ao sistema de tipos do Sistema CT. Para resolver o problema da satisfazibilidade das restrições criadas para codificar as exigências das operações, foi desenvolvida uma teoria que serviu de base para um algoritmo de satisfazibilidade. O trabalho também inclui uma sintaxe alternativa, que pode ser usada para apresentar de forma amigável os tipos inferidos para operações de registro.

Year

2019

Creators

Joao Rafael Moraes Nicola

Seleção distribuída de recursos em grades computacionais usando raciocínio baseado em casos e políticas de granularidade fina

Uma das funcionalidades principais para virtualização do serviço de computação em grade é a seleção do recurso adequado para executar um job. Tal funcionalidade pode ser obtida com um broker de recursos. A seleção de recursos feita pelos brokers atuais ainda apresenta desafios para fazer a melhor escolha, principalmente quando são considerados muitos fatores. Neste trabalho, abordamos o problema de seleção de recursos em grades computacionais cujo decisor é o usuário. Lidamos com esse problema considerando a preferência do usuário por determinados objetivos na seleção de um recurso, tais como o desempenho esperado para executar uma aplicação, a restrição de acesso ao recurso, o custo de execução da aplicação no recurso e a confiabilidade do recurso. Para cada objetivo, utilizamos técnicas diferentes e as conjugamos em um modelo de teoria da decisão. Ao considerarmos o desempenho na seleção de um recurso, utilizamos a técnica de raciocínio baseado em casos, que leva em conta execuções passadas de jobs similares para prever o tempo de execução de um novo job. Nesse modelo de predição, desenvolvemos um novo algoritmo de recuperação de casos para memórias desestruturadas baseado em seqüência de relevância e distância geométrica dos atributos do caso. Resultados mostram que o nosso modelo de predição tem boa acurácia e eficiência no tempo para realizar uma predição. O algoritmo de recuperação de casos apresenta melhor desempenho que outras abordagens com o crescimento da base de casos. Ao considerarmos a restrição de acesso ao recurso como fator na seleção, desenvolvemos um modelo de verificação distribuída de restrições de acesso baseado em políticas de granularidade fina. Diferentemente das políticas globais que se aplicam a todos os recursos de uma organização virtual, as políticas de granularidade fina estabelecem regras específicas para recursos e usuários. Nesse caso, a verificação prévia evita a escolha de um recurso que não permitirá o acesso quando da submissão do job. Resultados mostram que o modelo distribuído de verificação de acesso executa mais rapidamente que abordagens centralizadas Ao considerarmos o custo na seleção, analisamos esse fator como um dos atributos de um acordo de nível de serviço estabelecido entre recursos e usuários. Ao considerarmos a confiabilidade do recurso na seleção, utilizamos dados históricos resultantes de cada execução no ambiente, que registra a probabilidade do recurso executar o job no prazo previsto e no custo negociado. O modelo de decisão é formalizado utilizando a teoria da utilidade multiatributo, que relaciona os objetivos acima mencionados e que expressa a preferência do usuário em proporções diferentes para cada objetivo. A solução completa é implementada de forma distribuída utilizando sistema multiagentes, que age como um broker de recursos. Todos os modelos da tese foram avaliados em um ambiente real, apresentando funcionamentos adequados e bons resultados de desempenho.PALAVRAS-CHAVE: Grade computacional, raciocínio baseado em casos, seleção de recursos, sistema multiagentes, teoria da decisão

Year

2019

Creators

Lilian Noronha Nassif