Re: [opensource-dev] Requesting Linden Response: Please move TPVP Topics to a different mailing list

2010-04-17 Thread Erik Anderson
Hey, if you're looking for a review of message queueing agents, I ran across
an SL review of MQs a while back when trying to choose one for our company's
back end COMET server.  It had value in my research and may have for someone
trying to come up with chat alternatives...

http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes


On Fri, Apr 16, 2010 at 9:20 AM, Dale Glass  wrote:

> On Thu, Apr 15, 2010 at 04:09:19PM +0200, Lance Corrimal wrote:
> > - 48 hours after the server code is out in the open, the 25 groups limit
> has
> > been lifted, AND the whole IM/group chat subsystem has been migrated to
> XMPP
> > (including voice via XMPP); another day and there's the possibility to
> connect
> > to jabber.sl.net with any xmpp client, AND talk to friends at any jabber
> > service.
> Very likely, but it doesn't necessarily work for SL.
>
> IIRC, the main issue with the group limit and IM is scaling. There can be
> 70K
> people online. Suppose you bump the groups limit to 100, and those 70K
> people
> end up belonging to 50 groups on average. Now you've double IM load, and if
> you remember the days where most group chat sessions failed, it's probably
> a
> quite heavy loaded system.
>
> Jabber would have the same issue: how to handle 70K people, many with
> multiple
> conversations and conferences. A small jabber server is easy, but
> supporting
> 70K logged in accounts is a serious undertaking.
>
> Of course none of this would be an issue for a third party grid with 50
> concurrent users.
>
> >
> > - 72 hours after the server code is out in the open, SVC-472 is fixed
> Region crossing is complicated in SL. OpenSim doesn't seem to do a lot
> better.
>
> If you'd be willing to improve it there, I'm sure many people would love
> it.
>
>
> But I agree, cool things could happen as a result :-)
>
> ___
> Policies and (un)subscribe information available here:
> http://wiki.secondlife.com/wiki/OpenSource-Dev
> Please read the policies before posting to keep unmoderated posting
> privileges
>
___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

[opensource-dev] --loginuri command line option disabled in viewer2 final?

2010-04-17 Thread Latif Khalifa
Hello,

I'm having problems specifying alternative login url with  --loginuri
command line option. It work up to "final" viewer2 release, through
all the betas, but it seem to be not working in the final release, and
in the later snowglobe builds.

Latif
___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges


Re: [opensource-dev] --loginuri command line option disabled in viewer2 final?

2010-04-17 Thread Dahlia Trimble
Works for me on "Second Life 2.0.0 (203055) Mar 30 2010 08:11:18 (Second
Life Developer)", but with a single dash. I also remember having trouble
with localhost and I had to specify 127.0.0.1 instead


On Sat, Apr 17, 2010 at 2:33 AM, Latif Khalifa wrote:

> Hello,
>
> I'm having problems specifying alternative login url with  --loginuri
> command line option. It work up to "final" viewer2 release, through
> all the betas, but it seem to be not working in the final release, and
> in the later snowglobe builds.
>
> Latif
> ___
> Policies and (un)subscribe information available here:
> http://wiki.secondlife.com/wiki/OpenSource-Dev
> Please read the policies before posting to keep unmoderated posting
> privileges
>
___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

Re: [opensource-dev] Requesting Linden Response: Please move TPVP Topics to a different mailing list

2010-04-17 Thread Carlo Wood
Scaling of group messages is simple however.
With one server per group you get a long way.

Lets say, 2000 connections per server on average.
Usually about 1/10th of the users is online, so
you can keep adding groups to a server until
the total number of group members is around 20,000.
Then you add a server.

The routing to the servers can be done by using the DNS
system, for example .groups.secondlife.com

And if you throw a good socket library against it
(not one using select or poll), you can add to 20,000
users per server; that still won't be a problem CPU-wise.
Unfortunately some kernel tweaking and expertise is needed
in that case, but just hire some IRC admin of a large server
and they can tell you how to do that.

On Fri, Apr 16, 2010 at 06:20:21PM +0200, Dale Glass wrote:
> IIRC, the main issue with the group limit and IM is scaling. There can be 70K
> people online. Suppose you bump the groups limit to 100, and those 70K people
> end up belonging to 50 groups on average. Now you've double IM load, and if
> you remember the days where most group chat sessions failed, it's probably a 
> quite heavy loaded system.
> 
> Jabber would have the same issue: how to handle 70K people, many with multiple
> conversations and conferences. A small jabber server is easy, but supporting
> 70K logged in accounts is a serious undertaking.

-- 
Carlo Wood 
___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges


Re: [opensource-dev] Requesting Linden Response: Please move TPVP Topics to a different mailing list

2010-04-17 Thread Tateru Nino
It isn't just the messages that need to scale. Messaging is probably the
bottom of the list of use-cases for groups in practice. It's the bit
where most of the actual *problems* show up, but it isn't actually as
important a part of group scaling as the rest of the group functions.

