PC vs Mac for VDP processing

p775

Member
I was just wondering if there was any data out there regarding the benefits or downfalls of processing with windows 7 vs tiger or snow leopard? Obviously you get more hardware for less money when going the PC route, but all of our licenses were with apple for our software, so our VDP processing machine became a g5 (circa 2007).

If there were major benefits of switching to a PC for the processing, I could probably have an indesign license purchased for a PC. Please post any experience or real life statistics/data if you have it. Thanks a lot!
 
What VDP software are you currently running?

SORRY! I left out the most important details.... xmpie udirect standard with indesign cs4. I'm not tied to xmpie though...if it would help company efficiency, I'm sure I could gain access to an alternative.
 
I noticed you have said G5 Intel for the Mac you are using. It is either a G5 or a MacPro (Intel).

Since your Mac is 3 years old, it should be the MacPro and are either running Tiger or Leopard. I would upgrade to Snow Leopard to get 64-bit capability out of your OS. Also upgrading to InDesign CS5 for more 64-bit processing.

For VDP directly in the Native application (InDesign). I would stick to the platform the file originated on. If the customer designed it on the Mac, I would use a Mac for VDP. Like wise for the Windows files.
 
I noticed you have said G5 Intel for the Mac you are using. It is either a G5 or a MacPro (Intel).

Since your Mac is 3 years old, it should be the MacPro and are either running Tiger or Leopard. I would upgrade to Snow Leopard to get 64-bit capability out of your OS. Also upgrading to InDesign CS5 for more 64-bit processing.

For VDP directly in the Native application (InDesign). I would stick to the platform the file originated on. If the customer designed it on the Mac, I would use a Mac for VDP. Like wise for the Windows files.

Hi, Thanks for the reply. The mac is intel based and is running tiger. We need something other than indesigns built in data merge because postal barcodes are a requirement of the projects that we run. All files are created on this machine itself, so we are not dealing with customer files.
 
It's been years since I ran back-to-back tests using the same file, but I still have my performance notes from 2007.

The job was 1910 records, using Dynamic Print to optimized PDF, from a network server. All tests used Indesign CS3, XMPIE 3.5

Windows XP Pro, SP3,
Custom PC, Dual Athlon 1800s, RAID, 2Gb RAM.
Test 1: 18:17 (mm:ss)
Test 2: 18:48 (signs of memory leaking...restart)
Test 3: 16:04 (after restart)

Powerbook G4, 1.5Ghz, 2Gb RAM OSX 10.4.X
10:03 (other apps running)
9:46
10:01 (files copied locally)
8:30 (rebooted prior...memory leaking? local files)
8:59 (server files and data)
9:03 (another PBG4, rebooted before test)

Power Mac G5 dual processor, 2.0Ghz, 4Gb RAM, OSX 10.4.X
7:15 (multiple apps running)
7:09 (rebooted)

My conclusions were that XMPIE or InDesign (maybe both) were more efficient processing under OSX, even with far less hardware. This wasn't the result I was expecting: we all felt the 64-bit AMD CPUs would *kill* the G4 and even the G5. Based on the test results, I shelved plans to build an XMPIE cluster of cheap Windows machines. Most VDP jobs we do originate from Mac anyway, so this was an easy choice. On the Mac side, it was apparent that performance was directly tied to clock speed more than RAM, network, CPU bits, etc.

Later in 2007, I moved over main production to a quad-core Xeon Mac Pro 3.0Ghz. The same test in 2007 was finished in 2:34. (13Gb RAM, OSX 10.4.X, XMPIE 3.5, fresh reboot).
I also have a trick where I can run multiple instances of XMPIE to utlitlize all 400% of the CPUs, netting me 4X the performance for any given time. On straight addressing jobs with no graphics, I've seen a net speed of over 70,000 records per hour. Simple numbering has hit 250,000 rph.

I repeated this test in 2010 on my Mac Book Pro 3.06Ghz Core 2, under 10.5.X, and it finished in 2:28, indicating again that clock speed is more important that CPU type (Core2 vs Xeon was not relevant).

