The
design and development of ubiquitous and pervasive applications require new
operational models that can permit an efficient use of resources and
services and a reduction of the need for the administration effort typical in
client-to-server networks.Gaber in [Gab00] and
[Gab06] has proposed two
alternative paradigms
to
the traditional
client/server paradigm (CSP)
to design and implement
Ubiquitous
and
Pervasive applications
: the
Adaptive Services/Client Paradigm (SCP)
and the
Spontaneous Service
Emergence Paradigm (SEP).
These paradigms involve the self-organization and the self-adaptation
principles. For example, as pointed by Gaber in [Gab00,
Gab06],
these paradigms could be implemented via a self-adaptive and reactive
intelligent network (or middleware) inspired by natural and biological systems
like the natural immune system that exhibits self-organizing and emergence
capabilities. More precisely, unlike the classical Client/Server approach, each
user request is considered as an attack launched against the
global network. An immune networking middleware reacts
like the natural immune system against pathogens that have
entered the body. It detects the infection (i.e., user request)
and delivers a response to eliminate it (i.e., satisfy the user request).
Recall that in ubiquitous computing, the main objective is to provide users the
ability to access services and resources all the time and irrespective to their
location, while in pervasive computing, the main objective is to provide
spontaneous emergent services created on the fly by mobiles that interact by ad
hoc connections[Gab00,
Gab06].
Recently, agent-based approaches,
with self-adapting and self-organizing capabilities
, have been proposed to implement SCP and SEP respectively. More precisely,
these approaches, inspired by the human immune system, provide
scalable and adaptive service discovery and
composition systems for ubiquitous and pervasive environments .
[Gab00] J.
Gaber, New paradigms for ubiquitous and pervasive computing,
Research Report RR-09, Universite de
Technologies de Belfort-Montbeliard (UTBM), France, 2000.
[Gab06] J. Gaber, New paradigms for ubiquitous and pervasive applications,
Proceeding of First
Workshop on Software
Engineering Challenges for Ubiquitous Computing, Lancaster, UK, 2006.
Mobile
Agent based
approach has received great attention in the last years as a promising alternative to the traditional client-server paradigm. A mobile agent is a
software entity which may move with its own code and execution context from
location to location to meet other agents or to access resources provided at
each location. Mobile agents are mainly intended to be used for applications
distributed over large scale networks because they allow saving communication
costs by moving computation to the host on which the target data or resources
resides.
Mobile agent can clone itselfin order to increase system robustness and performances. The clone
operation creates multiple instances of agent that execute on different
machines. This would allow agents to cover a much wide area of machines space in
a reasonable amount of time. However, it should be noted that increasing agent
population, with cloning operation, will increase resource demands in the
network, which would indirectly affect network performance. Since mobile agents
operate in a dynamic and distributed environment, it is difficult even impossible to estimate a priori an
appropriate number of agents in the network. Also, changing the population
dynamically in response to its environment is a complex issue in the absence of
central controller.
In parallel, a
mobile agent with cloning capability is used for the resource dissemination and
resource discovery in large scale network. The
resource discovery is a basic functionality that enhances the accessibility of
resources in the distributed context: Recently, an approach proposed in
uses both random
walks
and a
cloning
mobile agent-based technique for resource discovery in peer-to-peer networks. This
cloning mobile agent-based technique
allows mobiles agents to cover a much wide area of network peers in a
reasonable amount of time compared to a single mobile agent
technique and
multiple mobile agents' technique.
To decrease delay of request resolution proposed in, a
reinforcement learning mechanism
for resource discovery in peer-to-peer networks is proposed to allows peers to
learn from their satisfaction, and how coordinate to select and forward
requests to the required peers in the most efficient ways. Unlike a random walk
technique that allows peers to forward incoming queries to randomly chosen
neighbors, in learning mechanism each peer selects a neighbor that has the
highest probability of having query results.
In this work, a Propitient Multiagent System (PMAS) is proposed. More precisely, a multi-agent system that has self-organizing principles and that can exhibit emergent behaviors presents what we can call a propitience functionality. The word propitience comes from the Latin terms "propitius" with the suffix "-ence" from the term emergence. In other words, a propitient system is a system with the ability to self-organize in order to adapt towards the most appropriate agent organization structures according to unpredictable changes in the environment. An emergent behavior is delivered as result of agents-to-agents and agent-to-environment interactions that adapt until the system hits a most suitable self-organizing structure.
Approaches proposed in the literature to solve combinatorial optimization problems have been divided into two classes: exact approaches and heuristic approaches. Both approaches have their specific properties, advantages, and disadvantages. Exact approaches give exact solution to the studied problem, but they work reasonably fast only for relatively small problem. Heuristic approaches deliver either apparently or probably a good solution, but which could not be proved to be optimal. One of the main challenges today in optimization is to derive inherently parallel, dynamic and adaptive search algorithms.
In this work, an approach based on the clonal selection with a negative/positive selection mechanism is proposed. The clonal selection mechanism is used by the natural immune system to define the basic features of an immune response to an antigenic stimulus. In this approach, by cloning action, an agent do not need to choose between two or more paths, but it clones itself and its clone moves to neighboring node selected at random. Moreover, the number of search agents is not constant and changes during the course of the algorithm due to cloning/suppression operations. The well known Traveling Salesman Problem (TSP) that exemplifies a prominent class of problems in combinatorial optimization is used to illustrate the approach with experimental comparison with the ant approach. The proposed optimization approach is inherently parallel and the cloning strategy according to greedy criteria lends to an adaptive algorithm to environment changes.
The term "Configurable Hardware" generally implies a device in which the user specifies an initial and a fixed configuration of the device. Modern configurable hardware devices, named reconfigurable hardware, have focused on FPGAs that allows multiple configuration steps. Because these devices are generally controlled by an external controller, such as a PC, they suffer from some fundamental limitations like fault sensitivity, a non-scalability, and slow configuration time. More precisely, the configuration information is generated and transmitted to the device by something outside the device itself. In large scale devices, this creates a configuration bottleneck, leading to an increase in configuration time. In this purpose, a new type of self-reconfigurable and evolvable hardware inspired by biological principles such as self-assembling, self-replication, self-diagnostic and self-repair were introduced recently in the design of evolvable hardware. The aim of this work is to extend and adapt these models in order to develop bio-inspired computing machines together with new computational methodologies based on ideas inspired by natural systems.
In other words, having platform-dependent parameters in the model makes it quit difficult to obtain a concise analyze and performance prediction of algorithms.There has been a great deal of interests in the development of performance models for parallel computation. The most popular is the PRAM (Parallel Random Access Machine) model and is used for shared memory and network-based systems. Since the PRAM model do not consider communication cost, it is considered by many studies to be high level and fails to accurately model parallel machines. New alternatives such as BSP, LogP and its variants, and QSM have been proposed to capture the communication parameters. These parameters are not program-dependent and considering them in the design phase complicates the designer analysis .
The main objective of this work focuses on developing a performance model to help the program designer to select the most suitable program without referring to the target platform. More precisely, a simple performance model, using complexity analysis and the relative costs of private, local shared and remote shared accesses costs is developed to characterize the performance of algorithms for parallel languages based particularly on the PGAS (Partitioned Global Address Space) programming model. The performance model allows programmers to predict and analyze the performance of their algorithms independent of target platforms. Therefore, it can allow application developers to minimize the communication overhead and design better programs before compiling and running. The experimental results of this study will confirm the accuracy of the analytical model as a useful tool for the design and analysis of PGAS algorithms. The model sheds further light on the impact of data distributions on locality and performance in UPC (Unified Parallel C).