among them:
Can we develop a simple bioinformatics
language that can be used by researchers of
biology to simply perform a certain task or solve
a specific problem?
Can we design a system that is able to identify
the problem and extract the implicit parallelism,
study task dependency, and provide an ideal task
scheduling mechanism?
Can we query the existing and available
hardware infrastructure in a way that can guide
us to map the tasks efficiently to be implemented
on such hardware platforms irrespective of their
heterogeneity?
Can we perform these tasks in an intelligent
way?
Several trials have been concerned with deploying
agent-oriented technology in the Bioinformatics
domain. Most of them were focusing on integrating
biological data from different data sources as in
(Shunmaganathan, Deepika, and Deeba, 2008).
Agent-oriented technology has also been deployed
in task scheduling as in (Konwinski, 2012). In our
proposal we show how to deal with the
heterogeneity of data sources, hardware
architectures, and parallel computing paradigms
deployed to solve bioinformatics problems.
The advent of agent technology for
bioinformatics yields remarkable advantages. Since
the multiagent system deploys a concurrent,
cooperative working technique then it can fit easily
to the distributed programming approach used for
parallel bioinformatics algorithms. A multiagent
system consists of several agents that can run on a
distributed system. Agents can cooperate with each
other to perform a specific task or a set of tasks.
During parallel processing of a bioinformatics
algorithm, a set of processing units work in a
distributed system and communicate via data
streams to perform tasks. This conforms well with
decomposition of processing tasks to dedicated
agents which in turn coordinate and perform tasks.
Agents are appropriate for efficient, distributed
planning. This encourages the utilization of agents
for planning the parallel processing of
bioinformatics tasks. Agents can be used for
distributed resource management. Consequently,
they will be used for distributing data and collecting
results. Agents are able to plan and perform parallel
bioinformatics algorithms using parallel processing.
Rational agents have the ability of learning. This
enables them to implement dynamic load balance
strategies that can be used to handle optimal
distribution of data and tasks. Moreover, the ability
of intelligent agents to learn can help in improving
the scheduling strategies of the agent. The four
layers of the proposed multiagent-based system can
be related to the bioinformatics domain as shown in
Fig. 2. A set of bioinformatics problems is presented
in the problem description layer. Bioinformatics
algorithms are included in computer algorithms
layer. Abstraction layer has agents that perform
some functions described earlier. Some agents from
this layer can traverse to other layers such that they
can visit the problem layer to collect the problem,
visit the architectures layer to collect hardware
features, and can also visit the computer algorithms
layer to select the appropriate algorithm for solving
a given bio problem. The fourth layer
“Architectures Layer” contains the same set of
heterogeneous hardware architectures.
4 MULTIAGENT-BASED
FRAMEWORK STRUCTURE
A bioinformatics problem is picked up from a text
file written by the biologist using the Bio Problem
Collector Agent. This agent is responsible for
interpreting the biology problem into a specific
bioinformatics language. The agent can also provide
a GUI to allow the bioinformatics programs
developer to simply select a suitable set of
statements. It is assumed that the problem writer has
enough experience to select among different
bioinformatics language statements. The bio
problem collector agent periodically collects bio
problems and forwards them to the Mapping Agent.
The Bio Problem Updater Agent tracks changes and
searches for any updates into the problem and
provides these updates to the Mapping Agent that
specifies the class of the computer algorithms
relevant to the bio problem and then forwards this
classification to the Ideal Task Scheduling Agent.
The Ideal Task Scheduling Agent is responsible for
analyzing the problem and extracting the task
dependency diagram irrespective of the hardware
architecture it will run on. The task dependency
diagram generated by the Ideal task scheduling
agent is forwarded to the Scheduling Strategy Agent.
The Feature Collector Agent provides the Topology
Explorer Agent with specific details of the hardware
architecture it belongs to. The Topology Explorer
Agent collects different architectures features and
status and forwards them to the Scheduling Strategy
Agent. Now the Scheduling Strategy Agent has both
the task dependency diagram (tree) and the available
hardware topology and features. The Scheduling
AMultiagent-basedFrameworkforSolvingComputationallyIntensiveProblemsonHeterogeneousArchitectures-
BioinformaticsAlgorithmsasaCaseStudy
529