• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 194
  • 20
  • 15
  • Tagged with
  • 229
  • 229
  • 93
  • 91
  • 64
  • 53
  • 47
  • 45
  • 45
  • 36
  • 28
  • 28
  • 28
  • 27
  • 24
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
101

Tolerancia a fallas y gestión de carga en entornos federados

Echaiz, Javier 00 December 2012 (has links)
Existe una creciente demanda de sistemas online, especial-mente de aquellos que requieren procesamiento de informa-ción. Esta demanda sumada a las nuevas tecnologías de monitoreo (como por ejemplo las redes de sensores) impulsaron un nuevo tipo de aplicación que requiere bajas latencias y procesamiento continuo de grandes volúmenes de datos (los cuales arriban en forma de streams). El proce-samiento de streams constituye un paradigma de cómputo relacionado con SIMD que permite que algunos tipos de apli-caciones puedan explotar una forma de procesamiento para-lelo y puede emplearse en diferentes dominios, como por e-jemplo para la implementación de sistemas financieros, moni-toreo basado en sensores, sistemas militares, monitoreo de red, etc. Si bien los sistemas de gestión de bases de datos (DBMS) pueden utilizarse para implementar este tipo de apli-caciones, las restricciones de bajas latencias de procesa-miento y grandes volúmenes de datos a procesar los vuelve inadecuados. Una mejor alternativa son los sistemas de ges-tión de streams de datos, usualmente sistemas distribuidos de gestión de streams de datos (DSMS por su sigla en inglés) de-bido a que estas aplicaciones son inherentemente distribuidas y por lo tanto las soluciones distribuidas son naturales y proveen mejoras en cuanto a escalabilidad y performance. Esta tesis se enfoca en dos aspectos desafiantes pertenecien-tes al campo de los sistemas distribuidos en general y al de los DSMS en particular: (1) tolerancia a fallas capaz de re-sistir fallas a nivel de nodos y de red y (2) gestión de carga en sistemas federados. Nuestro enfoque al problema de la to-lerancia a fallas se basa en replicación capaz de enmascarar tanto las fallas a nivel de los nodos como a nivel de las redes. Nuestroprotocolo, denominado Disponibilidad y Consistencia Ajustable a las Aplicaciones (DCAA) puede manejar adecua-damente la relación entre disponibilidad y consistencia, man-teniendo (si es posible) la disponibilidad especificada por el usuario o la aplicación, pero produciendo (eventualmente) los resultados correctos. Al mismo tiempo, DCAA también trata de producir el menor número de resultados incorrectos (impre-cisos) que luego deberían requerir corrección. La principal diferencia entre DCAA y enfoques previos sobre tolerancia a fallas en el campo de los DSMS es que DCAA soporta al mismo tiempo diferentes restricciones en las aplicaciones, esto quiere decir que cada aplicación puede potencialmente tener distintas preferencias de disponibilidad y consistencia. Por otro lado presentaremos un nuevo protocolo de gestion de carga denominado Mecanismo de Precio Acotado (MPA), el cual permite que nodos autonomos (participantes colabora-tivos) compartan su carga sin la necesidad de contar con recursos suficientes para la operación durante picos de carga. MPA es un protocolo basado en contratos donde cada nodo practica una negociación offline y los participantes migran carga en tiempo de ejecución únicamente a nodos (pares) con los cuales mantienen un contrato (y pagan mutuamente de acuerdo al precio contratado). Este protocolo de gestión de carga ofrece incentivos que promueven la participación de los nodos y produce una buena distribución de carga (a nivel global del sistema). Los aportes mas importantes de nuestro enfoque por sobre trabajos previos basados en economías de cómputo son su estabilidad, predecibilidad, baja carga de procesamiento, privacidad y promoción de relaciones entre participantes, posibilitando que los mismos pueden crear y explotar estas relaciones privilegiadas. El protocolo MPA es general y por lo tanto puede utilizarse para la gestión de carga de cualquier entorno federado y no sólo bajo DSMS. Más aún, este nuevo protocolo de gestión de carga debe no sólo traba-jar en los típicos entornos colaborativos sino que también debe ser capaz de solucionar escenarios más reales, donde cada nodo (probablemente parte de diferentes organizaciones autónomas) juega bajo distintas reglas, tratando de maximi-zar su propia ganancia sin cooperar necesariamente con sus pares. Además de los modelos económicos existen varios tra-bjos basados en SLA (Service Level Agreements) para solucio-nar el problema de la gestión de carga cuando el entorno no es colaborativo. Mostraremos que los modelos SLA no proveen una solucion completa y que los acuerdos entre pares usual-mente proveen mejores resultados. Si bien esta tesis parece tener dos focos en lugar de uno, es importante notar que ata-caremos especialmente el problema de la gestión de carga en sistemas distribuidos federados. La relación entre este enfo-que y la tolerancia a fallas radica en los contratos negocia-dos: además de precio y tareas (carga), los contratos pueden incluir disponibilidad, característica que vuelve especialmente importante la tolerancia a fallas. / There is an increased demand for online systems,especially those requiring information processing. This demand added to new monitoring technologies (like sensors networks) have motivated a new type of application that requires low latency and continuous processing of large volumes of data (arriving as streams). Stream processing is a computer programming paradigm, related to SIMD, that allows some applications to more easily exploit a form of parallel pro-cessing and it can be employed in many different domains, such as financial systems, sensor based monitoring, milita-ry systems, network monitoring, etc. Even when traditional database management systems (DBMS) can be used to handle these applications, the low latency and high volume pro-cessing constrains make them not suitable. A much better alternative are the data stream management systems, usually distributed data stream management systems (DSMS) because these are inherently distributed applications so distributed solutions are natural and providers of scalabi-lity and performance improvements. This thesis focuses on two challenges faced by distributed systems in general and DSMS in particular: (1) fault tolerance able to resist node and network failures and (2) load management in fede-rated systems. The fault tolerance approach is based on re-plication and our protocol can resist most node and net-work failures. It is called Disponibilidad y Consistencia Ajustable a las Aplicaciones (DCAA) and addresses the availability/consistency relation by maintaining (if possi-ble), the availability specified by the user or the appli-cation but (eventually) producing correct results. At the same time, DCAA also attempts to produce the minimum number of incorrect (inaccurate) results that will need correction. The main difference of DCAA over previous approaches for fault tolerance in DSMS is that DCAA supports at the same time different application constrains, this means that each application can potentially choose a different preference of availability and consistency. Our load management protocol, called Mecanismo de Precio Acota-do (MPA) enable autonomous nodes (collaborative participa-nts) to share their load without having the required re-sources for peak load work. MPA is a contract based proto-col where nodes practice an offline negotiation and parti-cipants migrate load at execution time only to peers with whom they hold a contract (and pay each other according to the contracted price). This load management protocol offers incentives that promote participation and produces a good (system wide level) load distribution. The key differences of our approach over previous works based on computational economies are its stability, predictability, lightweight, privacy, and promotion of the relationships among participants, enabling them to create and exploit these privileged relationships. The MPA protocol is gene-ral, so it can be used to manage load in any federated en-vironment, and not only DSMS. Moreover, this new load ma-nagement protocol should not only work under the typical collaborative environment, but also should be able to address the more realistic scenery where each node (proba-bly part of different and autonomous organizations) plays under different rules trying to maximize their own gain, without necessarily cooperating with their partners. Besi-des economic models there are various works based on SLA (service level agreements) to solve the load management problem when the environment is not a collaborative one. We will show that SLA models do not provide a complete solution and that peer agreements usually provide better results. Although this thesis seems to have two focuses instead of one, it is important to notice that we espe-cially address the load management problem under federated distributed systems. The relation among this focus and fault tolerance is in the negotiated contracts: besides price and tasks (load), contracts can include availability, which raises the importance of fault tolerance.
102

