This paper presents a platform named Octopus that facilitates the building and execution of mobile agent based applications. It presents the key ideas of how agents embed the computational task and how they cooperate to find the solution. The Octopus is presented with its key mechanisms used to sustain and execute the agents. The cornerstones of the Octopus design are described in detail, giving readers an overview on how to implement a computation problem within the platform. Finally, actual application examples are shown with a short discussion of the Octopus based implementation properties.Keywords: mobile agents, migration, computational tasks, local scheduling.
The Structure of Agent Computational SystemParallel computing systems based on distributed network resources become the most powerful tools in high performance computing. To effectively utilize often heterogeneous network resources, a universal solution allowing for the easy design, implementation, deployment and finally control of the application is required. We propose an agent based computing system with two layer architecture that clearly divides such system required functionalities. The upper layer is the application while the lower is a platform sustaining agents -the Octopus.
Multi Agent ApplicationThis layer provides the means and tools to wrap the computational task into agents. The layer is build from agents, but the agents themself are further decomposed into two sub-layers -a shell and an embedded task (see [10]). A task is the particular problem with the data required for computations. The task should have the ability to divide itself, but that is a natural property in parallel computing. The outer agent is a task container -it requires its execution environment to provide load information (including RAM and CPU utilization) to compute a local scheduling policy and autonomously take the decision to continue internal task computing or migrate to find better resources. Agents require the execution environment to let them communicate with each other for cooperation.
Agents Execution PlatformThe application agents require an environment to execute them. The specific requirements for this layer originated from CAE computing and mainly included minimum runtime overhead with maximum performance. The platform provides the minimal set of functionalities clearly required by large computation problems, but these have to be performing well. Thus we did not require a universal solution that would fit any agent based applications. The platform has to be well scal-