Applying Conflict Management Strategies in BDI Agents for Resource Management in Computational Grids ∗ Omer F. Rana 1,2 Michael Winikoff 1 , Lin Padgham 1 , James Harland 1 1 School of Computer Science and Information Technology, RMIT University, Melbourne, Australia Email: {winikoff,linpa,jah}@cs.rmit.edu.au 2 Department of Computer Science, Cardiff University, UK Email: o.f.rana@cs.cf.ac.uk Abstract Managing resources in large scale distributed systems – “Computational Grids”, is a complex and time sensitive process. The computational re- sources being shared vary in type and complexity, and resource prop- erties can change over time. An approach based on interacting software agents is presented, where each resource manager and resource requester is modelled as a BDI (Belief-Desire-Intention) agent. The proposed ap- proach can help resolve conflicts that arise during resource discovery and application scheduling, and enables site autonomy to be maintained. The modelling and detection of conflicts is important in the context of this work, to enable each resource and application to respond to changes in the environment. We propose a BDI based framework that can be used to model agents that represent resources and applications – and outline properties that each must maintain. 1 Introduction An intelligent agent is able to make rational decisions, i.e., blending proactiveness and reactiveness, showing ratio- nal commitment to decisions made, and exhibiting flex- ibility in the face of an uncertain and changing environ- ment. Agents offer new ways of abstraction, decom- position, and organisation that fit well with our natu- ral view of the world and agent oriented programming is often considered a natural successor to object ori- ented programming [Jennings, 2001]. It has the poten- tial to change the way we design, visualise, and build software in that agents can naturally model “actors” – real world entities that can show autonomy and proac- tiveness. Additionally, social agents naturally model (human) organisations ranging from business structure & processes to military command structures. A num- ber of significant applications utilising agent technology [Jennings and Wooldridge, 1998a] have already been de- veloped, many of which are decidedly non-trivial, such as the military simulation work undertaken with dMars con- taining thousands of plans [Tidhar et al., 1998]. In this paper we apply intelligent software agents, using the Belief-Desire-Intention (BDI) model [Wooldridge, 2000, Georgeff and Rao, 1998, Rao and Georgeff, 1992] (more details about BDI agents can be found in section 3), to the problem of resource management in distributed systems. The resource man- agement problem in distributed systems (in its simplest form) consists of, (1) selecting a set of resources on which to execute tasks generated from an application, (2) mapping tasks to computational resources, (3) feeding data to these computations, and (4) ensuring that task * We would to thank Agentis International and the ARC (under grant C49906798, “Real-time reasoning about interacting activities in agent systems”) for their contribution to this work. Copyright c 2001, Australian Computer Society, Inc. This paper ap- peared at the Twenty-Fifth Australasian Computer Science Conference (ASCS2002), Melbourne, Australia. Conferences in Research and Practice in Information Technology, Vol. 4. Michael Oudshoorn, Ed. Reproduction for academic, not-for-profit purposes permitted provided this text is included. and data dependencies between executing tasks are main- tained. Generally, relations between tasks are defined using a task graph – which provides a partial ordering on task execution. Each node within such a graph repre- sents a computation, and arcs represent data or control relationships. Once a task graph has been specified, the next stage involves resource selection or discovery, to identify suitable computational engines from a pool, typically homogeneous, based on criteria ranging from licensing constraints, processor(s) capability(ies), execu- tion costs, and background workload. A good overview of such cluster management systems can be found in [Baker, Fox and Yau, 1996]. In [Rana et al., 2001] an agent based MatchMaking service is described, which acts as a “yellow pages” service to discover resources of interest. This study assumes that resources can be heterogeneous, and their properties can change over time. A match between task and resource properties is achieved by finding commonalities (either syntactic, contextual or semantic) between task and resource properties. An implementation based on JKQML [JKQML, 1999] is also provided in the study to demonstrate the concepts. The agents however undertake simple activities, and do not have associated behaviours that can be used to adapt their operations over time. We extend the work in [Rana et al., 2001] to include rational agents based on the BDI model. A rational agent executes a plan (from a pre-defined plan library) to achieve local goals, and can retry alternate plans if a goal cannot be achieved. To utilise this model, it is necessary to trans- late the resource management problem into goals that need to be satisfied locally within each agent, based on the role that an agent undertakes within the system. We identify three roles that are necessary for such a resource manage- ment system, (1) a resource agent role, (2) an application agent role, and (3) a middle (broker) agent role. These are described in greater detail in section 2. Expressing the resource management problem in this way supports a de-centralised management strategy, whereby each agent in the system is responsible for managing its local goals, and is particularly useful in an environment (such as Com- putational Grids [Foster and Kesselman, 1999]) where re- source capabilities and application demands can vary sig- nificantly over time. 2 Resource management A three tier system is considered, based on BDI Appli- cation Agents (AAs), Broker Agents (BAs) and BDI Re- source Agents (RAs) as illustrated in figure 1. Each AA is responsible for managing the execution of a program described as a task graph. An AA can manage multiple programs (task graphs) and undertakes a similarity check between the task graphs it manages to identify common tasks. A task graph is an ordered set, consisting of tasks θ and arcs η, T ask Graph(TG)=(θ, η) Citation: Rana, O, Winikoff, M, Padgham, L and Harland, J 2002, 'Applying conflict management strategies in BDI Agents for Resource management in computational grids', in Computer science 2002 : proceedings of the twenty-fifth Australasian Computer Science Conference, Monash University, Melbourne, Jan./Feb. 2002, Melbourne, Australia, 28 January - 1 February 2002.