A novel strategy for multi-resource load balancing in agent-based systems

Reading time: 5 minute
...

📝 Abstract

The paper presents a multi-resource load balancing strategy which can be utilised within an agent-based system. This approach can assist system designers in their attempts to optimise the structure for complex enterprise architectures. In this system, the social behaviour of the agent and its adaptation abilities are applied to determine an optimal setup for a given configuration. All the methods have been developed to allow the agent’s self-assessment. The proposed agent system has been implemented and the experiment results are presented here.

💡 Analysis

The paper presents a multi-resource load balancing strategy which can be utilised within an agent-based system. This approach can assist system designers in their attempts to optimise the structure for complex enterprise architectures. In this system, the social behaviour of the agent and its adaptation abilities are applied to determine an optimal setup for a given configuration. All the methods have been developed to allow the agent’s self-assessment. The proposed agent system has been implemented and the experiment results are presented here.

📄 Content

Resource management has been an active research area for a considerable period of time. By deploying mobile agent environments, we can achieve some good global system performance (Nguyen and Sliwko, 2005;Nguyen et al., 2006), dynamic adaptation capability (Kim et al., 2004) as well as robustness and fault-tolerance (Denning, 1976;Randell et al., 1978;Xu and Wimsaldonado, 2000). We can also obtain several other benefits such as more cost-effective resource planning (Buyya, 1999), a reduction of network traffic (Kim et al., 2004;Montresor et al., 2003), autonomous activities of the agents (Goodwin, 1995) and decentralised network management (Yang et al., 2005).

Agents can also assist system designers in their attempts to optimise the structure for even complex enterprise architectures. In presented strategy, the social behaviour of the agent and its adaptation abilities (Franklin and Graesser, 1996;Goodwin, 1995) are applied to determine an optimal setup for a given system configuration. Moreover, the algorithm can also be applied to dynamically manage the existing system which utilises several different resources; it can also increase the capacity of any of the networked computers as it assures that each device has a remote access to all resources available in the network (Yang et al., 2005).

This paper is a straight continuation of ‘Multi-resource load optimisation strategy in agent-based systems’ paper (Sliwko and Zgrzywa, 2007), presented on the 1st KES Symposium on Multi-Agent Systems Conference in Wrocław. The previously demonstrated algorithm, which is referred to as the KESAMSTA07 strategy, has been extended and also the Java multi-agent system balancer (JMASB) framework went under heavy development. Therefore, we strongly advise the reader to get familiar with our previous work (Nguyen and Sliwko, 2005;Sliwko and Nguyen, 2007;Sliwko and Zgrzywa, 2007) as this paper often refers to it. However, the system basics and the methodology are presented as well in this article.

All the methods have been developed to allow the agent’s self-assessment. The proposed schema has been implemented and the experiment results are presented here; additionally, a few other approaches are underlined.

The paper is organised as follows: in Section 2, we describe the idea of utilising agent-based systems in industry standard enterprise architectures. Section 3 provides our standpoint on the multi-resource management through load balancing with working principles explained in details. Section 4 is the most interesting as it presents the results of our experiment compared to various, well-known algorithms. Finally, Section 5 concludes our work and summarises our research.

Nowadays, within the globalisation process, the computer system had to become world-wide operating and more powerful (Kesselman and Kesselman, 1999). The amount of data processed in world-wide systems has exceeded by far everything that could be thought of only two decades ago when the first computer system architectures were designed. To process such a large data collection, computer systems need to become more scalable (He, 2000) and portable (Craswell et al., 1997;Wurz and Schuldt, 2005).

This has involved a considerable number of problems but also initiated the process of designing more flexible architecture schemas where the application does not consist in a single atomic entity, but it contains many other components (Alur et al., 2003;Heineman and Councill, 2001;Qu et al., 2004) which could be spread among many environments, being connected only by communication channels.

Among the most well known and developed architectures are Suns Java Enterprise Edition (Alur et al., 2003), Microsoft.NET Framework (Thai and Lam, 2002) and Oracle SOA Suite (Chu et al., 2006). These architectures introduce the concept of components. A component is a module, usually a part of a code or a configuration which can exist on its own (Heineman and Councill, 2001;Szyperski et al., 2002). Such an entity performs programmed actions while hiding real data flow schemas inside. This involves providing an interface which acts as an abstract barrier that the entity creates to yield its functionality to the outside without giving out any details of its implementation. This schema stores away designed decisions that are most likely to change (Parnas, 1972). Thus, other parts of the program are protected in case the component is redesigned.

Such an approach, in turn, requires more effort on the part of the creator of applications, but at the same time, it enables the system to be spread among many networked machines as long as we secure a communication channel for all the system components (Alur et al., 2003;Chu et al., 2006;Thai and Lam, 2002). The enterprise architecture enables the system to utilise a resource of many networked machines. This not only introduces such features as fault tolerance (Randell et al., 1978), but also allows computer systems to be more cost efficie

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut