Photoshop CS - Clustering , possible?

ROKKSTAR

Member
Oct 10, 1999
60
0
0
I work on fashion shoots here in NYC.
We shoot anywhere from 5 - 20 gigs worth of RAW files a day.
Then these files need to get processed. This Is the slow part.
While Dual G5's are nice and my dual Opteron works nicely is there a way to cluster my Win2k3 machines to process the files faster on my main workstation?
Is this even possible with Photoshop?
Is there a way to fool P.S. into excepting this?
 

Shalmanese

Platinum Member
Sep 29, 2000
2,157
0
0
Well, PS supports scripted batch processing from the command line so it would be a simple matter of writing some batch files or using some off the shelf software to parralelize it.
 

kpb

Senior member
Oct 18, 2001
252
0
0
Nothing built in to do that. You should how ever be able to manually do it pretty easily. Just need to setup up an action and a batch on each of the computers and give it a folder of raw images to work with and set it to working. You could make a droplet on each machine and drag and drop a folder of images on it and just let it process. If you've got CS 2 on the machines you could use the image processor and even have to setup the batches. You would need photoshop installed on each machine and should have a copy for each machine if you wanna stay within the EULA. It should be multithreaded tho so a dual core dual processor system with the new pentium d's or athlon x2's should help things out even more.
 

ROKKSTAR

Member
Oct 10, 1999
60
0
0
Yes I have CS2 but i'm not clear on th ewhole batch process thing and how that will allow 2 or more computers to act as one.
I've done droplets for resizeing, colr correction renameing etc. Are your refering to this process?

Also what "...off the shelf software to parralelize it. " would that be?

And can I assume that by simply adding a dulicate setup on every computer and then connecting them to a 10/100/1000 switch that they will work together?
 

Shalmanese

Platinum Member
Sep 29, 2000
2,157
0
0
Say you have images pic000.jpg, pic001.jpg, pic002.jpg etc. and you have 20 computers. Dump them into a mapped network drive and write a batch scripts that makes computer 0 process pic000.jpg, pic020.jpg, pic040.jpg etc. I'm sure theres off-the-shelf software to help you automate the jub scheduling but it's not hard to figure out by yourself if you have some basic programming and windows knowledge.
 

ROKKSTAR

Member
Oct 10, 1999
60
0
0
I'm probably missing somthing here....
How does using computer "0" implment the use of the processing power of all of the other computers?
 

kpb

Senior member
Oct 18, 2001
252
0
0
There's nothing in photoshop to automate the distribution of the files or work. What you would have to do is copy the images to the machines or some network location they can access the files then go to each machine and start the process on each machine. For example pc 1 starts processing 1-1000, pc 2 starts doing 1001-2000, pc 3 starts doing 2001-3000 etc so each machine has 1000 images to work on. Photoshop is java and VB scriptable (windows) or apple scriptable (macs) so it might be possible to script this if a script can control another computer over the network.

This might be something interesting for a 3rd party to develope for photoshop but I don't know of anyone who's done it so far.
 

AluminumStudios

Senior member
Sep 7, 2001
628
0
0
It depends what processing you need ... there may be a really whacky way to do it.

Photoshop doesn't support any type of distributed processing as far as I know and even if the OS did I don't believe there's any way to force Photoshop to.

AfterEffects however supports video compositions of arbitrary and high resolution as well as a distributed render feature called "watch folders."

Adobe After Effects also has many filters and processing options available in Photoshop (AE is like Photoshop for animation and motion video ... although it doesn't have all of the tools.)

You could import a directory of still images into AE as footage. Put the footage on the timeline and apply some filters and processing (I'm not sure what you need to do to these images, but things like levels, brightness, contrast, color correction, etc. are availalbe), then have AE render the output as an image sequence using Watch Folders and it's distributed rendering ability. It would farm separate frames (images) out to different machines to process.

It would be a bit of a backwards way of speeding things up, but if it has the filters and such you need, it would work and be fairly quick to set up.
 

ROKKSTAR

Member
Oct 10, 1999
60
0
0
The main purpose is to shorten the RAW process time for digital images.
Each image is 50Megs. for each shot (outfit/setup) we may take 50-200+ frames/images, we shoot 10-20 shots a day.
That's a lot of file processing!!