I have further testing to do with a new 8-way Mac Pro running 10.6.X. I'll have some data on that in a month or so, and I'll be comparing CS3, CS5, and using newer XMPIE plug ins. I locked into 10.4/CS3/XMPIE3.5 because newer versions of anything seemed to kill my multi-processor trick.
 
It's been years since I ran back-to-back tests using the same file, but I still have my performance notes from 2007.

The job was 1910 records, using Dynamic Print to optimized PDF, from a network server. All tests used Indesign CS3, XMPIE 3.5

Windows XP Pro, SP3,
Custom PC, Dual Athlon 1800s, RAID, 2Gb RAM.
Test 1: 18:17 (mm:ss)
Test 2: 18:48 (signs of memory leaking...restart)
Test 3: 16:04 (after restart)

Powerbook G4, 1.5Ghz, 2Gb RAM OSX 10.4.X
10:03 (other apps running)
9:46
10:01 (files copied locally)
8:30 (rebooted prior...memory leaking? local files)
8:59 (server files and data)
9:03 (another PBG4, rebooted before test)

Power Mac G5 dual processor, 2.0Ghz, 4Gb RAM, OSX 10.4.X
7:15 (multiple apps running)
7:09 (rebooted)

My conclusions were that XMPIE or InDesign (maybe both) were more efficient processing under OSX, even with far less hardware. This wasn't the result I was expecting: we all felt the 64-bit AMD CPUs would *kill* the G4 and even the G5. Based on the test results, I shelved plans to build an XMPIE cluster of cheap Windows machines. Most VDP jobs we do originate from Mac anyway, so this was an easy choice. On the Mac side, it was apparent that performance was directly tied to clock speed more than RAM, network, CPU bits, etc.

Later in 2007, I moved over main production to a quad-core Xeon Mac Pro 3.0Ghz. The same test in 2007 was finished in 2:34. (13Gb RAM, OSX 10.4.X, XMPIE 3.5, fresh reboot).
I also have a trick where I can run multiple instances of XMPIE to utlitlize all 400% of the CPUs, netting me 4X the performance for any given time. On straight addressing jobs with no graphics, I've seen a net speed of over 70,000 records per hour. Simple numbering has hit 250,000 rph.

I repeated this test in 2010 on my Mac Book Pro 3.06Ghz Core 2, under 10.5.X, and it finished in 2:28, indicating again that clock speed is more important that CPU type (Core2 vs Xeon was not relevant).

I have further testing to do with a new 8-way Mac Pro running 10.6.X. I'll have some data on that in a month or so, and I'll be comparing CS3, CS5, and using newer XMPIE plug ins. I locked into 10.4/CS3/XMPIE3.5 because newer versions of anything seemed to kill my multi-processor trick.

Thanks a lot for the data! I guess we'll probably just be sticking with the g5 at this point. I've found that there will be no major gain in processing by upgrading the hardware; we would need to get xmpie's uimage in order to expedite the problem job. It's good to see the hard data though on the mac vs pc performance.
 
If you are doing effects-heavy text, you have other options rather than uImage.
uImage's strong point is letter-by-letter, position-by-position image processing, which it does in Photoshop.
If you are doing simple text effects, you can actually do this in Applescript, driven from something like Filemaker Pro.

I did a project like this back in 2006, where we scripted the creation of some 2000 names into named JPEGs. They were put into an asset folder for HP Yours Truly, and we called the variable file name using a Quark template. Merge speeds were virtually instant, but the creation of the JPEGs took time (uImage will have the same issue..Photoshop will be the bottleneck). It was still pretty quick, and I could have clustered several machines to do the job. Even though I used JLYT for this project, it could easily be done in VIPP, PPML, VPS, etc. Using optimized PDF isn't a good fit for a workflow like that.

If you are interested, I can share some information on how to use 100% of each CPU for CS3/XMPIE3.5. On our 4-way Xeon, we can get almost 4X the performance of a single instance. It should work with your hardware/software. I've been able to scale almost linearly with processor cores.

