chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Async IO (was Re: libcurl?)


From: F. Wittenberger
Subject: Re: [Chicken-users] Async IO (was Re: libcurl?)
Date: Wed, 05 Oct 2005 11:24:50 +0200

Am Dienstag, den 04.10.2005, 14:40 -0400 schrieb Graham Fawcett:
> On 10/4/05, Will M. Farr <address@hidden> wrote:
> > I don't know what Twisted is, but you might have a look at Termite
> > (mentioned in this blog
> > http://patricklogan.blogspot.com/2005/07/termite-lisp-for-distributed-
> > computing.html ); it sounds like what you're talking about done in
> > Gambit-C.
> 
> Thanks, Will. I did see Logan's blog about Termite, and read the
> presentation slides: very cool stuff.
> 
> The motivations are different. Termite's raison-d'etre seems to be
> elegant, distributed computing. Twisted [1] is a networking framework
> for building protocol handlers (and applications on top of them) based
> on non-blocking I/O and a kernel ("reactor") that dispatches network
> events to protocol/application handlers, which are composed using a
> set of callback functions.

Thanks for telling me eventually what twisted actually is.  I should
have read all mails before composing my last posting about Askemos...

So the Askemos kernel more or less does what Twisted does: dispatch
network events to handlers.

Does Twisted keep handlers in virtual synchrony or does it do it's work
on a single host only?

>  Twisted's library includes protocol
> implementations for HTTP, SMTP, IMAP, etc. There's no threading
> overhead, and such a "monolithic, non-blocking" design can handle a
> very large number of concurrent connections, usually scaling better
> than a multithreaded architecture.

Well, from an average of 0.047 seconds processing per request I conclude
that Askemos would handle 1728000 pages view and 432000 updates/place
per day from garkin:

garkin:~# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 3
cpu MHz         : 701.597
cache size      : 256 KB

garkin:~# cat /proc/meminfo
        total:    used:    free:  shared: buffers:  cached:
Mem:  262479872 245735424 16744448        0 37597184 96489472
Swap: 1003442176 108498944 894943232

If we where do test my calculation about updates (e.g., using a WebDAV
client to load up a directory tree), I'd predict some bugs to nail down.

> (As *yet* another aside, is anyone aware of/interested in SEDA (Staged
> Event-Driven Architecture) [2]? If I were building Twisted-for-Scheme
> from scratch, I'd probably take a hard look at the SEDA architecture
> first. Just curious if this is on anyone's else's radar.)

Yes, me.  ;-)  As far as I can tell from a quick glance over the paper
(I can#t spent more time now) it's pretty much how we did our WebDAV
implementation.

> Sorry for the non-Chicken talk. If I'm too off-topic, tell me to get
> stuffed. ;-)

Me Too

/Jörg

> 
> Graham
> 
> [1] http://twistedmatrix.com/
> 
> [2] M. Welsh, D. Culler, and E. Brewer. "SEDA: An Architecture for
> Well-Conditioned, Scalable Internet Services." In Proc. SOSP-18, 2001.
> http://citeseer.ist.psu.edu/welsh01seda.html
> 
> 
> _______________________________________________
> Chicken-users mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/chicken-users




reply via email to

[Prev in Thread] Current Thread [Next in Thread]