Filed on [Indigo]<Peach>Documentation>PeachExpandDoc.tioga
Package: PeachExpand
Maintainer: Plass
Date: January 7, 1985
DF file: [Indigo]<Peach>Top>PeachExpand.df
Purpose: Server for converting complicated, time-consuming PD files to large-but-fast fully-instantiated ones.
If you don't know what a PD file is, read [Indigo]<Peach>Documentation>PeachDoc.tioga
Description: Sometimes a complicated PD file can take many minutes or even hours to scan-convert on the relatively slow machines typically used as PD print servers. If this is the case, it often is a better plan to do the scan-conversion on a Dorado, and pay the cost of shipping the bits over the network, rather than doing all of the work at the printer. PeachExpand is a way to set up a Cedar machine as a pseudo-print server that accepts printing requests via Chat, and leaves the resulting PD files on its local disk where they can be retrieved with the STPServer.
Starting a server:
First, Bringover the public portions of [Indigo]<Peach>Top>PeachExpand.df into the []<>Commands> subdirectory:
Push []<>Commands>
Bringover -p [Indigo]<Peach>Top>PeachExpand.df
Pop
(This assumes you already have a Cedar5.2-compatible Imager installed.)
Then to start the server, just type
PeachExpand
to the commander. Now your machine is a Peach server, which anyone may Chat to just like any other Peach server. You will need to know the name of the machine to do this; Dorados are normally labeled with their names, but if you are in doubt, type
← PupDefs.GetMyName[]
to the Commander.
Note that the server should be a machine with a LOT of disk space available, since the output files will often be measured in tens of megabytes. Run [Ivy]<Hagmann>ShowVAM>ShowVAM.bcd to see how badly fragmented the server's available space is.
Stopping a server:
If you decide that you don't want the server running anymore, Chat to it and use the Stop command. This will cause it to stop as soon as it finishes the request it is currently working on. Note that this does not prevent further requests from being queued. The Peach ResetQueue command may be used to flush the entire queue, and the Cancel command may be used to cancel individual jobs, including the one currently running. The queue will be checkpointed periodically in the file []<>PeachExpand.queue.
Using a server:
Refer to PeachDoc.tioga to learn how to use a Peach server. PeachExpand will leave a message in its log telling you where your PD files are stored; use the request number as a pattern to the Peach Messages command to list just the appropriate messages. There will be a separate output PD file for each page of the input, with names like [Server]<Cedar>PD>BaseOfOriginalFile-1.pd. You are responsible for retrieving the file from the server machine, and deleting it when you are done with it. A convenient mode of operation is to set up STPServer on the server machine; make sure you are on the read access list stored in []<>STPServer.readAccess on the server.
When to use it:
It is not always to your advantage to preprocess your PD files with PeachExpand. The exact tradeoff depends on many variables, including
1) PD file features used
2) PD interpreter used
3) input vs. output file size
4) number of gateways between you and the servers
5) availability of server machines
and probably others. These are circumstances where PeachExpand is probably not worth it:
1) plain black text and rectangles with little overlap
2) halftoned image with little overlap
3) colored or gray objects with little overlap (on Peach servers)
4) Peach server at significantly less than 99% CPU usage when converting the file
These are cases where PeachExpand is probably worth using:
1) PD file is significantly larger than the amount based on the image area covered
2) PD file is large, and Peach server is badly CPU bound when converting the file
3) colored or gray objects (on Alto-based PDPrint servers)
4) many overlapping objects
5) scan-conversion on Platemaker of more than 20 minutes or so
If in doubt, try it both ways and see which works best. If the performance seems way out of line, contact the implementor; it may be something that can be fixed.