On 17/04/2010 11:27 PM, Carlo Wood wrote:
> Scaling of group messages is simple however.
> With one server per group you get a long way.
>
> Lets say, 2000 connections per server on average.
> Usually about 1/10th of the users is online, so
> you can keep adding groups to a server until
> the total number of group members is around 20,000.
> Then you add a server.
>
> The routing to the servers can be done by using the DNS
> system, for example .groups.secondlife.com
>
> And if you throw a good socket library against it
> (not one using select or poll), you can add to 20,000
> users per server; that still won't be a problem CPU-wise.
> Unfortunately some kernel tweaking and expertise is needed
> in that case, but just hire some IRC admin of a large server
> and they can tell you how to do that.
>
> On Fri, Apr 16, 2010 at 06:20:21PM +0200, Dale Glass wrote:
>   
>> IIRC, the main issue with the group limit and IM is scaling. There can be 70K
>> people online. Suppose you bump the groups limit to 100, and those 70K people
>> end up belonging to 50 groups on average. Now you've double IM load, and if
>> you remember the days where most group chat sessions failed, it's probably a 
>> quite heavy loaded system.
>>
>> Jabber would have the same issue: how to handle 70K people, many with 
>> multiple
>> conversations and conferences. A small jabber server is easy, but supporting
>> 70K logged in accounts is a serious undertaking.
>> 
>   

-- 
Tateru Nino
http://dwellonit.taterunino.net/

___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges


Re: [opensource-dev] Requesting Linden Response: Please move TPVP Topics to a different mailing list

2010-04-17 Thread Aidan Thornton
On Thu, Apr 15, 2010 at 3:09 PM, Lance Corrimal
 wrote:
> Am Mittwoch, 14. April 2010 20:49:59 schrieb Joe Linden:
>
>> **we've had a lot of internal debate around cost/benefit of OS **... and
>> we're fully committed to redoubling our commitment to make this a
>> successful program*."
>
>
> then... how about... opensourcing the SERVER (like someone pretty high up
> suggested several years ago)?
>
>
> and there's no reason to be afraid that giving away the other half of the
> software would cause you longtime harm anyways...
>
> ...after all, the grid is more than server & client. the grid also is all
> those boxes that it is running on... no way that a competitior could pull
> 1 PCs out of a hat on short notice.
>
> on the other hand, I would like to bet actual money on the following
> predictions:
>
> - 48 hours after the server code is out in the open, the 25 groups limit has
> been lifted, AND the whole IM/group chat subsystem has been migrated to XMPP
> (including voice via XMPP); another day and there's the possibility to connect
> to jabber.sl.net with any xmpp client, AND talk to friends at any jabber
> service.

XMPP doesn't actually scale that well, unfortunately; a lot of the
really big installs actually run their own protocol internally with
better scaling.

> - a few weeks later, all communications between client and server, and the
> various server subsystems, has been ported to tcp/ssl and is transaction safe.

Unlikely. Transactions are hard.

There's some low-hanging fruit with regards to LSL support though. In
theory, one should be able to statically verify nearly all traditional
non-Mono LSL scripts, and then optionally compile them down to native
code. (The static verification would probably take a day or two to
code; compilation down to native code would take longer and have more
interesting tradeoffs. Direct threading might be a better approach.)
___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges


[opensource-dev] Group IMs and scalability.

2010-04-17 Thread Carlo Wood
On Sat, Apr 17, 2010 at 12:02:57AM -0700, Erik Anderson wrote:
> Hey, if you're looking for a review of message queueing agents, I ran across 
> an
> SL review of MQs a while back when trying to choose one for our company's back
> end COMET server.  It had value in my research and may have for someone trying
> to come up with chat alternatives...
> 
> http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes

Um... that page links to a page of mine and says:

  http://www.xs4all.nl/~carlo17/irc/run-irc.htm [Carlo Wood's notes on IRC].
  Of note is the fact that IRC does not guarantee message order. 


I must say that I can't remember to ever have said that.
In fact, IRC does garantee message order from the same source
(which is all you can ask for), and obviously also between
messages where one is a reaction to another.

For example:

Person A asks "What does LL stand for?"
Person B answers "Linden Lab"

Then those messages ARE garanteed to be seen in that order
by everyone.

The *current* group IM system being used in SL manages to
reverse even how I see my own messages! I wonder how often
different people see messages in a different order :/


The page also says that the largest IRC channels "top out" near 3400 members.
The reason for that is that in the IRC protocol every part and join is
sent to all members. I added an extention to the protocol (that can be
set as channel MODE) to delay join/part messages until someone actually
talks. Thus, instead of:

12:10   foo JOIN #channel
12:11   bar JOIN #channel
12:15   xyz JOIN #channel
12:17   foo PRIVMSG #channel :Hello

You see:

12:17   foo JOIN #channel
12:17   foo PRIVMSG #channel :Hello

I've seen channels with up to 20,000 users work fine
like that (large "events").

Nevertheless, even that has a limit, of course:
It remains needed to send a message that is spoken on
the channel / group to every participant on the channel / group.

However, an interesting fact is that groups do not have
to grow indefinitely: *active* participants that read messages
and write messages can, say read ten times as fast as they
can type, that means that beyond 10 active participants the
communication will start to slow down because the humans
themselves are busy catching up.

