151 |
[en] INTEGRATION OF A BATCH SUBMISSION SYSTEM WITH A CLOUD COMPUTING ENVIRONMENT / [pt] INTEGRAÇÃO DE UM SISTEMA DE SUBMISSÃO BATCH COM UM AMBIENTE DE COMPUTAÇÃO EM NUVEMDALTRO SIMOES GAMA 20 July 2016 (has links)
[pt] A computação em nuvem, com sua promessa de redução de custos de manutenção e facilidades de configuração, está despertando cada vez mais o interesse da comunidade científica que depende de muitas máquinas para executar seus programas. Neste trabalho implementamos uma nova integração para o sistema CSGrid, do Tecgraf/PUC-Rio, que o torna apto a submeter programas para execução no ambiente de nuvem pública Microsoft Azure, usufruindo assim dos benefícios da elasticidade de recursos computacionais. Para tal, apresentamos algumas medidas de desempenho para o caso de uso da nuvem pública Microsoft Azure pelo sistema CSGrid, no que se refere a custos de transferência de dados e provisionamento de máquinas virtuais. O objetivo com essa integração é avaliar os benefícios e as dificuldades que envolvem o uso de um modelo de execução em nuvem por um sistema tipicamente voltado a execução de aplicações de alto desempenho em clusters. / [en] Cloud computing appeals to those who need many machines to run their programs, attracted by low maintenance costs and easy configuration. In this work we implemented a new integration for the CSGrid system, from Tecgraf/PUC-Rio, enabling it to submit workloads to Microsoft Azure public cloud, thus enjoying the benefits of elastic computing resources. For this purpose, we present related works and some performance measures in the case of CSGrid s use of Microsoft Azure public cloud, with regard to costs on data transfers and provisioning of virtual machines. With this integration, we could evaluate the benefits and difficulties involved in using cloud resources in a system designed for the submission of HPC applications to clusters.
|
152 |
Modelos y arquitecturas de computación móvil en la nube para el desarrollo de los sistemas ciberfísicosColom López, José Francisco 14 July 2016 (has links)
El estado actual y la previsible evolución de las tecnologías de la información y la comunicación se caracteriza por una inundación de dispositivos, muchos de ellos móviles, con altas capacidades de procesamiento, almacenamiento y comunicación en red, junto con una explosión de servicios proporcionados remotamente según diversos paradigmas de computación en la nube. Esta realidad impulsa el desarrollo de nuevas aplicaciones, muchas de ellas centradas en la ejecución de procesos analíticos y extracción de conocimiento a partir de la gran masa de datos producida, entre otras razones, por tal multiplicidad de dispositivos y servicios. Las nuevas aplicaciones presentan importantes retos tales como la necesidad de satisfacer ciertos parámetros de calidad de servicio, la ejecución de una parte de su procesamiento en tiempo real, la disponibilidad permanente de los servicios, el mantenimiento de la privacidad o el ahorro energético, entre otros. El objetivo general de este trabajo consiste en avanzar en la investigación y el desarrollo de modelos y arquitecturas distribuidas capaces de extraer ventaja de esta gran multiplicidad de recursos locales y remotos para favorecer la construcción de aplicaciones que aporten valor a la sociedad digital. La actividad investigadora se enmarca en el ámbito de tres importantes tendencias convergentes que marcan la actualidad y el futuro de las tecnologías de la información y la comunicación: Internet of things (IoT), computación en la nube (cloud computing) y big data. Dentro de este amplio abanico, el trabajo se centra particularmente en los llamados sistemas ciberfísicos, en los que se enfatiza el análisis y control de procesos físicos frente a la interconexión de dispositivos en la Internet global. Desde el punto de vista metodológico, el trabajo se encuadra en el área de la informática experimental. La actividad parte de la observación y detección de oportunidades de mejora en aplicaciones concretas. A partir de dicha observación se realiza una caracterización que engloba a todo un conjunto de posibles servicios. A continuación se diseñan modelos, arquitecturas y métodos que aportan soluciones a los problemas planteados. Finalmente, se lleva a cabo un proceso de validación experimental y posterior revisión mediante la puesta en marcha de prototipos y simulaciones. La principal contribución de la investigación es la concepción y desarrollo de modelos y arquitecturas basándose en dos pilares fundamentales que constituyen la hipótesis de trabajo: (1) la monitorización de la carga de los dispositivos locales y servicios en la nube, y (2) el cálculo o estimación del impacto de los procesos de los sistemas ciberfísicos en los recursos de computación disponibles en la red. Las soluciones propuestas permiten acrecentar los recursos disponibles de una forma flexible, poniendo en marcha estrategias que sopesen las variables relevantes tales como condiciones cambiantes de conectividad, el coste de los modelos de utilidad o el consumo de energía, pero manteniendo las restricciones con las que deben ejecutarse los procesos de la aplicación, tales como requerimientos de tiempo real, disponibilidad permanente o coste.
|
153 |
[en] ARTIIMOR: AVAILABLE, RELIABLE, TRANSPARENT, IMMUTABLE, AND IRREVOCABLE SERVICE FOR MOBILITY RECORDS / [pt] ARTIIMOR: SERVIÇO DE ALTA DISPONIBILIDADE, CONFIABILIDADE E TRANSPARÊNCIA PARA REGISTROS IMUTÁVEIS E IRREVOGÁVEIS DE DADOS DE MOBILIDADEMATHEUS RODRIGUES DE OLIVEIRA LEAL 28 November 2023 (has links)
[pt] Um sistema de rastreamento que armazena dados de alto volume, tais
como indicadores de mobilidade, status de agentes e cargas, é de interesse
tanto para empresas quanto para consumidores. Um sistema como esse permite
verificar informações, como os locais visitados em um shopping center, a
duração das estadias dos funcionários em determinadas partes de um prédio
de escritórios ou fábrica, se um ônibus parou em cada ponto de ônibus em uma
rota, a rota do entregador ou se uma equipe de seguranças está executando a
ronda especificada em um bairro. Esta dissertação tem como objetivo investigar
a eficiência de identificar a posição atual de uma entidade móvel e propor
uma solução para transmitir, adicionar e recuperar informações como estas. A
solução proposta é um framework chamado ARTIIMoR, que armazena dados
de maneira segura, imutável e transparente usando um sistema de Distributed
Ledger Technology (DLT) multicamadas. Três camadas de DLT são utilizadas
para armazenar informações de localização em diferentes níveis de abstração e
agregação. O sistema visa permitir que empresas e consumidores registrem
informações de posição e movimento com confiabilidade, escalabilidade e
rastreabilidade. / [en] A tracking system capable of storing high volume data, such as mobility indicators, agent and cargo statuses, is of interest to both companies and consumers. Such a system enables the checking of information, such as the locations visited in a shopping center, the duration of employees stays incertain parts of an office building or factory, whether a bus stopped at each bus stop on a route, the route of a delivery driver, or whether a security team is performing the specified patrol in a neighborhood. This dissertation aims to investigate the efficiency of identifying the current position of amobile entity and propose a solution for transmitting, adding, and retrieving information like this. The proposed solution is a framework called ARTIIMoR,which stores data securely, immutably, and transparently using a multilayer Distributed Ledger Technology (DLT) system. Three layers of DLT are used to store location information at different levels of abstraction and aggregation.The system aims to allow companies and consumers to record position andmovement information with reliability, scalability, and traceability.
|
154 |
[en] A STUDY ABOUT CONTRACTS IN SOFTWARE COMPONENT SYSTEMS / [pt] UM ESTUDO SOBRE CONTRATOS EM SISTEMAS DE COMPONENTES DE SOFTWARELUIZ MARQUES AFONSO 02 March 2009 (has links)
[pt] A programação por contratos é uma das técnicas voltadas para a melhoria da qualidade de software, sendo baseada no aumento do
formalismo da especificação das interfaces. No contexto de componentes de software distribuídos, o uso de contratos envolve alguns desafios que o diferenciam do seu uso mais tradicional. O objetivo deste trabalho é a avaliaação do uso de contratos no desenvolvimento de sistemas distribuídos baseados em componentes de software, identificando as abordagens existentes e
analisando as vantagens e desvantagens do seu uso. São também avaliadas características como robustez, desempenho, flexibilidade, facilidade de uso e limitações. Como estudo de caso, foi desenvolvido um subsistema de suporte a contratos
sobre um middleware CORBA implementado em Lua, servindo de base para experimentos realizados durante a pesquisa. / [en] Contract-based programming is one of the techniques used to
improve the
quality of software by enhancing the formalism of interface
specifications.
In the context of distributed software components, the use
of contracts
presents new challenges that make it di*erent from its
traditional use.
This work intends to evaluate the use of contracts in the
development of
component-based distributed systems, identifying the
current approaches
and analyzing its advantages and disadvantages. It also
covers topics like
robustness, performance, flexibility, ease of use and
limitations. As a case
study, a contract subsystem was developed over a CORBA
middleware using
Lua, serving as the basis for experiments in our study.
|
155 |
[en] A MECHANISM BASED ON LOGS WITH META-INFORMATION FOR THE VERIFICATION OF CONTRACTS IN DISTRIBUTED SYSTEMS / [pt] UM MECANISMO BASEADO EM LOGS COM META-INFORMAÇÕES PARA A VERIFICAÇÃO DE CONTRATOS EM SISTEMAS DISTRIBUÍDOSPEDRO DE GOES CARNAVAL ROCHA 19 March 2015 (has links)
[pt] Contratos de software podem ser escritos como expressões lógicas capazes
de identificar falhas que ocorrem durante a utilização de um software. É possível
implementar a verificação de um contrato em um software através de assertivas
executáveis. No entanto, a forma como assertivas convencionais são
implementadas não é diretamente aplicável a sistemas distribuídos, uma vez que
apresentam dificuldades para avaliar expressões temporais, tampouco as
expressões podem envolver propriedades de diferentes processos. Este trabalho
propõe um mecanismo baseado em logs com meta-informações para a verificação
de contratos em sistemas distribuídos. Uma gramática para redigir contratos
possibilita operações temporais, ou seja, permite a especificação de condições
entre eventos, em diferentes instantes de tempo, ou mesmo garante uma sequência
de eventos, durante um período de tempo. O fluxo de eventos gerado é avaliado
assincronamente em relação à utilização do sistema, pela comparação com
contratos, previamente escritos de acordo com a gramática, que representam as
expectativas sobre o comportamento normal do sistema. / [en] Software contracts can be written as assertions that identify failures
observed while using the software. Software contracts can be implemented
through executable assertions. However, conventional assertions are not directly
applicable in distributed systems, as they present difficulties to evaluate temporal
expressions, as well as expressions involving properties of different processes.
This work proposes a mechanism based on logs with meta-information to evaluate
contracts in distributed systems. A grammar to write contracts enable temporal
operations, e.g., allows specifying conditions between events at different
timestamps, or even guaranteeing a sequence of events over a period of time. The
flow of events is evaluated asynchronously in relation to the system execution, by
comparison with contracts, previously written according to the grammar,
representing the expectations on the behavior of the system.
|
156 |
Paralelismo em visão natural e artificial / Paralelism in natural and artificialBruno, Odemir Martinez 16 June 2000 (has links)
Nesta tese são abordados, de maneira integrada, aspectos de paralelismo em visão natural e artificial, com discussões críticas das diversas áreas relacionadas. O paralelismo é discutido no sistema visual dos primatas, assim como suas principais contribuições e motivações incentivando a incorporação de paralelismo em sistemas de visão artificial. Um dos objetivos principais é fornecer as bases de paralelismo para o desenvolvimento do projeto Cyvis-1, uma proposta do Grupo de Pesquisa em Visão Cibernética (IFSC-USP) para visão versátil, com forte motivação biológica e baseada no córtex visual dos primatas. Para tanto, foi introduzida e implementada a proposta CVMP (Cybernetic Vision Message Passage), um conjunto de ferramentas para o desenvolvimento de aplicações paralelas em visão, tanto para sistemas distribuídos como para máquinas multiprocessadores. Baseada em programação orientada a objetos, interação homem-máquina, engenharia de software e programação visual, a proposta prima pelo desenvolvimento de forma simples e amigável. O CVMP é testado, avaliado e validado quanto a aspectos de funcionalidade e utilização, através da implementação paralela de diversos algoritmos de visão computacional e de processamento de imagens (operadores locais, transformada de Hough e transformada de Fourier, entre outros) os quais, além de ilustrar a utilização da ferramenta, são discutidos em termos de arquitetura e balanceamento de carga. São apresentadas três aplicações reais de sistemas paralelos de visão computacional, implementadas através do CVMP, demonstrando a eficiência da ferramenta, na implementação paralela, na utilização e cooperação de trabalho. Duas destas aplicações (integração de atributos visuais no projeto Cyvis-1 e um modelo de complexidade com base na percepção humana), foram desenvolvidas em conjunto com outros pesquisadores do Grupo de Pesquisa em Visão Cibernética. A terceira aplicação apresenta uma proposta do autor para um sistema automático de reconhecimento de plantas arbóreas (Botânica) / This thesis addresses, in an integrated way, the concept and usage of parallelism in natural and artificial vision. It starts by revising the primate visual system, and discussing how its principles and solutions can be extended to computational systems. One of the main objectives is to supply the parallelism backbone for the development of the Cyvis-1 System, which is a proposal of the Cybernetic Vision Research Group (IFSC-USP) for versatile vision, presenting a strong biological motivation, especially regarding the primate visual cortex. In order to achieve these objectives, the CVMP - Cybernetic Vision Message Passage - had to be developed, representing a set of simple and friendly parallel tools for computer vision applications in distributed and parallel (multiprocessor) systems, which is based on object oriented programming, human-machine interaction, software engineering and visual programming. The CVMP is tested, evaluated and validated with respect to functionality and utilization through the parallel implementation of several algorithms in computer vision and image processing (local operators, Hough transform, Fourier transform, etc.) which, in addition to illustrating the tools, are also discussed as far as their architecture and load balancing is concerned. Three applications of parallel computer vision systems to real situations are presented and implemented by using CVMP, corroborating the effectiveness of the tools in the parallel implementation, usage, and researcher integration. Two such applications (visual attributes integration in Cyvis-1 and a human complexity model) have been developed in collaboration with other researchers at the Cybernetic Vision Research Group. The third application presents the author\'s proposal for an automated system for arboreal plants recognition (Botany)
|
157 |
Avaliação de ambientes servidores para agentes móveis. / Evaluation of mobile agents server environments.Pereira Filho, Stenio Firmino 01 June 2001 (has links)
Agentes móveis são programas que podem ser disparados de um computador (cliente) e transmitidos através de uma rede de comunicação para uma outra maquina (servidor) com o objetivo de executar tarefas a eles designadas. Esta dissertação apresenta uma avaliação de plataformas de desenvolvimento e servidores para agentes móveis. A tecnologia de agentes móveis tem sido alvo de grandes pesquisas, inclusive nos setores de Segurança da Informação e Comércio Eletrônico. Foram executados testes e com as informações foi feita uma análise comparativa, levando-se em consideração questões como características de desempenho dos agentes, desempenho e segurança. Para efetuar os testes foram necessários o entendimento do funcionamento do servidor e o desenvolvimento de seus agentes. Os testes de desempenho serviram para definir quais agentes são mais ágeis e quais são os gastos de processamento dos servidores. Já o teste de segurança teve a finalidade de classificar os servidores quanto à segurança. Os resultados obtidos serviram para indicar qual a melhor plataforma a ser utilizada no desenvolvimento do Sistema de Detecção de Intrusão (SDI) do ICMC. As plataformas que obtiveram destaques nos testes foram o ASDK 1.1 e Grasshopper. A plataforma escolhida para o SDI foi o ASDK 1.1. / Mobile agents are programs able to migrate from a client computer to a server computer through communication networks. There are several mobile agent technologis application, includind Information Security and Eletronic Commerce. This work describes the valuation of mobile agent plataforms. A test environment was desired and 5 plataforms were compared in terms of the security and performance provided. To make the assessment it was necessary to understand the server functionality an the methodologies to develop the agents. The test of performace helped to define which agents are more agile and what are their processing needs while in the server. The security test aimed to classify the servers in them security. The results were used to determine which is better mobile agente plataform to be used in the on going ICMCs Intrusion Detection System (IDS). The best performance plataforms were the ASDK 1.1 and the Grasshopper. The chosen plataform for the IDS was the ASDK 1.1.
|
158 |
Trix : um sistema operacional multiprocessado para transputers, com gerencia distribuida de processos / Trix, a transputer based multiprocessor operating system, with distributed process managementPasin, Marcelo January 1994 (has links)
O trabalho em torno do sistema TRIX visa desenvolver um sistema operacional multiprocessado experimental, para servir de base a futuros trabalhos de pesquisa em sistemas operacionais e processamento paralelo. Como características essenciais do sistema tem-se simplicidade, desempenho e compatibilidade com UNIX. Com o sistema operando em vários processadores, pode-se fazer experiências de muitos tipos em processamento paralelo, como por exemplo, ensaios de distribuição de carga, avaliações de desempenho, implementação de linguagens paralelas ou distribuídas, ,bancos de dados, sistemas dedicados, etc. Ao construir o sistema TRIX, decidiu-se usar o código fonte de um sistema já pronto e funcionando, para encurtar o tempo de desenvolvimento. Optou-se pelo MINIX, que é um sistema bem estruturado, dividido em camadas de processos seqüenciais que se comunicam por troca de mensagens. Mais que isso, 0 MEND( a compatível com o UNIX versão 7 e o seu c6digo fonte pode ser usado para fins acadêmicos sem ferir o seu Copyright. Foi necessário porem dotar o MINIX de características distribuídas, para o controle de uma arquitetura multiprocessada. projeto e implementação destas características é o assunto deste trabalho. Inicialmente são avaliados os sistemas operacionais multiprocessados encontrados na literatura, de maneira a auxiliar no projeto do TRIX. Entre os detalhes estudados estão as diferenças entre sistemas paralelos e distribuídos, a comunicação entre seus processos e sua forma de distribuição. São apresentados os microprocessadores do tipo transputer, com seus mecanismos de criação e comunicação de processos implementados em hardware. Também é detalhado o sistema operacional MINIX, com sua construção em camadas, com processos servidores e clientes e suas estruturas de controle. 0 sistema foi projetado tentando maximizar a sua flexibilidade, escalabilidade e disponibilidade e minimizar sua complexidade. Os processos servidores são divididos de forma fixa, controlando as funções de memória localmente e as funções de arquivos remotamente. Os processos de usuário são distribuídos tentando se equalizar a taxa de ocupação dos processadores do sistema. E implementado um mecanismo de identificação global de processos juntamente com um método transparente de comunicação. Isso é feito junto com a criação de um driver suplementar ao sistema, responsável pela comunicação entre processos de processadores distintos. O núcleo original do MINIX recebeu uma serie de alterações para suportar as características distribuídas do novo sistema, de maneira a identificar processos locais e remotos. Foram extraídas do núcleo as funções executadas pelo escalonador em hardware do transputer. Foram inseridas algumas funções novas para tratar de algumas idiosincrasias do transputer, como por exemplo, sua falta de gerencia de memória. Finalmente, foi criado um mecanismo distribuído para controlar a arvore de processos do sistema, mantendo a semântica do UNIX. A escolha do processador para a execução de novos processos 6 feita pelo processador que o estiver criando, através de informações recebidas sobre processadores menos ocupados que estiverem mais próximos. / The TIUX system has been defined as an experimental operating system, to be used in future research on operating systems and parallel processing. The essential characteristics of the system are simplicity, performance and uNix compatibility. With the system running on several processors, several topics can be studied, such as load balancing, performance evaluation, implementation of distributed or parallel programming languages, distributed data bases and embedded systems. While designing the TRix system, it was decided to use the source code of an existing system, to shorten the development time. MINIX was chosen, because it is a well structured system, divided into layers of sequential processes, which communicate via messages. MINIX is compatible with UNIX version 7 and its source code can be used for academic purposes without any copyright infringiment. It had to be extended to control a multiprocessor architecture. The implementation of these characteristics is the main subject of this work. Initially some existing multiprocessor operating systems are evaluated, in order to guide in the development of TRIX. The studied issues are differences between parallel and distributed systems, interprocess communication features and the process distribution policy. The transputer microprocessors are presented, with their hardware implemented devices for process creation and communication. The MINIX operating system layered structure is described, with client and server processes and their control structures. The system is projected as an attempt to maximize flexibility, scalability and availability and to minimize complexity. The server processes are distributed in a fixed layout, controlling the memory and processes locally, and the files remotely. The user processes are distributed with load balancing among the processors. Global identification and transparent communication are implemented. This is achieved with an additional device driver, responsible for communication between processes running on different processors. The original MINIX kernel was changed to support the new distributed features of the system, identifying processes globally. The scheduler functions were stripped off, as they are now performed by the transputer hardware. Some functions were inserted to deal with some transputer problems, as for example, the lack of a memory management unit. Finally, a mechanism to control the global system process tree was created, maintaning strict UNIX semantics. The choice of which processor will hold a newly created process is made by the processor creating it, based on information received about the nearer processor with a low load.
|
159 |
Abordagem de teoria dos jogos evolucionários para modelagem de aplicações de live streaming em redes peer-to-peer / Evolutionary game theory approach for modeling live streaming applications over peer-to-peer networksWatanabe, Sandra Satyko Guimarães January 2010 (has links)
Existe um interesse crescente do mercado por aplicações de multimídia em streaming via rede. Particularmente, as aplicações de live streaming que utilizam a tecnologia de redes P2P para a disseminação de conteúdo têm sido alvo de grande atenção. Aplicações como PPLive e PPStream provam que as aplicações de live streaming em redes P2P são uma realidade com relação à tecnologia atual. Os sistemas de live streaming fornecem um serviço de multicast no nível de aplicação para transmissões ao vivo na Internet. Essas aplicações de live streaming, quando executadas em redes P2P, têm potencial para serem altamente robustas, escaláveis e adaptativas devido à redundância e não dependência de recursos particulares dentre os nodos participantes. Porém, para fazer uso de todas as vantagens disponíveis, a aplicação deve contornar alguns desafios: i) manter a qualidade de playback mesmo com a inerente dinamicidade das redes P2P; ii) impedir que nodos incorretos escondam ações maliciosas atrás do anonimato que existe em P2P; iii) manter a taxa de upload dos nodos participantes da aplicação em um nível aceitável. A taxa de upload dos nodos é muito importante porque a aplicação de live streaming em P2P é uma aplicação cooperativa. Desta forma, esperase que todo novo usuário ajude a aplicação retransmitindo pacotes para outros usuários, mantendo, desta forma, a capacidade global de upload do sistema. Infelizmente, manter a cooperação em live streaming não é uma tarefa trivial, visto que cada nodo enfrenta o dilema social do interesse próprio (individualmente é melhor explorar a cooperação dos outros usuários sem reciprocidade) versus a cooperação para com o grupo. A principal contribuição deste trabalho consiste na apresentação de um modelo matemático baseado em Teoria dos Jogos Evolucionários, cujo objetivo é ajudar a compreender as aplicações de live streaming em redes P2P e os fatores que influenciam o seu correto funcionamento. Como contribuição secundária, este trabalho fornece uma análise estatística do comportamento do download e upload observado nestas aplicações. A análise estatística mostra que existe um decaimento da variância temporal de download e upload nas aplicações de live streaming, e que tal decaimento segue uma lei de potência. Os resultados evolucionários do modelo indicam que, se a queda do índice de satisfação dos usuários com a taxa de download for suave, e se a redução da satisfação devido ao custo de upload for insignificante, então existe um ambiente propício para que a cooperação entre os nodos cresça. De forma inversa, se a queda do índice de satisfação dos usuários com a taxa de download for abrupta, e a redução da satisfação devido ao custo de upload for significativa, então existe um ambiente propício para proliferação de nodos oportunistas. A realização e descrição desta pesquisa é composta de quatro etapas principais: i) a delimitação do cenário de live streaming e a definição do jogo para modelagem; ii) a definição do conjunto de estratégias e da função de utilidade; iii) a criação do modelo; iv) a análise do modelo e a apresentação dos resultados de simulação. A análise do modelo abrange três fases: i) análise estatística e comparação das características de download e upload dos dois simuladores utilizados; ii) avaliação do modelo de Teoria dos Jogos Evolucionários através de simulações; e iii) análise dos resultados evolucionários gerados pelo simulador de Teoria dos Jogos Evolucionários. / There is a growing interest in the market for networked multimedia applications. Live streaming applications that use the technology of P2P networks for distribution of live content have specially been the subject of great attention. Applications such as PPLive and PPStrem demonstrate that P2P live streaming applications are already possible with our present technology. Live streaming systems provide a multicast service in the application level for live broadcasts to users through the Internet. These systems executing in P2P networks have the potential to be highly robust, scalable and adaptive due to the characteristics of these scenarios. However, to take advantage of these potential properties, they must overcome some challenges: i) to maintain the playback quality even with the inherent dynamics of P2P networks; ii) to prevent that incorrect peers hide malicious behavior behind their anonymity; iii) to maintain the upload contribution of peers at acceptable levels. The upload contribution of peers is highly important because live streaming applications are cooperative applications. Therefore, every new user must help the application forwarding packets to other users, thereby maintaining the global upload capacity of the system. Unfortunately, the maintenance of cooperation in live streaming system is not a trivial task, since each node faces the social dilemma of self-interest (individually is always better to explore the cooperation of other users without reciprocity) versus cooperation to the group. The main contribution of this dissertation is the presentation of a mathematical model based on Evolutionary Game Theory, whose goal is to help understanding live streaming P2P applications and the factors that influence their correct operation. As a secondary contribution, this work provides a statistical analysis of download and upload behaviors of peers in live streaming P2P systems. The statistical analysis indicates that there is a decay in the download and upload variances, and that this decay follows a power law. The evolutionary results of the model indicate that, if the satisfaction of users with the download rate is smooth, and the reduction of satisfaction due to the upload cost is negligible, then there is a favorable environment for the growth of cooperation. Conversely, if the satisfaction of users with the download rate is abrupt, and the reduction of satisfaction due to the upload cost is significant, then there is a favorable environment to the proliferation of opportunistic nodes. The realization and description of this research is composed of four main steps: i) the definition of the live streaming scenario and the definition of the game to model this scenario; ii) the definition of the strategy set and of the utility function; iii) the suggestion of a model; iv) the analysis of the proposed model and the presentation of obtained results. The model analysis comprehends three phases: i) the statistical analysis and the comparison of the characteristics of download and upload of the two simulators used in this work; ii) the evaluation of the Evolutionary Game Theory model through simulation; and iii) the analysis of the results generated by the Evolutionary Game Theory simulator.
|
160 |
ADC : ambiente para experimentação e avaliação de protocolos de difusão confiável / Reliable broadcast protocols experimentation and evaluation environment (ADC)Barcelos, Patricia Pitthan de Araujo January 1996 (has links)
Uma tendência recente em sistemas de computação é distribuir a computação entre diversos processadores físicos. Isto conduz a dois tipos de sistemas: sistemas fortemente acoplados e sistemas fracamente acoplados. Este trabalho enfoca os sistemas de computação classificados como fracamente acoplados, ou sistemas distribuídos, como são popularmente conhecidos. Um sistema distribuído, segundo [BAB 86], pode ser definido como um conjunto de processadores autônomos que não compartilham memória, não tem acesso a clocks' globais e cuja comunicação é realizada somente por troca de mensagens. As exigências intrínsecas de sistemas distribuídos compreendem a confiabilidade e a disponibilidade. Estas exigências tem levado a um crescente interesse em técnicas de tolerância a falhas, cujo objetivo é manter a consistência do sistema distribuído, mesmo na ocorrência de falhas. Uma técnica de tolerância a falhas amplamente utilizada em sistemas distribuídos é a técnica de difusão confiável. A difusão confiável é uma técnica de redundância de software, onde um processador dissemina um valor para os demais processadores em um sistema distribuído, o qual esta sujeito a falhas [BAB 85]. Por ser uma técnica básica de comunicação, diversos procedimentos de tolerância a falhas baseiam-se em difusão confiável. Este trabalho descreve a implementação de um ambiente de apoio a sistemas distribuídos intitulado Ambiente para Experimentação e Avaliação de Protocolos de Difusão Confiável (ADC). Neste ambiente são utilizados os recursos da difusão confiável para a obtenção de uma concordância entre todos os membros do sistema livres de falha. Esta concordância, conhecida como consenso, é obtida através de algoritmos de consenso, os quais visam introduzir o grau de confiabilidade exigido pelos sistemas distribuídos. O ADC (Ambiente para Experimentação e Avaliação de Protocolos de Difusão Confiável) foi desenvolvido em estações de trabalho SUN (SunOS) utilizando o sistema operacional de rede heterogêneo HetNOS [BAA 93] desenvolvido na UFRGS. O ambiente foi implementado com base em um estudo realizado sobre protocolos de difusão confiável [BAR 94]. Através da implementação do ADC e possível simular a execução de protocolos de difusão confiável aplicando modelos propostos para os mesmos. Desta execução são extraídos resultados, sobre os quais pode-se realizar uma analise. Esta análise tem sua fundamentação principalmente nos parâmetros de desempenho, confiabilidade e complexidade. Tanto a implementação do ADC como a realização da analise do modelo proposto foram realizados tendo como suporte alguns dos protocolos de difusão confiável disponíveis na literatura. O principal objetivo deste ambiente consiste na experimentação, ou seja, na verificação da relação teórico-prática dos sistemas distribuídos perante a utilização de uma técnica de redundância de software, a difusão confiável. Através deste ambiente torna-se possível a determinação de parâmetros tais como o número de mensagens de difusão trocadas entre os processos, o número de mensagens de retransmissão enviadas, o número de mensagens emitidas durante todo o processamento do modelo, etc. Estes parâmetros resultam numa analise consistente de protocolos de difusão confiável. / A recent trend in computing systems is to distribute the computation between several physical processors. This leads to two different systems: closely coupled systems and loosely coupled systems. This work focuses on computing systems classified as loosely coupled or distributed systems, as they are commonly known. According to [BAB 86], a distributed system can be defined as a set of autonomous processors with no shared memory, no global clocks and whose comunication is performed only by message exchange. The inherent requirements of distributed systems include reliability and availability. These have caused an increasing interest in fault tolerance techniques, whose goal is to keep the distributed system consistent despite failures. A fault tolerance technique largely used in distributed systems is reliable broadcast. Reliable broadcast is a software redundancy technique, where a processor disseminates a value to other processors in a distributed system, in which failures can occur [BAB85]. Because it is a basic communication technique, several fault tolerance procedures are based on reliable broadcast. This work describes the implementation of a support environment for distributed systems called Reliable Broadcast Protocols Experimentation and Evaluation Environment (ADC). Reliable broadcast resources are used in this environment to obtain an agreement among all off-failure system components. This agreement, called consensus, has been obtained through consensus algorithms, which aim to introduce the reliability degree required in distributed systems. The ADC has been developed in Sun workstation (SunOS) using the heterogeneous operating system HetNOS [BAA 93] which was developed at UFRGS. The environment has been implemented based on a research about reliable broadcast protocols [BAR 94]. Through the ADC it is possible to simulate the execution of reliable broadcast protocols applying proposed models to them. From this execution results are extracted, and over them analysis can be done. This analysis has been based essentialy in parameters such as performance, reliability and complexity. Some classical reliable broadcast protocols were used as a support to ADC implementation and model analysis. The main goal of this environment consists in validating diffusion protocols in a practical distributed systems environment, facing reliable broadcast. Through this environment it can be possible the analysis of important parameters resolution such as the number of messages exchanged between process, the number of retransmission of messages sent, the number of messages sent during the whole model processing, others. These parameters result in a consistent analysis of reliable broadcast protocols.
|
Page generated in 0.1034 seconds