CGIndustry/Afanasy

Afanasy

Назначение – программа для rendermanagment
РазработчикТимур Хайрулин? (Москва).
Операционные системы – Win, Linux, Mac 


Категории: Soft | Free | OpenSource

Render computer resources monitoring.
You can monitor CPU usage: user, nice, system, I / O? wait and load average. Memory, swap and HDD usage. Network traffic. This can help you to diagnose what slows rendering process. Especially swap, I / O? wait and network traffic.


Multiply Tasks Renders (clients, slaves, hosts)
Render can run several tasks at the same time.
Useful for “powerful” hosts with several CPUs. Render and Task has a capacity attribute, each task checks available capacity on render, and if its enough, task launches and take its capacity value from render.
Tasks can variate capacity 'on-the-fly'


Capacity variation can be described through its minimum and maximum coefficients. If task with 1000 capacity units runs on render with 4000 free capacity, task can take capacity coefficient 4. This coefficient can be caught in task command line (so Mantra can be launched 'mantra -j 4 ...', or 3000 capacity can be used by one 'houdini' task, for example to generate something, which use only one CPU, and 'mantra -j 3'). Hosts capacity values described in 'Farm Setup' ('xml' file).


Dependencies
Job can depends on other job(s) of the same user (depend mask) or on some job(s) from any user (global depend mask). Job will wait other jobs to be done matching this mask regular expression (Afanasy uses Qt Regular Expressions, they are Perl-like).
Job Block can wait other block(s) to be done (depend mask). Block tasks can wait other block tasks to be done (tasks depend mask).


Errors Solving
Job Blocks Errors Hosts List – block store host names where error was occurred and number of errors for each host. If this number greater it's limit, block will 'avoid' this host (not to run tasks on render with such hostname).
Blocks Tasks Errors Hosts List – the same as described above, but for each task.
Tasks Auto Retry – maximum number of errors to retry task automatically.
Tasks Maximum Run Time – the time after running considered as an error task.
User define this default values for his new jobs and can to override them in each job, watch and reset any error hosts list.


Priorities
User priority – user with greater priority can get more hosts.
Job priority – to simple sort user jobs queue.


Hosts Masks
User, job and block has a mask of host names to be able to run on and exclude mask for hosts to avoid.


Maximum Hosts
User, job and block has maximum number of hosts – no new hosts will be available above this limit.


Python API
You can create and send job using python.
Setup services and parsers through python classes inherited from base service and parser.


Services and Parsers
Service – 'block tasks type', for example: 'hbatch', 'mantra', 'prman', 'nuke', 'maya'.
Service setups a default task output parser type (which can be overridden later). Services are python classes. They all inherits a base 'service' class. Service class describes command line manipulations, such as task capacity (how to specify how much CPUs to use ('mantra – j @AF_CAPACITY@')).
Parser – read task output to calculate running progress. Parsers are python classes and can be combined (multiply inheritance), for example: 'hbatch_mantra' – inherits 'hbatch' and 'mantra' parsers to listen to tasks when Houdini generates a files for mantra, such parser listen for frames switching (when several frames per render set) and calculates valid percentage.


Job – Block – Task
Job consists of blocks, which produce tasks. There are two types of blocks numeric and not. Numeric block don't store tasks data, it generates tasks 'on-the-fly' by some rules. Not numeric blocks contains data for each task. Task inherits most attributes from block (for example all block tasks has the same working directory). But some other attributes individual (commands for example).


Ссылки


Скриншоты




Категории: Soft | Free | OpenSource