I haven't tested Windows 7, nor newer CPUs, but I plan on doing that with the new 4-way Mac Pro we have (Hyperthreading shows 8 virtual cores).
 
If you are doing effects-heavy text, you have other options rather than uImage.
uImage's strong point is letter-by-letter, position-by-position image processing, which it does in Photoshop.
If you are doing simple text effects, you can actually do this in Applescript, driven from something like Filemaker Pro.

I did a project like this back in 2006, where we scripted the creation of some 2000 names into named JPEGs. They were put into an asset folder for HP Yours Truly, and we called the variable file name using a Quark template. Merge speeds were virtually instant, but the creation of the JPEGs took time (uImage will have the same issue..Photoshop will be the bottleneck). It was still pretty quick, and I could have clustered several machines to do the job. Even though I used JLYT for this project, it could easily be done in VIPP, PPML, VPS, etc. Using optimized PDF isn't a good fit for a workflow like that.

If you are interested, I can share some information on how to use 100% of each CPU for CS3/XMPIE3.5. On our 4-way Xeon, we can get almost 4X the performance of a single instance. It should work with your hardware/software. I've been able to scale almost linearly with processor cores.

I haven't tested Windows 7, nor newer CPUs, but I plan on doing that with the new 4-way Mac Pro we have (Hyperthreading shows 8 virtual cores).

Hi, yes, I'd be very interested in your method! Again, this is a 2x 2.66 dual core machine. When I bring up the processor window, it shows all 4 cores in use while processing, but it sounds as though you may have some sort of optimization for this?

I'm not sure about the approach you mentioned, it sounds as though part/s were done manually? We would be pulling random first and last names from different spreadsheets every day for these, so the only salvation would be an alphabetical character set sliced from the background image I would think? Also, the text would need to expand/contract due to varying name sizes so that in itself would complicate matters further. We're currently exploring "3d" looking fonts and will be trying to come to a compromise with the client until we can get some sort of system in place. Just for reference, what now takes 20 minutes (3k records) would take roughly 3.3 HOURS - and that's just on the front processing end! (not including the docusp/igen side).
 
I seriously hate desktops for my vdp work. If you read into it enough you can prepare your vdp jobs in raw ppml and process those on a real server, keeping your desktop clear for facebooking or random lolcat-photo-surfing, and not requiring you to drink excessive amounts of coffee because you can't do anything else. The spec for PPML is free and open; everyone with a PC and a text editor (even notepad will suffice) can write ppml.

This does, however, require programming skill. The payoff is huge, though; both in flexibility and in speed. With a simple programming language such as PHP, you can create the outline for a VDP job in a few hours if you're new, and literally generate a job that's 100.000 impressions deep in under 30 seconds. Batched into chunks, if you like.

Combine it with the power of JDF and you're set to create huge jobs with the press of a button, on a daily basis.
 
I seriously hate desktops for my vdp work. If you read into it enough you can prepare your vdp jobs in raw ppml and process those on a real server, keeping your desktop clear for facebooking or random lolcat-photo-surfing, and not requiring you to drink excessive amounts of coffee because you can't do anything else. The spec for PPML is free and open; everyone with a PC and a text editor (even notepad will suffice) can write ppml.

This does, however, require programming skill. The payoff is huge, though; both in flexibility and in speed. With a simple programming language such as PHP, you can create the outline for a VDP job in a few hours if you're new, and literally generate a job that's 100.000 impressions deep in under 30 seconds. Batched into chunks, if you like.

Combine it with the power of JDF and you're set to create huge jobs with the press of a button, on a daily basis.

