2,302 research outputs found
Recommended from our members
A classification of emerging and traditional grid systems
The grid has evolved in numerous distinct phases. It started in the early ’90s as a model of metacomputing in which supercomputers share resources; subsequently, researchers added the ability to share data. This is usually referred to as the first-generation grid. By the late ’90s, researchers had outlined the framework for second-generation grids, characterized by their use of grid middleware systems to “glue” different grid technologies together. Third-generation grids originated in the early millennium when Web technology was combined with second-generation grids. As a result, the invisible grid, in which grid complexity is fully hidden through resource virtualization, started receiving attention. Subsequently, grid researchers identified the requirement for semantically rich knowledge grids, in which middleware technologies are more intelligent and autonomic. Recently, the necessity for grids to support and extend the ambient intelligence vision has emerged. In AmI, humans are surrounded by computing technologies that are unobtrusively embedded in their surroundings.
However, third-generation grids’ current architecture doesn’t meet the requirements of next-generation grids (NGG) and service-oriented knowledge utility (SOKU).4 A few years ago, a group of independent experts, arranged by the European Commission, identified these shortcomings as a way to identify potential European grid research priorities for 2010 and beyond. The experts envision grid systems’ information, knowledge, and processing capabilities as a set of utility services.3 Consequently, new grid systems are emerging to materialize these visions. Here, we review emerging grids and classify them to motivate further research and help establish a solid foundation in this rapidly evolving area
Achieving Robust Self-Management for Large-Scale Distributed Applications
Autonomic managers are the main architectural building blocks for constructing self-management capabilities of computing systems and applications. One of the major challenges in developing self-managing applications is robustness of management elements which form autonomic managers. We believe that transparent handling of the effects of resource churn (joins/leaves/failures) on management should be an essential feature of a platform for self-managing large-scale dynamic distributed applications, because it facilitates the development of robust autonomic managers and hence improves robustness of self-managing applications. This feature can be achieved by providing a robust management element abstraction that hides churn from the programmer.
In this paper, we present a generic approach to achieve robust services that is based on finite state machine replication with dynamic reconfiguration of replica sets. We contribute a decentralized algorithm that maintains the set of nodes hosting service replicas in the presence of churn. We use this approach to implement robust management elements as robust services that can operate despite of churn. Our proposed decentralized algorithm uses peer-to-peer replica placement schemes to automate replicated state machine migration in order to tolerate churn. Our algorithm exploits lookup and failure detection facilities of a structured overlay network for managing the set of active replicas. Using the proposed approach, we can achieve a long running and highly available service, without human intervention, in the presence of resource churn. In order to validate and evaluate our approach, we have implemented a prototype that includes the proposed algorithm
A Self-adaptive Agent-based System for Cloud Platforms
Cloud computing is a model for enabling on-demand network access to a shared
pool of computing resources, that can be dynamically allocated and released
with minimal effort. However, this task can be complex in highly dynamic
environments with various resources to allocate for an increasing number of
different users requirements. In this work, we propose a Cloud architecture
based on a multi-agent system exhibiting a self-adaptive behavior to address
the dynamic resource allocation. This self-adaptive system follows a MAPE-K
approach to reason and act, according to QoS, Cloud service information, and
propagated run-time information, to detect QoS degradation and make better
resource allocation decisions. We validate our proposed Cloud architecture by
simulation. Results show that it can properly allocate resources to reduce
energy consumption, while satisfying the users demanded QoS
Modeling adaptation with a tuple-based coordination language
In recent years, it has been argued that systems and applications, in order to deal with their increasing complexity, should be able to adapt their behavior according to new requirements or environment conditions. In this paper, we present a preliminary investigation aiming at studying how coordination languages and formal methods can contribute to a better understanding, implementation and usage of the mechanisms and techniques for adaptation currently proposed in the literature. Our study relies on the formal coordination language Klaim as a common framework for modeling some adaptation techniques, namely the MAPE-K loop, aspect- and context-oriented programming
Incorporating prediction models in the SelfLet framework: a plugin approach
A complex pervasive system is typically composed of many cooperating
\emph{nodes}, running on machines with different capabilities, and pervasively
distributed across the environment. These systems pose several new challenges
such as the need for the nodes to manage autonomously and dynamically in order
to adapt to changes detected in the environment. To address the above issue, a
number of autonomic frameworks has been proposed. These usually offer either
predefined self-management policies or programmatic mechanisms for creating new
policies at design time. From a more theoretical perspective, some works
propose the adoption of prediction models as a way to anticipate the evolution
of the system and to make timely decisions. In this context, our aim is to
experiment with the integration of prediction models within a specific
autonomic framework in order to assess the feasibility of such integration in a
setting where the characteristics of dynamicity, decentralization, and
cooperation among nodes are important. We extend an existing infrastructure
called \emph{SelfLets} in order to make it ready to host various prediction
models that can be dynamically plugged and unplugged in the various component
nodes, thus enabling a wide range of predictions to be performed. Also, we show
in a simple example how the system works when adopting a specific prediction
model from the literature
An Approach to Ad hoc Cloud Computing
We consider how underused computing resources within an enterprise may be
harnessed to improve utilization and create an elastic computing
infrastructure. Most current cloud provision involves a data center model, in
which clusters of machines are dedicated to running cloud infrastructure
software. We propose an additional model, the ad hoc cloud, in which
infrastructure software is distributed over resources harvested from machines
already in existence within an enterprise. In contrast to the data center cloud
model, resource levels are not established a priori, nor are resources
dedicated exclusively to the cloud while in use. A participating machine is not
dedicated to the cloud, but has some other primary purpose such as running
interactive processes for a particular user. We outline the major
implementation challenges and one approach to tackling them
Modeling Adaptation with Klaim
In recent years, it has been argued that systems and applications, in order to deal with their increasing complexity, should be able to adapt their behavior according to new requirements or environment conditions. In this paper, we present an investigation aiming at studying how coordination languages and formal methods can contribute to a better understanding, implementation and use of the mechanisms and techniques for adaptation currently proposed in the literature. Our study relies on the formal coordination language Klaim as a common framework for modeling some well-known adaptation techniques: the IBM MAPE-K loop, the Accord component-based framework for architectural adaptation, and the aspect- and context-oriented programming paradigms. We illustrate our approach through a simple example concerning a data repository equipped with an automated cache mechanism
- …