[jade-develop] Multi-agent system running very slowly


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,

David

 

_______________________________________________
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