This is a secondary system at work that is used solely for VDP processing, so the system being tied up is not an issue. I'm sure there are numerous benefits to writing your own ppml. My skills span from pc building/network administration and into html and css. I do not have any real programming experience or skills, and unfortunately, I just don't really have the time to learn currently. I (as I'm sure like many others) was hired for a single position, but over the last few years, I have had to fill many different positions. There simply isn't time in the work day to devise new ideas and schemes when "out of the box" solutions -sometimes- exist. I can definitely appreciate the idea of control and flexibility when writing your own ppml though.... it's probably like the difference between hand typing html/css and then trying to use dramweaver...so much more control when you write the code.
 
Hi, yes, I'd be very interested in your method! Again, this is a 2x 2.66 dual core machine. When I bring up the processor window, it shows all 4 cores in use while processing, but it sounds as though you may have some sort of optimization for this?

I'm not sure about the approach you mentioned, it sounds as though part/s were done manually? We would be pulling random first and last names from different spreadsheets every day for these, so the only salvation would be an alphabetical character set sliced from the background image I would think? Also, the text would need to expand/contract due to varying name sizes so that in itself would complicate matters further. We're currently exploring "3d" looking fonts and will be trying to come to a compromise with the client until we can get some sort of system in place. Just for reference, what now takes 20 minutes (3k records) would take roughly 3.3 HOURS - and that's just on the front processing end! (not including the docusp/igen side).

Just a few questions before I go into detail.

What version of XMPIE/CS3/MacOSX are you running?

When you are actively using XMPIE's Dynamic Print, how much % of the CPU is being used by Adobe InDesign or the process called "pstopdf"? InDesign should first go to 80-95% while spooling all the records, then hand off the print job to pstopdf for the conversion of the PS file to optimized PDF. The psdtopdf process should hover near 95-98% until the job is done. Use the Activity Viewer to get exact numbers, because this is important in understanding how to use multiple instances of XMPIE effectively. You shouldn't ever see the print job processes (InDesign or pstopdf exceed 100% of a given CPU, even though you have 400% available).

I seriously hate desktops for my vdp work. If you read into it enough you can prepare your vdp jobs in raw ppml and process those on a real server, keeping your desktop clear for facebooking or random lolcat-photo-surfing, and not requiring you to drink excessive amounts of coffee because you can't do anything else. The spec for PPML is free and open; everyone with a PC and a text editor (even notepad will suffice) can write ppml.

This does, however, require programming skill. The payoff is huge, though; both in flexibility and in speed. With a simple programming language such as PHP, you can create the outline for a VDP job in a few hours if you're new, and literally generate a job that's 100.000 impressions deep in under 30 seconds. Batched into chunks, if you like.

Combine it with the power of JDF and you're set to create huge jobs with the press of a button, on a daily basis.

I have no doubt that once you get to a certain volume, you can justify a real programmer and gain some tremendous advantages. PPML is a welcome change from streams like VIPP, JLYT, and VPS, or even FreeForm. But, I have certain flexibilities with a workflow like PDF that work for my application. We definitely trade ease-of-use for speed.

I have PPML support in XMPIE and all my RIPs, but I don't use it. Soft-proofing is an issue, along with data-integrity.
 
Just a few questions before I go into detail.

What version of XMPIE/CS3/MacOSX are you running?

When you are actively using XMPIE's Dynamic Print, how much % of the CPU is being used by Adobe InDesign or the process called "pstopdf"? InDesign should first go to 80-95% while spooling all the records, then hand off the print job to pstopdf for the conversion of the PS file to optimized PDF. The psdtopdf process should hover near 95-98% until the job is done. Use the Activity Viewer to get exact numbers, because this is important in understanding how to use multiple instances of XMPIE effectively. You shouldn't ever see the print job processes (InDesign or pstopdf exceed 100% of a given CPU, even though you have 400% available).



I have no doubt that once you get to a certain volume, you can justify a real programmer and gain some tremendous advantages. PPML is a welcome change from streams like VIPP, JLYT, and VPS, or even FreeForm. But, I have certain flexibilities with a workflow like PDF that work for my application. We definitely trade ease-of-use for speed.

I have PPML support in XMPIE and all my RIPs, but I don't use it. Soft-proofing is an issue, along with data-integrity.

Hi, I will get this information asap. I'm am at home and will need to remote into the system at work and start a job. I can then retrieve the info. I can tell you that I'm using xmpie 4.6, indesign cs4 and the tiger OS (10.4.11, I believe). Thanks for the reply!
 
Ok,
I did not have a "pstopdf" process during the imposition process, but I had a process called "Runnorm".

Indesign was claiming 80-95%
Runnorm was at 99.6%

The interesting note is that my processor idle was around 71-72% during both processes. I've observed this before, and have wondered why it seemed to be only running at 25%. Also, I checked Top using a terminal window, and did not see the "pstopdf" process there either.
 
Ok,
I did not have a "pstopdf" process during the imposition process, but I had a process called "Runnorm".

Indesign was claiming 80-95%
Runnorm was at 99.6%

The interesting note is that my processor idle was around 71-72% during both processes. I've observed this before, and have wondered why it seemed to be only running at 25%. Also, I checked Top using a terminal window, and did not see the "pstopdf" process there either.

Ok, my versions are older, and the ability to use more than one core hasn't been consistent with newer versions of XMPIE. I will do a few tests, but this is what works under CS3/10.4.11/XMPIE 3.5

PSTOPDF is the process name under XMPIE3.5. I believe the XMPIE4 plug-in calls it RUNNORM.

If you create additional OSX user accounts, you can run more than one InDesign. With a 4-core machine, you can theoretically run 4 instances of InDesign (one in each user) and max out all the cores. Even though InDesign isn't capable of using more than 100% of a CPU in a single instance, you can use multiple users to get processing on the unused cores.

There's a problem though. When all the users on a machine are running the same copy InDesign (/MacHD/Applications/..), the InDesign process itself is capped at 100% even across multiple instances. That is, in one user, you launch ID and start running a job (almost 100%), then switch to another user and run another job, the InDesign processes will both drop down to 50% for each user (100% total). Run another user and each one is at 33%, etc. The Runnorm processes are spawned independently, and can each go to 100%, but InDesign itself is capped. Apparently, there's some sort of shared printing resources at the system level. While using multiple instances of Runnorm is helpful, it's only half of the job, and InDesign is still a bottleneck.

The trick is to copy InDesign to the local user directory, where the other user's cannot see it. Sandboxing it to /User/Applications/ means the process and all the resources run independently. Each user runs it's own copy of InDesign, and can go up to 100%. This probably violates the end user agreement if you are using the same serial number over multiple users, but it's still on one machine. Think of it as crude virtualization. This didn't work so well under XMPIE 4.6, so your mileage may vary. I plan on revisiting this soon.

Once each user is running their own local InDesign, you will see each user process get up to 100% of a CPU. There's some overhead though. While composing records, InDesign's GUI shows you a status bar, which eats up 3-5% of the user's max (in a process called WindowServer). That's why the InDesign process utilization is a bit lower than Runnorm. For some reason, InDesign+WindowServer can't exceed 100%. That overhead adds up, and if you run 4 Indesigns across 4 users, you probably will see WindowServer rise to 15-30% and cut the InDesign process down to 80-85% each. Once Runnorm is spawned and takes over, WindowServer and InDesign go to almost 0% and Runnorm hovers closer to 100% (gaining a bit of CPU because there's no GUI activity during this phase).

