In a large-scale, dynamic system, information about the current status
of the system can serve as feedback to different kinds of control
mechanisms. In this section, we describe a simple monitor agent,
called a Price Monitor Agent (PMA), which collects information about
an auction's prices over time and uses that information to decide
whether to spawn more service providers.
In our scenario, the PMA monitors the price of query planning
services. The price in this auction reflects the load on the QPAs--
a consistently high price means that the QPAs are heavily loaded. One
way to reduce the load is to replicate QPAs (assuming that there are
other less heavily loaded machines on the network). When the the load
is reduced, the price should come down.
The PMA is initially set with a given minimum and maximum price
bounds, although they can be changed later. When the price exceeds
the upper bound, i.e., the load on each QPA is getting high, it spawns
additional QPAs. This effectively distributes the load. When the price
goes below the lower bound, i.e., the QPAs load has fallen, the PMA
has a choice of either removing or just inactivating one of the extra
QPA, depending on whether it expects the load to increase again in the
near term. The effect of this behavior is to keep the load across QPAs
(and therefore the response time to users) within specified bounds
even though the user demand is dynamic.
Figure 4: Price Monitoring Scenario
Figure 4 shows an overview of how the PMA operates. Below
is a description of what is occuring at each step:
- A heavily loaded QPA sells its services for $0.13.
- The PMA checks the current price at the Auction.
- Since the price is above it's upper bound ($0.10), the PMA
spawns another QPA.
- The new QPA sells its services for $0.08.
- The user is matched with the lowest priced (least loaded) QPA.
- (not shown) When/if the price goes below $0.08, the PMA
inactivates one or more of its spawned QPAs.
In our experiments, the PMA, given reasonable bounds for the prices
and activity of the agents, was successfully able to keep the price
within the given price bounds. However when the price bounds were too
tight or the activity on the system was too dynamic, the PMA would
oscillate. For example, if too many agents get added, the price may
fall too low, causing too many agents to get removed, which causes the
price to go too high, and so forth. Providing the monitoring agent
with knowledge about usage patterns, or having it collect statistics
about usage, is one way to address this problem.
Jose M. Vidal
Tue Sep 30 14:35:40 EDT 1997