|
|
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
|
|