It may sound a bit complicated, but once you get used to the workflow, it really takes a natural rhythm. Typically, we will do something like this when faced with a large processing job:

1. Job is 32,000 records. I do some testing to find a quantity that works for bindery, the digital press operator, and gets me a good record-per-hour speed. There's a point of diminish returns with batch quantity and XMPIE. In my experience, 4000 records is a comfortable set. Some testing may be in order. You might find that a batch of 2000 is done in 5 minutes, 4000 in 15 minutes, 6000 in 30 minutes, and 8000 takes an hour. That means 2K batches yields 24Krph, 4K=16Krph, 6K=12Krph, and 8K=8Krph. Even though the 2K batch is the fastest, 5 minutes is just too short so I'd settle for 4K batches. Testing is important, and you should weigh batch size vs what works in your situation. Like I said, 4K is a nice batch for the work I do.

2. Link your ID file to the run CSV. Save and close.

3. Dupe your InDesign file, name it RUN-00-04, and make more copies, called RUN-04-08, RUN-08-12, etc. For a 32K file divided into 4K batches, you'd get 8 files.

4. open RUN-00-04, and dynamic print from 1-4000.

5. change users, open the next file (RUN-04-08) and print from 4001-8000. I find it useful to take notes so I know where I am. Being linked to the same CSV doesn't cause problems.

