1000 resultados para Sistemas Distribuídos
Resumo:
A necessidade de poder computacional é crescente nas diversas áreas de actuação humana, tanto na indústria, como em ambientes académicos. Grid Computing permite a ligação de recursos computacionais dispersos de maneira a permitir a sua utilização mais eficaz, fornecendo aos utilizadores um acesso simplificado ao poder computacional de diversos sistemas. Os primeiros projectos de Grid Computing implicavam a ligação de máquinas paralelas ou aglomerados de alto desempenho e alto custo, disponíveis apenas em algumas instituições. Contrastando com o elevado custo dos super-computadores, os computadores pessoais e a Internet sofreram uma evolução significativa nos últimos anos. O uso de computadores dispersos em uma WAN pode representar um ambiente muito interessante para processamento de alto desempenho. Os sistemas em Grid fornecem a possibilidade de se utilizar um conjunto de computadores pessoais de modo a fornecer uma computação que utiliza recursos que de outra maneira estariam omissos. Este trabalho consiste no estudo de Grid Computing a nível de conceito e de arquitectura e numa análise ao seu estado actual hoje em dia. Como complemento foi desenvolvido um componente que permite o desenvolvimento de serviços para Grids (Grid Services) mais eficaz do que o modelo de suporte a serviços actualmente utilizado. Este componente é disponibilizado sob a forma um plug-in para a plataforma Eclipse IDE.
Resumo:
Esta tese pretende desenvolver o estudo de um padrão que utiliza um modelo de implementação fundamentado na natureza das operações que um sistema pretende executar. Estas operações são distinguidas pelo que realizam, portanto um sistema poderá ser dividido em duas grandes áreas: uma, de leitura de dados, e outra, de manipulação de dados. A maior parte dos sistemas atuais está a progredir, com o objetivo de conseguir suportar muitos utilizadores em simultâneo, e é neste aspeto que este padrão se diferencia porque vai permitir escalar, com muita facilidade e sem sobrecarga. Além disso, este estudo deverá facultar um conjunto de boas práticas e incidir sobre o facto de se pretender desenhar um sistema de raiz e não apenas em “migrar” de um sistema já existente. Ao estudar este padrão é essencial estudar e analisar a evolução da utilização futura dos sistemas, para determinar a utilidade e a aplicação crescente ou não, deste padrão. Interessa também saber, quem implementa atualmente este padrão, em que tipo de produtos, e enaltecer o seu sucesso de implementação, estimulando o desenvolvimento da sua utilização. Finalmente, demonstra-se a aplicabilidade e validade do padrão proposto, através de uma implementação modelo, com a ajuda de uma framework de forma a determinar quais as ferramentas existentes que possam ser úteis e contribuir para a implementação deste padrão. O objetivo final será demonstrar os principais componentes do sistema, como poderá prosseguir a sua evolução e como poderá ser melhorada e simplificada a comunicação entre os seus componentes, para uma utilização mais fácil, frequente e de interesse comum para todos: utilizadores e administradores.
Resumo:
Dissertação de Mestrado em Engenharia Informática
Resumo:
Os sistemas distribuídos de manufactura (SDM) possuem como principais características a capacidade de executarem processos de manufactura de forma distribuída em ambientes heterogéneos, em que os diversos estágios e parceiros envolvidos funcionam de forma autónoma. Dotados de uma boa capacidade de adaptação a mercados em constante mudança, são sis-temas complexos e dinâmicos, sendo difícil prever o seu desempenho sem abordagens adequadas, nomeadamente, recorrendo a métodos de simulação. No entanto os pacotes de simulação que existem actualmente, apesar de boa qualidade e bastante flexíveis, ainda se caracterizam por uma limitada capacidade para a simulação de SDM. Por outro lado, o desenvolvi-mento duma ferramenta de manufactura que combine a simulação ao nível local de processos de manufactura (por exemplo: com robôs e maquinas industriais) e a correspondente ao nível global e distribuído, revela-se significativamente complexo e oneroso. Ao invés de se desenvolver tal sistema, com este trabalho, pretende-se especificar um modelo e respectiva ferramenta que permita a simulação de SDM, recorrendo a produtos comerciais já existentes, mediante a definição duma estratégia de interoperabilidade entre as ferramentas. A simulação em simultâneo, de forma agregada e em tempo real dos diversos níveis estratégicos e locais de um SDM, permite assim uma melhor estimativa do seu desempenho futuro.
Resumo:
O objetivo principal deste trabalho é desenvolver um protótipo de ferramenta que permita a geração de ficheiros de configuração de sistemas distribuídos de controlo em plataformas específicas permitindo a integração de um conjunto de componentes previamente definidos. Cada componente é caracterizado como um módulo, identificando-se o conjunto de sinais e eventos de entrada e saída, bem como o seu comportamento, normalmente especificado através de um modelo em redes de Petri IOPT – RdP-IOPT (Input-Output Place-Transitions). O formato PNML (Petri Net Markup Language) será utilizado para a representação de cada componente. Os componentes referidos poderão ser obtidos através de vários métodos, nomeadamente através de ferramentas em desenvolvimento, que se encontram disponíveis em http://gres.uninova.pt/IOPT-Tools/ e também através da sua edição no editor de IOPT, como resultado da partição de um modelo expresso em IOPT, utilizando o editor Snoopy-IOPT em conjugação com a ferramenta SPLIT. Serão considerados várias formas para interligação dos componentes, incluindo-se ligações diretas e wrappers assíncronos num contexto de sistemas Globalmente Assíncronos Localmente Síncronos - GALS bem como diferentes tipos de barramentos e ligações série, incluindo Network-On-Chip específicos. A descrição da interligação entre componentes é gerada automaticamente pela ferramenta desenvolvida, tendo em conta resultados de dissertações de mestrado anteriores. As plataformas especificas de suporte à implementação incluem FPGA’s da serie Xilinx Spartan3,3E e Xilinx Virtex, e várias placas de desenvolvimento.
Resumo:
Replicação de objetos é usada para garantir uma maior disponibilidade de recursos em um sistema distribuído. Porém, com a replicação, surgem problemas como o controle da consistência das réplicas e onde estas réplicas devem estar posicionadas. A consistência é garantida por um protocolo de consistência de réplicas. Para facilitar a implementação dos protocolos de controle de réplicas, pode-se utilizar mecanismos de comunicação de grupo como suporte para a replicação. Outro problema importante que surge com a replicação é o posicionamento das réplicas. A carga de processamento em um sistema distribuído muda continuamente e num determinado instante pode ser necessário mudar a distribuição atual das réplicas pela adição de novas réplicas, remoção de réplicas desnecessárias ou pela mudança de posicionamento das réplicas. Um sistema de gerenciamento de réplicas pode realizar esta tarefa. Este trabalho apresenta o sistema RPM – Replica Placement Manager – responsável por fornecer ao serviço de gerenciamento de réplicas uma lista ordenada de nodos potencialmente ideais, num determinado momento do processamento, para receber uma réplica de um objeto. Esta lista é criada pelo RPM, considerando um pequeno conjunto de variáveis estáticas e dinâmicas, facilmente obtidas nos nodos do sistema distribuído.
Resumo:
O desenvolvimento de protocolos distribuídos é uma tarefa complexa. Em sistemas tolerantes a falhas, a elaboração de mecanismos para detectar e mascarar defeitos representam grande parte do esforço de desenvolvimento. A técnica de simulação pode auxiliar significativamente nessa tarefa. Entretanto, existe uma carência de ferramentas de simulação para investigação de protocolos distribuídos em cenários com defeitos, particularmente com suporte a experimentos em configurações “típicas” da Internet. O objetivo deste trabalho é investigar o uso do simulador de redes NS (Network Simulator) como ambiente para simulação de sistemas distribuídos, particularmente em cenários sujeitos à ocorrência de defeitos. O NS é um simulador de redes multi-protocolos, que tem código aberto e pode ser estendido. Embora seja uma ferramenta destinada ao estudo de redes de computadores, o ajuste adequado de parâmetros e exploração de características permitiu utilizá-lo para simular defeitos em um sistema distribuído. Para isso, desenvolveu-se dois modelos de sistemas distribuídos que podem ser implementados no NS, dependendo do protocolo de transporte utilizado: um baseado em TCP e o outro baseado em UDP. Também, foram estudadas formas de modelar defeitos através do simulador. Para a simulação de defeito de colapso em um nodo, foi proposta a implementação de um método na classe de cada aplicação na qual se deseja simular defeitos. Para ilustrar como os modelos de sistemas distribuídos e de defeitos propostos podem ser utilizados, foram implementados diversos algoritmos distribuídos em sistemas síncronos e assíncronos. Algoritmos de eleição e o protocolo Primário-Backup são exemplos dessas implementações. A partir desses algoritmos, principalmente do Primário-Backup, no qual a simulação de defeitos foi realizada, foi possível constatar que o NS pode ser uma ferramenta de grande auxílio no desenvolvimento de novas técnicas de Tolerância a Falhas. Portanto, o NS pode ser estendido possibilitando que, com a utilização dos modelos apresentados nesse trabalho, simule-se defeitos em um sistema distribuído.
Resumo:
O objetivo deste trabalho é a introdução e desenvolvimento de uma metodologia analítico-simbólica para a obtenção de respostas dinâmicas e forçadas (soluções homogêneas e não homogêneas) de sistemas distribuídos, em domínios ilimitados e limitados, através do uso da base dinâmica gerada a partir da resposta impulso. Em domínios limitados, a resposta impulso foi formulada pelo método espectral. Foram considerados sistemas com condições de contorno homogêneas e não homogêneas. Para sistemas de natureza estável, a resposta forçada é decomposta na soma de uma resposta particular e de uma resposta livre induzida pelos valores iniciais da resposta particular. As respostas particulares, para entradas oscilatórias no tempo, foram calculadas com o uso da fun»c~ao de Green espacial. A teoria é desenvolvida de maneira geral permitindo que diferentes sis- temas evolutivos de ordem arbitrária possam ser tratados sistematicamente de uma forma compacta e simples. Realizou-se simulações simbólicas para a obtenção de respostas dinâmicas e respostas for»cadas com equações do tipo parabólico e hiperbólico em 1D,2D e 3D. O cálculo das respostas forçadas foi realizado com a determinação das respostas livres transientes em termos dos valores iniciais das respostas permanentes. Foi simulada a decomposição da resposta forçada da superfície livre de um modelo acoplado oceano-atmosfera bidimensional, através da resolução de uma equação de Klein-Gordon 2D com termo não-homogêneo de natureza dinâmica, devido a tensão de cisalhamento na superfície do oceano pela ação do vento.
Resumo:
Uma etapa fundamental no desenvolvimento de sistemas tolerantes a falhas é a fase de validação, onde é verificado se o sistema está reagindo de maneira correta à ocorrência de falhas. Uma das técnicas usadas para validar experimentalmente um sistema é injeção de falhas. O recente uso de sistemas largamente distribuídos para execução dos mais diversos tipos de aplicações, faz com que novas técnicas para validação de mecanismos de tolerância a falhas sejam desenvolvidas considerando este novo cenário. Injeção de falhas no sistema de comunicação do nodo é uma técnica tradicional para a validação de aplicações distribuídas, para forçar a ativação dos mecanismos de detecção e recuperação de erros relacionados à troca de mensagens. A condução de experimentos com injetores de comunicação tradicionais é feita pelo uso do injetor em uma máquina do sistema distribuído. Se o cenário desejado é de múltiplas falhas, o injetor deve ser instanciado independentemente nas n máquinas que as falhas serão injetadas. O controle de cada injetor é individual, o que dificulta a realização do experimento. Esta dificuldade aumenta significativamente se o cenário for um sistema distribuído de larga escala. Outro problema a considerar é a ausência de ferramentas apropriadas para a emulação de determinados cenários de falhas. Em aplicações distribuídas de larga escala, um tipo comum de falha é o particionamento de rede. Não há ferramentas que permitam diretamente a validação ou a verificação do processo de defeito de aplicações distribuídas quando ocorre um particionamento de rede Este trabalho apresenta o estudo de uma abordagem para injeção de falhas que permita o teste de atributos de dependabilidade de aplicações distribuídas de pequena e larga escala implementadas em Java. A abordagem considera a não obrigatoriedade da alteração do código da aplicação sob teste; a emulação de um cenário de falhas múltiplas que ocorrem em diferentes nodos, permitindo o controle centralizado do experimento; a validação de aplicações que executem em sistemas distribuídos de larga escala e consideram um modelo de falhas realista deste tipo de ambiente, incluindo particionamentos de rede. A viabilidade da abordagem proposta é mostrada através do desenvolvimento do protótipo chamado FIONA (Fault Injector Oriented to Network Applications), o qual atualmente injeta falhas em aplicações desenvolvidas sob o protocolo UDP.
Resumo:
Sistemas computacionais de tempo-real são tipicamente construídos a partir de primitivas de sincronização que fornecem uma noção do tempo no objetivo de coordenar a execução múltiplos fluxos de instruções em um processador. Quando o processamento é centralizado, a base de tempo destas primitivas é extraída do oscilador local da plataforma, permitindo que as ações do sistema sejam devidamente ordenadas, respeitando restrições de tempo e causalidade. No entanto, em sistemas distribuídos o problema não pode ser resolvido desta forma em decorrência de imperfeições nos dispositivos físicos. Diferenças mínimas na freqüência de osciladores fazem com que as bases de tempo dos componentes divirjam cada vez mais ao longo do tempo, dificultando ou até mesmo impossibilitando um ordenamento consistente de eventos. Por esta razão, sincronização de relógios é um serviço de fundamental importância, sobretudo em aplicações críticas, onde os níveis de confiabilidade exigidos são mais elevados. O presente trabalho consiste na proposta e implementação de uma plataforma de comunicação otimizada para sistemas de controle distribuídos, caracterizados por uma alta regularidade no comportamento da comunicação. O objetivo é propor uma solução em baixo nível com suporte para o projeto de sistemas distribuídos no domínio de aplicações críticas. A plataforma proposta, à qual foi atribuído o nome CASCA, sigla para “Communication Architecture for Safety- Critical Applications”, é de fato uma extensão time-triggered do protocolo CAN. Acima da camada de enlace do protocolo original foram projetados mecanismos sincronização de relógios e criação inicial da base de tempo, implementados na forma de uma combinação de hardware e software. Principais características da plataforma são jitter mínimo, uma base de tempo global essencialmente distribuída e particionamento temporal. Diferentes alternativas de projeto foram consideradas, observando com maior atenção a viabilidade de prototipação em dispositivos FPGA para fins de validação e aplicação imediata em plataformas reconfiguráveis. Como forma de validação da plataforma, um sistema elementar formado por três nodos foi sintetizado com sucesso em bancada obtendo-se como resultado uma base de tempo essencialmente distribuída com precisão menor do que um micro-segundo.
Resumo:
The lava Platform is increasing1y being adopted in the development of distributed sys¬tems with higb user demando This kind of application is more complex because it needs beyond attending the functional requirements, to fulfil1 the pre-established performance parameters. This work makes a study on the Java Vutual Machine (JVM), approaching its intemal aspects and exploring the garbage collection strategies existing in the literature and used by the NM. It also presents a set of tools that helps in the job of optimizing applications and others that help in the monitoring of applications in the production envi¬ronment. Doe to the great amount of technologies that aim to solve problems which are common to the application layer, it becomes difficult to choose the one with best time response and less memory usage. This work presents a brief introduction to each one of tbe possible technologies and realize comparative tests through a statistical analysis of the response time and garbage collection activity random variables. The obtained results supply engineers and managers with a subside to decide which technologies to use in large applications through the knowledge of how they behave in their environments and the amount of resources that they consume. The relation between the productivity of the technology and its performance is also considered ao important factor in this choice
Resumo:
Digital image processing is a field that demands great processing capacity. As such it becomes relevant to implement software that is based on the distribution of the processing into several nodes divided by computers belonging to the same network. Specifically discussed in this work are distributed algorithms of compression and expansion of images using the discrete cosine transform. The results show that the savings in processing time obtained due to the parallel algorithms in comparison to its sequential equivalents is a function that depends on the resolution of the image and the complexity of the involved calculation; that is efficiency is greater the longer the processing period is in terms of the time involved for the communication between the network points.
Resumo:
Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)
Resumo:
A modelagem e desenvolvimento de sistemas embarcados ("embedded systems") de forma distribuída, tende a ser uma tarefa extremamente complexa, especialmente quando envolve sistemas heterogêneos e sincronização de tarefas. Com a utilização do modelo de componentes de software é possível descrever, de uma forma simplificada, todos os elementos de distribuição e de comunicação para este tipo de sistemas. Neste sentido, a especificação de uma ferramenta capaz de auxiliar na modelagem e no desenvolvimento deste tipo de aplicação, certamente irá tornar o trabalho mais simples. Esta dissertação inicia por uma análise comparativa entre as tecnologias passíveis de serem utilizadas na definição de sistemas distribuídos heterogêneos, focando-se principalmente nas metodologias de modelagem, e nos mecanismos e middlewares de comunicação. Dos conceitos formados a partir desta análise é descrita uma ferramenta, baseada em componentes de software. A ferramenta é uma extensão do projeto SIMOO-RT, onde foram adicionados os conceitos de componente de software, biblioteca de componentes e diagrama de implantação. Além disso, foram realizadas modificações no sistema de geração de código, para dar suporte aos novos conceitos da ferramenta. A dissertação termina com a descrição de alguns estudos de caso utilizados para validar a ferramenta.
Resumo:
A resposta impulso é utilizada como ferramenta padrão no estudo direto de sistemas concentrados, discretos e distribuídos de ordem arbitrária. Esta abordagem leva ao desenvolvimento de uma plataforma unificada para a obtenção de respostas dinâmicas. Em particular, as respostas forçadas dos sistemas são decompostas na soma de uma resposta permanente e de uma resposta livre induzida pelos valores iniciais da resposta permanente. A teoria desenvolve-se de maneira geral e direta para sistemas de n-ésima ordem, introduzindo-se a base dinâmica gerada pela resposta impulso na forma padrão e normalizada, sem utilizar-se a formulação de estado, através da qual reduz-se um sistema de ordem superior para um sistema de primeira ordem. Considerou-se sistemas de primeira ordem a fim de acompanhar-se os muitos resultados apresentados na literatura através da formulação de espaço de estado. Os métodos para o cálculo da resposta impulso foram classificados em espectrais, não espectrais e numéricos. A ênfase é dada aos métodos não espectrais, pois a resposta impulso admite uma fórmula fechada que requer o uso de três equações características do tipo algébrica, diferencial e em diferenças Realizou-se simulações numéricas onde foram apresentados modelos vibratórios clássicos e não clássicos. Os sistemas considerados foram sistemas do tipo concentrado, discreto e distribuído. Os resultados da decomposição da resposta dinâmica de sistemas concentrados diante de cargas harmônicas e não harmônicas foram apresentados em detalhe. A decomposição para o caso discreto foi desenvolvida utilizando-se os esquemas de integração numérica de Adams-Basforth, Strömer e Numerov. Para sistemas distribuídos, foi considerado o modelo de Euler-Bernoulli com força axial, sujeito a entradas oscilatórias com amplitude triangular, pulso e harmônica. As soluções permanentes foram calculadas com o uso da função de Green espacial. A resposta impulso foi aproximada com o uso do método espectral.