Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] ocaml-duppy: an advanced scheduler for ocaml.

21 views
Skip to first unread message

Romain Beauxis

unread,
Mar 7, 2008, 3:30:06 PM3/7/08
to caml...@inria.fr, Savonet's developpers list
Hi all !

Along with our project (liquidsoap), we (the savonet team) have developped an
advanced scheduler that we needed for our software. It is now available as a
seperate module, and we hope it could be usefull for some of you.

The basics of this scheduler is to implement a wrapper around Unix.select in
order to be able to wait for events on a socket and/or a given delay and
execute a task when one of the waited events occured.

We also wrote an asynchronous interface as well as a simple I/O interface, in
order to read and write to sockets, or submit an asychronous task to a
scheduler.

Several queues can be run against the same scheduler, each one living in a
different thread. Also, each task has a priority, which can of your favorite
type, and each queue decides if it wants to process a task according to a
predicate passed at its initialisation.

This scheduler can be very usefull to write simple servers, as well as to
develop a multi-thread task processing system. Two simple telnet and http
examples are provided in the source.

You can find more informations on the module there:
http://www.rastageeks.org/duppy.html
In particular, the documentation is available there:
http://www.rastageeks.org/ocaml-duppy/Duppy.html
You can also download the module there:
https://sourceforge.net/project/showfiles.php?group_id=89802&package_id=266393


Romain
--
The bars could not hold me;
Force could not control me now.
They try to keep me down, yeah!
But Jah put I around.
(...)
Let me tell you this -
I'm a duppy conqueror !

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

Gerd Stolpmann

unread,
Mar 7, 2008, 3:58:15 PM3/7/08
to Romain Beauxis, Savonet's developpers list, caml...@inria.fr
How is that different from my equeue approach?

Gerd

------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany
ge...@gerd-stolpmann.de http://www.gerd-stolpmann.de
Phone: +49-6151-153855 Fax: +49-6151-997714
------------------------------------------------------------

Romain Beauxis

unread,
Mar 7, 2008, 4:08:37 PM3/7/08
to Gerd Stolpmann, Savonet's developpers list, caml...@inria.fr
Le Friday 07 March 2008 21:58:26 Gerd Stolpmann, vous avez écrit :
> How is that different from my equeue approach?

Well, it is very similar, clearly.
The difference I can see for now, is that Duppy is more simple and oriented
toward socket events and delays. In particular, it is not clear to me wether
equeue can accept delayed tasks.

Of course, we didn't meant to deprecate your work, but perhaps it can be
usefull for different taks..


Romain
--
Seven miles of Black Star Liners coming in the harbour.
Yeah, seven miles of Black Star Liners coming in the harbour.
I can see them coming.
I can see I dreams running.
I can hear the Elders saying,
These are the days for which we've been praying.

Gerd Stolpmann

unread,
Mar 10, 2008, 2:56:58 PM3/10/08
to Romain Beauxis, Savonet's developpers list, caml...@inria.fr

Am Freitag, den 07.03.2008, 22:08 +0100 schrieb Romain Beauxis:
> Le Friday 07 March 2008 21:58:26 Gerd Stolpmann, vous avez écrit :
> > How is that different from my equeue approach?
>
> Well, it is very similar, clearly.
> The difference I can see for now, is that Duppy is more simple and oriented
> toward socket events and delays. In particular, it is not clear to me wether
> equeue can accept delayed tasks.
>
> Of course, we didn't meant to deprecate your work, but perhaps it can be
> usefull for different taks..

My question was only out of curiosity. I am sometimes interested why
people reinvent wheels - and if it is only for a different color.

Equeue supports delays. It doesn't support priorities, however. Also,
multi-threading integration seems to be different.

Gerd


--
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany
ge...@gerd-stolpmann.de http://www.gerd-stolpmann.de
Phone: +49-6151-153855 Fax: +49-6151-997714
------------------------------------------------------------

0 new messages