51 |
FlexGroup: um ambiente flexível para comunicação em grupoRivera, Rodrigo Dias January 1999 (has links)
Mecanismos de comunicação entre processos são fundamentais no desenvolvimento de sistemas distribuídos, já que constituem o único meio de compartilhar dados entre processos que não dispõem de memória comum. Um dos principais mecanismos de comunicação utilizados é a troca de mensagens entre os processos componentes do sistema. Existem muitas aplicações que são compostas por um conjunto de processos que cooperam para realizar uma determinada tarefa e que são mais facilmente construídas se o sistema operacional oferecer a possibilidade de se enviar uma mensagem a diversos destinos. Neste caso são necessários mecanismos que permitam a difusão confiável de uma mensagem para um grupo de processos em uma única operação. Tendo em vista esta necessidade, diversos protocolos têm sido apresentados na literatura para permitir a comunicação entre um grupo de processos com diferentes graus de complexidade e de desempenho. Este trabalho apresenta um ambiente para desenvolvimento e utilização de protocolos de comunicação em grupo, denominado FlexGroup. O ambiente divide os protocolos em suas características fundamentais, permitindo que estas características possam ser desenvolvidas separadamente como subprotocolos. Os subprotocolo são interligados através de uma interface comum e gerenciados pelo núcleo do ambiente. A comunicação entre as diversas máquinas da rede é gerenciada pelo FlexGroup, permitindo que o desenvolvedor de um novo subprotocolo possa somente se focar nas características específicas do seu protocolo. Esta modularidade permite, ainda, que apenas as partes de interesse de um novo protocolo precisem ser implementadas, além de também viabilizar a criação de um protocolo baseado nos já existentes no ambiente. Além disso, o ambiente permite que as aplicações de comunicação em grupo possam definir, através de uma biblioteca, o conjunto de subprotocolos que desejam utilizar, em tempo de execução, sem necessidade de conhecer a implementação interna dos subprotocolos.. Da mesma forma, alguém que se proponha a realizar comparações com os protocolos existentes, pode utilizar os diversos subprotocolos e as aplicações existentes, bastando alterar os protocolos utilizados em tempo de execução e avaliando somente as características que deseje analisar.
|
52 |
Adequação da computação intensiva em dados para ambientes desktop grid com uso de MapReduce / Adequacy of intensive data computing to desktop grid environment with using of mapreduceAnjos, Julio Cesar Santos dos January 2012 (has links)
O surgimento de volumes de dados na ordem de petabytes cria a necessidade de desenvolver-se novas soluções que viabilizem o tratamento dos dados através do uso de sistemas de computação intensiva, como o MapReduce. O MapReduce é um framework de programação que apresenta duas funções: uma de mapeamento, chamada Map, e outra de redução, chamada Reduce, aplicadas a uma determinada entrada de dados. Este modelo de programação é utilizado geralmente em grandes clusters e suas tarefas Map ou Reduce são normalmente independentes entre si. O programador é abstraído do processo de paralelização como divisão e distribuição de dados, tolerância a falhas, persistência de dados e distribuição de tarefas. A motivação deste trabalho é aplicar o modelo de computação intensiva do MapReduce com grande volume de dados para uso em ambientes desktop grid. O objetivo então é investigar os algoritmos do MapReduce para adequar a computação intensiva aos ambientes heterogêneos. O trabalho endereça o problema da heterogeneidade de recursos, não tratando neste momento a volatilidade das máquinas. Devido às deficiências encontradas no MapReduce em ambientes heterogêneos foi proposto o MR-A++, que é um MapReduce com algoritmos adequados ao ambiente heterogêneo. O modelo do MR-A++ cria uma tarefa de medição para coletar informações, antes de ocorrer a distribuição dos dados. Assim, as informações serão utilizadas para gerenciar o sistema. Para avaliar os algoritmos alterados foi empregada a Análise 2k Fatorial e foram executadas simulações com o simulador MRSG. O simulador MRSG foi construído para o estudo de ambientes (homogêneos e heterogêneos) em larga escala com uso do MapReduce. O pequeno atraso introduzido na fase de setup da computação é compensado com a adequação do ambiente heterogêneo à capacidade computacional das máquinas, com ganhos de redução de tempo de execução dos jobs superiores a 70 % em alguns casos. / The emergence of data volumes in the order of petabytes creates the need to develop new solutions that make possible the processing of data through the use of intensive computing systems, as MapReduce. MapReduce is a programming framework that has two functions: one called Map, mapping, and another reducing called Reduce, applied to a particular data entry. This programming model is used primarily in large clusters and their tasks are normally independent. The programmer is abstracted from the parallelization process such as division and data distribution, fault tolerance, data persistence and distribution of tasks. The motivation of this work is to apply the intensive computation model of MapReduce with large volume of data in desktop grid environments. The goal then is to investigate the intensive computing in heterogeneous environments with use MapReduce model. First the problem of resource heterogeneity is solved, not treating the moment of the volatility. Due to deficiencies of the MapReduce model in heterogeneous environments it was proposed the MR-A++; a MapReduce with algorithms adequated to heterogeneous environments. The MR-A++ model creates a training task to gather information prior to the distribution of data. Therefore the information will be used to manager the system. To evaluate the algorithms change it was employed a 2k Factorial analysis and simulations with the simulant MRSG built for the study of environments (homogeneous and heterogeneous) large-scale use of MapReduce. The small delay introduced in phase of setup of computing compensates with the adequacy of heterogeneous environment to computational capacity of the machines, with gains in the run-time reduction of jobs exceeding 70% in some cases.
|
53 |
Arquitecturas distribuidas para sistemas de video-baja-demanda a gran escalaCores Prado, Fernando 24 March 2004 (has links)
Esta Tesis está enfocada hacia el diseño y evaluación de arquitecturas para ofrecer servicios de Video-bajo-Demanda a gran escala (LVoD). Después de un análisis exhaustivo de las alternativas existentes en la literatura (servidores-independientes, un nivel servidores-proxy, entre otras) y sus características, se proponen dos arquitecturas LVoD distribuidas basadas en la utilización de componentes sencillos y de bajo coste (servidores-proxy y redes locales) denominadas arquitecturas Proxy-Tree y Double P-Tree. Si bien ambas arquitecturas cumplen con los principales requisitos exigidos a las arquitecturas LvoD (alta capacidad de servicio, escalabilidad, balanceo de la carga, tolerancia a fallos y compartición eficiente de recursos), la arquitectura Double P-Tree logra incrementar la conectividad de la topología mediante la interconexión algunas redes locales de un mismo nivel, lo cual permite reducir la distancia media de servicio, además de aumentar la tolerancia a fallos y la eficiencia de las políticas de compartición de recursos.Con el objetivo de incrementar el número de usuarios soportados por el sistema utilizando los mismos recursos, se han propuesto una serie de políticas orientadas a mejorar la distancia media de servicio (políticas de gestión del almacenamiento y los contenidos multimedia) y el desbalanceo del tráfico (políticas estáticas y dinámicas de balanceo del tráfico) en las redes de las arquitecturas LVoD distribuidas.Las arquitecturas propuestas han demostrado ser una alternativa viable para las instalaciones LVoD. En concreto, la arquitectura Double P-Tree permite aumentar la capacidad de servicio del sistema en más de un 200% respecto a la arquitectura de un nivel de servidores-proxy y en un 46% respecto a la arquitectura de servidores independientes. / This Tesis is oriented to design and evaluate architectures to provide Large-scale Video-on-Demand (LVoD) services. After an exhaustive analysis of different existing alternatives in the literature (independent-servers, one level proxies, etc) and their characteristics, we propose two LVoD architectures based on the utilization of simple and low-cost components (proxies and local networks) called Proxy-Tree and Double P-Tree.Although both architectures accomplish LVoD systems main requirements (high service capacity, scalability, load balancing, fault tolerance and efficient resource sharing), the Double P-Tree architecture increases the topology connectivity by interconnecting several local networks (brothers nets) of the same level, what allows to reduce the mean service distance, increasing fault-tolerance and resource sharing efficiency.With the goal of improving the number of users supported by the system using the same resources, we have proposed a set of policies oriented to improve the mean service distance (storage management and videos mapping policies) and network-traffic balancing (static and dynamic policies) in LVoD distributed architectures.Proposed architectures have demonstrated to be a viable alternative for LVoD systems. The Double P-Tree using multicasting and similar resources clearly outperforms classical DVoD architectures, namely, Independent servers (by 46%) and one-level proxies (by 200%).
|
54 |
Un modelo orientado a objetos para el desarrollo de sistemas con arquitecturas de tres capasMurias, Pablo Hernán January 2003 (has links)
No description available.
|
55 |
Modelo estrutural para compartilhamento de arquivos peer-to-peer /Rezende, Evandro da Silva. January 2009 (has links)
Orientador: Roberta Spolon / Banca: Marcos Antônio Cavenaghi / Banca: Ronaldo Augusto de Lara Gonçalves / Resumo: O processo de compartilhamento de arquivos passou por grande evolução desde a criação dos computadores, até os dias atuais. Esta evolução teve início com o compartilhamento de dados em computadores de grande porte, passando pela criação das mídias removíveis e, posteriormente, beneficiando-se dos avanços nas tecnologias de redes de computadores. Nesta última, é possível verificar duas fases distintas, a primeira, em que a arquitetura predominante foi cliente/servidor, e a segunda, na qual busca-se voltar às origens da Internet, e utilizar largamente o conceito de computação peer-to-peer. Apesar de todo avanço ocorrido com o compartilhamento de arquivos peer-to-peer, desde seu surgimento no final da década de noventa até os dias atuais, verifica-se que todo o avanço ocorrido ainda não foi suficiente para garantir a plena excelência no que esta tecnologia foi proposta, facilitar a troca de arquivos entre usuários e sistemas. Assim, esta dissertação apresenta um modelo de indexação e acesso a arquivos compartilhados, de maneira totalmente descentralizada e autônoma. Além disso, busca-se criar mecanismos de acesso ao conteúdo compartilhado através de padrões da indústria, oferecendo acesso a estes arquivos para diversas aplicações e sistemas, por exemplo, navegadores web, o qual foi foco de um estudo de caso neste trabalho, onde foi possível verificar todos os benefícios e viabilidade de tal modelo. / Abstract: The file sharing process has evolved significantly since the creation of the first personal computers to the present days. Such evolution begun with the possibility of data sharing among the users of a same supercomputer, passed through the creation of removable storage devices and, after that, took advantage in the technology advances in computer networks. In this last phase, it is possible to distinguish two different approaches one based on a client-server architecture, and another aiming to use the peer-to-peer concepts for data access. The growth in the adoption of peer-to-peer approaches, however, still have not been enough to guarantee the primary goal of this approach, which is to simplify access to shared data, due to the existence of multiple incompatible peer-to-peer networks. In this context, this dissertation presents a completely decentralized and autonomic approach to data indexing and access. In this sense, this approach intends to provide mechanisms to access data stored on independent peer-to-peer networks using industry standards, and offering access to such data to user and system applications, such as the web browsers, which was the focus of study case in this work, and made possible to verify all it's benefits and feasibility. / Mestre
|
56 |
Uma infra-estrutura baseada em FT-Corba para o desenvolvimento de aplicações distribuídas confiáveisNunes, Luelson Marlos 08 February 2011 (has links)
Resumo: O padrão CORBA (Common Object Request Broker Architecture) possibilita a construção de sistemas distribuídos abertos em um modelo orientado a objetos. A especificação para tolerância a falhas do CORBA (FT-CORBA - Fault Tolerant CORBA) tem por objetivo fornecer suporte para aplicações que necessitam de confiabilidade. Neste trabalho apresentamos a implementação de uma infraestrutura baseada em FT-CORBA que permite a construção de aplicações distribuídas confiáveis baseadas em grupos de servidores replicados. Duas abordagens para monitoração das réplicas foram implementadas. Na primeira abordagem, apenas o servidor primário de cada grupo é periodicamente monitorado. Somente em caso de falha da réplica primária a monitoração das demais réplicas é efetuada sendo então um novo servidor primário eleito para o grupo de objetos. Na segunda abordagem, o processo de monitoração é feito periodicamente para todos os objetos de todos os grupos. Uma réplica falha é desconsiderada no momento da eleição de um novo membro primário para um grupo de objetos. Resultados experimentais mostram que a escolha do método de monitoração deve ser feita após uma avaliação do impacto de cada estratégia considerando o número total de réplicas monitoradas, bem como a banda disponível na rede.
|
57 |
Réplicas para alta disponibilidade em arquiteturas orientadas a componentes com suporte de comunicação de grupoPasin, Marcia January 2003 (has links)
Alta disponibilidade é uma das propriedades mais desejáveis em sistemas computacionais, principalmente em aplicações comerciais que, tipicamente, envolvem acesso a banco de dados e usam transações. Essas aplicações compreendem sistemas bancários e de comércio eletrônico, onde a indisponibilidade de um serviço pode representar substanciais perdas financeiras. Alta disponibilidade pode ser alcançada através de replicação. Se uma das réplicas não está operacional, outra possibilita que determinado serviço seja oferecido. No entanto, réplicas requerem protocolos que assegurem consistência de estado. Comunicação de grupo é uma abstração que tem sido aplicada com eficiência a sistemas distribuídos para implementar protocolos de replicação. Sua aplicação a sistemas práticos com transações e com banco de dados não é comum. Tipicamente, sistemas transacionais usam soluções ad hoc e sincronizam réplicas com protocolos centralizados, que são bloqueantes e, por isso, não asseguram alta disponibilidade. A tecnologia baseada em componentes Enterprise JavaBeans (EJB) é um exemplo de sistema prático que integra distribuição, transações e bancos de dados. Em uma aplicação EJB, o desenvolvedor codifica o serviço funcional que é dependente da aplicação, e os serviços não–funcionais são inseridos automaticamente. A especificação EJB descreve serviços não–funcionais de segurança, de transações e de persistência para bancos de dados, mas não descreve serviços que garantam alta disponibilidade. Neste trabalho, alta disponibilidade é oferecida como uma nova propriedade através da adição de serviços não–funcionais na tecnologia EJB usando abstrações de comunicação de grupo. Os serviços para alta disponibilidade são oferecidos através da arquitetura HA (highly-available architecture) que possui múltiplas camadas. Esses serviços incluem replicação, chaveamento de servidor, gerenciamento de membros do grupo e detecção de membros falhos do grupo. A arquitetura HA baseia-se nos serviços já descritos pela especificação EJB e preserva os serviços EJB existentes. O protocolo de replicação corresponde a uma subcamada, invisível para o usuário final. O serviço EJB é executado por membros em um grupo de réplicas, permitindo a existência de múltiplos bancos de dados idênticos. Conflitos de acesso aos múltiplos bancos de dados são tratados estabelecendo–se uma ordem total para aplicação das atualizações das transações. Esse grupo é modelado como um único componente e gerenciado por um sistema de comunicação de grupo. A combinação de conceitos de bancos de dados com comunicação de grupo demonstra uma interessante solução para aplicações com requisitos de alta disponibilidade, como as aplicações EJB. Os serviços adicionais da arquitetura HA foram implementados em protótipo. A validação através de um protótipo possibilita que experimentos sejam realizados dentro de um ambiente controlado, usando diferentes cargas de trabalho sintéticas. O protótipo combina dois sistemas de código aberto. Essa característica permitiu acesso à implementação e não somente à interface dos componentes dos sistemas em questão. Um dos sistemas implementa a especificação EJB e outro implementa o sistema de comunicação de grupos. Os resultados dos testes realizados com o protótipo mostraram a eficiência da solução proposta. A degradação de desempenho pelo uso de réplicas e da comunicação de grupo é mantida em valores adequados.
|
58 |
Plataforma de comunicação tempo real sobre clusters SCIHeimfarth, Tales January 2002 (has links)
Devido a sua baixa latência de banda, os clusters equipados com o adaptador SCI são uma alternativa para sistemas de tempo real distribuídos. Esse trabalho apresenta o projeto e implementação de uma plataforma de comunicação de tempo real sobre clusters SCI. O hardware padrão do SCI não se mostra adequado para a transmissão de tráfego de tempo real devido ao problema da contenção de acesso ao meio que causa inversão de prioridade. Por isso uma disciplina de acesso ao meio é implementada como parte da plataforma. Através da arquitetura implementada é possível o estabelecimento de canais de comunicação com garantia de banda. Assim, aplicações multimídias, por exemplo, podem trocar com taxa constante de conunicação. Cada mensagem é enviada somente uma vez. Assim, mensagens som a semântica de eventos podem ser enviadas. Além disso, a ordem e o tamanho das mensagens são garantidos. Além do tráfego com largura de banda garantida, a plataforma possibilita a troca de pacotes IP entre diferentes máquinas do cluster. Esses pacotes são inseridos no campo de dados dos pacotes próprios da plataforma e após são enviados através do uso de pacotes IP. Além disso, essa funcionalidade da plataforma permite também a execução de bibliotecas de comunicação baseadas em TCP/IP como o MPI sobre o cluster SCI. A plataforma de comunicação é implementada como modulos do sistema operacional Linux com a execução de tempo real RTAI. A valiação da plataforma mostrou que mesmo em cenários com muita comunicação entre todos os nodos correndo, a largura de banda reservada para cada canal foi mantida.
|
59 |
DOMonitor: um ambiente de monitoração de aplicações distribuídas JavaAraujo, Edvar Bergmann January 2002 (has links)
A linguagem de programação Java vem sendo uma das escolhidas para a implementação de aplicações compostas por objetos distribuídos. Estas aplicações caracterizam-se por possuir comportamento complexo e, portanto, são mais difíceis de depurar e refinar para obter melhores desempenhos. Considerando a necessidade do desenvolvimento de uma ferramenta de monitoração para o modelo de objetos distribuídos, que colete informações mais detalhadas sobre a execução da aplicação, é apresentado neste trabalho um ambiente de monitoração de aplicações distribuídas escritas em Java, o DOMonitor. Um dos objetivos do DOMonitor é obter o comportamento que a aplicação apresenta durante a execução, possibilitando a detecção de comportamentos equivocados e seu respectivo refinamento. O DOMonitor é voltado para aplicações compostas por objetos distribuídos e caracteriza-se por identificar principalmente: (i) o comportamento dinâmico das threads; (ii) a utilização dos métodos de sincronização; e (iii) a comunicação entre os entes distribuídos da aplicação. O DOMonitor está fundamentado em quatro premissas: (i) ser transparente para o usuário, não exigindo anotações no código fonte; (ii) apresentar uma organização modular, e por isto ser flexível e expansível; (iii) ser portável, não exigindo nenhuma alteração na Maquina Virtual Java; e (iv) operar de forma a garantir a ordem dos eventos previstos pelo programa. Os dados produzidos pelo DOMonitor podem ser utilizados com diversas finalidades tais como visualização da execução, escalonamento e como suporte à execução de aplicações móveis. Para comprovar esta versatilidade, foi proposta a integração do sistema a dois outros projetos, o Pajé e o ISAM. O projeto ISAM utilizará os dados monitorados para tomadas de decisão durante o curso da execução e o projeto Pajé permite a visualização gráfica das características dinâmicas de uma aplicação Java.
|
60 |
Apresentação de objetos multimídia e hipermídia em um ambiente distribuído heterogêneo utilizando os padrões MHEG-5 e CORBA /Bertini, Luciano January 1998 (has links)
Dissertação (Mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. / Made available in DSpace on 2012-10-17T05:22:23Z (GMT). No. of bitstreams: 0Bitstream added on 2016-01-09T01:21:49Z : No. of bitstreams: 1
138049.pdf: 6282184 bytes, checksum: f2e193a2f232ecf8f3cfdb8160cfb544 (MD5)
|
Page generated in 0.0845 seconds