6. change to another user, open the next file (RUN-08-12) and print from 8001-12000. You make multiple files because the other files are busy until you close them.

7. Repeat for all users until you've pegged all the cores.

8. Knowing how long it takes, come back in 15 minutes and start another batch for all users.

9. Double-check your work by opening the PDFs, making sure correct start/stop and page count.

I know that sounds like a lot of manual work, but it's not bad. You wind up really cranking out a lot more pages in the same amount of time. In the above example (a real job, actually), you can get 64Krph instead of 16Krph. More cores would get you more performance. For 32K records, I'd be done in about 30 minutes.

It's important to note that parallel processing speed aren't linear. That is, just because you can get an effective rate of 600Krph doesn't mean you can do 100K records in 10 minutes. Like carpooling in a sedan, just because you move 4 people 60 miles in one hour doesn't mean you can get one person 60 miles in 15 minutes. It's a parallel process, and running things simultaneously is different than overclocking.

Fonts can be an issue if you try to control them on a user-level. I try to use global fonts by putting them in /Library/Fonts. Be very careful here: all users must use the same fonts for consistent output.

Also, this works for my type of work. My run lengths are in the 10K-25K range, and the file complexity is 10-20 fields, layer visibility, plus address block. Performance varies, but we don't typically throw multiple users at a jobs unless the thing's going to take one user more than 30 minutes. It depends on workload. The resulting files are also easy to split to our different output devices (two Digimasters). In another company, this might not make much sense. We developed this system within our workflow to address what we needed from it. I've never tried to use ARD with this, but since I can generate so many pages per hour, I don't have much need to.

Again, you may have problems with new version of InDesign or XMPIE. Earlier testing indicated inconsistent results, and sometime the parallel processing didn't work. I'm revisiting the issue because we've got a new 4-way Mac Pro and CS5 upgrades. It shows 8 virtual cores, and I'm curious to see if I can get the same performance from a virtual core as a real one. I can't seem to get this right under 10.6.3 either. If I can get linearity back, I'd love to get my hands on a new 12-way Mac Pro, which hyperthreads into 24 virtual cores. We never got this to work under Windows either (using more than one core).
 
Ok, my versions are older, and the ability to use more than one core hasn't been consistent with newer versions of XMPIE. I will do a few tests, but this is what works under CS3/10.4.11/XMPIE 3.5

PSTOPDF is the process name under XMPIE3.5. I believe the XMPIE4 plug-in calls it RUNNORM.

If you create additional OSX user accounts, you can run more than one InDesign. With a 4-core machine, you can theoretically run 4 instances of InDesign (one in each user) and max out all the cores. Even though InDesign isn't capable of using more than 100% of a CPU in a single instance, you can use multiple users to get processing on the unused cores.

There's a problem though. When all the users on a machine are running the same copy InDesign (/MacHD/Applications/..), the InDesign process itself is capped at 100% even across multiple instances. That is, in one user, you launch ID and start running a job (almost 100%), then switch to another user and run another job, the InDesign processes will both drop down to 50% for each user (100% total). Run another user and each one is at 33%, etc. The Runnorm processes are spawned independently, and can each go to 100%, but InDesign itself is capped. Apparently, there's some sort of shared printing resources at the system level. While using multiple instances of Runnorm is helpful, it's only half of the job, and InDesign is still a bottleneck.

