General purpose agent-based parallel computing David Sánchez, David Isern, Ángel Rodríguez, Antonio Moreno ITAKA (Intelligent Technologies for Advanced Knowledge Acquisition) Department of Computer Science and Mathematics University Rovira i Virgili Av. Països Catalans, 26. 43007 Tarragona {david.sanchez, david.isern, angel.rodriguez, antonio.moreno}@urv.cat Abstract. Parallel computing has become an important research field in the last years. The availability of hardware and the success of grid computing have motivated this interest. In this paper we present a new approach for managing parallel environments in a grid-like manner using agent technologies. Multi- agent systems provide an added value to standard grid approaches due to their high level abstraction and flexibility, which are exploited by our approach. As a result, a general purpose platform for parallel execution of tasks using mobile agents is introduced. A particular application of the platform for implementing a complex knowledge acquisition method is also introduced, and the computational benefits of the parallelisation are measured. Keywords: Multi-agent Systems, Mobile Agents, Parallel Computing. 1 Introduction Artificial Intelligence applications usually involve the processing of large amounts of data or huge information sources, and the execution of complex analytical processes. In those cases, the computational capacity of a unique computer may not be enough, requiring the use of multiple-CPU supercomputers or a computer network. This last approach, typically called grid computing [4], has been successfully applied in the last years. This execution paradigm allows taking profit from unused computers, obsolete equipment or underused intranet nodes. This results in a reduction of the cost that typically implies parallel execution, configuring a highly scalable approach. In addition, Internet connections allow users to contribute with their own computers to world-wide scale distributed projects based on grid computing. Grid-based applications are specific low level programs performing repetitive tasks over large amounts of pre-processed data. In general, they are quite complex to develop, requiring the design of ad-hoc non-reusable execution frameworks. In the last twenty years, agents and multi-agent systems (MAS) [8] have emerged as a promising computer engineering paradigm. On the one hand, agents provide a high level approach for implementing complex systems [3]. On the other hand, MAS provide an environment in which several entities can be transparently executed in a highly distributed and flexible manner. MAS also provide an added value thanks to features such as elaborated communicative skills, flexibility and mobility capabilities.