• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 264
  • 263
  • 21
  • 20
  • 13
  • 9
  • 8
  • 7
  • 6
  • 5
  • 5
  • 5
  • 1
  • 1
  • 1
  • Tagged with
  • 723
  • 723
  • 256
  • 182
  • 139
  • 132
  • 97
  • 91
  • 77
  • 70
  • 66
  • 66
  • 65
  • 62
  • 61
  • 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.
131

[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.
132

Laboratório remoto baseado em software livre para realização de experimentos didáticos. / Remote laboratory based on open source software to perform educational experiments.

Ogiboski, Luciano 15 June 2007 (has links)
Este trabalho apresenta o desenvolvimento de um sistema de aquisição de dados para controlar experimentos em instrumentos de medidas através da interface GPIB. O sistema criado tem objetivos educacionais e foi integrado a um ambiente de educação a distância, permitindo o acesso remoto a instrumentos reais para que possam ser utilizados em cursos on-line. Foi utilizado um sistema de gerenciamento de cursos on-line com ferramentas interativas e de fácil gerenciamento. O sistema escolhido permite a criação de cursos de forma modular, onde os componentes ou recursos de interação são escolhidos individualmente para cada ambiente novo criado. O objetivo deste trabalho foi a criação de um novo módulo para o sistema, que representa um laboratório remoto para realização de experimentos de aquisição de dados em instrumentos. Foi proposta uma arquitetura modular para laboratório remoto baseado em tecnologias de software livre, juntamente com a tecnologia de Web Services para integração entre o sistema de aquisição e o ambiente de educação a distância. Este trabalho oferece uma nova abordagem para instrumentação remota, fornecendo não apenas a extensão de um laboratório através da Internet e de sistemas distribuídos, mas também ferramentas interativas de educação a distância, favorecendo a interação e a comunicação entre usuários. / This work presents the development of a data acquisition system to control experiments in measurement instruments through GPIB interface. The system created is intended to be applied for educational purposes, thus it was integrated to an online learning environment, enabling remote access to real instruments, to be used in e-learning courses. It was used an open source environment with interactive tools and easy management. Chose system allows modular e-learning courses creation, which learning components or interactive resources can be selected independently. The aim was to create a new module, representing a remote laboratory, to perform data acquisition experiments in instruments. It was proposed a modular architecture to remote laboratory based on open source technologies. It includes Web Services architecture to integrate data acquisition system and distance education environment. This research presents a differential approach for remote instrumentation. It represents not only an internet extension for laboratory, but also offer distance education interactive resources to improve user communication.
133

Adaptação de vídeo através de redes de serviços sobrepostos. / Video adaptation through overlay services networks.

Kopp, Samuel 29 October 2010 (has links)
A adaptação de vídeo é uma técnica amplamente explorada na provisão de conteúdos de forma que atendam adequadamente os mais diversos cenários de consumo, caracterizados por diferentes requisitos e restrições de rede, terminal e preferências do usuário. Entretanto, sua aplicação em sistemas de distribuição de vídeo de alta demanda, como CDNs, é abordada de forma simplista pelas propostas existentes, pois não consideram os diversos aspectos de otimização do uso da rede. Este trabalho trata estas deficiências propondo um serviço de adaptação de vídeo que explora o conceito de contexto, ao elaborar uma adaptação baseada em perfis dos usuários. Além disso, a proposta de adaptação está totalmente integrada a distribuição por redes sobrepostas, sendo possível associar a adaptação em tempo-real à transmissão por multicast e ao caching, o que garante a otimização do uso dos recursos de rede na distribuição dos fluxos de vídeo. Como forma de demonstrar a viabilidade e os benefícios desta proposta são realizados testes experimentais através de uma implementação de referência deste serviço. / Video adaptation is a technique extensively explored for providing content so that it meets different requirements and constraints of network, users terminal and preferences, providing better quality of experience. However, its use in high-demand video distribution systems is not sufficiently explored and is usually tackled in a simple way. This is due to the fact that current solutions do not deals with its applicability systemically. This work presents an approach, which explores video adaptation and the concept of context, elaborating a video adaptation service based in users profile. Moreover, the adaptation proposal presented here is totally integrated to CND (content network distribution) using overlay networks, being possible the association with real-time adaptation to the transmission using multicast and caching. This work focuses on presenting the architecture of that service and its operation. The proposal validation is performed by putting the identified requirements for its application against its provided functionalities and the test results in a implementation of this service.
134

Um ambiente para programação orientada a objetos distribuídos e paralelos em grades computacionais. / An environment for distributed and parallel object-oriented programming for grid computing.

Bianchini, Calebe de Paula 22 January 2009 (has links)
Grades Computacionais (grid computing) já é uma realidade tanto no meio acadêmico quanto no meio empresarial. Seu uso se tornou popular principalmente devido à divulgação dos trabalhos nesta área e pela propaganda de produtos e softwares que oferecem essa idéia. Apesar disso, ambientes para o desenvolvimento de aplicações orientadas a objetos em Java para uma infra-estrutura de grid ainda é escasso. Algumas iniciativas oferecem bibliotecas para este desenvolvimento. Outras utilizam paradigmas diferentes, como o de passagem de mensagem, para o desenvolvimento de aplicações. Além disso, a própria infra-estrutura de grid, formada por diferentes domínios administrativos com diferentes políticas de segurança e uso, impede que as aplicações sejam executadas nos diversos níveis existentes no grid. Estes níveis, formados por computadores e clusters de computadores com nós de execução, possuem endereçamento privado, impossibilitando que as aplicações alocadas em cada um desses computadores/nós, em diferentes domínios e diferentes endereços, se comuniquem de forma transparente. Visando uma solução para esses problemas, esta tese apresenta um ambiente para programação orientada a objetos distribuídos e paralelos, em Java, denominado J4GE. Nesse ambiente, o modelo orientado a objetos é base para a distribuição das classes, métodos e atributos existente em uma aplicação. Além disso, o ambiente oferece transparência no acesso aos objetos espalhados pelo grid através de um Serviço de Mensagem, independente do nível onde o recurso, computador ou nó, se encontra. Essa transparência permite também que o programador utilize a plataforma Java sem a necessidade de aprender ou conhecer novas bibliotecas ou paradigmas, diminuindo o esforço no desenvolvimento de aplicações para grid. E, juntamente com os recursos da plataforma Java e do ambiente J4GE, é possível criar objetos distribuídos com comportamento paralelo e concorrente, trazendo maior eficiência para a execução da aplicação. / Grid computing is already a reality both in academic and business world. Its use has become popular mainly because of the projects in this area and the advertising of products and software that offer this idea. Nevertheless, environments for development of object-oriented applications in Java for grid infrastructure are still scarce. Some initiatives offer libraries for this development. Others use different paradigms such as the message-passing for development of applications. Moreover, the infrastructure of grid, formed by different administrative domain with different security policies, prevents the execution of applications at various levels in the grid. These levels, formed by computers and clusters of computers with execution nodes, have private addresses, make impossible the transparent communication of the applications allocated in each of these computers at different levels in different domains. Focused on these problems, this thesis presents an environment for distributed and parallel object-oriented programming in Java, called J4GE. In this environment, the object-oriented model is the basis for the distribution of classes, methods and attributes in an existing application. Moreover, the environment offers transparency in objects access around the grid through a Message Service, regardless the level where is the resource, or the computer, or the execution node. This transparency also allows the programmer to use the Java platform without knowing or learning new libraries or paradigms, reducing the effort in developing applications for grid. The resources of the Java platform and the environment J4GE together can create distributed objects with parallel and concurrent behavior, bringing greater efficiency to the application.
135

Protocolos de interação baseados em conhecimento: implementação da plataforma JamSession / Knowledge-based interaction protocols: implementation of JamSession platform

David, Diego Mira 14 December 2012 (has links)
JamSession foi proposto como uma plataforma para mediar e coordenar, por meio de protocolos de interação baseados em conhecimento, recursos computacionais existentes com o objetivo de compor novos serviços e desenvolver aplicações inovadoras. Entre as principais características da plataforma estão sua base formal e declarativa para permitir análise e verificação formal dos protocolos, alta performance e foco na usabilidade. A plataforma pode ser utilizada, por exemplo, na construção de ambientes inteligentes e no aprimoramento dos serviços de governo eletrônico, onde o JamSession pode atuar mediando a interação entre sistemas oferecidos por órgãos públicos visando a ampliação dos serviços oferecidos. O objetivo deste trabalho é o desenvolvimento da plataforma JamSession e sua aplicação em problemas concretos de integração e coordenação. Entre as aplicações consideradas para validar a plataforma desenvolvida estão a integração de workflows interorganizacionais e a demonstração do uso da plataforma na construção de ambientes virtuais interativos. / JamSession was proposed as a platform to mediate and coordinate, by means of knowledge-based interaction protocols, existing computational resources in order to compose new services and develop innovative applications. Among the main features of the platform are its formal and declarative foundations to provide the means for formal analysis and verification of protocols, high performance and focus on usability. The platform can be used, for instance, to build intelligent environments and to improve e-government services, where JamSession may mediate the interaction between systems offered by public agencies aiming to expand the services provided. The aim of this work is the development of JamSession platform and its application in practical demanding integration and coordination. Among the applications considered to validate the developed platform are the integration of inter-organizational workflows and its use to build interactive virtual environments.
136

Ferramenta de programação e processamento para execução de aplicações com grandes quantidades de dados em ambientes distribuídos. / Programming and processing tool for execution of applications with large amounts of data in distributed environments.

Vasata, Darlon 03 September 2018 (has links)
A temática envolvendo o processamento de grandes quantidades de dados é um tema amplamente discutido nos tempos atuais, envolvendo seus desafios e aplicabilidade. Neste trabalho é proposta uma ferramenta de programação para desenvolvimento e um ambiente de execução para aplicações com grandes quantidades de dados. O uso da ferramenta visa obter melhor desempenho de aplicações neste cenário, explorando o uso de recursos físicos como múltiplas linhas de execução em processadores com diversos núcleos e a programação distribuída, que utiliza múltiplos computadores interligados por uma rede de comunicação, de forma que estes operam conjuntamente em uma mesma aplicação, dividindo entre tais máquinas sua carga de processamento. A ferramenta proposta consiste na utilização de blocos de programação, de forma que tais blocos sejam compostos por tarefas, e sejam executados utilizando o modelo produtor consumidor, seguindo um fluxo de execução definido. A utilização da ferramenta permite que a divisão das tarefas entre as máquinas seja transparente ao usuário. Com a ferramenta, diversas funcionalidades podem ser utilizadas, como o uso de ciclos no fluxo de execução ou no adiantamento de tarefas, utilizando a estratégia de processamento especulativo. Os resultados do trabalho foram comparados a duas outras ferramentas de processamento de grandes quantidades de dados, Hadoop e que o uso da ferramenta proporciona aumento no desempenho das aplicações, principalmente quando executado em clusters homogêneos. / The topic involving the processing of large amounts of data is widely discussed subject currently, about its challenges and applicability. This work proposes a programming tool for development and an execution environment for applications with large amounts of data. The use of the tool aims to achieve better performance of applications in this scenario, exploring the use of physical resources such as multiple lines of execution in multi-core processors and distributed programming, which uses multiple computers interconnected by a communication network, so that they operate jointly in the same application, dividing such processing among such machines. The proposed tool consists of the use of programming blocks, so that these blocks are composed of tasks, and the blocks are executed using the producer consumer model, following an execution flow. The use of the tool allows the division of tasks between the machines to be transparent to the user. With the tool, several functionalities can be used, such as cycles in the execution flow or task advancing using the strategy of speculative processing. The results were compared with two other frameworks, Hadoop and Spark. These results indicate that the use of the tool provides an increase in the performance of the applications, mostly when executed in homogeneous clusters.
137

Probabilistic Models of Partial Order Enforcement in Distributed Systems / Modèles probabilistes d’ordonnancement partiel pour les systèmes distribués

Martori Adrian, Jordi 12 June 2017 (has links)
Les systèmes distribués ont réussi à étendre la technologie de l’information à un public plus large, en termes d’emplacement et de nombre. Cependant, ces systèmes géo-répliqués doivent être évolutifs afin de répondre aux demandes toujours croissantes. De plus, le système doit pouvoir traiter les messages dans un ordre équivalent à celui de leur création afin d’éviter des effets indésirables. L’exécution suivant des ordres partiels fournit un ordonnancement d’événements que tous les nœuds suivront, ce qui permet donc le traitement des messages dans un ordre adéquat. Un système qui applique un ordre partiel simplifie le développement des applications distribuées et s’assure que l’utilisateur final n’observera pas des comportements défiant la causalité. Dans cette thèse, nous présentons des modèles statistiques pour différentes contraintes d’ordre partiel, en utilisant différentes distributions de modèles de latence. Étant donné un modèle de latence, qui donne le temps qu’il faut pour qu’un message passe d’un nœud à un autre, notre modèle s’appuie sur lui pour donner le temps supplémentaire qu’il faut pour appliquer un ordre partiel spécifique. Nous avons proposé les modèles suivants. Tout d’abord, dans une communication entre un et plusieurs nœuds, la probabilité que le message soit délivré dans tous les nœuds avant un temps donné. Deuxièmement, après la réception d’un message, la probabilité que tous les autres nœuds aient exécuté ce message avant temps donné. Troisièmement, dans une communication de un à plusieurs nœuds, la probabilité que le message soit arrivé à au moins un sous-ensemble d’entre eux avant un temps donné. Quatrièmement, l’ordre FIFO ou causal qui détermine si un message est prêt à être livré, dans un nœud ou plusieurs. Tout cela favorise la compréhension du comportement des systèmes distribués en présence d’ordres partiels. En outre, en utilisant cette connaissance, nous avons construit un algorithme qui utilise ces modèles de comportement du réseau pour établir un système de livraison causal fiable. Afin de valider nos modèles, nous avons développé un outil de simulation qui permet d’exécuter des scénarios adaptés à nos besoins. Nous pouvons définir les différents paramètres du modèle de latence, le nombre de clients et les charges de travail des clients. Cette simulation nous permet de comparer les valeurs générées de façon aléatoire pour chaque configuration spécifique avec les résultats prévus de notre modèle. Une des applications qui peuvent tirer profit de notre modèle, est un algorithme de livraison causale fiable. Il utilise l’information causale pour détecter les éléments manquants et réduit le besoin d’acquittement de message en contactant d’autres répliques seulement lorsque le message est supposé manquant. Cette information est fournie par notre modèle, qui définit les temporisateurs d’attente en fonction des statistiques du réseau et de la consommation des ressources. Enfin, cette application a été testée dans le même simulateur que les modèles, avec des résultats prometteurs, puis évaluée dans une expérience réelle utilisant Amazon EC2 comme plate-forme / Distributed systems have managed to extend technology to a broader audience, in both terms of location and numbers. However these geo-replicated systems need to be scalable in order to meet the ever growing demands. Moreover, the system has to be able to process messages in an equivalent order that they were created to avoid unwanted side effects. Partial order enforcement provides an ordering of events that all nodes will follow therefore processing the messages in an adequate order. A system that enforces a partial order simplifies the challenge of developing distributed applications, and ensures that the end-user will not observe causality defying behaviors. In this thesis we present models for different partial order enforcements, using different latency model distributions. While a latency model, which yields the time it takes for a message to go from one node to another, our model builds on it to give the additional time that it takes to enforce a given partial order. We have proposed the following models. First, in a one to many nodes communication, the probability for the message to be delivered in all the nodes before a given time. Second, in a one to many nodes communication from the receivers, the probability that all the other nodes have delivered the message after a given time of him receiving it. Third, in a one to many nodes communication, the probability that the message has arrived to at least a subset of them before a given time. Fourth, applying either FIFO or Causal ordering determining if a message is ready for being delivered, in one node or many. All of this furthers the understanding of how distributed systems with partial orders behave. Furthermore using this knowledge we have built an algorithm that uses the insight of network behavior to provide a reliable causal delivery system. In order to validate our models, we developed a simulation tool that allows to run scenarios tailored to our needs. We can define the different parameters of the latency model, the number of clients, and the clients workloads. This simulation allows us to compare the randomly generated values for each specific configuration with the predicted outcome from our model. One of the applications that can take advantage of our model, is a reliable causal delivery algorithm. It uses causal information to detect missing elements and removes the need of message acknowledgment by contacting other replicas only when the message is assumed missing. This information is provided by our model, that defines waiting timers according to the network statistics and resource consumption. Finally this application has been both tested in the same simulator as the models, with promising results, and then evaluated in a real-life experiment using Amazon EC2 for the platform
138

Uma metodologia para caracterização de aplicações e de instâncias de máquinas virtuais no ambiente de computação em nuvem. / A Methodology for characterization of applications and virtual machines instances in cloud computing environment.

Rodamilans, Charles Boulhosa 27 June 2014 (has links)
Os provedores de Computação em Nuvem estão fornecendo diversas instâncias e configurações de Máquinas Virtuais. Entretanto, existe dificuldade quanto à seleção da instância mais adequada para uma determinada aplicação, levando em consideração, por exemplo, o menor tempo de execução. O presente trabalho tem como objetivo determinar os procedimentos para a seleção de uma instância de Máquina Virtual para uma determinada aplicação e também propor uma arquitetura que permita interligar os diferentes provedores de Nuvem. Foram implementadas funcionalidades da arquitetura e também foram aplicados os procedimentos propostos em uma aplicação científica e em instâncias de diferentes provedores de Nuvem. Os principais resultados obtidos foram (a) desenvolvimento da metodologia Caracterização, Seleção e Execução (CSE); (b) demonstração da importância da caracterização e do recurso preponderante da aplicação; (c) avaliação de desempenho do disco em diversas Nuvens; (c) caracterização e avaliação de desempenho da aplicação OpenModeller; e (d) arquitetura de interligação de nuvens públicas e privadas, e implementação de suas principais funcionalidades. Estes resultados mostram que o principal problema de seleção das instâncias pode ser solucionado a partir da caracterização das instâncias e das aplicações. / The Cloud Computing providers are providing several instances and configurations of Virtual Machines. However, there is a difficulty in selecting the instance more adequate for specific application. This study aims to determine the procedures for selecting a Virtual Machine instance for a particular application and also propose an architecture to link the different Cloud providers. Features of the architecture have been implemented and the proposed procedures were applied in scientific applications and in instances of different Cloud providers. The main results were (a) development of Characterization, Selection and Execution (CSE) of methodology; (b) demonstration of the importance application characterization and the preponderant resource; (c) performance characterization and evaluation of OpenModeller application; (d) interconnection architecture of public and private Clouds, and implementation of their main features. These results show that the main instance selection problem can be solved from the instances and applications characterization.
139

Arquitetura e implementação de um sistema distribuído e recuperação de informação / Architecture and implementation of a distributed information retrieval system

Augusto, Luiz Daniel Creao 09 June 2010 (has links)
A busca por documentos relevantes ao usuário é um problema que se torna mais custoso conforme as bases de conhecimento crescem em seu ritmo acelerado. Este problema passou a resolvido por sistemas distribuídos, devido a sua escalabilidade e tolerância a falhas. O desenvolvimento de sistemas voltados a estas enormes bases de conhecimento -- e a maior de todas, a Internet -- é uma indústria que movimenta bilhões de dólares por ano no mundo inteiro e criou gigantes. Neste trabalho, são apresentadas e discutidas estruturas de dados e arquiteturas distribuídas que tratem o problema de indexar e buscar grandes coleções de documentos em sistemas distribuídos, alcançando grande desempenho e escalabilidade. Serão também discutidos alguns dos grandes sistemas de busca da atualidade, como o Google e o Apache Solr, além do planejamento de uma grande aplicação com protótipo em desenvolvimento. Um projeto próprio de sistema de busca distribuído foi implementado, baseado no Lucene, com idéias coletadas noutros trabalhos e outras novas. Em nossos experimentos, o sistema distribuído desenvolvido neste trabalho superou o Apache Solr com um vazão 37,4\\% superior e mostrou números muito superiores a soluções não-distribuídas em hardware de custo muito superior ao nosso cluster. / The search for relevant documents for the final user is a problem that becomes more expensive as the databases grown faster. The solution was brought by distributed systems, because of its scalability and fail tolerance. The development of systems focused on enormous databases -- including the World Wide Web -- is an industry that involves billions of dollars in the world and had created giants. In this work, will be presented and discussed data structures and distributed architectures related to the indexes and searching in great document collections in distributed systems, reaching high performance and scalability. We will also discuss some of the biggest search engines, such as Google e Apache Solr, and the planning of an application with a developing prototype. At last, a new project of a distributed searching system will be presented and implemented, based on Lucene, with ideas from other works and new ideas of our own. On our tests, the system developed in this work had throughput 37.4\\% higher than Apache Solr and revealed higher performance than non-distributed solutions in a hardware more expensive than our cluster.
140

A benchmark suite for distributed stream processing systems / Um benchmark suite para sistemas distribuídos de stream processing

Bordin, Maycon Viana January 2017 (has links)
Um dado por si só não possui valor algum, a menos que ele seja interpretado, contextualizado e agregado com outros dados, para então possuir valor, tornando-o uma informação. Em algumas classes de aplicações o valor não está apenas na informação, mas também na velocidade com que essa informação é obtida. As negociações de alta frequência (NAF) são um bom exemplo onde a lucratividade é diretamente proporcional a latência (LOVELESS; STOIKOV; WAEBER, 2013). Com a evolução do hardware e de ferramentas de processamento de dados diversas aplicações que antes levavam horas para produzir resultados, hoje precisam produzir resultados em questão de minutos ou segundos (BARLOW, 2013). Este tipo de aplicação tem como característica, além da necessidade de processamento em tempo-real ou quase real, a ingestão contínua de grandes e ilimitadas quantidades de dados na forma de tuplas ou eventos. A crescente demanda por aplicações com esses requisitos levou a criação de sistemas que disponibilizam um modelo de programação que abstrai detalhes como escalonamento, tolerância a falhas, processamento e otimização de consultas. Estes sistemas são conhecidos como Stream Processing Systems (SPS), Data Stream Management Systems (DSMS) (CHAKRAVARTHY, 2009) ou Stream Processing Engines (SPE) (ABADI et al., 2005). Ultimamente estes sistemas adotaram uma arquitetura distribuída como forma de lidar com as quantidades cada vez maiores de dados (ZAHARIA et al., 2012). Entre estes sistemas estão S4, Storm, Spark Streaming, Flink Streaming e mais recentemente Samza e Apache Beam. Estes sistemas modelam o processamento de dados através de um grafo de fluxo com vértices representando os operadores e as arestas representando os data streams. Mas as similaridades não vão muito além disso, pois cada sistema possui suas particularidades com relação aos mecanismos de tolerância e recuperação a falhas, escalonamento e paralelismo de operadores, e padrões de comunicação. Neste senário seria útil possuir uma ferramenta para a comparação destes sistemas em diferentes workloads, para auxiliar na seleção da plataforma mais adequada para um trabalho específico. Este trabalho propõe um benchmark composto por aplicações de diferentes áreas, bem como um framework para o desenvolvimento e avaliação de SPSs distribuídos. / Recently a new application domain characterized by the continuous and low-latency processing of large volumes of data has been gaining attention. The growing number of applications of such genre has led to the creation of Stream Processing Systems (SPSs), systems that abstract the details of real-time applications from the developer. More recently, the ever increasing volumes of data to be processed gave rise to distributed SPSs. Currently there are in the market several distributed SPSs, however the existing benchmarks designed for the evaluation this kind of system covers only a few applications and workloads, while these systems have a much wider set of applications. In this work a benchmark for stream processing systems is proposed. Based on a survey of several papers with real-time and stream applications, the most used applications and areas were outlined, as well as the most used metrics in the performance evaluation of such applications. With these information the metrics of the benchmark were selected as well as a list of possible application to be part of the benchmark. Those passed through a workload characterization in order to select a diverse set of applications. To ease the evaluation of SPSs a framework was created with an API to generalize the application development and collect metrics, with the possibility of extending it to support other platforms in the future. To prove the usefulness of the benchmark, a subset of the applications were executed on Storm and Spark using the Azure Platform and the results have demonstrated the usefulness of the benchmark suite in comparing these systems.

Page generated in 0.037 seconds