The trick is to copy InDesign to the local user directory, where the other user's cannot see it. Sandboxing it to /User/Applications/ means the process and all the resources run independently. Each user runs it's own copy of InDesign, and can go up to 100%. This probably violates the end user agreement if you are using the same serial number over multiple users, but it's still on one machine. Think of it as crude virtualization. This didn't work so well under XMPIE 4.6, so your mileage may vary. I plan on revisiting this soon.

Once each user is running their own local InDesign, you will see each user process get up to 100% of a CPU. There's some overhead though. While composing records, InDesign's GUI shows you a status bar, which eats up 3-5% of the user's max (in a process called WindowServer). That's why the InDesign process utilization is a bit lower than Runnorm. For some reason, InDesign+WindowServer can't exceed 100%. That overhead adds up, and if you run 4 Indesigns across 4 users, you probably will see WindowServer rise to 15-30% and cut the InDesign process down to 80-85% each. Once Runnorm is spawned and takes over, WindowServer and InDesign go to almost 0% and Runnorm hovers closer to 100% (gaining a bit of CPU because there's no GUI activity during this phase).

It may sound a bit complicated, but once you get used to the workflow, it really takes a natural rhythm. Typically, we will do something like this when faced with a large processing job:

1. Job is 32,000 records. I do some testing to find a quantity that works for bindery, the digital press operator, and gets me a good record-per-hour speed. There's a point of diminish returns with batch quantity and XMPIE. In my experience, 4000 records is a comfortable set. Some testing may be in order. You might find that a batch of 2000 is done in 5 minutes, 4000 in 15 minutes, 6000 in 30 minutes, and 8000 takes an hour. That means 2K batches yields 24Krph, 4K=16Krph, 6K=12Krph, and 8K=8Krph. Even though the 2K batch is the fastest, 5 minutes is just too short so I'd settle for 4K batches. Testing is important, and you should weigh batch size vs what works in your situation. Like I said, 4K is a nice batch for the work I do.

2. Link your ID file to the run CSV. Save and close.

3. Dupe your InDesign file, name it RUN-00-04, and make more copies, called RUN-04-08, RUN-08-12, etc. For a 32K file divided into 4K batches, you'd get 8 files.

4. open RUN-00-04, and dynamic print from 1-4000.

5. change users, open the next file (RUN-04-08) and print from 4001-8000. I find it useful to take notes so I know where I am. Being linked to the same CSV doesn't cause problems.

6. change to another user, open the next file (RUN-08-12) and print from 8001-12000. You make multiple files because the other files are busy until you close them.

7. Repeat for all users until you've pegged all the cores.

8. Knowing how long it takes, come back in 15 minutes and start another batch for all users.

9. Double-check your work by opening the PDFs, making sure correct start/stop and page count.

I know that sounds like a lot of manual work, but it's not bad. You wind up really cranking out a lot more pages in the same amount of time. In the above example (a real job, actually), you can get 64Krph instead of 16Krph. More cores would get you more performance. For 32K records, I'd be done in about 30 minutes.

It's important to note that parallel processing speed aren't linear. That is, just because you can get an effective rate of 600Krph doesn't mean you can do 100K records in 10 minutes. Like carpooling in a sedan, just because you move 4 people 60 miles in one hour doesn't mean you can get one person 60 miles in 15 minutes. It's a parallel process, and running things simultaneously is different than overclocking.

Fonts can be an issue if you try to control them on a user-level. I try to use global fonts by putting them in /Library/Fonts. Be very careful here: all users must use the same fonts for consistent output.

Also, this works for my type of work. My run lengths are in the 10K-25K range, and the file complexity is 10-20 fields, layer visibility, plus address block. Performance varies, but we don't typically throw multiple users at a jobs unless the thing's going to take one user more than 30 minutes. It depends on workload. The resulting files are also easy to split to our different output devices (two Digimasters). In another company, this might not make much sense. We developed this system within our workflow to address what we needed from it. I've never tried to use ARD with this, but since I can generate so many pages per hour, I don't have much need to.

