Upload
cameron-lucian
View
220
Download
3
Tags:
Embed Size (px)
Citation preview
Load Balancing using Mobile Agent Approach
Prepared by: Wong Tsz Yeung,Ah Mole
Supervisor : Prof. Michael Lyu
18 December 2000
Introduction (1)Autonomous Agents
2 kinds of research going on : Multi-Agent System; and Mobile Agent
How do they different?? What are the advantages and
disadvantages of using them??
Introduction (2)Parallel Computing
Load Balancing In the past - Super Computer with multi-processor Nowadays - Cluster of Single of multi-processor
machines
Can we build a system that combine the advantages of agent and load balancing??
Multi-Agent System (MAS) (1)The goal of MAS :
Creating a system that interconnects separately developed agents, thus enabling the ensemble to function beyond the capabilities of any singular agent in the system.
Implication: Specialization on agents.
Multi-Agent System (MAS) (2)Every Agent is specialized to perform
particular task.
To perform a task, an agent that is on behalf of the user need to communicate with one or more agents in order to complete a task.
Multi-Agent System (MAS) (3)All the agents in a MAS can be provided
by one by more venders given that:
Agents are using the same language in communication.
Agents are having the same kind of knowledge.
Multi-Agent System (MAS) (4)For Example:
A business from US wants to arrange a trip from New York to Hong Kong.
He has to plan: Which airline will he take?? Which hotel will he stay??
Multi-Agent System (MAS) (5) Fortunately, the business man has a
personal agent. i.e. his secretary
Then, the secretary phones the airline companies and hotels for information.
Multi-Agent System (MAS) (6) She can make a final decision based on
the criteria given by her boss. E.g.
Choose the cheapest airline. Choose the most comfortable hotel.
The above case shows how human agents work.
Multi-Agent System (MAS) (7)We can treat the above case as:
Agent
user
Airline Agent 1
Airline Agent 2
Hotel Agent 1
Hotel Agent 2
Multi-Agent System (MAS) (8)Advantages
Technically speaking
It is autonomous in the sense that the agent can find a service provider, query for suitable information and determine the final result.
Every service provider has its own implementation. However, it is transparent to the user agent.
Multi-Agent System (MAS) (9) Economically speaking
Every agent is specialized, so it can sell the service. User can buy the service which meets he/she criteria.
Challenges in MAS (1) Information Discovery Problem
Human Agent : Go to Yahoo! to search for the related information.
How can software agent locate other agents??
Challenges in MAS (2)
Service-seekingagent
Discoveryserver
Lookupserver
serviceprovider
Searching for service provider.
Return a list of name ofservice provider.
Lookup the address ofa service provider.
Successfully locate a serviceprovider.
Challenges in MAS (3)The Discover server provides yellow
page service.The Lookup server provides white page
service.Jini also has such discovery-and-lookup
mechanism.
Challenges in MAS (4)Communication Problem
It is the communication language problem. E.g. On the Internet, we have HTML which is
widely used. An agent-to-agent language is more preferable. KQML - Knowledge Query Markup Language. ACL - Agent Communication Language from
FIPA.
Challenges in MAS (5)Ontology Problem
It is problem dealing with the context of the communication language.
E.g. Bus has a meaning in the transportation field while it is different in computer field.
The agents involved in a MAS must agree on and share a common definition of concepts.
Challenges in MAS (6) This problem hinders the development of
agent interoperability. Systems tend to use their own knowledge
database. we cannot plug another agent into the
current existing MAS, unless we are using the same knowledge base.
Mobile Agent (MA) (1)The goal of Mobile Agent
You delegate tasks to an agent. The agent will do the tasks for you.
Instead of passing message among agents, mobile agent can migrate across the network (hence mobile) representing users in various tasks (hence agents).
Mobile Agent (MA) (2)Potential application domains of MA
Data-intensive application. Disconnected computing.
However, the sad fact is there is no application that would not exist
without mobile agents. Every mobile agent application will have its
client-server counterpart such as RPC or sockets.
Mobile Agent (MA) (3)The difference between MA and MAS
They have similar properties. Mobile agent can migrate itself to other
hosts.
Load Balancing (1) Imagine that you are inside a factory :
Our Goal : to minimize the total length of time needed to process a fixed set of tasks.
Machine B
Machine C
Machine A? ??
Load Balancing (2)Our approach is a greedy approach.
Whenever a new job comes in the system, we search for the machine that has the minimum load.
We assign the new job to the minimum-load machine.
Description of the System (1)Suppose we are given:
n identical processing units, namely Pi where 1 <= i <= n
A set of tasks: T = {T1, T2, …, Tm}
A partial-order < on T and a function where is mapping that maps T to real number >= 0
Description of the System (2)Once a processor Pi begins a task Tj, It
works without interruption on Tj until completion
The time that is taken : (Tj).
If Ti < Tj, Tj cannot be started until Ti is completed.
Description of the System (3)Pi executes the task Tj in the following way:
We are given a linear ordering
L is called a task list.
In any time t, a Pi completes a task, it immediately scans the list L.
L : (Tk1, …, Tkm)
Description of the System (4)Pi scans from the beginning of L until it comes
to the first task Tj which has not yet begun to be executed.
If Ti < Tj and Ti has been finished, Pi begins to executes Tj.
Otherwise, Pi proceeds to the next task in L which has not begun executing.
Description of the System (5) If Pi proceeds through the entire list L
without finding a task to execute, then Pi becomes idle.
Idle means Pi is executing an empty task.
Pi remains idle until some other Pj completes a task.
Description of the System (6)At that time, Pi immediately scans the
list L as before for possible tasks to execute.
If Pi and Pj, i < j, simultaneously attempt to begin the same task Tk, the processor with the smaller index will execute Tk, i.e. Pi.
Description of the System (7)The processors all start scanning L at
time t = 0 and proceed in the above-mentioned fashion until some time w.
Our aim is to minimize w.
Description of the System (8)E.g. 1.
n = 3 L : (T3, T1, T2, T4, T6, T5, T7, T8) Partial relation :
T1/4 T2/3
T4/5
T6/2 T7/2
T3/1 T5/3
T8/3
Description of the System (9)E.g 1 (continued)
P1
P2
P3
T1/4 T2/3T4/5T6/2 T7/2
T3/1 T5/3T8/3
4
5
2
L : (T3, T1, T2, T4, T6, T5, T7, T8)L : (T3, T1, T2, T4, T6, T5, T7, T8)L : (T3, T1, T2, T4, T6, T5, T7, T8)L : (T3, T1, T2, T4, T6, T5, T7, T8)L : (T3, T1, T2, T4, T6, T5, T7, T8)L : (T3, T1, T2, T4, T6, T5, T7, T8)L : (T3, T1, T2, T4, T6, T5, T7, T8)L : (T3, T1, T2, T4, T6, T5, T7, T8)L : (T3, T1, T2, T4, T6, T5, T7, T8)
2
T1
T4
T6 T7
3T2
T31
T83
T53
E12
E22
Description of the System (14)From the above observations, we can
conclude that w is a function of :
Task list L Partial order < Time function Number of processors n
Description of the System (14) It seems that we can improve w by:
Change the task list L Decrease the function Relax the partial-order < Change the number of processors from n
to n'
Description of the System (15)However, there are counter-examples
show that is not always the case!!
The bound is:
Description of the System (16)Back to our greedy approach
We know that no matter how bad our design is, there is still a bound that governs the maximum time needed.
It can be proved that the bound for such a system is:
Load Balancing using Mobile Agent Approach (1)Currently, load balancing decision is
centralized.There is a switch which gathers load
information of all servers. Then, it decides which machine should be
chosen to assign an incoming task.The switch may collect loading status from all
machines periodically, say every 1 second.
Load Balancing using Mobile Agent Approach (2)Our approach for load-balancing
decision is a decentralized one.The computations of load balancing
decision making are not performed on the switch, but on the back-end servers.
Load Balancing using Mobile Agent Approach (3)When a customer arrives, it will
encapsulate the customer's request into an mobile agent
The agent will go to find a server that has the minimum load autonomously.
Load Balancing using Mobile Agent Approach (4)Multiple-Hop Mobile Agent Approach
switch
server server server
Load Balancing using Mobile Agent Approach (5)
Advantage We distribute the load of the switch to the
server, this can increase the efficiency of the switch in creating agents.
We can have a platform-independent load balancing scheme since the dispatched agent can run on the different machines given that a unique agent execution environment is provided.
Load Balancing using Mobile Agent Approach (5)
Disadvantage our scheme will be a failure if the number of
servers is too large. As we have to travel all server once, the load
information will be out-of-date or incorrect at the time when decision is made.
If the number of servers is small and the agents are migrating fast enough, this will be a very efficient scheme.
Load Balancing using Mobile Agent Approach (6)Multi-Multi-Hop Mobile Agent Approach
Since the efficiency of the multi-hop approach is restricted by the number of servers, we are now sending multiple agents in this new scheme.
After all the agents finished calculating the sub-minimal, they will gather together to calculate global minimum load.
Load Balancing using Mobile Agent Approach (7)Advantage
By using mobile agent, we can calculate the load status with respect to the nature of the service.
For example, if the task is a memory intensive process, we have no reason to treat the CPU load as the load information.
Therefore, we can plug a suitable instruction to the mobile agent in order to calculate the load status.
Load Balancing using Mobile Agent Approach (8)Disadvantage
The mobile agent approach introduces undesirable load to servers as the agents calculate the load information before the execution by incoming tasks.
Mobile agent is typically written by script language or Java. They are much slower than currently adopted approaches.
Conclusion (1)Two kinds of agents are examined:
Multi-agent system and Mobile agent.Their advantages as well as
disadvantages are discussed.Load Balancing is an old research topic,
however, many domains are adopting this issues such as clusters of computers.
Conclusion (2)The possibilities of combining mobile
agent and load balancing are illustrated.This shows that with the autonomous
characteristics of agents, we can improve the current load balancing decision schemes.
Future WorksContinue to investigate more about
agent.Continue to think of the possibilities of
combining mobile agent and load balancing techniques.