On Aug 31, 2011, at 10:07 AM, Davorin Rusevljan wrote:
On Wed, Aug 31, 2011 at 9:34 AM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Can you describe what they are doing?
Nginx web server is one example of usage of Async I/O
I wonder sometimes... Node.js seems to be a wrapper around a C-Library that provided async IO for all platforms. Wouldn't it be possible to provide binding for the C part of Node-JS and use that for async/Event based IO? Marcus -- Marcus Denker -- http://marcusdenker.de
On Wed, Aug 31, 2011 at 10:11 AM, Marcus Denker <marcus.denker@inria.fr> wrote:
I wonder sometimes... Node.js seems to be a wrapper around a C-Library that provided async IO for all platforms. Wouldn't it be possible to provide binding for the C part of Node-JS and use that for async/Event based IO?
I think node.js uses libev: http://software.schmorp.de/pkg/libev.html I am out of depth here, but I suspect it might be a bit more difficult to wrap it than some classic library, since it might need to play nicely with VM. Davorin
On Wed, Aug 31, 2011 at 10:17:02AM +0200, Davorin Rusevljan wrote:
On Wed, Aug 31, 2011 at 10:11 AM, Marcus Denker <marcus.denker@inria.fr> wrote:
I wonder sometimes... Node.js seems to be a wrapper around a C-Library that provided async IO for all platforms. Wouldn't it be possible to provide binding for the C part of Node-JS and use that for async/Event based IO?
I think node.js uses libev:
http://software.schmorp.de/pkg/libev.html
I am out of depth here, but I suspect it might be a bit more difficult to wrap it than some classic library, since it might need to play nicely with VM.
Davorin
Are you talking about signaling the image when an IO event happens? If so, see http://wiki.squeak.org/squeak/3384. The plugin is included in standard unix VMs. Dave
On Thu, Sep 1, 2011 at 2:16 AM, David T. Lewis <lewis@mail.msen.com> wrote:
Are you talking about signaling the image when an IO event happens? If so, see http://wiki.squeak.org/squeak/3384. The plugin is included in standard unix VMs.
thanks for the pointer!, I will look into it. By the name it sounds like it might be it, but docs mention signaling process which might imply smalltalk process per connection. Davorin Rusevljan http://www.cloud208.com/
On Thu, Sep 1, 2011 at 2:16 AM, David T. Lewis <lewis@mail.msen.com> wrote:
Are you talking about signaling the image when an IO event happens? If so, see http://wiki.squeak.org/squeak/3384. The plugin is included in standard unix VMs.
I did a quick peek, if not perfect, it might be of much help. On positive side: - it allows for async work with files and sockers On might be improved side: - it depends on select call which in it self is not perfect for large number of file descriptors (like thousand(s)) - it seems to require Smalltalk process for each file desciptor, and ProcessScheduler might also not be happy with thousands of smalltalk processe - unix only. Anyway, even so: - it will still probably be much better than synchronous way of doing things. - it might be used to experiment, design and prototype nice callback based API on the Smalltalk side. Thanks! Davorin Rusevljan http://www.cloud208.com/
I would really that somebody run an experience on wrapping some good unix async library. Stef
Are you talking about signaling the image when an IO event happens?
If so, see http://wiki.squeak.org/squeak/3384. The plugin is included in standard unix VMs.
I did a quick peek, if not perfect, it might be of much help.
On positive side: - it allows for async work with files and sockers
On might be improved side: - it depends on select call which in it self is not perfect for large number of file descriptors (like thousand(s)) - it seems to require Smalltalk process for each file desciptor, and ProcessScheduler might also not be happy with thousands of smalltalk processe - unix only.
Anyway, even so: - it will still probably be much better than synchronous way of doing things. - it might be used to experiment, design and prototype nice callback based API on the Smalltalk side.
Thanks!
Davorin Rusevljan http://www.cloud208.com/
On Thu, Sep 1, 2011 at 9:56 AM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
I would really that somebody run an experience on wrapping some good unix async library.
I am working on the AMQP 1.0 client library (AMQP is a message queue specification), and using async io, and providing event based api for the AMQP library (using reactor pattern like in ruby's Event Machine) would be great. I might try to implement small event machine, and use it to both wrap AioPlugin, and to wrap interface to AMQP.. But I'll make no big proomises.:) Davorin Rusevljan http://www.cloud208.com/
On Thu, Sep 01, 2011 at 09:10:40AM +0200, Davorin Rusevljan wrote:
On Thu, Sep 1, 2011 at 2:16 AM, David T. Lewis <lewis@mail.msen.com> wrote:
Are you talking about signaling the image when an IO event happens? If so, see http://wiki.squeak.org/squeak/3384. The plugin is included in standard unix VMs.
I did a quick peek, if not perfect, it might be of much help.
On positive side: - it allows for async work with files and sockers
Files, sockets, pipes. Anything that looks like a file descriptor on unix.
On might be improved side: - it depends on select call which in it self is not perfect for large number of file descriptors (like thousand(s))
Yes, the plugin provides a hook into the underlying aio mechanism in the VM.
- it seems to require Smalltalk process for each file desciptor, and ProcessScheduler might also not be happy with thousands of smalltalk processe
Yes. If you want to put a load on the aio plugin, try running the CommandShell unit test suite with a standard unix interpreter VM.
- unix only.
Yes. It will work on OS X also, but the plugin is not usually distributed on those VMs. There is no implementation for Windows.
Anyway, even so: - it will still probably be much better than synchronous way of doing things. - it might be used to experiment, design and prototype nice callback based API on the Smalltalk side.
Thanks!
Davorin Rusevljan http://www.cloud208.com/
On Thu, Sep 1, 2011 at 2:16 PM, David T. Lewis <lewis@mail.msen.com> wrote:
It will work on OS X also, but the plugin is not usually distributed on those VMs. There is no implementation for Windows.
just a dummy question, does plugin also work under the Cog VM? davorin
Indeed it would be good to get a try at such solution.
I wonder sometimes... Node.js seems to be a wrapper around a C-Library that provided async IO for all platforms. Wouldn't it be possible to provide binding for the C part of Node-JS and use that for async/Event based IO?
Stef
participants (4)
-
David T. Lewis -
Davorin Rusevljan -
Marcus Denker -
Stéphane Ducasse