|
|||
How and When do I use coshell for distributed builds?What is coshell?By using coshell nmake can distribute jobs to other machines in your network, allowing you to utilize free CPU time on multiple machines for distributed builds. With this feature nmake can take advantage of extra processors within an homogeneous local area network by:
Supported Platformscoshell is not supported on all platforms. If there is no nmake_root/bin/coshell command in your nmake distribution then coshell is not supported for your machine. Should I use coshell or -j?When you need to decrease your build times always try the -jn (jobs) option first. The jobs option tells nmake to execute n parallel jobs on the same machine. This gives you parallel building without coshell's overhead of scheduling and remotly executing jobs, not to mention the coshell setup requirments. However, if your build machine is too busy for -j to be effective coshell can be used to distribute parallel jobs to other machines in your local network. coshell Pre-setup ChecklistBefore attempting to use coshell the following items must be done. Note: "machines" refers to machines in your network which will be used for distributed nmake jobs.
coshell SetupThe following items must be done to setup the coshell environment. For more information see page 10-19 of the nmake User's Guide.
Reading coshell OutputUsing coshell means nmake jobs are being processed in parallel. Unfortunately, the output from these jobs also comes in parallel, which means the output from the concurrent jobs will be mixed together. For example, the output from a particular compile may not follow directly after its compile command line. This makes it difficult to read the build output, especially when tracing errors, since it is hard to match command line executions with the corresponding output and errors. Release lu3.2 introduces a new Output Serialization feature. The job of this feature is to organize this mixed-up output on the fly, thus making the build output from concurrent jobs much more meaningful. Releases prior to lu3.2 do not have this capibility, there is no known solution to this problem for earlier releases. See the lu3.2 Release Notes for more information. Notes
More InformationFor more complete information on coshell refer to the coshell(1) man page and Chapter 10 of the nmake User's Guide, which includes a sample coshell session. Last Update: Wednesday,20-Dec-06 13:21:57 CST
|
|||