caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Philippe Veber <philippe.veber@gmail.com>
To: Denis Berthod <casa.berthod@gmail.com>
Cc: Gerd Stolpmann <gerd@edgespring.com>, caml users <caml-list@inria.fr>
Subject: Re: AW: [Caml-list] Master-slave architecture behind an ocsigen server.
Date: Thu, 28 Mar 2013 10:23:52 +0100	[thread overview]
Message-ID: <CAOOOohQ8WXiw=ZiM+HMaQZ_-UBN1kYfc9AvnT28CVUFa7J6pJg@mail.gmail.com> (raw)
In-Reply-To: <4A6314AA-0C59-4E35-9EA4-F465C0A5AF3A@gmail.com>

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

Hi Denis,

As Gerd kindly explained, using threads wouldn't help for scalability. It
turns out that it wouldn't help for stability either, because the workers
have to deal with R's (as in statistics softw'R) interpreter, and the
communication between OCaml and R is not bullet-proof right now. So I'd
rather have the computation isolated in its process, not to harm the
web-server.

Cheers,
  ph.



2013/3/28 Denis Berthod <casa.berthod@gmail.com>

>
>
>
> Le 27 mars 2013 à 23:49, Gerd Stolpmann a écrit :
>
> > Am 27.03.2013 23:42:14 schrieb(en) Denis Berthod:
> >> Hello,
> >> Isn't the Lwt_preemptive module exactly what you want?
> >> http://ocsigen.org/lwt/api/Lwt_preemptive
> >> But maybe, you want to use real processes and not threads.
> >
> > In OCaml, only one thread may access runtime functions at a time, and
> because of this, only one thread at a time can run OCaml code. So you
> exploit only one core with a multi-threaded program. I guess this does not
> meet Philippe's scalability requirement, and he wants to use processes
> instead.
> >
> > Gerd
> >
>
>
> Indead, I have only considered the stability problem that can be tackle by
> real threads as they don't block the lwt runtimes during computation.
> Howerver, you are right concerning the scalability.
>
> Cheers,
>
> Denis
>
>
>
> >
> >> Cheers,
> >> Denis
> >> Le 26 mars 2013 à 15:29, Philippe Veber a écrit :
> >> > 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?
> >> >
> >> > Thanks for any hint, cheers!
> >> >
> >> > Philippe.
> >> >
> >> > [1] https://github.com/andrenth/release
> >> --
> >> Caml-list mailing list.  Subscription management and archives:
> >> https://sympa.inria.fr/sympa/arc/caml-list
> >> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> >> Bug reports: http://caml.inria.fr/bin/caml-bugs
> >
> > --
> > ------------------------------------------------------------
> > Gerd Stolpmann, Darmstadt, Germany    gerd@gerd-stolpmann.de
> > Creator of GODI and camlcity.org.
> > Contact details:        http://www.camlcity.org/contact.html
> > Company homepage:       http://www.gerd-stolpmann.de
> > ------------------------------------------------------------
> > --
> > Caml-list mailing list.  Subscription management and archives:
> > https://sympa.inria.fr/sympa/arc/caml-list
> > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> > Bug reports: http://caml.inria.fr/bin/caml-bugs
>
>

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

      parent reply	other threads:[~2013-03-28  9:24 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
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 [this message]

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='CAOOOohQ8WXiw=ZiM+HMaQZ_-UBN1kYfc9AvnT28CVUFa7J6pJg@mail.gmail.com' \
    --to=philippe.veber@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=casa.berthod@gmail.com \
    --cc=gerd@edgespring.com \
    /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).