Non-active participants that haven't said anything for the
longest time (you can simply order them like that) to NOT
need real time information: you could just queue messages
(that have a limit of say 1 per second per group, no matter
how large the group is thus) for ... 10 minutes, and thus
600 messages, and then start to drop messages to those that
have been silent the longest time.

Thus, a new message comes in (that person is bumped to
the top of the active participant list). The message is
queued for output. The output thread starts sending the
message to the top of the active participants list working
it's way down; meaning: it puts the messages in the per-member
output queues, and stops doing that if the total number of
memory is exceeded (note that only one pointer per message
is needed, so you can serve a LOT of users that way).
If the thread is still busy while a new message comes in,
it also stops and starts with the new message, provided
that it sent the message at least to those that were active
in the past 10 minutes (which will be at most around 10
people (and not grow indefinitely), see above), otherwise
the new message is queued (for 1 microsecond) until it
did that.

That scales to an infinitely sized group, only limited
and *automatically* limited by the human digestion speed
(if too many messages occur, people will bail off and
therefore automatically be skipped after 10 minutes).

The only limit then remaining is the problem of having
a file descriptor open per member, even those that idle:
in order to know if they still idle you have to read
their file descriptor... and as we all know, the kernel
implementation of watching many sockets isn't optimal on
every operating system. There is a limit there between
4000 and 2 open file descriptors per machine.

Hence, in order to make groups really scalable, you'll
have to kick idling people out. For example:
Someone logs into SL, is considered active and is added
to all his 500 groups (or maybe the viewer will allow
people to say which groups they want to join *automatically*
in the future :p.  Setting a limit to the number of
automatically joined groups makes sense, setting a limit
to the groups you can be a member of not). If does read
not react to lots of those groups, so he is being kicked
out of very active groups after 10 minutes, and out of
non-active groups with thousands of members that are logged
in, after -say- one hour.

Note that typically those latter groups are of the type
"access groups", groups that are used for access to a sim,
not for chatting. It makes sense to treat those completely
different. In the very least I'd say you shouldn't join those
automatically at login.

-- 
Carlo Wood 

[opensource-dev] message queue stability

2010-04-17 Thread Erik Anderson
A random thought from a non-contributor after reviewing the wiki a bit...

In the wiki page the biggest issue described for RabbitMQ was the idea that
it could not easily be partitioned without each node having a complete
description of every queue.

I'm wondering if it would be feasible to separate the concept of "exchange"
and "queue" onto different machines.  This would be a two-level structure,
where the lower level (the users or "queues") sends messages to the upper
level (the groups or "exchanges") which forward the messages back down to
the lower level and then to the users.  If this model can be made to make
any sense at all then it would permit partitioning of both users and groups
without each node having to have complete knowledge.

Of course one of the other major issues I see with RabbitMQ is that it
doesn't save messages to disk except for disaster recovery.  I hear they're
trying to create a new persister that actually is willing to have some saved
messages stored on disk, but otherwise I'm not sure I like the idea of
messaging servers crashing whenever people hit their message cap...

On Sat, Apr 17, 2010 at 12:02 AM, Erik Anderson <
eri...@odysseus.anderson.name> wrote:

> Hey, if you're looking for a review of message queueing agents, I ran
> across an SL review of MQs a while back when trying to choose one for our
> company's back end COMET server.  It had value in my research and may have
> for someone trying to come up with chat alternatives...
>
> http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes
>
___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges

[opensource-dev] Fmod 3.74?

2010-04-17 Thread Andrew Simpson
hey does anyone know where is fmod API 3.75 i cant find from
 http://www.fmod.org/index.php/download
now  it all over version 4
when sl wiki  say download fmod API 3.75 what going to do?
___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges


Re: [opensource-dev] Fmod 3.74?

2010-04-17 Thread Ardy Lay
Andrew Simpson wrote:
> hey does anyone know where is fmod API 3.75 i cant find from
>  http://www.fmod.org/index.php/download
> now  it all over version 4
> when sl wiki  say download fmod API 3.75 what going to do?
> ___
> Policies and (un)subscribe information available here:
> http://wiki.secondlife.com/wiki/OpenSource-Dev
> Please read the policies before posting to keep unmoderated posting privileges
>
>   
Hi Andrew!  Have a look in http://www.fmod.org/files/fmod3/
The 3.xx series seems to be deprecated.
___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges


Re: [opensource-dev] Fmod 3.74?

2010-04-17 Thread Nicky Perian
http://gosoftware.org/fmod_software/

Give this URL a try




From: Andrew Simpson 
To: opensource-dev@lists.secondlife.com
Sent: Sat, April 17, 2010 5:32:50 PM
Subject: [opensource-dev] Fmod 3.74?

hey does anyone know where is fmod API 3.75 i cant find from
http://www.fmod.org/index.php/download
now  it all over version 4
when sl wiki  say download fmod API 3.75 what going to do?
___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges



  ___
Policies and (un)subscribe information available here:
http://wiki.secondlife.com/wiki/OpenSource-Dev
Please read the policies before posting to keep unmoderated posting privileges