Cluster : faites tourner povray sur plusieurs ordinateurs (+ decoupage de fichiers ini)

Description

Salut

povray (persistance of vision raytracer) est un logiciel de rendu 3d http://www.povray.org on peut y faire des choses magnifiques, mais parfois (souvent...) il faut un certain temps pour afficher une image en 1024*768, et meme parfois pour des resolutions inferieures, ca rame terriblement... surtout des que l'on va jouer un petit peu avec les particules...

derniere video povray generee : 26h de rendu... j'etais un peu degoute par la puissance que demande un rendu 3d... sachant qu'il faut 24 images par secondes, on doit donc faire... 240 frames pour 10 secondes de videos, avant de savoir si deux objets entrent en contact pendant la video... (si les deux objets bougent, alors c'est complique de savoir si ils se tapent) et au bout de ces 26h... bah un chandelier coupait une assiette... tout a refaire...

J'etais un peu degoute, donc en rentrant chez moi, j'ai pris mon laptop, regarde mon "vieux" celeron, lui ai lance "t'as plus rien a calculer, pauvre machine... tu m'as bien servi autrefois, on va tenter de te donner une nouvelle vie !" j'ai lance Kate, reflechis un peu, fait un truc en php qui decoupe un .ini en autant de .ini que necessaire (pour faire $step images par fichier .ini), un serveur, un client, teste tout ca... ca fonctionne...

Ce code permet donc :
- de decouper un fichier ini en plusieurs fichiers ini pour povray, de facon a decouper une scene
- de lancer un serveur de cluster qui permet
- de calculer une video povray sur plusieurs pcs
- de calculer une video povray sur plusieurs coeurs sur un meme processeur
- de tout renvoyer au serveur pour qu'il garde ca dans SON dossier

les outils suivants sont necessaires au bon fonctionnement des scripts :
- php-cli
- povray evidement
- tar

le tout fonctionnant evidement de preference sous un environement unix/linux

Source / Exemple :


principe :
le serveur fait un .tar

le client se connecte, demande son .tar
on envoi le .tar au client
le client decompacte son .tar

le client demande une commande d'init
on la lui envoie

le client demande du travail
on le lui donne tant qu'il y en a, sinon, on lui envoi une commande qui lui dit qu'il n'y en a plus

quand il n'y a plus de travail, le client fait un .tar avec les images generees
le serveur decompacte le .tar

et voila, miracle du "partage de travail"

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.