DARPA ULTRALOG Final Report - Industrial and Manufacturing ...
DARPA ULTRALOG Final Report - Industrial and Manufacturing ...
DARPA ULTRALOG Final Report - Industrial and Manufacturing ...
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