[en] A SYSTEMATIC FOR ERROR MONITORING IN DISTRIBUTED SYSTEMS / [pt] UMA SISTEMÁTICA DE MONITORAMENTO DE ERROS EM SISTEMAS DISTRIBUÍDOS

CARLA GALDINO WANDERLEY 02 June 2016 (has links)
[pt] Sistemas formados por componentes distribuídos possibilitam a ocorrência de falhas provenientes da interação entre componentes. A etapa de testes desta classe de sistemas é árdua, já que prever todas as interações entre componentes de um sistema é inviável. Portanto, ainda que um sistema de componentes seja testado, a ocorrência de erros em tempo de execução continua sendo possível e, evidentemente, esses erros devem ser observados disparando alguma ação que impeça de causarem grandes danos. Este trabalho apresenta um mecanismo de identificação de erros de inconsistência semântica de tipos baseado em logs estruturados. Falhas de inconsistência semântica de tipos são falhas decorrentes da interpretação errônea de valores que são representados sintaticamente sob os mesmos tipos básicos. O mecanismo proposto consiste na geração de logs estruturados conforme a definição de interfaces de comunicação e a identificação de anomalias através de uma técnica existente de verificação de contratos. Além disso, o mecanismo propõe um modelo de gestão taxonômica de tipos semânticos utiliza a técnica de Raciocínio Baseado em Casos (RBC). O mecanismo de identificação de falhas foi implementado através de uma extensão do middleware Robot Operation System (ROS). O mecanismo, além de observar erros, gera informação complementar que visa auxiliar a diagnose da causa do erro observado. Finalmente, uma prova de conceito aplicada a um sistema de controle de locomoção de um robô híbrido, adaptado de um sistema real, foi desenvolvida para a validação da identificação de falhas. / [en] Systems formed by distributed components enable the occurrence of faults arising from the interaction between components. The stage of testing this class of systems is difficult, since foresee all interactions between components of a system is not feasible. Therefore, even if a component system is tested, the occurrence of run-time errors is still possible and, of course, these errors should be seen shooting some action that prevents them from causing major damage. This paper presents an identification mechanism of errors given by semantic inconsistency typed data, based on structured logs. Semantic inconsistency of typed data could cause failures due to the misinterpretation of values that are represented syntactically under the same basic types. The proposed mechanism consists in generating structured logs according to the definition of communication interfaces, and identifying anomalies by an existing contract verification technique. In addition, the mechanism proposes a management model of taxonomic semantic types using the Case-Based reasoning technique (CBR). The fault identification mechanism was implemented through an extension of the Robot Operation System middleware (ROS). The mechanism, in addition to observing errors, generates additional information which aims to assist the diagnosis of the cause of the observed error. Finally, a proof of concept applied to a locomotion control system for a hybrid robot, adapted from a real system, has been developed for fault identification validation.
103

