Re: [jgroups-dev] Screenshot of tree mesh structure

Bela Ban <[email protected]>
Newsgroups gmane.comp.java.javagroups.devel
Message-ID <[email protected]>

Mike Jensen wrote:
> Sorry for the delay, I been using this weekend to do some hiking before
> it starts to get really cold.
>
> We don't have a great test environment to do 100's of nodes. At work I
> was just running many jgroups instances within the same process to test
> the structures. I also did some performance based testing, but just
> verifying that the latency does not grow too much as the nodes grow (but
> i recognize the numbers themselves are not very valid, since they are
> from within the same process).

OK

> At home I have 20gigs of ram spread across 3 machines. I tend to use
> that for more real physical node testing. But even then I definitely
> can't reach 100 nodes. I might be able to squeeze a bit more, but I
> usually only run about 20 to 25 nodes here at my house.
>
> I will have to look at ns2, I have never tried it actually. 

I used it a long time ago. The issue is that it also simulates a 
distributed environment within a local host, so CPU, memory and 
bandwidth are shared, too, which isn't too great. It definitely isn't 
the same as having access to a large lab...

> Do you have any recommendations on setup to do good performance based 
> tests?

The question is what do you want to achieve ? If it is low latency 
delivery of messages, then  measure latency (as discussed by you below). 
If you want high throughput, but don't really care about latency, 
measure throughput. I guess your performance test needs to model the 
application you have in mind for treemesh; ie. online meetings. From my 
experience with webex, the toughest thing to do is screen sharing for 
online demos/webinars: it always takes a few seconds for the last member 
in the online community to see the updates to the screen. So maybe a 
good test would be to measure (min, max, median, avg) how long it takes 
for everyone to receive screen updates.

This is actually quite interesting, because a screen update might be 
both large (so throughput is important) and has to be disseminated 
around the network as quickly as possible.

> Here is how my simple test actually conducts itself:
> * Every 10 seconds every node sends a broadcast to the network which 
> includes it's current timestamp

OK

> * Once a node receives a broadcast from another node it responds,
> including the original timestamp, but marking the message as a return,
> and routing it to the original node through the mesh (which may be
> several hops).

OK

> * Once we receive the message back, we see how much time has passed, and
> who was the node who sent it back to us. We then record the time it
> took for node x to get our message, and send it back to us.

OK, that's exctly what I described above, cool !

Two potential changes could be to (1) have only 1 sender (presenter) and 
(2) send large data. I don't know how much data a screen generates, and 
I'd assume modern screen capturing software is good at compression (plus 
sends only deltas, e.g. MPEG-4)...

> It's a fairly high load situation due to the original message being a
> broadcast. But results were decent. I want to extend this to include
> much more information. For one thing, we need to track hops and we are
> not doing that currently.

Yep , another good measurement.




-- 
Bela Ban
Lead JGroups / Clustering Team
JBoss

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Javagroups-development mailing list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.