17.04.2015 Views

DARPA ULTRALOG Final Report - Industrial and Manufacturing ...

DARPA ULTRALOG Final Report - Industrial and Manufacturing ...

DARPA ULTRALOG Final Report - Industrial and Manufacturing ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Load balancing issues have not been paid much attention<br />

in MAS studies [7][8]. There are few papers in multiagent<br />

load balancing. Schaerf et. al. [9] studies how an agent can<br />

adapt to the environment. They separated the resources<br />

from the agents. In their model, agents assign their jobs to<br />

these resources. Using reinforcement learning, they<br />

showed that agents could adapt to each other under fixed<br />

or even for dynamical loads. Chow <strong>and</strong> kwok [7] devise an<br />

agent reallocation algorithm, called ‘Comet’ algorithm,<br />

which select agents to be moved to other machines.<br />

Agents are distributed on multiple machines. The comet<br />

algorithm chooses agents based on credits, which are<br />

continuously evaluated for each agent. The agent with low<br />

credit will be moved. The credit will decrease as the<br />

agent’s workload increases or the agent has more<br />

communication with other agents on other machines. We<br />

consider a similar agent system environment with chow<br />

<strong>and</strong> kwok. However, we added a feature of agent’s selfregulation<br />

on the workload.<br />

3 QUEUEING MODEL FOR WORKLOAD DYNAMICS<br />

We conjecture that workload dynamics could be modeled<br />

as a queueing system. A service request from outside or<br />

other agents could be seen as a customer in a queueing<br />

system. While a request is being served, the later incoming<br />

service requests will wait in the queue. We consider a<br />

situation in which agents have multiple alternative<br />

algorithms to provide their service. Those algorithms trade<br />

off between computation time <strong>and</strong> quality of solution.<br />

Thus, depending on the workload in the queue, an agent<br />

can choose an optimal algorithm to improve the overall<br />

performance measure. This is similar to anytime algorithm<br />

composition [10]. In anytime algorithm, we have to<br />

determine time duration in which the algorithm solves the<br />

problem. Here, we assume that problem solving time is not<br />

predetermined. Instead, it is a statistical characteristic of<br />

the algorithm. From the queueing model perspective, this<br />

could be seen as a service rate control problem [11].<br />

Multiagent system infrastructure can have a facility, where<br />

each machine works as a server by assigning<br />

computational resources (run right) to the agents for CPU<br />

time-sharing. We call the server as a node. This could be<br />

seen as a polling model, which has been used to model for<br />

time-sharing in a computer operating system or link<br />

sharing in a communication network. The node could give<br />

priority to a certain agent by visiting the agent more<br />

frequently. The node could monitor the amount of workload<br />

or arrival rate of service requests through agents. Based<br />

on the detected changes, it can change the priority of the<br />

agent.<br />

Imbalance among machines can be controlled by<br />

reallocation of agents from a high loaded machine to a low<br />

loaded machine for better performance. However, in this<br />

paper, we considered only agent <strong>and</strong> machine level<br />

control.<br />

4 DECENTRALIZED CONTROL<br />

In view of the above mentioned workload dynamics, load<br />

control in multiagent systems could be seen as a<br />

decentralized stochastic control problem [12]. The<br />

decentralized control system consists of multiple control<br />

posts. They locally sense <strong>and</strong> control some part of the<br />

system they take charge of. However, their controls<br />

influence the system dynamics collectively. Thus, in order<br />

to operate the system optimally, decisions taken by<br />

controllers should be compatible <strong>and</strong> coherent. The<br />

information sharing between agents is treated as the main<br />

issue. In order for the controllers to obtain global optimal<br />

control decisions, exchange of all the local information is<br />

inevitable. Each controller makes a decision by solving a<br />

larger problem in which other agents’ movement is<br />

considered. However, it is unrealistic in the case of<br />

multiagent systems because of the long communication<br />

time. Finding optimal controls might be very difficult due to<br />

the size of the problem. It is difficult or almost impossible to<br />

find a purely decentralized optimal control policy for a<br />

multiagent system in this way. There are few systems in<br />

which locally made decisions could be globally compatible<br />

[13]. However this is very limited to some specific problem<br />

only. Thus, we need a control structure in which each<br />

control component (for example, an agent) takes control<br />

decisions by communicating only with closely connected<br />

components, while well coordinated decisions could be<br />

generated. In this paper, we suggest a hierarchical control<br />

structure which aims at achieving the above mentioned<br />

expectations.<br />

5 HIERARCHICAL CONTROL<br />

5.1 General Description<br />

In order to manage the complexity of large-scale problems,<br />

hierarchical control approach have been studied in various<br />

areas [14][15]. For multiagent systems, hierarchical control<br />

has been adopted as an intermediate form between<br />

centralized <strong>and</strong> decentralized control as a tradeoff between<br />

the advantages of the two approaches [14]. Hierarchical<br />

control can reduce the computation of gathering<br />

information <strong>and</strong> finding an optimal control than centralized<br />

control. On the other h<strong>and</strong>, it has better coordination<br />

capabilities than decentralized control.<br />

We consider three levels of hierarchy – the entire system,<br />

nodes <strong>and</strong> agents. There are usually multiple<br />

subcomponents under a higher-level controller i.e. there<br />

are multiple agents under a node <strong>and</strong> multiple nodes under<br />

a top controller. Agents <strong>and</strong> a node controller have direct<br />

communication connection by which they share<br />

information. The information sharing is restricted between<br />

the components, which are connected in the hierarchy. In<br />

this case, an agent reports its workload <strong>and</strong> performance<br />

(see 5.2) <strong>and</strong> the node controller announces control (the<br />

visit order <strong>and</strong> frequency) or state information such as<br />

estimates about environment parameters, which could be<br />

more effectively observed by the node rather than agents.<br />

We could also consider similar information exchanges<br />

between nodes <strong>and</strong> the top controller. Here, nodes report<br />

their node level workload trend to the top controller. On the<br />

other h<strong>and</strong>, the top controller could inform the system level<br />

environment parameters <strong>and</strong> order to move agents from<br />

one node to another.<br />

We assume the control frequency to be different at<br />

different levels. It is higher in lower levels compared to the<br />

higher levels. Control decisions on service rate are more<br />

frequent than the changes on the CPU time assignment<br />

policy in the node level. For a given arrival rate <strong>and</strong><br />

configuration, CPU time assignment policy in node level<br />

will not be changed until the arrival rate <strong>and</strong> configuration<br />

change. At higher level, the frequency of events is less <strong>and</strong><br />

the time intervals between events become longer. This<br />

could be said to have multi-time scale depending on the<br />

level [16]. The difference of our problem from other multitime<br />

scale problems is that there are multiple components<br />

in the lower levels. In addition, it is reasonable to assume<br />

that the environment does not change very frequently, in<br />

such a manner that the system may not be able to<br />

estimate environment parameters <strong>and</strong> control it.<br />

A Higher-level controller has coarser information than the<br />

lower level subsystems. A higher-level controller could<br />

have better global information over its territory because it<br />

collects information from its subcomponents. However, it<br />

will not use the information gathered as a system state

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!