[en] SOFTWARE COMPONENTS WITH SUPPORT FOR DATA STREAMS / [pt] COMPONENTES DE SOFTWARE COM SUPORTE A FLUXO DE DADOS

VICTOR SA FREIRE FUSCO 18 January 2013 (has links)
[pt] O desenvolvimento baseado em componentes de um tópico que tem atrasado bastante atençco nos últimos anos. Esta técnica permite a construção de sistemas de software complexos de forma rápida e estruturada. Diversos modelos de componentes já foram propostos pela indústria e pela academia. Dentro destes, aqueles que oferecem suporte da comunicação distribuída geralmente interagem através de Chamadas Remotas de Procedimentos. Dos modelos pesquisados, apenas o CORBA Component Model possui uma especificação em andamento para o suporte da comunicação através de fluxos de dados. Esse suporte se mostra de grande relevância em sistemas que precisam lidar com dados de sensores e com transmissão de áudio e vídeo. O objetivo principal deste trabalho de apresentar uma arquitetura que permita a implementação de aplicações com suporte ao fluxo de dados no middleware Software Component System (SCS). Para tal, o modelo de componentes do SCS foi estendido para oferecer portas de fluxos de dados. Como avaliação, este trabalho apresenta alguns resultados experimentais de desempenho e escalabilidade, assim como uma aplicação que exercita as necessidades do executor de fluxos de algoritmos do CSBase, um framework utilizado no desenvolvimento de sistemas para computação em grade. / [en] Component-based software development is a topic that has attracted attention in recent years. This technique allows the construction of complex software systems in a quick and structured way. Several component models have been proposed by the industry and the academy. The majority of these component models adopt Remote Procedure Calls as their basic communication mechanism. The CORBA Component Model is the only one from the surveyed models that has a work in progress to support communication over data streams. This support proves to be of great importance in systems that must deal with data from sensors and systems that deal with audio and video transmission. The main goal of this work is to propose an architecture that enables the middleware Software Component System (SCS) to support applications that require data streaming. To this end, the SCS component model was extended to support stream ports. As evaluation, this work presents some experimental results of performance and scalability, as well as an application that exercises the needs of the CSBase s algorithm ow executor, a framework used to build systems for grid computing.
104

Uma abordagem baseada em políticas para contabilização e caracterização de uso global de grades computacionais

Ludwig, Glauco Antonio 23 February 2006 (has links)
Made available in DSpace on 2015-03-05T13:56:59Z (GMT). No. of bitstreams: 0 Previous issue date: 23 / Hewlett-Packard Brasil Ltda / Contabilizar e caracterizar o uso de grades computacionais constitui uma tarefa de gerenciamento indispensável, especialmente quando essas grades são usadas em larga escala, envolvendo várias instituições e participantes. As soluções de gerência de grades existentes atualmente são limitadas: (a) por se destinarem a monitorar apenas o estado dos recursos que compõem o ambiente (como consumo de memória e espaço de armazenamento em disco),omitindo dados estatísticos e históricos sobre a execução de aplicações; (b) por não oferecem suporte à coleta, ao processamento e à consolidação de informações que são geradas por diferentes tecnologias de grade; e (c) por não oferecem um esquema seletivo para a divulgação das informações gerenciais que são obtidas. Para suprir as lacunas recém mencionadas, esta dissertação propõe uma abordagem baseada em políticas para contabilização e caracterização de uso de grades computacionais compostas por sistemas heterogêneos. A abordagem proposta se materializa através de uma arquit / Accounting and characterizing the use of computational grids constitutes a management task of paramount importance, especially when they are used in large scale, involving many institutions and participants. Current grid computing management solutions are limited since they: (a) solely monitor the status of environment resources (like CPU and disk space consumption), omitting statistical and historical data about the execution of applications; (b) do not offer support for gathering, processing and consolidation of information that is generated by heterogeneous grid technologies; and (c) do not allow the specification of policies to distribute the collected information. To fullfil this gap, this work proposes an approach based on polices to account and characterize usage of grid computing infrastructures, even when such grids are formed by heterogeneous middleware. The approach is materialized through an architecture based on the Web Services Distributed Management standard. This work presents the architec
105

Avaliação dos detectores de defeitos e sua influência nas operações de consenso / On the evaluation of failure detectors and their influence on consensus operations