Again, you may have problems with new version of InDesign or XMPIE. Earlier testing indicated inconsistent results, and sometime the parallel processing didn't work. I'm revisiting the issue because we've got a new 4-way Mac Pro and CS5 upgrades. It shows 8 virtual cores, and I'm curious to see if I can get the same performance from a virtual core as a real one. I can't seem to get this right under 10.6.3 either. If I can get linearity back, I'd love to get my hands on a new 12-way Mac Pro, which hyperthreads into 24 virtual cores. We never got this to work under Windows either (using more than one core).

Wow, that's quite a method you have there :) It seemed complex at first, but actually it seems to be pretty simplistic in theory. I usually process in sections of roughly 3k. I get lists that are anywhere from 500 to 20k depending on the job. Your method might not always be worth the effort in my case, but it definitely sounds like something I will try out, even if only with an old project to experiment and record processing times. I was thinking that you possibly had a way to allow indesign or xmpie utilize the cores in a serial fashion (opposed to the parallel approach), but it is helpful information none the less. Thanks again for posting, and I will report back with any results once I've had a chance to this in my environment!
 
Wow, that's quite a method you have there :) It seemed complex at first, but actually it seems to be pretty simplistic in theory. I usually process in sections of roughly 3k. I get lists that are anywhere from 500 to 20k depending on the job. Your method might not always be worth the effort in my case, but it definitely sounds like something I will try out, even if only with an old project to experiment and record processing times. I was thinking that you possibly had a way to allow indesign or xmpie utilize the cores in a serial fashion (opposed to the parallel approach), but it is helpful information none the less. Thanks again for posting, and I will report back with any results once I've had a chance to this in my environment!

It doesn't make sense for us on smaller jobs either, but for larger ones (>30 min) it can be very effective. Being able to run ID serially would be nice, but still doesn't have the some of the advantages that parallel processing does (feeding batches to multiple machines for example). CS5 may change things a bit, but I haven't tested it yet. CS5 requires 10.5 or better, plus runs only on Intel, so perhaps Adobe put in more threading. It would certainly be easier to take advantage of more cores to process pages serially, but fixing that is on Adobe and XMPIE.

Since you're running XMPIE 4.6, it's safe to say that RUNNORM still won't go past 100%, though there's an outside chance Snow Leopard could help that.
 
For the record, XMPIE 4.6 Build 4234 for Mac doesn't work with Adobe InDesign Mac CS5 7.0.0.355. It fails to load.

XMPIE doesn't say it works past CS4, but I wanted to share the results from compatibility testing.

I'm running 10.6.4 on a Core 2 Duo.
 
Last edited:
Grab the latest v5 beta from the xmpie site - it does work with CS5.
Although they say it's a beta I think it's virtaully the finished product - just can't release the complete new versions until Adobe get around to releasing Indesign CS5 Server.
Given your results for Mac vs PC (plus my personal experience in this area) I've often wondered why XMPie didn't make a Mac version of the xmpie server product - they do seem to rely very heavily on microsoft technologies.
I did see a chart once comparing Win and Mac - Darwin v2 and Xmpie 3.5 on similar specced machines outputting 3 different types of jobs in VPS, VDX or PPML in every case Darwin was faster than XMPie by at least 2x with a max of 29x (on the same platform) The Mac was, in a worst case, the same speed as the PC (1 ppml job) to 6x faster (vdx simple text swap)
In using XMPie I've also found it better to use optimised postscript instead of pdf - when creating the file xmpie creates the postscript first then distills a pdf from this postscript (the postscript file has a 2GB limit). Then - if using pdf - when ripping (Except on the very latest rips with APPE) the rip has to convert the PDF back to postscript before it starts to rip it. The file sizes are larger but the processing is much faster.
 

PressWise

A 30-day Fix for Managed Chaos

As any print professional knows, printing can be managed chaos. Software that solves multiple problems and provides measurable and monetizable value has a direct impact on the bottom-line.

“We reduced order entry costs by about 40%.” Significant savings in a shop that turns about 500 jobs a month.


Learn how…….

   
Back
Top