scalable network architectures (was RE: [Mono-list] Mono fitness for ircd project)

Matt Liotta mliotta@r337.com
Mon, 3 Jun 2002 22:03:28 -0700


Sorry, bit of a typo on my part. I meant concurrent number of sockets.
If you want to support a high number of concurrent sockets that are
rarely active then real-time signals are the way to go. However, we are
getting off-topic, so we can finish this up on irc since we are sitting
in the same channel right now anyway.

-Matt

> -----Original Message-----
> From: mono-list-admin@ximian.com [mailto:mono-list-admin@ximian.com]
On
> Behalf Of Michael Poole
> Sent: Monday, June 03, 2002 9:43 PM
> To: mono-list@ximian.com
> Subject: Re: scalable network architectures (was RE: [Mono-list] Mono
> fitness for ircd project)
> 
> "Matt Liotta" <mliotta@r337.com> writes:
> 
> > We were talking about scalable in the context of current number of
> > sockets. Real-time signals allow for significantly more current
sockets
> > than any other architecture.
> >
> > -Matt
> 
> I think this oversimplifies things.  There are two important counts of
> sockets: total sockets and active sockets.  Which (or what else) did
> you mean by "current sockets"?
> 
> Scaling up the total number of sockets is usually done by adding or
> removing sockets one or a few at a time -- /dev/poll, kqueue() and
> real-time signals all do this.  select() and poll() require the app
> list all sockets for each system call.
> 
> Scaling up the number of active sockets is done by reporting only
> active sockets instead of status for all the sockets.  Again, select()
> and poll() do this poorly; /dev/poll, kqueue() and signals do it
> better.
> 
> If each active socket only requires a little bit of user-space work
> (e.g. HTTP or IRC), delivering a signal for each one adds a lot of
> overhead.  Delivering activity notices in groups reduces this
> overhead, and so allows sockets to be active more often.  The cost is
> that the app may end up waiting longer before it learns of activity
> for a given socket.
> 
> -- Michael
> 
> _______________________________________________
> Mono-list maillist  -  Mono-list@ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list