1 |
Alocação dinâmica de recursos em sistemas elásticos baseada em modelos de escalabilidade / Dynamic resource allocation for elastic systems based on scalability modelingMoura, Paulo Bittencourt 17 March 2017 (has links)
Provedores de serviços de nuvem disponibilizam uma interface através da qual seus clientes podem solicitar, usar e liberar estes recursos. Muitos serviços implantados em nuvens incluem um componente para gerenciamento automatizado de recursos, encarregado de requisitar e librar recursos sem intervenção humana, à medida que a demanda varia. A técnica padrão para o gerenciamento de recursos se baseia em regras sobre utilização de recursos. Quando ocorre um aumento significativo na carga em um curto espaço de tempo, o sistema pode levar vários ciclos de monitoramento e ação até alcançar uma configuração adequada. Neste período, o sistema permanece sobrecarregado. Nesta pesquisa, investigamos como compreender adequadamente os efeitos da variação na disponibilidade de recursos sobre a capacidade de um sistema e como aplicar este conhecimento para melhorar sua elasticidade. Propomos uma estratégia que abrange avaliação da escalabilidade do sistema, visando sua modelagem, e a aplicação deste modelo nas estimativas de necessidade por recursos com base na carga de trabalho. Introduzimos um arcabouço para automatizar a avaliação de escalabilidade de sistemas distribuídos e efetuamos uma validação experimental da estratégia proposta. Comparamos a alocação de recursos e o desempenho obtido usando nossa estratégia e estratégia baseada em regras, fazendo a reprodução de carga real e usando cargas sintéticas. De forma geral, nossa proposta foi capaz de prover melhor desempenho, ao ponto que o uso de recursos cresceu, e consequentemente o custo de utilização. No entanto, a melhora de desempenho foi mais significativa que o aumento dos custos. / Cloud computing is a new paradigm in which virtual resources are leased in the short-term. Cloud providers publish an API through which users can request, use, and release those resources. Thus, a properly architected system can be quickly deployed and their infrastructure can be quickly updated to better accommodate workload fluctuations and limit expenses. Many services running in clouds comprise an automated resource management unit, which is in charge of requesting and releasing resources without human intervention, as demand changes. The rule based approach, commonlly applied to automate the resource management, is especially problematic in cases of load surge. When of a quick and drastic increase of the workload, the system may take many cycles of infrastructural redimensioning until achieve an adequate state. In this case, the system remains overloaded during all those cycles, affecting user experience. In this research, we investigate how we can properly understand what are the effects, in system capacity, incurred by variations in resource availability, and how this knowledge can be applied to improve elasticity. We propose a strategy that comprises performing scalability tests to model scalability and apply the model to estimate resource need, according to the arriving workload. We introduce a framework for automated scalability evaluation of distributed systems and experimentally evaluate the proposed strategy. We compare the allocation and performance obtained using our strategy with a rule based strategy in a trace-driven simulation and with synthetic workloads. We also evaluate six variations of the model-based approach. Generally, our approach can deliver better performance, while increasing resource allocation and, consequently, cost. The extent of the performance improvement is larger than the cost increment, though.
|
2 |
Alocação dinâmica de recursos em sistemas elásticos baseada em modelos de escalabilidade / Dynamic resource allocation for elastic systems based on scalability modelingPaulo Bittencourt Moura 17 March 2017 (has links)
Provedores de serviços de nuvem disponibilizam uma interface através da qual seus clientes podem solicitar, usar e liberar estes recursos. Muitos serviços implantados em nuvens incluem um componente para gerenciamento automatizado de recursos, encarregado de requisitar e librar recursos sem intervenção humana, à medida que a demanda varia. A técnica padrão para o gerenciamento de recursos se baseia em regras sobre utilização de recursos. Quando ocorre um aumento significativo na carga em um curto espaço de tempo, o sistema pode levar vários ciclos de monitoramento e ação até alcançar uma configuração adequada. Neste período, o sistema permanece sobrecarregado. Nesta pesquisa, investigamos como compreender adequadamente os efeitos da variação na disponibilidade de recursos sobre a capacidade de um sistema e como aplicar este conhecimento para melhorar sua elasticidade. Propomos uma estratégia que abrange avaliação da escalabilidade do sistema, visando sua modelagem, e a aplicação deste modelo nas estimativas de necessidade por recursos com base na carga de trabalho. Introduzimos um arcabouço para automatizar a avaliação de escalabilidade de sistemas distribuídos e efetuamos uma validação experimental da estratégia proposta. Comparamos a alocação de recursos e o desempenho obtido usando nossa estratégia e estratégia baseada em regras, fazendo a reprodução de carga real e usando cargas sintéticas. De forma geral, nossa proposta foi capaz de prover melhor desempenho, ao ponto que o uso de recursos cresceu, e consequentemente o custo de utilização. No entanto, a melhora de desempenho foi mais significativa que o aumento dos custos. / Cloud computing is a new paradigm in which virtual resources are leased in the short-term. Cloud providers publish an API through which users can request, use, and release those resources. Thus, a properly architected system can be quickly deployed and their infrastructure can be quickly updated to better accommodate workload fluctuations and limit expenses. Many services running in clouds comprise an automated resource management unit, which is in charge of requesting and releasing resources without human intervention, as demand changes. The rule based approach, commonlly applied to automate the resource management, is especially problematic in cases of load surge. When of a quick and drastic increase of the workload, the system may take many cycles of infrastructural redimensioning until achieve an adequate state. In this case, the system remains overloaded during all those cycles, affecting user experience. In this research, we investigate how we can properly understand what are the effects, in system capacity, incurred by variations in resource availability, and how this knowledge can be applied to improve elasticity. We propose a strategy that comprises performing scalability tests to model scalability and apply the model to estimate resource need, according to the arriving workload. We introduce a framework for automated scalability evaluation of distributed systems and experimentally evaluate the proposed strategy. We compare the allocation and performance obtained using our strategy with a rule based strategy in a trace-driven simulation and with synthetic workloads. We also evaluate six variations of the model-based approach. Generally, our approach can deliver better performance, while increasing resource allocation and, consequently, cost. The extent of the performance improvement is larger than the cost increment, though.
|
3 |
Uma Proposta para a Gerência Autonômica e Escalável de Redes de ComputadoresBezerra, Romildo Martins da Silva 25 January 2013 (has links)
Submitted by Santos Davilene (davilenes@ufba.br) on 2013-01-25T12:35:02Z
No. of bitstreams: 1
Tese - Romildo.pdf: 3750811 bytes, checksum: 2697b6011ff8ad2a7aa80a983c57576f (MD5) / Made available in DSpace on 2013-01-25T12:35:02Z (GMT). No. of bitstreams: 1
Tese - Romildo.pdf: 3750811 bytes, checksum: 2697b6011ff8ad2a7aa80a983c57576f (MD5) / A tarefa de gerenciar redes de computadores tem se tornado uma atividade altamente com-
plexa devido a diversidade dos serviços ofertados, à heterogeneidade dos dispositivos e à baixa
granularidade da gerência. Neste contexto, os sistemas de gerência autonômicos (Autonomic
Management Systems – AMS) estão sendo investigados como uma possível abordagem capaz
de lidar com a alta complexidade da gerência. Com efeito, espera-se que tais sistemas autonô-
micos possam, entre outras funcionalidades, ofertar a configuração e otimização dos recursos
da rede, mantendo escalável as características de desempenho. Fundamentalmente, o problema
de escalabilidade deve ser considerado por soluções atuais de sistemas de gerência autonômicos
sob risco de tais soluções não se adequarem em diferentes ambientes gerenciados. Dessa forma,
espera-se que as soluções autonômicas sejam encontradas, de preferência, dinamicamente (on-
the-fly) e, como tal, possam efetivamente substituir a intervenção humana na gestão da rede.
Este trabalho objetiva a concepção de uma solução autonômica para que a gerência de redes
ofereça, dentre outros aspectos, uma característica de escalabilidade na verificação de novas
soluções da rede. Para tal, foi desenvolvido um arcabouço auto-gerenciado para a utilização
em diversos cenários escaláveis, que foram alcançados mediante a concepção de uma estraté-
gia de particionamento de rede (NPCE – Network Partitioning Computing Engine). A NPCE
considera simultaneamente um conjunto de requisitos especificados como parâmetros de QoS e
tempo de execução na busca de novas configurações. Os resultados demonstram a viabilidade
da solução autonômica através de testes em cenários com diferentes topologias, perfis de tráfego
e mediante a aplicação de falhas. / Salvador
|
4 |
Hermes : um middleware orientado à mensagem para ambientes corporativosGonçalves Calabria, Eduardo January 2004 (has links)
Made available in DSpace on 2014-06-12T15:58:49Z (GMT). No. of bitstreams: 2
arquivo4728_1.pdf: 3434765 bytes, checksum: ac76cbf9a3705f40566be5c4bd013ddb (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2004 / Atualmente, a maioria dos sistemas de informação corporativos utiliza uma infraestrutura
de comunicação, conhecida como middleware, para a troca de mensagens com
outros sistemas. O middleware fornece um conjunto de serviços (ex., segurança,
transação e eventos) atuando como uma interface para que a aplicação seja construída
sem que o desenvolvedor tenha que tratar diretamente com a complexidade dos
mecanismos de comunicação de baixo nível.
Os sistemas de middleware são normalmente categorizados de acordo com o tipo de
primitiva fornecida para interação entre as aplicações: middleware procedural (chamada
remota de procedimento), middleware orientado a mensagem (passagem de mensagem),
middleware transacional (transação distribuída) e middleware orientado a objetos
(invocação de método remoto). Dentre estas categorias, os sistemas de middleware
orientado a mensagem (MOM) são os mais amplamente utilizados como infra-estrutura
de comunicação de aplicações corporativas.
Os requisitos de troca de mensagens são cada vez mais sofisticados e complexos,
exigindo que os MOMs utilizados atendam a requisitos como: aumento no volume de
dados, concorrência, escalabilidade, disponibilidade, garantias de entrega das mensagens,
controle de assincronismo, tolerância a falhas, balanceamento de carga e transparência de
localização.
Neste contexto, este trabalho propõe um middleware orientado a mensagem chamado
Hermes. O Hermes implementa todas as funcionalidades exigidas para um MOM, e
incorpora características adicionais, otimizando algumas implementações relativas às
escalabilidade e disponibilidade, e adicionando elementos funcionais que tornam seu uso
mais fácil e abrangente. O Hermes implementa ainda o padrão JMS (Java Message
Service), que propõe a implementação de um conjunto de interfaces e de características
comuns a qualquer middleware orientado a mensagem.
Podem ser enumeradas as seguintes contribuições deste trabalho: a apresentação
detalhada das características e das formas de implementação de um MOM, e a concepção
de uma arquitetura modular e componentizada para o MOM
|
5 |
Data modeling with NoSQL : how, when and whySilva, Carlos André Reis Fernandes Oliveira da January 2010 (has links)
Tese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 2010
|
6 |
Avaliação de escalabilidade e desempenho da camada de transporte de mensagens em plataformas multiagente / Scalability and performance comparison between message transport systems of multiagent platformsRodrigues, Henrique Donâncio Nunes 12 August 2019 (has links)
Este trabalho reside no campo de sistemas multiagente (MAS) compostos por agentes inteligentes que são capazes de usar protocolos de comunicação da Internet. Uma plataforma multiagente é um software ou framework capaz de gerenciar múltiplos aspectos da execução de agentes e suas interações. Muitas plataformas MAS foram desenvolvidas nos últimos anos, todas elas compatíveis com padrões de desenvolvimento de sistemas interoperáveis em diferentes níveis. Nos últimos anos,novas linguagens de programação foram definidas e novos protocolos foram adotados para comunicação em sistemas distribuídos. Esses fatos também influenciaram a comunidade multiagente,com a proposição de novas plataformas para apoiar o desenvolvimento de sistemas multiagente. Além disso, a adoção de agentes como paradigma para o desenvolvimento de sistemas distribuídos complexos em larga escala é vista como uma solução interessante na era do grande volume de dados. Portanto, uma comparação entre as plataformas existentes e seu suporte para desenvolver e implantar com eficiência sistemas multiagente de grande escala pode beneficiar a comunidade de desenvolvedores interessada em escolher qual plataforma melhor se adapta a seus projetos. O objetivo deste trabalho é avaliar plataformas multiagente em relação à escalabilidade, desempenho e compatibilidade com outras tecnologias com o objetivo de facilitar a escolha do desenvolvedor que queira projetar Sistemas Multiagente de grande porte. A fim de escolher as plataformas MAS para a comparação proposta, são consideradas plataformas de código aberto que são ativamente utilizadas pela comunidade multiagente. Além disso, tais plataformas MAS devem ser capazes de oferecer uma implantação de forma distribuída, característica essencial de sistemas escaláveis. Depois de restringir a lista de plataformas MAS de acordo com esses critérios, são analisados os sistemas de transporte de mensagens utilizando benchmarks para análise de escalabilidade e desempenho, considerando diferentes cenários de comunicação. Por fim, é apresentado um cenário realístico onde um MAS escalável pode ser adotado como solução. / This work resides in the field of multiagent systems (MAS) composed of intelligent agents that are able to use Internet communication protocols. A multiagent platform is a software or framework capable of managing multiple aspects of the agent execution and their interactions. In the recent years, many MAS platforms have been developed, all of them compliant with interoperable system development standards at different levels. Also, new programming languages have been defined and new protocols have been adopted for communication in distributed systems. These facts also influenced the multiagent community with the proposition of new platforms to support the development of multiagent systems. In addition, the adoption of agents as a paradigm for the development of large scale complex distributed systems is seen as an interesting solution in the era of big data. Therefore, a comparison between existing platforms and their support for efficiently developing and deploying large scale multiagent systems can benefit the developer community interested in choosing which platform best fits their projects. The purpose of this work is evaluate multiagent platforms for scalability, performance and compatibility with other technologies in order to facilitate the choice of the developer that wants design large scale multiagent systems. In order to choose MAS platforms for the proposed comparison, are considered open source platforms that are actively used by the multiagent community. Moreover, these MAS platforms should be able to provide a deployment in a distributed manner, essential characteristic of scalable systems. After narrowing the list of MAS platforms according to these criteria, message transport systems are analyzed using benchmarks for scalability and performance comparison, considering different communication scenarios. Finally, a realistic scenario is presented where a scalable MAS can be adopted as a solution.
|
7 |
Uma Abordagem Multi-objetivo para Redução do Risco da Insatisfação dos Stakeholders no Planejamento de Versões de SoftwarePitangueira, Antonio Mauricio da Silva 03 November 2016 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-06-06T18:57:25Z
No. of bitstreams: 1
Antonio Mauricio Pitangueira.pdf: 3255047 bytes, checksum: faaf1eeacd57c3613d7ecec9288a6c83 (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-16T15:40:05Z (GMT) No. of bitstreams: 1
Antonio Mauricio Pitangueira.pdf: 3255047 bytes, checksum: faaf1eeacd57c3613d7ecec9288a6c83 (MD5) / Made available in DSpace on 2017-06-16T15:40:05Z (GMT). No. of bitstreams: 1
Antonio Mauricio Pitangueira.pdf: 3255047 bytes, checksum: faaf1eeacd57c3613d7ecec9288a6c83 (MD5) / Os requisitos a serem entregues na próxima versão do software são selecionados de acordo com o valor percebido pelos stakeholders, o custo esperado da implementação, a disponibilidade de orçamento da companhia de software, relações de precedência entre os requisitos e restrições técnicas, entre outros. As abordagens existentes para o problema de seleção de requisitos de software não levam em conta o risco de insatisfação dos stakeholders, possivelmente resultante da elevada incerteza e divergência nas estimativas dos valores dos requisitos realizadas pelos stakeholders.
Esta Tese tem como objetivo propor uma nova abordagem multi-objetivo que considera o risco de insatisfação dos stakeholders no desenvolvimento da próxima versão do software (RA-MONRP). A abordagem RA-MONRP foi desenvolvida através de dois solvers (Yices e Z3) que adotam uma estratégia de busca determinística com base na Satisfiability Modulo Theory (SMT). Além disso, para permitir a aplicação da formulação proposta para problemas com número elevado de requisitos, também foi implementado um algoritmo probabilístico baseado na metaheurística genética NSGA-II.
Para avaliar a abordagem foram realizados três tipos de experimentos. O primeiro experimento verificou a existência de soluções que reduzam o risco de insatisfação dos stakeholders com mínimo impacto no custo e valor médio dos requisitos. O segundo experimento comparou a escalabilidade das técnicas SMT e metaheurística. Por fim, o terceiro experimento comparou o conjunto de soluções obtido por essas técnicas.
Os resultados encontrados mostram que: (i) o risco de insatisfação dos stakeholders pode ser minimizado com mínimo impacto no custo/valor; (ii) que a abordagem é escalável na maioria das situações em que o NSGA-II é usado, enquanto que para os SMT solvers a abordagem escala para problemas que não são excessivamente grandes em termos de número de requisitos e/ou não são muito esparsos em termos de número de dependências, e (iii) nos casos em que os dados apresentam alta densidade de dependências (número de dependências dividido pelo número de requisitos), o conjunto de soluções obtido pelo NSGA-II se distancia do conjunto de soluções obtido pelas técnicas baseadas em SMT. Para casos em que o número de requisitos é elevado e há baixa densidade de dependências, o NSGA-II obtém soluções muito próximas do SMT.
Os resultados obtidos indicam um avanço no estado da arte no problema de seleção de requisitos de software através da inclusão do risco de insatisfação dos stakeholders. Sendo assim, espera-se que ao se usar a abordagem proposta nessa Tese, os usuários possam adotar o RA-MONRP ao longo do ciclo de desenvolvimento do software, gerando um produto final de acordo com as expectativas dos stakeholders.
|
8 |
Engenhos de Busca Distribuídos: Uma abordagem visando escalabilidade para Crawling e IndexaçãoFernandes, Marcelo Rômulo January 2001 (has links)
Made available in DSpace on 2014-06-12T15:59:10Z (GMT). No. of bitstreams: 2
arquivo4931_1.pdf: 581419 bytes, checksum: 6d9e1efec074c836155c1e69761c3415 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2001 / A Internet é uma das principais fontes de informação utilizadas no apoio à solução de
problemas. Paralelamente a este fato, os Engenhos de Busca surgem como um dos
meios mais utilizados para pesquisa de informação nesse ambiente. Observa-se que o
tamanho extraordinário, o crescimento exponencial e a elevada taxa de modificação da
World-Wide-Web (www) requerem novas abordagens aos problemas de indexação e
pesquisa de informação na estrutura dos Engenhos de Busca. Neste trabalho, uma
solução distribuída para operação de Engenhos de Busca é apresentada, visando
escalabilidade e atualidade. São comentadas arquiteturas distribuídas para Engenhos de
Busca. Apresenta-se o Radix, um Engenho de Busca distribuído para indexar e
pesquisar informação na www, baseado em visões Web. Um protótipo é desenvolvido,
focalizando a implementação de crawling e indexação do Radix distribuído, a fim de
validar o ambiente proposto. Um estudo de caso comparativo de desempenho entre
Engenhos de Busca centralizados e distribuídos é apresentado, encorajando o uso de
técnicas de distribuição para elevar os valores de cobertura e atualidade desses sistemas
|
9 |
Aumento de escalabilidade no simulador de jogos RTS - RTSCUPLOBO, Rodrigo Araújo 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T16:00:46Z (GMT). No. of bitstreams: 2
arquivo6952_1.pdf: 1936777 bytes, checksum: 779ef9efb15174a50d169b2c897993c2 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2010 / O RTSCup é um ambiente de simulação de jogos RTS (Real Time Strategy) criado no Centro
de Informática (CIn) da Universidade Federal de Pernambuco (UFPE) por Vicente Vieira
Filho, que permite ao usuário realizar simulações em diferentes cenários de teste. Essas simulações
contemplam códigos utilizando Inteligência Artificial (IA) que podem ser utilizados para
aplicações em Sistemas Multiagentes (SMA). O RTSCup é utilizado como ferramenta da disciplina
de agentes autônomos, ministrada pelos professores Geber Ramalho e Patrícia Tedesco,
do CIn/UFPE, onde são criadas competições entre as equipes nas modalidades de pathfinding,
coleta de recursos e luta pela sobrevivência entre agentes. A dificuldade de realizar simulações
com menor tempo de ciclo contendo mais de vinte agentes motivou a busca por soluções de
desempenho no RTSCup. O objetivo deste trabalho é aumentar o número de agentes envolvidos
na simulação permitindo a utilização do mesmo em competições regionais e nacionais
|
10 |
A scalable microservice-based open source platform for smart cities / Uma plataforma escalável de código aberto baseada em microsserviços para cidades inteligentesEsposte, Arthur de Moura Del 18 June 2018 (has links)
Smart City technologies emerge as a potential solution to tackle common problems in large urban centers by using city resources efficiently and providing quality services for citizens. Despite the various advances in middleware technologies to support future smart cities, there are yet no widely accepted platforms. Most of the existing solutions do not provide the required flexibility to be shared across cities. Moreover, the extensive use and development of non-open-source software leads to interoperability issues and limits the collaboration among R&D groups. Our research explores the use of a microservices architecture to address key practical challenges in smart city platforms. More specifically, we are concerned with the impact of microservices on addressing the key non-functional requirements to enable the development of smart cities such as supporting different scalability demands and providing a flexible architecture which can easily evolve over time. To this end, we are developing InterSCity, a microservice-based open source smart city platform that aims at supporting the development of sophisticated, cross- domain applications and services. Our early experience shows that microservices can be properly used as building blocks to achieve a loosely coupled, flexible architecture. Experimental results point towards the applicability of our approach in the context of smart cities since the platform can support multiple scalability demands. We expect to enable collaborative, novel smart city research, development, and deployment initiatives through the InterSCity platform. The full validation of the platform will be conducted using different smart city scenarios and workloads. Future work comprises the ongoing design and development effort on data processing services as well as more comprehensive evaluation of the proposed platform through scalability experiments. / As tecnologias de Cidades Inteligentes surgem como uma potencial solução para lidar com problemas comuns em grandes centros urbanos, utilizando os recursos da cidade de maneira eficiente e fornecendo serviços de qualidade para os cidadãos. Apesar dos vários avanços nas tecnologias de middleware para suporte às cidades inteligentes do futuro, ainda não existem plataformas amplamente aceitas. A maioria das soluções existentes não oferece a flexibilidade necessária para ser compartilhada entre as cidades. Além disso, o vasto uso e desenvolvimento de software proprietário levam a problemas de interoperabilidade e limitam a colaboração entre grupos de P&D. Nesta dissertação, exploramos uso de uma arquitetura de microsserviços para abordar os principais desafios práticos em plataformas de cidades inteligentes. Mais especificamente, estamos preocupados com o impacto dos microsserviços sobre requisitos não-funcionais para permitir o desenvolvimento de cidades inteligentes, tais como o suporte a diferentes demandas de escalabilidade e o fornecimento de uma arquitetura flexível que pode evoluir facilmente. Para esse fim, criamos a InterSCity, uma plataforma para cidades inteligentes de código aberto baseada em microsserviços que visa apoiar o desenvolvimento de aplicativos e serviços sofisticados em múltiplos domínios. Nossa experiência inicial mostra que os microsserviços podem ser usados adequadamente como blocos de construção para obter uma arquitetura flexível e fracamente acoplada. Resultados experimentais apontam para a aplicabilidade de nossa abordagem no contexto de cidades inteligentes, já que a plataforma pode suportar diferentes demandas de escalabilidade. Esperamos permitir pesquisas colaborativas e inovadoras em cidades inteligentes, assim como o desenvolvimento e iniciativas de implantações reais através da plataforma InterSCity. A validação completa da plataforma será realizada usando diferentes cenários de cidades inteligentes e cargas de trabalho. Os trabalhos futuros compreendem o esforço contínuo de projetar e desenvolver novos serviços de processamento de dados, bem como a realização de avaliações mais abrangentes da plataforma proposta por meio de experimentos de escalabilidade.
|
Page generated in 0.0788 seconds