caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Philippe Veber <philippe.veber@gmail.com>
To: Martin Jambon <martin.jambon@ens-lyon.org>
Cc: caml users <caml-list@inria.fr>
Subject: Re: [Caml-list] Master-slave architecture behind an ocsigen server.
Date: Thu, 28 Mar 2013 08:37:04 +0100	[thread overview]
Message-ID: <CAOOOohTMNd6pW=3Gp8wBc8nggLUCEd9OAEFFV91jz8wEUJMMXg@mail.gmail.com> (raw)
In-Reply-To: <51520CAE.6020009@ens-lyon.org>

[-- Attachment #1: Type: text/plain, Size: 2687 bytes --]

Hi Martin,
nproc meets exactly my needs: a simple lwt-friendly interface to dispatch
function calls on a pool of processes that run on the same machine. I have
only one concern, that should probably be discussed on the ocsigen list,
that is I wonder if it is okay to fork the process running the ocsigen
server. I think I remember warnings on having parent and children processes
sharing connections/channels but it's really not clear to me.
Thanks a lot for your answer!
ph.

[Off-topic] PS I understand your remark on the use of the word slave, be
assured that I did not mean to hurt anyone's feelings. However I'm affraid
replacing slave by worker does not make the whole expression sound better,
as it implies calling a worker's boss 'master'. This is also a bit creepy
to me. Maybe it's enough to recall that we are talking about processes. Or
go for a more peaceful context, music, and call this a conductor/performer
architecture :o)?



2013/3/26 Martin Jambon <martin.jambon@ens-lyon.org>

> On 03/26/2013 07:29 AM, Philippe Veber wrote:
>
>> Dear all,
>>
>> I'm developping an ocsigen website doing some scientific calculations.
>> Up to now, the calculations were done in the same process that runs the
>> server. In order to gain in scalability (and maybe stability too), I
>> would like to run those calculations in a separate (pool of)
>> process(es). As this is a pretty typical setup, I guess quite a few
>> people have already done that. So I'd like to hear some suggestions on
>> what library to use in this particular context. It seems to me that the
>> release library [1] should do the job and is lwt-friendly, but there are
>> maybe other good options?
>>
>
> I wrote and used a library called Nproc about a year ago. It lets you
> create (Nproc.create) a pool of N processes, to which you can submit
> (Nproc.submit) computations of any type quasi-magically - just make sure
> any big environment required for the computation is not copied with each
> closure that you send to the workers. The submodule Nproc.Full provides a
> more advanced interface that lets each worker process have its own local
> environment.
>
>   https://github.com/MyLifeLabs/**nproc<https://github.com/MyLifeLabs/nproc>
>
> I haven't used Nproc in a while but it was working fine and should still
> work.
>
>
> Martin
>
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa.inria.fr/sympa/**arc/caml-list<https://sympa.inria.fr/sympa/arc/caml-list>
> Beginner's list: http://groups.yahoo.com/group/**ocaml_beginners<http://groups.yahoo.com/group/ocaml_beginners>
> Bug reports: http://caml.inria.fr/bin/caml-**bugs<http://caml.inria.fr/bin/caml-bugs>
>

[-- Attachment #2: Type: text/html, Size: 3512 bytes --]

  parent reply	other threads:[~2013-03-28  7:37 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-26 14:29 Philippe Veber
2013-03-26 19:02 ` Martin Jambon
2013-03-26 21:01 ` Martin Jambon
2013-03-27  1:11   ` Francois Berenger
2013-03-28  7:37   ` Philippe Veber [this message]
2013-03-28  8:47     ` Alain Frisch
2013-03-28  9:39       ` Philippe Veber
2013-03-28 10:54         ` Alain Frisch
2013-03-28 11:02       ` Anil Madhavapeddy
2013-03-28 11:23         ` Alain Frisch
2013-03-28 12:18         ` AW: " Gerd Stolpmann
2013-03-27 10:00 ` Sébastien Dailly
2013-03-28  8:34   ` Philippe Veber
2013-03-27 16:07 ` Gerd Stolpmann
2013-03-28  9:18   ` Philippe Veber
2013-03-28 12:29     ` AW: " Gerd Stolpmann
2013-03-27 22:42 ` Denis Berthod
2013-03-27 22:49   ` AW: " Gerd Stolpmann
     [not found]     ` <4A6314AA-0C59-4E35-9EA4-F465C0A5AF3A@gmail.com>
2013-03-28  9:23       ` Philippe Veber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAOOOohTMNd6pW=3Gp8wBc8nggLUCEd9OAEFFV91jz8wEUJMMXg@mail.gmail.com' \
    --to=philippe.veber@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=martin.jambon@ens-lyon.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).