12 research outputs found
Self-Optimization of Internet Services with Dynamic Resource Provisioning
Self-optimization through dynamic resource provisioning is an appealing approach to tackle load variation in Internet services. It allows to assign or release resources to/from Internet services according to the varying load. However, dynamic resource provisioning raises several challenges among which: (i) How to plan a good capacity of an Internet service, i.e.~a necessary and sufficient amount of resource to handle the Internet service workload, (ii) How to manage both gradual load variation and load peaks in Internet services, (iii) How to prevent system oscillations in presence of potentially concurrent dynamic resource provisioning, and (iv) How to provide generic self-optimization that applies to different Internet services such as e-mail services, streaming servers or e-commerce web systems. This paper precisely answers these questions. It presents the design principles and implementation details of a self-optimization autonomic manager. It describes the results of an experimental evaluation of the self-optimization manager with a realistic e-commerce multi-tier web application running in a Linux cluster of computers. The experimental results show the usefulness of self-optimization in terms of end-user's perceived performance and system's operational costs, with a negligible overhead
Auto-scaling to minimize cost and meet application deadlines in cloud workflows"
ABSTRACT A goal in cloud computing is to allocate (and thus pay for) only those cloud resources that are truly needed. To date, cloud practitioners have pursued schedule-based (e.g., time-of-day) and rule-based mechanisms to attempt to automate this matching between computing requirements and computing resources. However, most of these "auto-scaling" mechanisms only support simple resource utilization indicators and do not specifically consider both user performance requirements and budget concerns. In this paper, we present an approach whereby the basic computing elements are virtual machines (VMs) of various sizes/costs, jobs are specified as workflows, users specify performance requirements by assigning (soft) deadlines to jobs, and the goal is to ensure all jobs are finished within their deadlines at minimum financial cost. We accomplish our goal by dynamically allocating/deallocating VMs and scheduling tasks on the most cost-efficient instances. We evaluate our approach in four representative cloud workload patterns and show cost savings from 9.8% to 40.4% compared to other approaches
Recommended from our members
Investigation of a teleo-reactive approach for the development of autonomic manager systems
As the demand for more capable and more feature-rich software increases, the complexity in design, implementation and maintenance also increases exponentially. This becomes a problem when the complexity prevents developers from writing, improving, fixing or otherwise maintaining software to meet specified demands whilst still reaching an acceptable level of robustness. When complexity becomes too great, the software becomes impossible to effectively be managed by even large teams of people. One way to address the problem is an Autonomic approach to software development. Autonomic software aims to tackle complexity by allowing the software to manage itself, thus reducing the need for human intervention and allowing it to reach a maintainable state. Many techniques have been investigated for development of autonomic systems including policy-based designs, utility-functions and advanced architectures. A unique approach to the problem is the teleo-reactive programming paradigm. This paradigm offers a robust and simple structure on which to develop systems. It allows the developer the freedom to express their intentions in a logical manner whilst the increased robustness reduces the maintenance cost. Teleo-Reactive programming is an established solution to low-level agent based problems such as robot navigation and obstacle avoidance, but this technique shows behaviour which is consistent with higher-level autonomic solutions. This project therefore investigates the extent of the applicability of teleo-reactive programming as an autonomic solution. Can the technique be adapted to allow a more ideal fitness for purpose' for autonomics whilst causing minimal changes to the tried and tested original structure and meaning? Does the technique introduce any additional problems and can these be addressed with improvements to the teleo-reactive framework? Teleo-Reactive programming is an interesting approach to autonomic computing because in a Teleo-Reactive program, its state is not predetermined at any moment in time and is based on a priority system where rules execute based on the current environmental context (i.e. not in any strict procedural way) whilst still aiming at the intended goal. This method has been shown to be very robust and exhibits some of the qualities of autonomic software
A Systems Approach to Minimize Wasted Work in Blockchains
Blockchain systems and distributed ledgers are getting increasing attention since the
release of Bitcoin. Everyday they make headlines in the news involving economists,
scientists, and technologists. The technology invented by Satoshi Nakamoto gave to the
world a quantum leap in the fields of distributed systems and digital currencies. Even
so, there are still some problems regarding the architecture in most existing blockchain
systems.
One of the main challenges in these systems is the structure of the network topology
and how peers disseminate messages between them, this leads to problems regarding the
system scalability and the efficiency of the transaction and blocks propagation, wasting
computational power, energy and network resources.
In this work we propose a novel solution to tackle these limitations. We propose
the design of membership and message dissemination protocols, based on the state-ofart,
that will boost the efficiency of the overlay network that support the interactions
between miners, reducing the number of exchanged messages and the used bandwidth.
This solution also reduces the computational power and energy consumed across all
nodes in the network, since the nodes avoid to process redundant network messages, and,
becoming aware of mined blocks faster, avoid to perform computations over an outdated
chain configuration
Monitorização Autonómica de Contentores Docker e a sua Aplicação a Serviços da Saúde
Ao longo dos últimos anos tem-se assistido a uma evolução tecnológica sem precedentes,
onde a maioria se não todos os sectores da sociedade sofreram alterações notáveis
relacionadas directa ou indirectamente com a referida evolução. Um exemplo concreto
e transversal a todos os sectores da sociedade são as milhares de aplicações móveis existentes
que possibilitam a realização de todo o tipo de operações desde transferências
bancárias, compra de produtos, consulta meteorológica, marcação de restaurantes entre
tantas outras. Contudo o sector da SaĂşde numa perspectiva nacional, nĂŁo acompanhou ao
mesmo ritmo a oferta de soluções digitais de tantos outros sectores como a Banca ou a Restauração,
havendo por isso poucas aplicações que permitam aos utilizadores portugueses
interagir digitalmente com a sua saúde e instituições responsáveis.
Os Serviços Partilhados do Ministério da Saúde (SPMS) é uma empresa que nos últimos
anos se tem dedicado a responder a esta lacuna através do desenvolvimento de
aplicações móveis para a área da saúde e prevê não só aumentar a oferta de soluções
como também o número de utilizadores das mesmas. Este aumento no entanto significará
uma exigência acrescida sobre os serviços que suportam as aplicações e a infraestructura
onde os serviços se encontram alojados. É objectivo da SPMS melhorar a sua infraestructura
por forma a suportar eficazmente a adição de novos serviços e o aumento de carga
sobre o sistema, tendo sempre como principal objectivo a preservação da qualidade de
serviço prestada aos utilizadores. Concretamente a infraestructura terá que ser dinâmica
na recuperação de falhas e na alocação de recursos dependendo o mĂnimo possĂvel da
intervenção humana.
Neste sentido a presente dissertação consistiu no desenvolvimento de um sistema
autonĂłmico capaz de adaptar dinamicamente os recursos alocados a um conjunto de
serviços da saĂşde tendo em conta um conjunto de mĂ©tricas alto nĂvel definidas para
cada um dos serviços. A adaptação realizada maximiza a qualidade final de cada um dos
serviços, minimizando ao mesmo tempo o custo associado. Através dos testes realizados
comprovou-se o correcto funcionamento do sistema desenvolvido
Model-Based Dynamic Resource Management for Service Oriented Clouds
Cloud computing is a flexible platform for software as a service, as more and more applications are deployed on cloud. Major challenges in cloud include how to characterize the workload of the applications and how to manage the cloud resources efficiently by sharing them among many applications. The current state of the art considers a simplified model of the system, either ignoring the software components altogether or ignoring the relationship between individual software services. This thesis considers the following resource management problems for cloud-based service providers: (i) how to estimate the parameters of the current workload, (ii) how to meet Quality of Service (QoS) targets while minimizing infrastructure cost, (iii) how to allocate resources considering performance costs of virtual machine reconfigurations. To address the above problems, we propose a model-based feedback loop approach. The cloud infrastructure, the services, and the applications are modelled using Layered Queuing Models (LQM). These models are then optimized. Mathematical techniques are used to reduce the complexity of the models and address the scalability issues. The main contributions of this thesis are: (i) Extended Kalman Filter (EKF) based techniques improved by dynamic clustering for scalable estimation of workload parameters, (ii) combination of adaptive empirical models (tuned during runtime) and stepwise optimizations for improving the overall allocation performance, (iii) dynamic service placement algorithms that consider the cost of virtual machine reconfiguration
Accuracy Assessment of forecasting services
English: A service system is a dynamic configuration of people, technologies, organisations and
shared information that create and deliver value to customers and other stakeholders [1].
The following cases are examples of customers receiving a service: taking a bus to go
somewhere, or going to a restaurant to have a meal, or for a small IT (information
technology) company, contracting a service to a bigger one in order to save costs and time.
Service-oriented architecture (SOA) has become more popular during last years. Basically,
this emerging development paradigm allows service providers to offer loosely coupled
services. These services are normally only owned by the providers. As a result, the service
user or client does not have to worry about the development, maintenance, infrastructure,
or any other issue of how the service is working. To sum up, the user just has to find and
choose the proper service.
On the one hand, it presents several advantages. Firstly, common functionality can be
contracted as a service in order to be able to focus on the own core missions. Secondly, it
decreases the cost, since it is cheaper to contract a service than creating it yourself. Thirdly,
clients take benefit of provider’s latest technologies.
On the other hand, there is one big drawback: lack of trust. When you contract a service, you
lose the direct control, the provider has access to your own data, you depend on him, and
you experiment delays since your functionality is not working in-home.
That is why the user has to decide previously which service is the most appropriate for his
needs. Each client has different needs: quality (it varies among services), reputation (a
famous or recommended provider usually gives more confidence), speed (agreements not to
break thresholds), security (contract and trust in the provider), personalisation (preferential
treatment from the provider), and locality (law is not the same in all countries). Therefore, a
customer needs to know about the best service(s).Among all kind of services, we concentrate on forecasting services. Forecasting services
show in advance a condition or occurrence about the future. There are plenty of domains:
weather forecasts, stock market prices, results in betting shops, elections…
Let us see a domain which is really familiar to all of us: weather forecast. When we are
planning to travel, going somewhere or just deciding what to wear first thing in the morning,
we wonder about weather conditions. To make these decisions, we check the weather
forecast on TV news, a thermometer, or on a web site. However, sometimes we check
several predictions and they do not agree. Which one will be the most accurate?
Our goal in this master thesis is to assess the accuracy of these forecasting services in order
to help prospective users to choose the best one according to their needs. To do it, we are
going to compare forecast predictions with actual real observations
Accuracy Assessment of forecasting services
English: A service system is a dynamic configuration of people, technologies, organisations and
shared information that create and deliver value to customers and other stakeholders [1].
The following cases are examples of customers receiving a service: taking a bus to go
somewhere, or going to a restaurant to have a meal, or for a small IT (information
technology) company, contracting a service to a bigger one in order to save costs and time.
Service-oriented architecture (SOA) has become more popular during last years. Basically,
this emerging development paradigm allows service providers to offer loosely coupled
services. These services are normally only owned by the providers. As a result, the service
user or client does not have to worry about the development, maintenance, infrastructure,
or any other issue of how the service is working. To sum up, the user just has to find and
choose the proper service.
On the one hand, it presents several advantages. Firstly, common functionality can be
contracted as a service in order to be able to focus on the own core missions. Secondly, it
decreases the cost, since it is cheaper to contract a service than creating it yourself. Thirdly,
clients take benefit of provider’s latest technologies.
On the other hand, there is one big drawback: lack of trust. When you contract a service, you
lose the direct control, the provider has access to your own data, you depend on him, and
you experiment delays since your functionality is not working in-home.
That is why the user has to decide previously which service is the most appropriate for his
needs. Each client has different needs: quality (it varies among services), reputation (a
famous or recommended provider usually gives more confidence), speed (agreements not to
break thresholds), security (contract and trust in the provider), personalisation (preferential
treatment from the provider), and locality (law is not the same in all countries). Therefore, a
customer needs to know about the best service(s).Among all kind of services, we concentrate on forecasting services. Forecasting services
show in advance a condition or occurrence about the future. There are plenty of domains:
weather forecasts, stock market prices, results in betting shops, elections…
Let us see a domain which is really familiar to all of us: weather forecast. When we are
planning to travel, going somewhere or just deciding what to wear first thing in the morning,
we wonder about weather conditions. To make these decisions, we check the weather
forecast on TV news, a thermometer, or on a web site. However, sometimes we check
several predictions and they do not agree. Which one will be the most accurate?
Our goal in this master thesis is to assess the accuracy of these forecasting services in order
to help prospective users to choose the best one according to their needs. To do it, we are
going to compare forecast predictions with actual real observations
Forschungsbericht Universität Mannheim 2006 / 2007
Sie erhalten darin zum einen zusammenfassende Darstellungen zu den Forschungsschwerpunkten und Forschungsprofilen der Universität und deren Entwicklung in der Forschung. Zum anderen gibt der Forschungsbericht einen Überblick über die Publikationen und Forschungsprojekte der Lehrstühle, Professuren und zentralen Forschungseinrichtungen. Diese werden ergänzt um Angaben zur Organisation von Forschungsveranstaltungen, der Mitwirkung in Forschungsausschüssen, einer Übersicht zu den für Forschungszwecke eingeworbenen Drittmitteln, zu den Promotionen und Habilitationen, zu Preisen und Ehrungen und zu Förderern der Universität Mannheim. Darin zeigt sich die Bandbreite und Vielseitigkeit der Forschungsaktivitäten und deren Erfolg auf nationaler und internationaler Ebene
Recommended from our members
Flexible and efficient computation in large data centres
Increasingly, online computer applications rely on large-scale data analyses to offer personalised and improved products. These large-scale analyses are performed on distributed data processing execution engines that run on thousands of networked machines housed within an individual data centre. These execution engines provide, to the programmer, the illusion of running data analysis workflows on a single machine, and offer programming interfaces that shield developers from the intricacies of implementing parallel, fault-tolerant computations.
Many such execution engines exist, but they embed assumptions about the computations they execute, or only target certain types of computations. Understanding these assumptions involves substantial study and experimentation. Thus, developers find it difficult to determine which execution engine is best, and even if they did, they become “locked in” because engineering effort is required to port workflows.
In this dissertation, I first argue that in order to execute data analysis computations efficiently, and to flexibly choose the best engines, the way we specify data analysis computations should be decoupled from the execution engines that run the computations. I propose an architecture for decoupling data processing, together with Musketeer, my proof-of-concept implementation of this architecture. In Musketeer, developers express data analysis computations using their preferred programming interface. These are translated into a common intermediate representation from which code is generated and executed on the most appropriate execution engine. I show that Musketeer can be used to write data analysis computations directly, and these can execute on many execution engines because Musketeer automatically generates code that is competitive with optimised hand-written implementations.
The diverse execution engines cause different workflow types to coexist within a data centre, opening up both opportunities for sharing and potential pitfalls for co-location interference. However, in practice, workflows are either placed by high-quality schedulers that avoid co-location interference, but choose placements slowly, or schedulers that choose placements quickly, but with unpredictable workflow run time due to co-location interference.
In this dissertation, I show that schedulers can choose high-quality placements with low latency. I develop several techniques to improve Firmament, a high-quality min-cost flow-based scheduler, to choose placements quickly in large data centres. Finally, I demonstrate that Firmament chooses placements at least as good as other sophisticated schedulers, but at the speeds associated with simple schedulers. These contributions enable more efficient and effective use of data centres for large-scale computation than current solutions.Google fellowship in distributed system