Subject: [jade-develop] Multi-agent system running very slowly
From: David (amdawong@cyberway.com.sg)
Date: Mon Mar 03 2003 - 21:07:45 MET
Hi jaders,
I believe there has already been some discussion on JADE's ability to
support large number of agents.
I am quite new to JADE. I started using JADE for 1-5 agents system. I
have now scaled my application of buyers and
sellers in an auction/bidding environment to about 20 agents. I scaled
my application pretty gradually.
I started with 2 agents, then 5 agents, 8 , 10 , 12 , 15 , 18 and
finally 20 agents.
I notice as the number of agents increases, the time taken seems to be
increasing at a exponential.
I completed one round of bidding sequence with 2 agents in less one
second but took more than 5 minutes for 20 agents.
I suspected something is wrong with my JADE's implementation , thus
decided to clear some doubts.
I observe a interesting feature of the block() which is somewhat not
what your programmer's guide is describing.
It seems that agent's behaviours who are block() ; are still always
scheduled even if no new messages arrive.
I have a behaviour of an agent which listens for an incoming message. If
the message received is of the matching performative and it is not null,
it will do something.
If it is null,
That is , with the code,
if ( received == null )
{ System.out.println(myAgent.getLocalName + ": Received a NULL
message");
block();
}
For some reasons or another, my console ALWAYS prints out
myAgent.getLocalName : Received a NULL message.
I am very sure that I am not sending messages to these agents. Why do
this agents still always prints this messages?
Arent they supposed to be in a blocked state? They seemed to be ALWAYS
checking for messages.
Is that the reason why my MAS is running so slowly ?
Regards,
David
Hi jaders,
I believe there has already been some
discussion on JADE’s ability to support large
number of agents.
I am quite new to JADE. I started using
JADE for 1-5 agents system. I have now scaled my application of
buyers and
sellers in an auction/bidding environment to about 20 agents. I scaled my
application pretty gradually.
I started with 2 agents, then 5 agents, 8 , 10 , 12 , 15 , 18 and finally 20 agents.
I notice as the number of agents increases, the time taken seems to be increasing at a
exponential.
I completed one round of bidding sequence
with 2 agents in less one second but took more than 5
minutes for 20 agents.
I suspected something is wrong with my JADE’s implementation , thus
decided to clear some doubts.
I observe a interesting feature of the block() which is somewhat not what your programmer’s
guide is describing.
It seems that agent’s behaviours who are block() ; are
still always scheduled even if no new messages arrive.
I have a behaviour of an agent which listens for an incoming
message. If the message received is of the matching performative
and it is not null, it will do something.
If it is null,
That is , with
the code,
if ( received == null )
{ System.out.println(myAgent.getLocalName + “: Received
a NULL message”);
block();
}
For some reasons or another, my console
ALWAYS prints out myAgent.getLocalName : Received a NULL message.
I am very sure that I am not sending
messages to these agents. Why do this agents still
always prints this messages?
Arent they supposed to be in a blocked state? They seemed to be ALWAYS
checking for messages.
Is that the reason why my MAS is running so
slowly ?
Regards,
_______________________________________________
jade-develop mailing list
jade-develop@sharon.cselt.it
http://sharon.cselt.it/mailman/listinfo/jade-develop
UNSUBSCRIBE INSTRUCTIONS AT http://jade.cselt.it/mailing.htm#unsubscribe
This archive was generated by hypermail 2a22 : Mon Mar 03 2003 - 21:08:14 MET