From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id B095B7EE7A for ; Wed, 27 Mar 2013 17:07:33 +0100 (CET) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of info@gerd-stolpmann.de) identity=pra; client-ip=212.227.17.10; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="info@gerd-stolpmann.de"; x-sender="info@gerd-stolpmann.de"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of info@gerd-stolpmann.de) identity=mailfrom; client-ip=212.227.17.10; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="info@gerd-stolpmann.de"; x-sender="info@gerd-stolpmann.de"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of postmaster@moutng.kundenserver.de designates 212.227.17.10 as permitted sender) identity=helo; client-ip=212.227.17.10; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="info@gerd-stolpmann.de"; x-sender="postmaster@moutng.kundenserver.de"; x-conformance=sidf_compatible; x-record-type="v=spf1" X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvsAAGcYU1HU4xEKk2dsb2JhbABDgzoBgx29JH8WDgEBAQEHCwsJFAMlgh8BAQQBI0kKAwULCxIIAiYCAkkOBhMJiAUKCKxWkjaBI4dzhVwmB4ItgRMDjhmFCIRlhGCOFA X-IPAS-Result: AvsAAGcYU1HU4xEKk2dsb2JhbABDgzoBgx29JH8WDgEBAQEHCwsJFAMlgh8BAQQBI0kKAwULCxIIAiYCAkkOBhMJiAUKCKxWkjaBI4dzhVwmB4ItgRMDjhmFCIRlhGCOFA X-IronPort-AV: E=Sophos;i="4.84,920,1355094000"; d="scan'208";a="8832631" Received: from moutng.kundenserver.de ([212.227.17.10]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 27 Mar 2013 17:07:32 +0100 Received: from office1.lan.sumadev.de (dslb-094-219-220-119.pools.arcor-ip.net [94.219.220.119]) by mrelayeu.kundenserver.de (node=mrbap0) with ESMTP (Nemesis) id 0MdXMC-1U2ETg0Pvg-00PNLu; Wed, 27 Mar 2013 17:07:32 +0100 Received: from [192.168.5.106] (dslb-094-219-220-119.pools.arcor-ip.net [94.219.220.119]) by office1.lan.sumadev.de (Postfix) with ESMTPSA id BB848C00CF; Wed, 27 Mar 2013 17:07:31 +0100 (CET) From: Gerd Stolpmann To: Philippe Veber Cc: caml users In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Date: Wed, 27 Mar 2013 17:07:34 +0100 Message-ID: <1364400454.3218.54.camel@thinkpad> Mime-Version: 1.0 X-Mailer: Evolution 2.28.3 Content-Transfer-Encoding: 7bit X-Provags-ID: V02:K0:o66QbFXb27lUNacSeLgfidStrwHEfgBjqK1X1KAHJlx 0qusfnb6IjG/RfW8Sk0EkGTkUD5JxrhFnCd0PMvZ+5JuWdOLD+ wPrmEk8o+R0jdvIJGLCbCm+PvhefHWpHHGLhnQOhTOW/QhpDgU yHaH3h2ReGEhrEXDneeoUq8tTinzeMt1LfbTAkdd7BJ+QVEn4N j29knfF9wdTDSh38B3EqQmFqd3K5k6kK4iZwjTF/FwiApNW1+k F6ZybTIU3r+/8tyvqYBwnGMtqi5MiZpJ1YN8NpU+pDabA9ltoR GEg9VvugHySqFmmc53lE61tSeoALnNESrMWbfrIE+3vvn6fN5A drWXcMED4k1G7XDtN/KFaxsbV3RG6+ssdUZPhXc01 Subject: Re: [Caml-list] Master-slave architecture behind an ocsigen server. Am Dienstag, den 26.03.2013, 15:29 +0100 schrieb Philippe Veber: > 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? Well, I don't know whether this is an option for Ocsigen users, but Ocamlnet includes fairly good multiprocessing support. You can run servers that dynamically start subprocesses on demand. Look for Netplex: http://projects.camlcity.org/projects/dl/ocamlnet-3.6.3/doc/html-main/Intro.html#netplex I've no good recipe, though, how to plug in service processors that base on lwt (well, there is an adaptor in Ocamlnet for lwt - Uw_lwt - but I wouldn't know what to do on the Ocsigen side, but maybe worth exploring). Ocamlnet also includes other mechanisms that are generally interesting for compute stuff, namely Netmulticore for exploiting several cores on the same machine with fast shared memory architecture, and RPC for distributing computations in a network. Both are extensions of Netplex, so it is easy to integrate into a single program. Gerd > Thanks for any hint, cheers! > > Philippe. > > [1] https://github.com/andrenth/release > -- ------------------------------------------------------------ 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 *** Searching for new projects! Need consulting for system *** programming in Ocaml? Gerd Stolpmann can help you. ------------------------------------------------------------