A flock of Condors and a sky

The recent obsession started when I was able to get most of the machines at home (at least the ones I leave on most of the time) working together using Condor. The style of grid computing presented by just a regular Condor install matches up nicely with my home environment. There are a number of machines that have some decent computing power that mostly just sit around doing nothing. I have the boys trained to turn off their computer when they are not playing or working. They remember most of the time. Natalie's computer is pretty much on all the time, mostly because we are afraid it might not power back up if we turn it off. And then there is my main computer (3Ghz) and the Linux box and SunBlade. There are also two more machines that I have not powered on in a while, mostly because I am not sure that adding them to the home grid will accomplish much of anything. It might actually take longer to complete jobs with those machines participating due to CPU and memory constraints. I might add them in anyway, just to test that theory, but I am currently not in a rush. I'm using enough power right now.

Almost all of the jobs that I have been running on this grid have had to do with running povray jobs off the machine I use the most. Some of these povray jobs take a while to run. I think the longest I have run was an animation job that ran for about sixteen hours on one machine.

Using Condor, I have been able to get multiple machines rendering different for an animation job using Condor. The hardest part of this whole thing is getting all of the various files into the Condor submit files the right way. But I had not found a way to get multiple jobs involved with rendering a single frame. I am sure that someone is sitting out there thinking that what I just said is really easy to do with Condor. Between Condor and a few povray patches, there are plenty of ways to get the pieces talking to each other the right way and have lots of machines work together to render a single frame. Problem is, most of the boxen in the house run Windows. If I had it my way, I'm not sure I would have anywhere near the number of Windows-based machines in the house.

This isn't me bashing Microsoft or anything. For the way I work, almost every Linux system I have ever tried really does have more tools that match my work style right from the install than any Windows box, without having to install anything else. This isn't about things being free. It's more about being able to actually use the shell to do things that are really hard to do from a DOS command line. Honestly, hearing people complain about paying for software just because it runs on Linux . . . that's as bad as someone saying Linux isn't ready. Supporting FOSS doesn't mean that everything has to be available for free.

All that being said (and this not intending to be a polemic), I got to see something that Pyraci was working on this last week. He had this sky he painted in Photoshop. It should be enough to say that I wish I had Pyraci's eye and understanding of how Photoshop works. What I do in Photoshop and GIMP, I call a collection of cheap tricks. I am happy if I can get things to look something like what I saw on the back of my eyelids.

Pyraci doesn't have that problem. So, here I am, looking at this image he's put together by scrubbing a mouse over a small square on his desk.  It was impressive.

One of my issues with doing anything "artistic" and visual is this little thing about not having ability to really draw. I can scratch out something that looks almost right every now and then. I have some major issues with being able to do anything like that with any regularity or consistency. I am much better at describing what I want to do and letting something run that script.

Yes, I said I want to do all my drawing using scripts.

Look at the small robotic bug I animated a couple months back. The only thing drawn by hand on that bug was the glyph. The rest was all done in povray SDL.

After seeing this image by Pyraci, I thought a little about how I could do something similar using the tools that I know how to use a little better than Photoshop or GIMP. The sky he had painted reminded me of some of the explosions I had rendered previously using a script I found at ghoulblade's wiki. So I rendered out a number of explosions and went looked for 'interesting skies.' I found a few, but I didn't see anything that would work right away as a cloud.

Back to Google, I found a site that provided a couple of pov macros to make clouds. This looked interesting. So I decided to try using this macro package. First things first, I needed to run one of the demo files to see how things worked. And the site suggested that that particular demo would take 6 hours to run (or it did on in 2003). I did not want to wait six hours. So I started looking for a way to use the equipment I had to render a single frame scene across all the boxen I had connected with Condor. That was Wednesday night. It is Sunday, and the demo scene just finished rendering.

Let me explain. I do know ways to get povray to render parts of a scene. I assume this is for doing work with povray interactively while developing a shot. I've used the functionality. The problem is, none of the tools I have know how to read the partial image files produced this way, no matter what format. So, while I can produce the parts of an image much the same way I produce frames, either as blocks or rows, nothing I had would work with the files produced and assemble a completed scene. Google again. Wednesday night I found a perl script at baaden.free.fr/soft, povray_condor.pl. This script did two things for me. First it introduced me to a different way of using Condor to put put ppm files of parts of a scene. And then it introduced me to combineppm, which take the parts of a scene and puts them together into a real image file. It took some work to get this working. The original author seems to have a Condor flock built out of only Linux boxen. I have a mix, so I had to do some work.

After modifying the script a little(and really getting an appreciation for Subversion, which I had setup to help track the changes I was making to scripts), I had a working pipeline for compiling single frames across the while flock. Some additional work was done to produce the density files needed for the makecloud2 macro. That ate up Thursday before and after going out for dinner and Saturday and a good chunk of the morning today. Ultimately, the script I put together failed to run the while process from beginning to end, but I could run the parts.

I am now rendering the demo scene, with cloud files seeded with numbers Jacob picked. I expect that it might be done tomorrow morning before I leave for work. Guess next will be playing with the camera and exploring the world I just created.

Trackback URL for this post:

http://www.sysmango.com/trackback/942