Estefanel, Luiz Angelo Barchet January 2001 (has links)
Este trabalho relata observações e analises sobre como os detectores de defeitos influenciam as operação de consenso. O conceito dos detectores de defeitos é essencial para as operações de consenso em sistemas distribuídos assíncronos, uma vez que esses representam uma das (micas formas de sobrepujar as limitações impostas pela chamada Impossibilidade FLP (impossibilidade de diferenciar um processo falho de um processo mais lento). Enquanto os detectores de defeitos tem seu funcionamento bem definido através de duas propriedades, completeness e accuracy, Não há nenhuma restrição quanto a forma de implementá-los. Na literatura são encontrados vários modelos de detectores de defeitos, construídos com as mais variadas estratégias, mecanismos de comunicação e de detecção. No entanto, estes modelos não costumam ser acompanhados de uma comparação com os detectores já existentes; os autores limitam-se a apresentar as inovações dos mecanismos sugeridos. De toda literatura pesquisada, apenas um trabalho procurou comparar diferentes modelos de detectores de defeitos, e através de simulações, avaliou o impacto destes detectores sobre o tempo de terminação das operações de consenso. Entretanto, aquele trabalho era bem limitado, tanto nos modelos de detectores analisados quanto nos objetivos das observações. O presente trabalho procurou estender aquele experimento, incluindo mais modelos de detectores, e transportando-os para um ambiente prático de execução. As observações realizadas não ficaram limitadas as avaliações já realizadas por aquele trabalho, de tal forma que os modelos de detectores testados foram analisados sob diversas métricas, situações e parâmetros de operação. Essas avaliações possibilitaram verificar o comportamento dos detectores frente aos padrões de falhas mais significativos, avaliar o impacto de cada detector sobre as operações de consenso e a sua interação com os elementos do ambiente de execução. Essas avaliações permitiram fazer uma comparação dos detectores, possibilitando a identificação de suas limitações, suas situações de melhor desempenho e possíveis otimizações para serem realizadas em trabalhos futuros. / This work presents our observations and analysis on the influence of the failure detectors on the consensus algorithm. Failure detectors are essential to the consensus over an asynchronous distributed system, as they represent one of the few techniques that are able to circumvent the limitation imposed by the FLP Impossibility (the impossibility to distinguish a crashed process from a slow one, in asynchronous systems). While failure detectors are well defined through two properties, completeness and accuracy, there's no rule about their implementation. Thus, in the literature there are many models of failure detectors, each one implemented using different approaches to the communication and detection strategies. However, these detectors seldom compare themselves to the existing ones; their authors usually present only the advantages and innovations of the new model. Indeed, we only found one work that tried to compare different failure detectors. Using simulation techniques, that work evaluated the impact of the failure detectors on the consensus termination time. However, that research was very limited in the number of detectors analyzed and in the evaluation goals. The present work extended that experience, including more detectors in the analysis and evaluating them in a practical environment. Also, the observations were not restricted to those from the original paper, and the detectors were analyzed with more metrics, failure patterns and operational parameters. The evaluation allowed us to identify the behavior from the detectors in face of the most significant failure patterns, their influence on the consensus operation and their interaction with the execution environment. These evaluation also enabled us to compare the detectors, identifying their limitations, their best employment situations and possible optimizations to future developments.
106

ROBIN HOOD : um ambiente para a avaliação de políticas de balanceamento de carga / Robin Hood: an environment to load balancing policies evaluation

Nogueira, Mauro Lucio Baioneta January 1998 (has links)
É ponto passivo a importância dos sistemas distribuídos no desenvolvimento da computação de alto desempenho nas próximas décadas. No entanto, ainda muito se debate sobre políticas de gerenciamento adequadas para os recursos computacionais espacialmente dispersos disponíveis em tais sistemas. Políticas de balanceamento de carga procuram resolver o problema da ociosidade das maquinas(ou, por outro lado, da super-utilização) em um sistema distribuído. Não são raras situações nas quais somente algumas maquinas da rede estão sendo efetivamente utilizadas, enquanto que varias outras se encontram subutilizadas, ou mesmo completamente ociosas. Aberta a possibilidade de executarmos remotamente uma tarefa, com o intuito de reduzirmos o tempo de resposta da mesma, ainda falta decidirmos "como" fazê-lo. Das decisões envolvidas quanto a execução remota de tarefas tratam as políticas de balanceamento de carga. Tais políticas, muito embora a aparente simplicidade quanto as decisões de controle tomadas ou ao reduzido numero de parâmetros envolvidos, não possuem um comportamento fácil de se prever. Sob determinadas condições, tais políticas podem ser tomar excessivamente instáveis, tomando sucessivas decisões equivocadas e, como consequência, degradando de forma considerável o desempenho do sistema. Em tais casos, muitas das vezes, melhor seria não tê-las. Este trabalho apresenta um ambiente desenvolvido com o objetivo de auxiliar projetistas de sistema ou analistas de desempenho a construir, simular e compreender mais claramente o impacto causado pelas decisões de balanceamento no desempenho do sistema. / There is no doubts about the importance of distributed systems in the development of high performance computing in the next decades. However, there are so much debates about appropriated management policies to spatially scattered computing resources available in this systems. Load balancing policies intend to resolve the problem of underloaded machines (or, in other hand, overloaded machines) in a distributed system. Moments in which few machines are really being used, meanwhile several others are underused, or even idle, aren't rare. Allowed the remote execution of tasks in order to decrease the response time of theirs, it remains to decide 'how' to do it. Load balancing policies deal with making decisions about remote execution. Such policies, in spite of the supposed simplicity about their control decisions and related parameters, doesn't have a predictable behavior. In some cases, such policies can become excessively unstable, making successive wrong decisions and, as consequence, degrading the system performance. In such cases, it's better no policy at all. This work presents an environment developed whose purpose is to help system designers or performance analysts to build, to simulate and to understand the impact made by balancing decisions over the system performance.
107

Yali : uma extensão do modelo linda para programação paralela em redes heterogêneas / Yali, an extension to the linda model intended for parallel programming in heterogeneous computer networks

Charao, Andrea Schwertner January 1996 (has links)
Com a disponibilidade de redes que ligam estações cada vez mais poderosas a baixos custos, o interesse em torno de ferramentas que suportam a programação paralela em arquiteturas deste tipo tem aumentado significativamente. Esta dissertação trata do projeto e implementação de YALI (Yet Another Linda Implementation), uma ferramenta destinada ao desenvolvimento e execução de programas paralelos em redes heterogêneas de computadores. Com o objetivo de oferecer uma interface simples e flexível para os usuários programadores, YALI baseia-se no modelo Linda[GEL85], que destaca-se por utilizar uma abstração de alto nível para a cooperação entre processos. Em Linda, processos interagem por intermédio de uma memória associativa logicamente compartilhada, denominada Espaço de Tuplas. Entre outras vantagens deste modelo pode-se citar a simplicidade de suas primitivas e a possibilidade de incorporá-las a uma linguagem seqüencial conhecida, o que contribui fortemente para sua fácil assimilação, mesmo por usuários com pouca experiência em programação paralela. Após uma descrição detalhada do modelo Linda, este trabalho discute varias questões envolvidas no projeto e implementação de sistemas nele baseados. Para oferecer uma visão pratica das soluções mais freqüentemente adotadas para estas questões, quatro sistemas que implementam o modelo para programação paralela em redes são apresentados e avaliados. São eles: Glenda, uma implementacao do modelo baseada na ferramenta PVM (Parallel Virtual Machine); POSYBL (PrOgramming SYstem for distriButed appLications), um sistema construído através de recursos de sistemas operacionais compatíveis com Unix; p4-Linda, construído a partir da ferramenta de programação paralela p4 e, por fim, Network-Linda, uma implementação comercial do modelo. Depois do estudo dos quatro sistemas acima, o projeto de YALI e discutido detalhadamente. Decidiu-se, inicialmente, que YALI deveria incorporar o modelo Linda a linguagem C, que é largamente utilizada no desenvolvimento de programas de propósito geral. Além disso, optou-se por estender o modelo com algumas novas primitivas, de modo a oferecer maior poder de expressão ao usuário. Basicamente, as primitivas que YALI acrescenta ao modelo servem para dar suporte a operações globais e a criação dinâmica de threads. Operações globais servem para expressar a comunicação e a sincronização entre múltiplos processos, sendo utilizadas com bastante freqüência em vários tipos de programas paralelos. YALI suporta operações globais de maneira totalmente ortogonal ao modelo Linda, garantindo melhor desempenho sem afetar o nível de abstração oferecido. o suporte a criação dinâmica de threads, por outro lado, tem o objetivo de permitir a exploração de um paralelismo de granularidade fina, adequado ate mesmo a execução de rotinas simples em paralelo. Para suportar o desenvolvimento e execução de aplicações paralelas, YALI e implementado através de três componentes distintos. O primeiro e um pré-processador, que garante uma interface simplificada com o usuário. 0 segundo e uma biblioteca, que contem as rotinas de suporte as primitivas YALI e deve ser ligada aos programas de usuários. O terceiro componente, por fim, e um utilitário destinado a controlar a inicialização e o termino de aplicações paralelas, que baseia-se em uma configuração estabelecida pelo usuário para distribuir processos sobre uma rede de computadores. Ao contrário da maioria dos sistemas baseados em Linda, YALI implementa um espaço de tuplas distribuído entre os processos que compõem uma aplicação paralela, dispensando o use de processos especializados no gerenciamento de tuplas. Para isso, YALI utiliza múltiplas threads em cada processo definido pelo usuário, e distribui tuplas sobre estes processos através de um mecanismo baseado em hashing. A implementação de YALI leva em conta a heterogeneidade inerente a ambientes de rede, permitindo que maquinas com diferentes arquiteturas e sistemas operacionais sejam utilizadas na execução de programas paralelos. Por fim, YALI é totalmente implementado a partir de recursos presentes em sistemas compatíveis com Unix, de modo a aumentar sua portabilidade e garantir sua eficiência. / With the availability of networks connecting powerful workstations at a low cost, increasing interest has been devoted to systems that support parallel programming in such architectures. This document describes the design and implementation of YALI (Yet Another Linda Implementation), a tool that allows the development and execution of parallel programs in heterogeneous computer networks. Aiming to provide a simple and flexible interface for its users, YALI is based on the Linda parallel programming model[GEL85], that outstands in providing a high level abstraction for cooperation between processes. In Linda, communication and synchronization take place through an associative, logically shared memory called Tuple Space. Among the advantages of this model, one can mention the simplicity of its primitives, and the possibility of incorporate them in a well-known sequential language. These characteristics make Linda easy to learn, even to users with little experience in parallel programming. After a detailed description of the Linda model, this document discusses some design and implementation issues related to Linda-based systems. In order to provide a practical view of some usual solutions to address these issues, four Linda-based systems are presented and evaluated. These systems are: Glenda, an implementation of Linda built on top of PVM (Parallel Virtual Machine); POSYBL (PrOgramming SYstem for distriButed appLications), that relies on features provided by Unix-like operating systems to implement the model; p4-Linda, built on top of p4 parallel programming tool and, at last, Network-Linda, a comercial product based on Linda. All these systems, as YALI, are specially tailored to parallel programming in computer networks. Following the study of the four systems, this documents presents the design of the YALI system. One of the first design decisions was to incorporate the Linda primitives to the C language, that is broadly used as a general purpose programming language. In addition, a set of new primitives was designed as an extension to the original model, in order to increase YALI's expressivenes. Basically, the new primitives support global operations and dynamic thread creation. Global operations are useful to express communication and synchronization among multiple processes, and are frequently used many classes of parallel programs. YALI gives support to global operations in a way that is totally ortoghonal to the Linda model, ensuring better performance without affecting the abstraction level inherent to Linda-based systems. The support to dynamic thread creation, on the other hand, is helpful to explore lightweight parallelism, which allows the execution of simple routines in parallel. To support the development and execution of parallel applications, YALI is made up of three distinct components. The first is a pre-processor, that provides a simple user interface. The second is a library, that must be linked to the user programs since it's where YALI primitives are actuall y implemented. Finally, the third component is an utility that controls initialization and termination of parallel applications, which takes configuration parameters from the user to distribute processes over a newtork. In contrast with most Linda-based systems, YALI relies on a tuple space that is distributed among the processes in the same parallel application, so that intermediate tuple managers are not necessary To implement that, multiple threads are embedded in each user process, and tuples are spread over the processes in the basis of a hashing mechanism. YALI's implementation takes in account the inherent heterogeneity of network environments, allowing machines with different architectures and operating systems to be used in the execution of parallel programs. Finally, YALI is build on top of common features of Unix-like operating systems, in order to increase its efficiency and portability.
108

Monitoramento on-line em sistemas distribuídos : mecanismo hierárquico para coleta de dados / On-line monitoring of distributed systems: a hierarchical mechanism for data collection

Tesser, Rafael Keller January 2011 (has links)
Este trabalho propõe um modelo hierárquico para coleta de dados de monitoramento em sistemas distribuídos. Seu objetivo é proporcionar a análise on-line do comportamento de sistemas e programas distribuídos. O meio escolhido para realizar essa análise foi a visualização. Inicialmente é apresentada uma contextualização sobre monitoramento de sistemas distribuídos. Também são abordados aspectos específicos ao monitoramento de Grid. Após, é analisado um conjunto de ferramentas de monitoramento. Então tem-se a apresentação do modelo proposto. Esse é composto por coletores locais, por uma hierarquia de agregadores e por clientes. É utilizado o modelo push de transmissão de dados e há um mecanismo de subscrição aos coletores. Foi implementado um protótipo do modelo de coleta proposto, que foi utilizado na implementação de um protótipo de ferramenta de monitoramento on-line. Nessa, os dados coletados são fornecidos ao DIMVisual, que é um modelo de integração de dados para visualização. Para visualização, o protótipo utiliza a ferramenta TRIVA, que recebe os dados integrados como entrada. Essa ferramenta foi modificada para gerar uma visualização que é atualizada de maneira on-line. Também foram realizados experimentos para avaliar o tempo necessário para enviar mensagens com diferentes hierarquias e configurações dos coletores. Além disso, foi avaliada a capacidade de o cliente implementado processar os dados recebidos, gerando sua visualização. / This work proposes a hierarchical model for collecting monitoring data from distributed systems. Its goal is to allow the on-line analysis of the behavior of distributed systems and applications. The means we chose to perform this analysis is to generate a visualization of the collected information. In the beginning of this dissertation we present an overview of the monitoring of distributed systems. Aspects that are specific to the monitoring of Grid systems are also reviewed. Next, we have an analysis of a set of monitoring tools. Then we present the proposed model, which is composed by local collectors, an hierarchical structure of aggregators and clients. A push data transmission model is used in the model and it also has a subscription mechanism. A prototype monitoring tool was implemented, integrating the data collection model with DIMVisual and TRIVA. The former is a data integration model whose output is formatted to be used as input for a visualization tool. The later is a visualization tool which, in the prototype, receives the integrated data from DIMVisual. TRIVA generates a visualization of the received information, which is updated in an on-line fashion. In order to evaluate the model, we performed a set of experiments using the prototype. One of the experiments measured the time spent to send data though different hierarchies. In these tests we have also varied the quantity and the configuration of the collectors. In another experiment we evaluated the capacity of the client to process the received data.
109

Uma ferramenta orientada ao objeto para monitoramento de cargas em sistemas paralelos. / An object oriented tool for load monitoring in parallel systems.

Boas, Paulino Ribeiro Villas 27 April 2004 (has links)
Este trabalho apresenta uma ferramenta orientada ao objeto para o monitoramento de cargas em sistemas paralelos. O desenvolvimento desta ferramenta surgiu com o intuito de facilitar a programação paralela em sistemas distribuídos como NOWs, Networks of Workstations , e Grids computacionais, pois este tipo de programação é bem mais difícil do que a seqüencial e, por isso, desestimula novos programadores a desenvolver aplicações paralelas. Dentre as razões que tornam a programação paralela difícil destaca-se o balanceamento de cargas em que se quer maximizar a utilização dos recursos computacionais do sistema distribuído. Outro motivo para o programador de aplicações paralelas se preocupar com balanceamento de cargas é o desempenho, que é drasticamente afetado com o desequilíbrio de cargas do sistema. Com relação ao tempo em que as decisões de rebalanceamento de cargas são tomadas, os algoritmos de distribuição de cargas podem ser estáticos, realizados em tempo de compilação, ou dinâmicos, efetuados em tempo de execução. Embora o algoritmo estático não gere sobrecarga em tempo de execução na distribuição de carga, o dinâmico é a melhor escolha, pois se adapta bem em qualquer situação. Assim, o sistema de monitoramento de cargas surge como uma ferramenta de auxílio ao programador que deseje implementar algoritmos de balanceamento dinâmico de cargas nas suas aplicações paralelas, provendo informações de como os recursos computacionais do sistema distribuído estão sendo utilizados. / This work presents an object oriented tool for load monitoring in parallel systems. This tool was developed with intention to easy the parallel programming in distributed systems like NOWs (Networks of Workstations) and Computational Grids, because this type of programming is more difficult than the sequential and, therefore, it does not stimulate new programmers to develop parallel softwares. One of the most important reasons why parallel programming is difficult is the worry about load balancing where the purpose is to maximize the use of the computational resources of the distributed system. Another reason for the programmer of parallel softwares to worry about load balancing is the performance, which is drastically affected with the load imbalance of the system. With respect to the time where the decisions of load balancing are made, the load distribution algorithms can be static, done at compilation time, or dynamic, done at execution time. Although the static algorithm does not generate overhead at execution time, the dynamic one is a better choice, because it adapts well to any situation. Thus, the monitoring system appears as a tool to aid the programmer who desires to implement dynamic load balancing algorithms in his or her parallel softwares, providing information on how the computational resources of the distributed system are being used.
110

Difusión masiva de información en los modelos de gestión de redes: aplicación a los servicios de alta disponibilidad sobre Internet

Marcos-Jorquera, Diego 28 May 2010 (has links)
En la presente tesis se propone un modelo de gestión de redes que incorpora en su definición la gestión y difusión masiva de la información sobre redes no propietarias como Internet. Este modelo viene a solucionar uno de los problemas más comunes para cualquier aplicación, tanto de gestión como de usuario, proporcionando un mecanismo sencillo, intuitivo y normalizado para transferir grandes volúmenes de información, con independencia de su localización o los protocolos de acceso. Algunas de las características más notables del modelo se pueden sintetizar en las siguientes ideas. La creación de herramientas siguiendo el modelo permite que los desarrolladores de aplicaciones puedan centrarse en la lógica de la aplicación, en lugar de tener que resolver, generalmente a medida, el problema de la transferencia de grandes volúmenes de información. El modelo se ha concebido para ser compatible con los estándares existentes, tomando como base el marco de trabajo definido por ISO/IEC para sistemas OSI. Para que la difusión de la información se realice de forma escalable y con el menor impacto posible sobre la red de comunicaciones se ha propuesto un método de difusión fundamentando en técnicas colaborativas y de multicast. Las principales áreas de aplicaciones del modelo se encuentran en: los sistemas de gestión como las copias de seguridad en red, sistemas para la continuidad en el negocio y alta disponibilidad o los sistemas de mantenimiento de redes de computadoras; aplicaciones de usuario como las aplicaciones eBusiness, sistemas de compartición de archivos o sistemas multimedia; y, en general, cualquier tipo de aplicación que conlleve la transferencia de importantes volúmenes de información a través de redes de área amplia como Internet. Los principales resultados de la investigación son: un modelo de gestión de redes, un mecanismo de difusión de la información concretado en un protocolo de transporte y otro de usuario y una librería que implementa los protocolos propuestos. Para validar la propuesta se ha construido un escenario de pruebas real y se ha implementado el prototipo de un sistema de recuperación integral de nodos basado en el modelo y utilizando las librerías creadas. Las pruebas de escalabilidad, carga y tiempos de transferencia realizados sobre el prototipo han permitido verificar la validez e idoneidad de la propuesta comprobando que su aplicación es escalable respecto del tamaño del sistema gestionado, sencillo de implantar y compatible con los sistemas existentes.

Page generated in 0.0991 seconds