POV-Ray : Newsgroups : povray.general : Peer to Peer Povray : Re: Peer to Peer Povray Server Time
8 Aug 2024 10:24:20 EDT (-0400)
  Re: Peer to Peer Povray  
From: Peter J  Holzer
Date: 17 Mar 2001 18:06:07
Message: <slrn9b7ob9.lli.hjp-usenet@teal.h.hjp.at>
On 2001-03-10 03:06, Margus Ramst <mar### [at] peakeduee> wrote:
>Gilles Fedak wrote:
>> 
>> For the i/o point of view, we can easly restrict the size of the input
>> file to few Ko :)
>> 
>
>Restricting the size of the input file is not enough, because even
>a tiny input file can easily generate a massive scene if it uses
>iterative elements such as loops and recursive macros. Disallowing such
>elements is probably not an option, because many people rely on them
>quite heavily.

You would have to put restrictions on the process. Most Unixes offer
quite a few "resource limits" which you can set. For distributed povray
the most important are IMHO:

RLIMIT_CPU 
    (limits the total CPU usage for one job)

RLIMIT_DATA, RLIMIT_STACK, RLIMIT_CORE
    (limits the memory usage of a single process not all unixes have all
    of these)

RLIMIT_NPROC
    (limits the number of processes per user)

RLIMIT_NOFILE
    (limits the number of open files per process)

Together with quotas, a chrooted environment and a positive nice factor,
the povray process(es) would be restricted from disturbing their host
computer. 

What is sorely missing in standard Unix is a way to restrict network
connections: There are some approaches to that problem, but nothing
wide-spread yet (I'm guessing that a capability-based system will win
out, though). As long as a locally installed version of povray is run,
this isn't a problem, though, since povray doesn't talk across the net.



>As far as I can see, running a parse test on the server is the only
>reliable way of evaluating a submitted scene. The test sould check that
>both parse time and (more importantly IMO) memory usage are within
>acceptable limits. Of course with animations, a test parse must be
>performed for every frame, because different clock values can execute
>different branches in the script.

You can leave this to the slave servers: They can check whether there is
some output produces within a given time. If there isn't, they'll kill
the process and report failure. 

	hp

-- 
   _  | Peter J. Holzer    | All Linux applications run on Solaris,
|_|_) | Sysadmin WSR       | which is our implementation of Linux.
| |   | hjp### [at] wsracat      | 
__/   | http://www.hjp.at/ |	-- Scott McNealy, Dec. 2000


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.